一、if语句
1.不含else子句的if语句
语句形式:
if(条件表达式){语句}
执行流程:先计算圆括号中的条件表达式的值,如果值为真则执行语句部分;如果条件表达式的值为假则跳过if语句,直接执行if语句的下一条语句
执行流程:先计算圆括号中的条件表达式的值,如果值为真则执行语句部分;如果条件表达式的值为假则跳过if语句,直接执行if语句的下一条语句
注:圆括号中的条件表达式可以是C语言中任意合法的表达式,表达式之后只能是一条语句,称为if子句。如果该语句中包含有多个语句则必须用复 合语句,即用花括号把一组语句括起来。
2.含else子句的if语句
语句形式:
if(条件表达式) 如:if(a!=0)
语句1 printf("a!=0\n");
else else
语句2 printf("a==0\n");
执行流程:先计算条件表达式的值,如果条件表达式的值为真,执行if的子句,然后跳过else子句。如果条件表达式的值为假,跳 过if子句,去执行else子句,执行完后跳出if语句。
注意:else不是一条独立的语句,它只是if语句的一部分,在程序中必须与if配对,共同组成一条if-else语句。
3.在if子句中嵌套具有else子句的if语句
语句形式:
if(表达式1)
if(表达式2)语句1
else 语句2
else
语句3
执行流程:当表达式1的值为真时,执行内嵌的if-else语句;但表达式1的值为假时执行语句3.
4.在if子句中嵌套不含else子句的if语句
语句形式:
if(表达式1)
{ if(表达式2) 语句1 }
else
语句2
注意:在if子句中的一对花括号不可缺少,因为C语言规定else子句总是与前面最近的不带else的if想结合。
5.在else子句中嵌套if语句
语句形式:
(1)内嵌的if语句带有else; (2)内嵌的if语句不带else;
if(表达式1) 语句1 if(表达式1) 语句1
else else
if(表达式2)语句2 if(表达式2)语句2
else 语句3
注:由以上两种语句形式可以看到,内嵌在else子句中的if语句无论是否有else子句,在语法上都不会引起误会,因此在设计嵌套 的if语句时,尽量把内嵌的if语句嵌在else子句中。
二.switch语句
1.switch语句
语句形式:
switch(表达式)
{ case 常量表达式1:语句1
case 常量表达式2:语句2
case 常量表达式3:语句3
.
.
.
case 常量表达式n:语句n
default :语句n+1
}
执行流程:先计算圆括号中的表达式,然后再switch语句体内寻找与该值吻合的case标号,如果有与该值相等的标号,则执行该 标号后开始的各语句,包括其后的case和default中的语句,直到switch语句体结束。
说明:(1)switch是C语言的关键字,switch后面用花括号括起来的部分称为switch语句体
(2)紧跟switch后一对圆括号中的表达式可以是整型表达式、字符型表达式等。
(3)case也是关键字,与其后面的常量表达式合称case语句标号,常量表达式的类型必须与switch后圆括号中表达式的
类型相同,各case语句标号de值应该互不相同
(4)default也是关键字,其标号的作用,代表所有case标号之外的那些符号,default标号可以出现在语句体中任何标号
位置上,在switch语句体中也可以没有default标号
(5)case语句标号后的语句1,语句2等可以是一条语句也可以是若干语句
(6)必要时,case语句标号后de语句可以省略不写
(7)在关键字case和常量表达式之间一定要有空格
2.在switch语句体中使用break语句
break为C语言关键字,可以将break语句放在case标号之后的任意位置,通常是在case之后的语句最后加上break语句。每当执行到
break语句时,立即跳出switch语句体
语句形式:
switch(表达式)
{ case 常量表达式1:语句1;break;
case 常量表达式2:语句2;break;
case 常量表达式3:语句3;break;
.
.
.
case 常量表达式n:语句n;break;
default :语句n+1
}
三.while语句
1.while循环的一般形式
语句形式:
while(表达式) 循环体
执行流程:(1).
计算while后一对圆括号中表达式的值。当值为真时,执行步骤(2);当值为假时,执行步骤(4)
(2)执行循环体一次。
(3)转去执行步骤(1)
(4)退出while循环
说明:while是C语言的关键字,while后一对圆括号中的表达式可以是C语言中任意合法的表达式,但不能空;在语法上,循环体
只能是一条可执行,若循环体内有多个语句,应该使用复合语句
2.do-while语句构成的循环结构
语句形式:
do
循环体
while (表达式);
执行流程:(1)执行do后面循环体中的语句
(2)计算while后圆括号中表达式的值,若为真,转去执行(1);若为假,执行步骤(3)
(3)退出do-while循环
说明:(1)do是C语言de关键字,必须和while联合使用
(2)do-while循环由do开始,至while结束。
(3)while后圆括号中的表达式,可以是C语言中任意合法的表达式,由它控制循环是否执行
(4)按语法,在do和while之间的循环体只能是一条可执行语句。若循环体内有多个语句,应该使用复合语句
四.for语句
1.for语句构成的循环结构
语句形式:
for(表达式1;表达式2;表达式3) 循环体
例:
for(i=0;i<10;i++) printf("#");
执行流程:(1)计算表达式1
(2)计算表达式2,若其值为真,转步骤(3);若其值为假,转步骤(5)
(3)执行一次for循环体
(4)计算表达式3,转向步骤(2)
(5)结束循环
说明:(1)for语句中的表达式可以部分或全部省略,但两个“;”不可省略
(2)for后一对圆括号中de表达式可以是任意有效的C语言表达式
五.break和continue语句在循环体中的作用
break:用break语句可以使流程跳出switch语句体,也可以用break语句在循环结构中终止本层循环体,从而提前结束本层循环
continue:作用是跳过本次循环体中余下尚未执行的语句,立刻进行下一次的循环条件判定,可以理解为仅结束本次循环。