1、引言
经过两周的学习,终于对C语言中的大部分知识有了一个粗略的印象,接下来就是对C语言语法的深入学习,莫愁前方道阻且长,我自坚定迈向前方。今天就开始学习C语言分支与循环语句的第一个部分。
2、if语句
Ⅰ、C语言中的(真/假)
C语言中规定:0就是假,非零就是真(只要是非零,就是真,-1等负数也是真)
Ⅱ、if语句(若要运行多条语句,就要使用代码块,即大括号{})
if(表达式)
语句1;
else
语句2;
Ⅲ、if语句中的悬空else问题
else和离他最近的If条件语句相匹配
Ⅳ、if条件语句的练习:输出1-100之间的奇数
3、switch语句
Ⅰ、switch后面括号内的语句必须是整型表达式,如果是其他类型的语句,则switch语句无法编译。
Ⅱ、每个case后面必须是整型常量表达式
Ⅲ、default子句:default的作用是默认,如果前面的case语句不能匹配,就执行default
Ⅳ、case和default后面加的都是冒号“:”。最好在每个case和default后面加上break,这是一个好习惯。
4、while循环
Ⅰ、while循环中的break的作用是终止整个循环,只要break循环被执行,就会终止循环。
Ⅱ、while循环中的continue的作用是终止本次循环,跳过本次循环的剩余部分,直接回到判断部分,判断循环还要不要继续进行。
5、for循环(重点哦!循环语句中用的最多的就是for循环)
Ⅰ、for循环的格式
for(表达式1;表达式2;表达式3)
循环语句
其中:表达式1为初始化部分,用于初始化循环变量
表达式2为条件判断部分,用于判断循环什么时候终止
表达式3为调整部分,用于循环条件的调整
Ⅱ、写for循环的好习惯
不在for循环体内修改循环变量,防止for循环语句失去控制;建议for语句的循环控制变量的取值采用“前闭后开区间”的写法
Ⅲ、for循环的变种
for循环可以同时初始化多个变量,可以同时有多个循环控制条件,可以有多个调整语句
小知识:
1、单独一个分号;也能算是一个语句,即空语句
2、人类高质量代码写法(滑稽.JPG),建议将变量放在等号右边,常量写在等号的左边,比较容易发现编程的问题所在。
但是这种方法仅适用于一个常量和变量比较,两个常量和变量比较时没多大用。
if(5==a)
3、getchar和putchar的作用
Ⅰ、getchar的作用:getchar()会从键盘上获取一个字符,之后用整型int来储存,这时就会有一个疑问,为什么getchar获取的明明是一个字符,却要用整型储存?
int ch = getchar()
这是因为int储存的是getchar获得的字符的ASCII值,字符对应的ASCII值是一个整型,所以需要一个整形来储存
当getchar读取失败的时候返回一个EOF,用编译器返回定义之后我们会发现EOF= (-1)
Ⅱ、putchar的作用,打印getchar()获得的字符,实际上getchar和putchar就是针对字符使用的输入和输出,可以用scanf和printf来代替
getchar实际应用的例题如下:
解析:
我们需要知道一个小知识,就是当scanf函数在输入时,并不是之间从键盘上获取字符,而是从(键盘上输入字符->缓冲区->scanf),也就是说scanf获取字符是从缓冲区中获取的,并且如果在缓冲区中遇到空格或者"\n",scanf就是停止读取,只读取空格或者"\n"前面的一部分信息。而我们从键盘上输入一串信息之后,需要按下回车键,这串信息才会进入缓冲区,而回车键即为"\n",所以scanf读取了"\n"前面的信息后自动停止,但是还留下了一个\n在缓冲区之中,等待getchar()来获取。