scanf函数是一个阻塞式函数 程序会停在scanf函数出现的地方,
格式:scanf("格式控制字符串",输入项地址列表);
输入项时,各个地址名之间以逗号“,”分隔。输入格式和变量类型要保持一致。
|格式|意义|
|--|--|
|d|输入一个十进制整数|
|o|输入一个八进制整数|
|x|输入一个十六进制整数|
|i|输入一个有符号或无符号的十进制、八进制、十六进制整数|
|u|输入一个无符号十进制整数|
|f 、e或E、 g或G|输入一个小数形式或指数形式的浮点数|
|c|输入一个字符|
|s|输入一个字符串|
scanf("%d",&num);
非法的输入
除"空格","回车","tab"之外, 如果输入的数据和scanf接收的数据不匹配将会自动结束接收
运算符优先级
!(非) // 注意
↑
算术运算符
↑
关系运算符
↑
&&和||// 注意
↑
赋值运算符
--与短路:&& 只要第一个条件表达为假那么后面的条件表达就不参与运算了
或短路:|| 只要第一个条件表达式为真那么后面的条件表达式就不参与运算了
三目运算符格式:表达式1?表达式2(结果A):表达式3(结果B)
3种流程结构分别是顺序、选择、循环三种基本控制结构构造.
- 顺序结构:默认的流程结构。按照书写顺序从上至下执行每一条语句。
- 循环结构:在给定条件成立的情况下,反复执行某一段代码。
·if(表达式1)
·{
·语句块1
·}else if(表达式2){
·语句块2
·}else if(表达式3){
·语句块3
·}else{
·语句块4
·}
·Switch基本格式
switch(表达式){
case 常量表达式1:
语句1;
break;
case 常量表达式2:
语句2; ...
break;
case 常量表达式n:
语句n;
break;
default:
语句n+1;
break;
}
计算表达式的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
switch中case后面的表达式的值不能相同
case的值1、值2...值n只能为常数或常量,不能为变量。
switch里面的case只要匹配一次其它的都失效,包括default. 正是因为switch的这个特性, 所以可能导致程序出现逻辑错误
执行流程:在执行的过程中,如果遇到break语句,则跳出switch语句。如果没有遇到break语句,则一直执行到switch语句的结束。
分支比较多且无法穷尽或进行大量列举时最好用if, Switch对遇见判断非常不利
如果数据量不是很大, 并且数据是固定的可以用Switch
理论上Switch的效率比if高
循环结构概述
循环结构是程序中一种很重要的结构。其特点是,在给定条件成立时,反复执行某程序段, 直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。
C语言供了多种循环语句,可以组成各种不同形式的循环结构:
goto语句和if语句构成循环;
while语句;
do-while语句;
for语句;
一般来说一个循环需要以下几部分构成:
循环控制条件
循环退出的主要依据,来控制循环到底什么时候退出
【c笔记scanf和循环小记】循环体
推荐阅读
- C语言学习|第十一届蓝桥杯省赛 大学B组 C/C++ 第一场
- 【C】题目|【C语言】题集 of ⑥
- 单片机|自学单片机好找工作吗(会单片机能找什么工作?)
- 单片机|keil把源代码生成lib的方法
- c语言|一文搞懂栈(stack)、堆(heap)、单片机裸机内存管理malloc
- c语言|C语言初期学习遇到的特殊点 【三子棋详解】【初学者福音,详细总结,复习能手】
- 笔记|C语言数据结构——二叉树的顺序存储和二叉树的遍历
- 个人理解|【C语言基础之类型转换】
- c语言|【C语言】自定义类型 结构体 枚举 联合
- 学习分享|【C语言函数基础】