3.5知识点复习
extern:
表示声明。 没有内存空间。 不能提升。
const:
限定一个变量为只读变量。
volatile:
防止编译器优化代码。
volatile int flg = 0;
register:
定义一个寄存器变量。没有内存地址。
register int a = 10;
字符串:
C语言中,用双引号引着的一串字符,称之为字符串。一定有一个结束标记'\0'
char ch = ‘A’; 一个字节
"abc" --> 'a''b''c''\0'
‘a’ 不等价 “a”('a''\0')
printf函数:
%s:打印字符串, 挨着从字符串的第一个字符开始打印,打印到'\0'结束。
%d:打印整数
%c:打印字符
%x:打印16进制数
%u:打印无符号
%m.n: 打印实型时用到,一共有 m 位(整数、小数、小数点),n位小数。
%0m.nf: 其中 f:表示打印实型,一共有 m 位(整数、小数、小数点),n位小数。 0:表示不足 m 位时,用0凑够m位。
%%: 显示一个%。 转义字符'\' 对 % 转义无效。
%Ns:显示N个字符的字符串。不足N用空格向左填充。
%0Ns:显示N个字符的字符串。不足N用0向左填充。
%-Ns:显示N个字符的字符串。不足N用空格向右填充。
putchar函数:
输出一个 字符 到屏幕。
直接使用 ASCII 码。
不能输出字符串。
‘abc’既不是一个有效字符,也不是一个有效字符串。
常用putchar('\n');来打印换行。
printf("\n");
scanf函数:
从键盘接收用户输入。
1. 接收 整数 %d
int a, b, c; 创建变量空间, 等待接收用户输入。
scanf("%d %d %d", &a, &b, &c);
2. 接收 字符 %c
char a, b, c;
scanf("%c %c %c", &a, &b, &c);
3. 接收 字符串 %s
char str[10];// 定义一个数组,用来接收用户输入的 字符串。
scanf("%s", str);// 变量名要取地址传递给 scanf, 数组名本身表示地址,不用 & 符。
接收字符串:
1) scanf 具有安全隐患。如果存储空间不足,数据能存储到内存中,但不被保护。【空间不足不要使用】
2) scanf 函数接收字符串时, 碰到 空格 和 换行 会自动终止。不能使用 scanf 的 %s 接收带有空格的字符串。
将 #define _CRT_SECURE_NO_WARNINGS 添加到程序 第一行。 解决scanf 4996错误
getchar()函数:
从键盘获取用户输入的 一个字符。
返回该获取的字符的 ASCII 码。
算数运算符:
先 * / % 后 + -
除法运算后,得到的结果赋值给整型变量时,取整数部分。
除0 :错误操作。不允许。
对0取余:错误操作。不允许。
不允许对小数取余。余数不能是 小数。 35 % 3.4;
对负数取余,结果为余数的绝对值。10 % -3; --》 1
++ 和 --:
前缀自增、自减:
先自增/自减, 在取值。
int a = 10;
++a;// a = a+1;
后缀自增、自减:
int a = 10;
a++;// a = a+1;
先取值, 再自增/自减。
赋值运算:
int a = 5;
a += 10; // a = a+10;
a -= 30; // a = a-30;
a %= 5; // a = a % 5;
比较运算符:
== 判等。
!= 不等于.
< 小于
<= 小于等于
> 大于
>= 大于等于
13 < var < 16; ==> var > 13 && var < 16;
逻辑运算符:
0为假,非0为真。(1)
逻辑非:!
非真为假, 非假为真。
逻辑与: &&(并且)
同真为真,其余为假。
逻辑或:|| (或)
有真为真。同假为假。
运算符优先级:
[]() > ++ -- (后缀高于前缀) (强转) sizeof > 算数运算(先乘除取余,后加减)>
比较运算 > 逻辑运算 > 三目运算(条件运算)> 赋值运算 > 逗号运算
三目运算符: ? :
表达式1 ? 表达式2 : 表达式3
表达式1 是一个判别表达式。 如果为真。整个三目运算,取值表达式2。
如果为假。整个三目运算,取值表达式3。
默认结合性。自右向左。
类型转换:
隐式类型转换:
由编译器自动完成。
由赋值产生的类型转换。 小--》大 没问题。 大 --》 小 有可能发生数据丢失。
int r = 3;
float s = 3.14 * r * r;
321:256 128 64 32 16 8 4 2 1
1 0 1 0 0 0 0 0 1
char ch = 0 1 0 0 0 0 0 1
强制类型转换:
语法:(目标类型)带转换变量
(目标类型)带转换表达式
大多数用于函数调用期间,实参给形参传值。
if分支语句:匹配一个范围.属于模糊匹配.
if (判别表达式1)
{
判别表达式为真,执行代码。
}
else if(判别表达式2)
{
判别表达式1为假,并且判别表达式2,执行代码。
}
else if(判别表达式3)
{
判别表达式1为假,判别表达式2为假,判别表达式3, 执行代码。
}
。。。
else
{
以上所有判断表达式都为假, 执行代码。
}
练习:三只小猪称体重:
屏幕输入三只小猪的重量。借助if分支语句,找出最重的小猪重量。
switch 分支:精确匹配.
switch(判别表达式)
{
case 1:
执行语句1;
break;// 防止case穿透
case 2:
执行语句2;
break;
case 3:
执行语句3;
break;
...
case N:
执行语句N;
break;
default:
其他情况的统一处理;
break;
}
case 穿透:
在一个case分支中如果,没有break;那么它会向下继续执行下一个case分支.
while循环:
while(条件判别表达式)
{
循环体.
}
练习:敲7:1--100数数, 逢7和7的倍数,敲桌子。
7的倍数:num % 7 == 0
个位含7:num % 10 == 7
十位含7:num / 10 == 7
do while 循环:
无论如何先执行循环体一次。然后在判断是否继续循环。
do {
循环体
} while (条件判别表达式);
练习:求水仙花数。 一个三位数。各个位上的数字的立方和等于本数字。 234 861
100 -- 999
int num = 100;
个位数: int a = num % 10; a*a*a;
十位数: int b = num / 10 % 10;
百位数: int c = num / 100;
相关文章:
3.5知识点复习
extern:表示声明。 没有内存空间。 不能提升。const:限定一个变量为只读变量。volatile:防止编译器优化代码。volatile int flg 0; register:定义一个寄存器变量。没有内存地址。register int a 10;字符串:C语言中&a…...
湖南中创教育PMP分享项目经理有哪些优势?
项目经理拥有超强的计划能力;具备大局意识;沟通能力特别强;具备更大的灵活性和反应能力以及总结汇报能力 1、超强的计划能力 项目经理几乎无时无刻都在做计划,因此也就更擅长做计划。 项目管理要抓重点,有主次地处理…...
LeetCode:27. 移除元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面…...
麻雀算法SSA优化LSTM长短期记忆网络实现分类算法
1、摘要 本文主要讲解:麻雀算法SSA优化LSTM长短期记忆网络实现分类算法 主要思路: 准备一份分类数据,数据介绍在第二章准备好麻雀算法SSA,要用随机数据跑起来用lstm把分类数据跑起来将lstm的超参数交给SSA去优化优化完的最优参数…...
哈希表题目:数组中的 k-diff 数对
文章目录题目标题和出处难度题目描述要求示例数据范围解法思路和算法代码复杂度分析题目 标题和出处 标题:数组中的 k-diff 数对 出处:532. 数组中的 k-diff 数对 难度 4 级 题目描述 要求 给定一个整数数组 nums\texttt{nums}nums 和一个整数 k…...
SAP ERP系统PP模块计划策略2050详解
SAP/ERP系统中面向订单生产的计划策略主要有20和50两个策略,这两个策略都是面向订单生产的计划策略,也是离散制造行业应用比较广泛的策略。它们之间最大差异就是在于20策略完全是由订单驱动,而50策略是预测加订单驱动,本文主要介绍…...
TIA博途中将硬件目录更改为中文的具体方法演示
TIA博途中将硬件目录更改为中文的具体方法演示 基本步骤可参考如下: 第一步: 第二步: 具体的操作演示: 如下图所示,在所示的目录中找到zh-chs文件夹,删除或修改文件夹的名称均可,这里建议大家修改文件夹的名称,防止以后需要恢复成英文目录, 如下...
【多线程操作】线程池模拟实现
目录 一.线程池的作用 二.线程池的模拟实现 1.线程模块(Thread.hpp): 2.线程锁模块(LockGuard.hpp): 3.任务模块(Task.hpp) 4.线程池核心(ThreadPool.hppÿ…...
HBase---Hbase安装(单机版)
Hbase安装单机版 文章目录Hbase安装单机版Master/Slave架构安装步骤配置Hbase1.上传压缩包解压更名修改hbase-env.sh修改hbase-site.xml配置HBase环境变量配置Zookeeper复制配置文件修改zoo.cfg配置文件修改myid配置Zookeeper环境变量刷信息配置文件启动hbase步骤hbase shellMa…...
启动项管理工具Autoruns使用实验(20)
实验目的 (1)了解注册表的相关知识; (2)了解程序在开机过程中的自启动; (3)掌握Autoruns在注册表和启动项方面的功能;预备知识 注册表是windows操作系统中的一个核心数据…...
BFD单臂回声实验详解
13.1.1BFD概念 BFD提供了一个通用的、标准化的、介质无关的、协议无关的快速故障检测机制,有以下两大优点: 对相邻转发引擎之间的通道提供轻负荷、快速故障检测。 用单一的机制对任何介质、任何协议层进行实时检测。 BFD是一个简单的“Hello”协议。两个系统之间建立BFD会…...
详解JAVA类加载器
目录 1.概述 2.双亲委派 3.ServiceClassLoader 4.URLClassLoader 5.加载冲突 1.概述 概念: 类加载器(Class Loader)是Java虚拟机(JVM)的一个重要组件,负责加载Java类到内存中并使其可以被JVM执行。类…...
记录一些常用C标准库函数,以及Linux系统调用函数的作用(不断更新)
C标准库函数 perror() 函数 作用:perror函数是C标准库中的一种函数,用于在STDERR(标准错误输出流)中输出给定的错误信息字符串。它不属于Linux系统调用函数。 具体使用方法:perror("调用的函数名") 所需…...
RK3568平台开发系列讲解(显示篇)DRM的atomic接口
🚀返回专栏总目录 文章目录 一、Property二、Standard Properties三、代码案例沉淀、分享、成长,让自己和他人都能有所收获!😄 📢目前DRM主要推荐使用的是 Atomic(原子的) 接口。 一、Property Property(属性)—– Atomic操作必须依赖的基本元素 Property把前面的…...
2022年MathorCup数学建模C题自动泊车问题解题全过程文档加程序
2022年第十二届MathorCup高校数学建模 C题 自动泊车问题 原题再现 自动泊车是自动驾驶技术中落地最多的场景之一,自动泊车指在停车场内实现汽车的自动泊车入位过程,在停车空间有限的大城市,是一个比较实用的功能,减少了驾驶员将…...
【需求响应】基于数据驱动的需求响应优化及预测研究(Matlab代码实现)
👨🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…...
Bellman-ford和SPFA算法
目录 一、前言 二、Bellman-ford算法 1、算法思想 2、算法复杂度 3、判断负圈 4、出差(2022第十三届国赛,lanqiaoOJ题号2194) 三、SPFA算法:改进的Bellman-Ford 1、随机数据下的最短路问题(lanqiaoOJ题号1366&…...
假如你知道这样的MySQL
数据库三范式是什么? 第一范式(1NF):字段具有原子性,不可再分。(所有关系型数据库系 统都满足第一范式数据库表中的字段都是单一属性的,不可再分)第二范式(2NF)是在第一范式(1NF)的…...
SpringBoot笔记(一)入门使用
一、为什么用SpringBootSpringBoot优点创建独立Spring应用内嵌web服务器自动starter依赖,简化构建配置自动配置Spring以及第三方功能提供生产级别的监控、健康检查及外部化配置无代码生成、无需编写XMLSpringBoot缺点人称版本帝,迭代快,需要时…...
C++20 协程体验
1 介绍协程是比线程更加轻量级并发编程方式,CPU资源在用户态进行切换,CPU切换信息在用户态保存。协程完成异步的调用流程,并对用户展示出同步的使用方式。协程的调度由应用层决定,所以不同的实现会有不同的调度方式,调度策略比较灵…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...
