if条件分支语句什么是语句? 在C语言中,由一个;隔开的就是一条语句。
内嵌语句以分号结束,内嵌语句有两条及以上,用花括号包含起来。
- 单分支if语句
- 双分支if语句
- 多分支if语句
- if语句的嵌套
-
格式:
if (表达式) 语句 -
功能:如果表达式的值为真(非0),则执行其后的语句,否则,不执行其后的语句。
-
格式:
if (表达式) 语句1; else(表达式) 语句2; -
功能:如果表达式的结果为真(非0),则执行语句1,否则执行语句2.
-
格式:
if (表达式1) 语句1; else if (表达式2) 语句2; …… else if (表达式m) 语句m; else 语句n; -
功能:如果表达式1的值为真(非0),则执行语句1;否则判断表达式2,如果表达式2的值为真(非0),则执行语句2;否则判断表达式3…直到结束。
- if 与else的配对问题:C语言规定:else总是和它前面最近未曾配过对的if配对。
-
格式:
switch (表达式) { case 常量表达式1 : 语句1; case 常量表达式2 : 语句2; … case 常量表达式n : 语句n; default : 语句n+1; } -
功能:计算“表达式”的值,并按照顺序逐个与case后的“常量表达式”比较,当“表达式”的值与某个“常量表达式”的值相同时,将执行其后的语句,然后不在进行比较,继续执行后面所有语句(包括default语句)。如果“表达式”的值与所有的“常量表达式”的值都不相同,则执行default后的语句,如果default缺省,则执行switch后的其他语句。
-
注意:
- switch后的表达式可以是数值型或者字符型的数据。
- 每一个case后的常量表达式都不能相等,否则会出现矛盾现象。
- 各个case和default的常量表达式出现的顺序不影响执行的结果。
- 实际程序中,一般case语句只需要执行一个,常用break语句中断stitch语句。
- switch语句允许嵌套switch语句。
- while语句
- do-while语句
- for循环语句
基本格式:
while (表达式)
语句;
功能:当表达式的值为真时,执行循环体语句,为假时,不执行循环体语句。其中,表达式为循环条件,语句为循环体。
注意:
- 如果表达式的值一开始就为假,则循环体一次也不执行。
- 为了使循环体能够结束,每执行一次循环体,表达式的值应该有所变化,可以在表达式中实现,也可以在循环体中实现。
基本格式:
do
循环体语句;
while (表达式);
执行过程:先执行一次循环体,然后判断“表达式”,当表达式值为非0(真),返回继续执行循环体语句,如此反复直到表达式的值为0(假)为止。
注意:
- 无论一开始表达式的值为“真”还是“假”,循环体中的语句都至少被执行一次。(与while的区别)
基本格式:
for (单次表达式; 条件表达式; 末尾循环体)
中间循环体;
执行过程:for循环执行时,会先判断条件表达式是否成立,如果条件成立**(值为真)则执行中间循环体,执行完中间循环体后接着执行末尾循环体。在执行完末尾循环体后对条件表达式再次进行判断,若条件还成立,则继续重复中间循环体,当条件不成立(值为假)**时则跳出for循环。
- 单次表达式:初始化;
- 条件表达式:条件判断;
- 末尾循环体:调整部分;
注意:
-
单次表达式、条件表达式和末尾循环体之间用;隔开。
-
for语句中任何一个表达式都可以省略,但;不能省略。(建议每个变量都不要省略)
- 如果**“判断部分(条件表达式)”**省略,会导致死循环。
-
for语句中的单次表达式和末尾循环体既可以是一个简单表达式,也可以是由逗号连接的多个表达式。
-
不可在循环体内修改循环变量,防止for循环失去控制。
-
循环变量建议采用“前闭后开”的写法,更具有可读性。
- 例如:for (i=1; i<10; i++)
break语句、continue语句和goto语句循环嵌套:一个循环体内又包含另一个完整的循环结构。
- C语言中的三种循环结构都可以相互嵌套。
- 执行:首先执行外层循环,外层循环执行一次,内层则执行一次完整的循环。
break语句C语言中的break和continue语句是用于跳出循环的语句,称为条件转向语句。
goto语句是用来跳转到通过“标号”指明的某条语句上去执行的语句,称为无条件转向语句。
基本格式:
break;
功能:在**switch和循环语句(只用于这两种语句)**中用来控制分支或循环的出口,使流程从循环体内跳出,从而提前结束循环。
continue语句基本格式:
continue;
功能:结束本次循环,立即开始执行下一次循环**(只作用于循环语句中)**
- 与break的区别:break是跳出循环,结束整个循环过程;而continue是结束正在执行的那次循环,即跳过循环中未执行的那一部分,返回循环判断的条件。
基本格式:
goto lable;
功能:无条件转移到“语句标号”指定的代码执行。
- 当含有多重循环嵌套时,要想跳出更多层的循环,goto语句较break更加方便。
- goto语句只能在一个函数范围内跳转,不能在跨函数跳转。



