一、控制语句
1.switch语句
? ? 多分支选择结构
- switch语句的基本形式
switch(表达式) { case 常量表达式1:语句块1;break; case 常量表达式2:语句块2;break; case 常量表达式n:语句块n;break; ...... default :语句块n+1; }
switch语句的使用:
- 每个常表达式的值必须各不相同,否则将会出现矛盾。
- 当表达式的值与case后面的常量表达式值相等时,就执行此case后边的语句。
- switch中的表达式可以是整型、字符型表达式或枚举。
- case常量只起语句标号的作用。
#include<stdio.h>
int main (void)
{
int temp = 5;
switch(temp)
{
case 1:
printf("1\n");
break;
case 2:
printf("2\n");
break;
case 3:
printf("3\n");
break;
case 4:
printf("4\n");
break;
case 5:
printf("5\n");
default :
printf("err");
}
return 0;
}
运行结果:5
注:default放到最后可以省略break。
二、循环语句
1.goto语句
例:计算1-100之和。
#include<stdio.h>
int main(void)
{
int i = 1;
int sum = 0;
loop:
if(i<=100)
{
sum +=i;
i++;
goto loop;
}
printf("1+2+3+...+100 = %d\n",sum);
return 0;
}
运行结果:
1+2+3+...+100 = 5050
注:其中goto后的loop可以变换形式写成"_loop"均可
goto语句的优点 集中于一处输出函数
- 当函数有多个出口,使用goto把这些出口集中到一处是很方便的,特别是函数中有许多重复的清理工作的时候。
- 无条件跳转易于理解
- 可以减少嵌套
- 可以避免那种忘记更新某一个出口的问题
- 算是帮助编译器做了代码优化
2.while()语句
while语句循环构成
- 基本形式
while(表达式) { statatments; }
例:1-100求和
#include<stdio.h>
int main(void)
{
int i = 1;
int sum = 0;
while(i<=100)
{
sum +=i;
i++;
}
printf("1+2+3+...+100 = %d\n",sum);
return 0;
}
运行结果:
1+2+3+...+100 = 5050
3. do while()
do-while语句循环构成
- 基本形式
do { statatments; }while(表达式)
例:1-100求和
#include<stdio.h>
int main(void)
{
int i = 1;
int sum = 0;
do
{
sum +=i;
i++;
}while(i<=100)
printf("1+2+3+...+100 = %d\n",sum);
return 0;
}
运行结果:
1+2+3+...+100 = 5050
4.for语句
for语句循环构成
- 基本形式
for(表达式1;表达式2;表达式3) {\ statatments; } - 表达式1可省略,单循环之前应给循环变量赋值
- 表达式2可省略,将陷入死循环
- 表达式3可省略,单在循环体中增加循环变量值改变的语句\
例:1-100求和
#include<stdio.h>
int main(void)
{
int i = 1;
int sum = 0;
for(i = 1;i <= 100;i++)
{
sum +=i;
}
printf("1+2+3+...+100 = %d\n",sum);
return 0;
}
运行结果:
1+2+3+...+100 = 5050
|