空语句 =》空语句顾名思义就是空的语句,只有一个;号的语句叫空语句
复合语句 =》复合语句就是 使用大括号 将多组语句括起来的语句,也叫做语句块。
函数调用语句 =》函数调用语句也就是调用函数的时候写的语句。
表达式语句 =》表达式语句就是由操作符,操作数组成的语句。
接下来才是这篇文章的重点 :
控制语句
条件语句
条件语句也叫做分支语句,即满足条件就执行的语句,在C语言中条件语句有以下两种:
if语句 跟 switch语句
if语句
当表达式最后的结果为真时,则执行 if 后面括号中的语句
当表达式最后的结果为假时,则不执行 if 括号中的语句
0表示假,非0表示为真
当表达式最后的结果为真时,则执行 if 后面括号中的语句
当表达式最后的结果为假时,则执行 else 后面括号中的语句
0表示假,非0表示为真
当 a 表达式最后的结果为真时,则执行 if 后面括号中的语句
当 b 表达式最后的结果为真时,则执行 else if(b) 后面括号中的语句
当 c 表达式最后的结果为真时,则执行 else if (c) 后面括号中的语句
当a、b、c三个表达式最后的结果都为假时,则执行 else 后面括号中的语句
0表示假,非0表示为真
重要的事情说三遍
switch语句
当遇到分支较多的情况下,else if语句就显得较为复杂,所以我们有了另外一种语法形式
那就是switch语句
在switch语句当中,我们无法直接实现分支,想要实现分支还得搭配break语句才能实现。
首先先看下面的代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int day = 0;
switch (day)//day只能是整型表达式
{
case 1:// 1只能是整型常量表达式
printf("星期一\n");//语句
break;
case 2:
printf("星期二\n");//语句
break;
case 3:
//语句
break;
case 4:
//语句
break;
case 5:
//语句
break;
case 6:
case 7:
printf("周末\n");
break;
default:
printf("什么日都不是");
break;
}
return 0;
}
在switch语句中,switch后面小括号中的内容才是老大。
老大只能是整型的表达式
而紧跟在case身后的,只能是整型的常量表达式,也叫做小弟
当小弟的值跟大哥一样的时候,那么这个小弟就可以执行其身后的代码,
遇到break那么当前的switch语句结束
当老大的值为1时,身后值为1的小弟就执行其身后的代码
即在控制台输出 =》星期一。
当老大的值为6时,身后值为6的小弟就执行其身后的代码
但是,这个小弟后面没有break
这时,程序就会穿透值为6的小弟,去执行身后,值为7小弟身后的代码,
遇到小弟7号身后的break结束。
即在控制台输出 =》周末。
这时不管老大的值是6还是7,都会输出周末。
这个现象也叫做穿透现象
当老大的值跟上面的小弟都不匹配时,系统则会去执行名为default小弟其身后的代码
即在控制台输出 =》什么日都不是
这个小弟可以根据自己项目的需求来决定需不需要。
循环语句
循环语句,即满足条件就循环的语句,在C语言中循环语句有以下三种:
while语句、do while语句 跟 for语句
表达式为真则执行循环体
不管表达式是真还是假,循环体都先执行一次。
执行完了以后表达式若为真,则继续执行循环语句
for(表达式1 ; 表达式2 ; 表达式3)
表达式1一般为 =》循环变量
表达式2则为 =》判断语句
表达式3为 =》用于调整循环变量的大小
判断语句为真,执行循环体,当判断语句为假,则不继续执行该循环结构。
转向语句
转向语句包括:break语句、goto语句、continue语句 跟 return语句
break语句
可以搭配switch 语句使用
也可以表示跳出该循环结构
while(1)恒为真,死循环,但我们在循环体中加入break后
则该循环结构只会执行一次,遇到break后跳出该循环结构。
goto语句
可以去到程序中任何你想去的地方,只需要搭配标签使用。
首先做标记 =》标签名:
然后,使用goto语句 =》goto标签名;
程序遇到goto语句以后就会自动跳转到标签处,继续往下执行。
continue语句
表示跳过本次循环,并且继续执行该循环结构。
return语句
表示返回值
表示主函数的返回值为0。