1.控制语句-if语句
if-else语句
if (表达式) 语句块1
else 语句块2
阶梯形式if语句
if(表达式1) 语句块1
else if(表达式2) 语句块2
else if(表达式3) 语句块3
else if(表达式4) 语句块4
...
else 语句块n
注意
语句块:当有若干条语句时,必须用{…}括起来。
表达式:
1) 一般情况下为逻辑表达式或关系表达式
如:if(a= =b && x= =y) printf(“a=b,x=y”);
2)也可以是任意类型(包括整型、实型、字符型、指针类型)
如:if(‘a’) printf(“%d”,’a’);
3)请区分if(x=1)与if(x= =1)的不同。
2.控制语句-switch语句
2.1switch语句的基本形式
switch (表达式)
{ case 常量表达式1:语句块1;break;
case 常量表达式2:语句块2; break;
….
case 常量表达式n:语句块n; break;
default :语句块n+1
}
2.2switch语句的使用:
1.每个常量表达式的值必须各不相同,否则将会出现矛盾
2.当表达式的值与case后面的常量表达式值相等时,就执行此case后面的语句
3.switch中的表达式可以是整型、字符型表达式或枚举
4.case 常量:只起语句标号的作用
5. break语句用于强行跳出switch体,一般每个case后面应有一个break语句,default分支后的break可以省略
6.多个case可以执行一组语句
3.循环语句-while语句
3.1循环语句概述
goto、while、dowhile、for
goto语句例程
1 #include <stdio.h>
2
3 int main (int argc, const char * argv[])
4 {
5 int i = 1;
6 int sum = 0;
7
8 loop:
9 if (i <= 100){
10 sum += i;
11
12 }
13
14 printf("1+2+3+...+100=%d\n", sum);
15
16
17 return 0;
18 }
集中于一处退出函数
循环结构程序
当函数有很多个出口,使用goto把这些出口集中到一处是很方便的,特别是函数中有许多重复的清理工作的时候。
理由是:
无条件跳转易于理解
可以减少嵌套
可以避免那种忘记更新某一个出口点的问题
算是帮助编译器做了代码优化
while语句
while语句构成循环
基本形式
while (表达式) {
statatments;
}
do-while语句
do-while语句构成循环
基本形式
do {
statatments;
}while(表达式);
4.循环语句-for语句
一般形式
for(expression1; expression2; expression3)
{ statements;}
执行过程
1.先求解表达式1;
2.求解表达式2,若为真,则执行循环体,然后执行步骤3;若为假,则执行步骤5;
3.求解表达式3;
4. 转回执行步骤2;
5.执行for下面的语句。
for语句构成循环
for(i=1;i<=100;i++)
{
sum=sum+i;
}
表达式1可省略,但循环之前应给循环变量赋值
表达式2可省略,将陷入死循环
表达式3可省略,但在循环体中增加使循环变量值改变的语句
5.循环辅助语句
5.1 break语句
用于从循环体内跳出循环体,即提前结束循环。
break只能用在循环语句和switch语句中。
5.2 continue语句
结束本次循环,接着判定下一次是否执行循环
注意continue与break的区别
continue直结束本次循环,而break终止本层循环
5.3 return语句
return语句的一般形式: return ( <表达式> )
主要用于终止包含它的函数的执行
若终止的为主函数,则主程序结束