控制语句及其用途
表现形式 | 用处 |
---|---|
if()… 或 if()… else … | 条件语句 |
for()… | 循环语句 |
while()… | 循环语句 |
do … while() | 循环语句 |
continue | 结束本次循环语句 |
break | 终止执行switch或循环体 |
switch | 多分支选择语句 |
return | 从函数返回语句 |
goto | 转向语句 |
1、if()… else …语句
if(a>b)
max=a;
else
max=b;
x>y 是判别条件
max=a;和max=b;是语句
在选择结构中条件语句一共有三种形式:
if(表达式) 语句1 (没有else部分)
if(表达式1)
语句1
else
语句2
if(表达式) 语句1
else if(表达式) 语句2
else if(表达式) 语句3
......
else 语句 n
2、break 、continue语句
例题:输出以下4*5矩阵
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
程序---------------------------------------------------------------
# include <stdio.h>
int main()
{
int i,j,n=0;
for(i=1;i<=4;i++)
{
for(j=1;j<=5;j++)
{
printf("%d\t",i*j);
n=n+1;
if(n%5==0)
printf("\n");
}
printf("\n");
}
return 0;
}
(1) break 语句在程序中的应用
# include <stdio.h>
int main()
{
int i,j,n=0;
for(i=1;i<=4;i++)
{
for(j=1;j<=5;j++,n++)
{
if(n%5==0)
printf("\n");
if(i==3&&j==1) break;
printf("%d\t",i*j);
}
}
printf("\n");
return 0;
}
结果:
1 2 3 4 5
2 4 6 8 10
4 8 12 16 20
(2)coninue 语句在程序中的应用
# include <stdio.h>
int main()
{
int i,j,n=0;
for(i=1;i<=4;i++)
{
for(j=1;j<=5;j++,n++)
{
if(n%5==0)
printf("\n");
if(i==3&&j==1) continue;
printf("%d\t",i*j);
}
}
printf("\n");
return 0;
}
结果:
1 2 3 4 5
2 4 6 8 10
6 9 12 15
4 8 12 16 20
3、switch语句
switch语句的一般形式如下
switch(表达式)
{
case 常量表达式1:语句1;break;
case 常量表达式2:语句2;break;
...
case 常量表达式n:语句n;break;
default:语句n+1;
}
前缀case和default本身不改变控制流程,只起标号作用,在执行上一个case标志的语句后,继续顺序执行下一个case前缀所标志的语句,除非上一语句中最后用break语句控制转出switch结构。
注意:
(1)根据程序要求default可要可不要
(2)case后面的常量必须互不相同
例:要求按照考试成绩的等级输出百分制分数段,A等为85以上,B等为7080,C等为6069,D等为60分以下。成绩由键盘输入。
# include <stdio.h>
int main()
{
char grade;
printf("输入成绩等级:");
scanf("%c",&grade);
printf("成绩范围:");
switch(grade)
{
case 'A':printf("85~100");break;
case 'B':printf("70~84");break;
case 'C':printf("60~69");break;
case 'D':printf("60\n");break;
default:printf("enter data error!\n");break
}
return 0;
}
执行结果:
输入等级:A
成绩范围:85~100
4、while语句
while语句的一般形式如下
while(表达式) 语句
例:求1+2+3+…+100
# include <stdio.h>
int main()
{
int i=1,s=0;
while(i<=100)
{
s=s+i; //累计求和
i++;
}
printf("s=%d\n",s);
return 0;
}
执行结果:
s=5050
5、do()… while语句
do()… while语句的一般形式:
do
语句
while(表达式);
注意while(表达式)后面要以 ;结尾
例:求1+2+3+ . . . +100
# include <stdio.h>
int main()
{
int i=1,s=0;
do
{
s=s+i; //累加求和
i++;
}
while(i<=100);
printf("s=%d\n",s);
}
执行结果:
s=5050
6、for语句
for语句的一般形式:
for(表达式1;表达式2;表达式3)
语句
例:求1+2+3+ . . . +100
# include <stdio.h>
int main()
{
int i,sum=0;
for(i=1;i<=100;i++)
sum+=i; //累加求和
printf("sum=%d\n",sum);
return 0;
}
执行结果:
sum=5050
7、for、while、do…while()语句对比
(1)for语句与while语句对比
3种循环语句都可以用来求解同一问题,一般情况下他们可以互相代替。
for语句在有关循环问题中最常用,for语句更为灵活,不仅可以用于循环次数已确定的情况,还可以用于循环次数不确定而只给出循环条件的情况,它完全可以代替while语句
for(表达式1;表达式2;表达式3)
语句
表达式1;
while(表达式2)
{
语句;
表达式3;
}
(2)while语句与do…while()语句对比
do…while()语句的执行过程:先执行一次循环体,然后再检查条件是否成立,若成立,在执行循环体。
do…while()语句至少要执行一次循环体
while语句:先判断条件是否成立,若成立再执行循环体
(3)for、while、do…while()三种循环体语句可以处理很多复杂问题
8、goto语句
goto:跳转语句,在结构化的程序中基本不用
9、return语句
作用:从函数返回语句。一个函数可以有一个以上的return语句,执行到哪一个return语句,哪一个return语句起作用。return后面的括号可要可不要:
return z;与return(z)
return 0;
return z;
return(z);
函数的返回值是通过函数中的return语句获得的:
主函数main的返回值为0时表示程序正常退出,返回值非时,表示程序异常退出