控制语句及其用途

控制语句及其用途

表现形式用处
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时表示程序正常退出,返回值非时,表示程序异常退出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值