分支语句:
1.if
2.switch
循环语句:
1.while
2.for
3.do while
goto语句
1.首先,什么是语句呢?
C语言中共有5大类语句:
1.表达式语句;// 如a+b;
2.函数调用语句;//如add();
3.控制语句;
4.复合语句;// 如{ };
5.空语句;//只有一个分号;
这节重点是控制语句
而控制语句又分为9类:
控制语句: | 写法 |
1.分支语句(条件判断语句) | 1.if语句 2.switch语句 |
2.循环执行语句 | 1.while语句 2.for语句 3.do while语句 |
3.转向语句 | 1.break语句 2.continue语句 3.goto语句 4.return语句 |
2.分支语句(选择语句)
大家试试写写看这个代码:如果你好好学习,校招时拿上好offer,走上人生巅峰;
如果你不好好学习,毕业等于失业,回家卖红薯;上一期我们讲过,不会的可以看看;
2.1if 语句
语法结构:(C语言中非0即真,0为假)
//单分支
if(表达式)//表达式为真if语句执行
语句;
//双分支
if(表达式)
语句1;//表达式为真,执行语句1
else
语句2;//表达式为假,执行语句2
//多分支语句呢?
if(表达式1)//表达式1为真,执行语句1
语句1;
else if(表达式2)//否则如果表达式2成立,执行表达式2
语句2;
else //表达式1和表达式2都不成立时,执行表达式3
表达式3;
如:
如果满足if条件并要执行多条语句,要加{ } 举个例子:
判断一下接下来会输出什么?
2.2习题
输入一个数并判断其是否为奇数?
3.switch语句
switch语句也是一种分支语句,常用于多分支语句;
如:输入1 输出星期一
输入2输出星期二
输入3输出星期三
输入4输出星期四
输入5输出星期五
输入6输出星期六
输入7输出星期日
用if语句非常的烦,那么就可以用switch语句了
语法:
switch(整型表达式)//一定是整型
{ case 整型常量表达式1://冒号
语句;//分号
case 整型常量表达式2:
语句;
case 整型常量表达式3:
语句;
.
.
.
default://☞所有情况都不匹配的情况下,default可有可无,顺序不定
语句;
}
为什么会是这样呢?
注意:switch语句中的case只决定入口,进入case3后,接着顺序打印
有没有出口呢?或者换句话收我只想打印星期三,怎么办呢?
注意:用break关键词,打破,停止的意思;
是不是一定要在case后加break?不一定要根据实际情况;如:
4.循环语句
1.while
2.for
3.do while
4.1while语句
//while语句的语法结构
while(表达式)//表达式为真,执行循环,否则不执行循环
{
语句;
}
举个例子:
4.2.break和continue在while循环中的作用
首先是break在while循环中的作用:
在while循环中只要遇到break,就会停止后期的所有循环,直接终止循环。
所以:while中的break是用于永久终止循环的;
看一个简单的代码(你一定会明白):
其次是continue在while循环中的作用:
continue是用于终止本次循环的,也就是本次循环中continue后面的代码不会执行,而是直接跳转到while语句的判断部分。进行下一次循环的入口判断;
如果我要打印1,2,3,4,6,7,8,9,10呢?
扩展:getchar和putchar函数的用法
getchar()会读两个字符,第一个字符是你输入的字符,第二个是\n这个字符
4.3.for循环
首先,还是语法:
for(表达式1;表达式2;表达式3)//分号
{
循环语句;//分号
}
表达式1:初始化部分,用于初始化循环变量的
表达式2:条件判断部分,用于判断循环时候停止
表达式3:调整部分,用于循环条件的调整
那让我们看看for循环与while循环的区别吧!
我们刚刚在while循环中讲到了break和continue
那在for循环中,break和continue又是什么呢?
for中的continue就与while的不同了;
for循环的变种:
for循环也是可以嵌套的
for循环中也可多变量
4.4.do while循环
首先,依旧是语法
do
{
循环语句;
}
while(循环条件);//注意分号
意思是无论如何,都得先执行一次,再判断真假,如果为真则继续执行,否则不继续执行;
那么break与continue再do while中的作用呢?要根据具体场景判断,下面让我们看看这段代码
练习:
让我们计算3的阶乘