目录
一、语句
1. 条件判断语句也叫分支语句:if语句、switch语句;
2. 循环执行语句:do while语句、while语句、for语句;
3. 转向语句:break语句、goto语句、continue语句、return语句。
二、if语句
那if语句的语法结构是怎么样的呢? 语法结构:
if(表达式)
语句;
if(表达式)
语句1;
else
语句2;
代码如图所示:如果表达式的结果为真,则语句执行。 在C语言中如何表示真假?
0表示假,非0表示真。
如果条件成立,要执行多条语句,怎应该使用代码块。 这里的一对 { } 就是一个代码块。
运行截图:
输入了0,只要输入的结果不是1,就会打印else后面的语句。
输入1,所以打印“好孩子,我在人大等你!”。
多分支如下:
if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
示例代码如下:该代码就是多个分支的代码。
if语句练习:判断一个数是否为奇数
三、switch语句
switch语句也是一种分支语句。 常常用于多分支的情况。
比如:
输入1,输出星期一
输入2,输出星期二
输入3,输出星期三
输入4,输出星期四
输入5,输出星期五
输入6,输出星期六
输入7,输出星期日
写成 if...else if ...else if 的形式太复杂,那我们就得有不一样的语法形式。 这就是switch 语句。
switch语句的结构如下:
switch(整型表达式)
{
语句项;
}
语句项就是一些case语句
结构为:
case 整形常量表达式:
语句;
switch语句中的break:在switch语句中,我们没办法直接实现分支,搭配break使用才能实现真正的分支。
1. 输入1-5,输出的是“weekday”;
2. 输入6-7,输出“weekend”
#include <stdio.h>
int main()
{
int day = 0;
switch(day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("weekday\n");
break;
case 6:
case 7:
printf("weekend\n");
break;
}
return 0;
}
break语句 的实际效果是把语句列表划分为不同的分支部分。
default子句
如果表达的值与所有的case标签的值都不匹配怎么办?
其实也没什么,结构就是所有的语句都被跳过而已。
程序并不会终止,也不会报错,因为这种情况在C中并不认为是个错误。
但是,如果你并不想忽略不匹配所有标签的表达式的值时该怎么办呢?
你可以在语句列表中增加一条default子句,把下面的标签 default: 写在任何一个 case 标签可以出现的位置。
当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。
所以,每个switch语句中只能出现一条default子句。
但是它可以出现在语句列表的任何位置,而且语句流会像执行一个case标签一样执行default子句。
四、while语句
while是计算机的一种基本循环模式。当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。while语句的一般表达式为:while(表达式){循环体}。
比如打印0-10的数字 :
break和continue在while语句中的应用
continue用例:continue在while循环中的作用就是: continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行, 而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。
运行截图:
打印的结果为1234,光标在闪烁代表5一直在进入循环,这里是一个死循环。
该代码的意思是:如果a不等于5就不会进入if语句中,也就是会打印出1234,当a等于5的时候,就进入if语句,continue的意思就是又返回while语句,然后变成5进入5返回的死循环。
break用例:break在while循环中的作用: 其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。 所以:while中的break是用于永久终止循环的。
运行截图:
打印结果为1234。当a=5的时候,就跳出循环了。