C语言语句
1、分支语句 有两种,第一种是负责实现双分支的if语句,另一种是负责实现多分支的开关语句switch。
1.1 if语句
(1)只有一个分支
if(条件表达式){
语句块 // 条件表达式成立 (即值为true)时执行该语句块
}
例子:
(2)有两个分支
例子:
(3)有多个分支(类似switch语句)
例子:
1.2 switch语句
表达式n的类型应与表达式值的类型一致,可以是整形或字符型。假设已定义“int a;”整形变量a,那么表达式“a”、“a+4 ”、“a*(a+4)”等的值都为整形数,这时表达式就应该用整形数。
例子1:
int a = 3;
switch(a-2){
// 当a-2=1时执行“case 1”下的语句。
case 1:
a = a+1;
break;
// 当a-2=2时执行“case 2”下的语句。
case 2:
a = a+2;
break;
// 如果上述情况都不满足,则执行“defualt”下的语句。
defualt:
a = a+3;
}
注意:每个case语句块后面的“break;”语句的意思是跳出switch语句,若没有“break;”语句则程序会继续执行下去。例如,若去掉“case 1”末尾的“break;”语句,那么程序在执行完语句“a = a+1;”后,程序将继续执行“case 2”里的语句“a = a+2;”;若“case 2”末尾也没有“break;”语句,那么“default”里的语句也将被执行。
例子2:
char ch=getcher();
swich(ch)
{case 'a':printf("test10000");break;
case '8':printf("test100231")break:
case 'b':printf("test20000");break;
case '...' : .............;break;
可以是键盘中输入某个字符作为判断条件。
2、循环语句
2.1 do...while语句
首先“循环体”被执行一次,然后判断“循环条件表达式”是否为真;“循环条件表达式”为假则循环结束;若“循环条件表达式”为真则再次执行“循环体”接着再次判断“循环条件表达式”是否为真...如此循环执行直到“循环条件表达式”为假才结束循环。
do...while语句的特点是无论“循环条件表达式”值的真或假,“循环体”至少被执行一次。
例子:
语句 “i = i + 1;” 被循环执行10次后i的值为10,这时”循环条件表达式“ ”i < 10“ 不再为真,循环结束。
2.2 while语句(循环时变量不会递增,不会像for一样有i++)
首先判断 “循环条件表达式” 是否为真,假则结束循环;若 “循环条件表达式” 为真则执行 “循环体” 接着再次判断 “循环条件表达式” 是否为真...如此循环执行直到 “循环条件表达式” 为假才结束循环。
while语句与do...while语句的不同点是,除非“循环条件表达式”为值,否则不会执行“循环体”。
例子:
语句 “i = i + 1;” 将被被循环执行10次。
2.3 for语句
for循环体语句比较复杂同时也是最灵活的循环语句。for语句的执行顺序是:
(a) 执行 “表达式1”
(b) 判断 “循环条件表达式” 是否为真,不为真则跳到步骤(e)
(c) 执行 “循环体”
(d) 执行 “表达式2”,跳到步骤(b)
(e) 循环结束
例子:
2.4 循环控制语句
在任何循环语句的循环体中都可以使用 “continue;” 和 “break;” 语句对循环进行相关控制。
(1) “continue;” 语句
该语句的作用是放弃本次循环,并马上进入下一次循环。
把 2.3 的例子修改如下:
这段程序最终算得n为1~4,6~10这9个数的乘积。因为第5次循环(即i=5)时执行了 “continue” 语句,导致这次循环被放弃,进而 "continue" 下面的 “n = n * i;” 语句没被执行到。
(2) “break;” 语句
该语句的作用是结束整个循环。
把 2.3 的例子修改如下:
这段程序最终算得n为1~4这4个数的乘积。因为第5次循环(即i=5 )时执行了 “break” 语句,导致整个循环被结束,进而第6次、第7次...第10次循环都不会被执行了。