Swich语句详解(C语言)

 2023-03-03 21:40:01  阅读 0

一、案例分析

根据输入的考试成绩等级打印出百分制分数段。

A:  80~100         B:  70~79            C:  60~69            D:  <60

void  main()
{
    char grade; 
    printf("请输入考试等级A~D:");
    scanf("%c",&grade) ;
    switch (grade)
   {
       case 'A': printf("80~100\n");
       case 'B': printf("70~79\n");
       case 'C': printf("60~69\n");
       case 'D': printf("<60\n");
       default: printf("error\n");
    }
}

根据输入的考试成绩等级打印出百分制分数段。

A:  80~100         B:  70~79            C:  60~69            D:  <60

void  main()
{
    char grade; 
    printf(“请输入考试等级A~D:”);
    scanf(“%c”,&grade);
    switch (grade)
   {
       case ‘A’: printf(“80~100\n”); break;
       case ‘B’: printf(“70~79\n”);break;
       case ‘C’: printf(“60~69\n”); break;
       case ‘D’: printf(“<60\n”);break;
       default: printf(“error\n”);
    }
}

B回车

 70~79

根据输入的考试成绩(百分制整数)打印出等级水平。(使用if~else语句实现)

A:  80~100         B:  70~79            C:  60~69            D:  <60

#include  <stdio.h>
void  main()
{
    int  score; 
    printf(“请输入考试成绩0~100:”);
    scanf(“%d”,&score);
    if(score>100)    printf(“请输入0~100之间的整数\n”);
    else if(score>=80)   printf(“A\n”);
            else if(score>=70)    printf(“B\n”);
                    else if(score>=60)    printf(“C\n”);
                            else    printf(“D\n”);
}

根据输入的考试成绩(百分制整数)打印出等级水平。(使用switch语句实现)

A:  80~100         B:  70~79            C:  60~69            D:  <60

void  main()
{
    int  score; 
    printf(“请输入考试成绩0~100:”);
    scanf(“%d”,&score);
    switch (score)
   {
       case  80~100: printf(“A\n”);break;
       case  70~79: printf(“B\n”);break;
       case  60~69: printf(“C\n”);break;
       case  <60: printf(“D\n”);break;
       default: printf(“请输入0~100之间的整数\n”);
    } }

思考:不同case值时执行相同的操作,是否可以合并?

#include  <stdio.h>
void  main()
{
    int  score, p; 
    printf(“请输入考试成绩0~100:”);
    scanf(“%d”,&score);
    p=score/10;

switch (p)
   {
       case  0: printf(“D\n”);break;
       case  1: printf(“D\n”);break;
       case  2: printf(“D\n”);break;
       case  3: printf(“D\n”);break;
       case  4: printf(“D\n”);break;
       case  5: printf(“D\n”);break;
       case  6: printf(“C\n”);break;
       case  7:printf(“B\n”);break;
       case  8:printf(“A\n”);break;
       case  9:printf(“A\n”);break; 
       case 10:printf(“A\n”);break;
       default: printf(“请输入0~100之间的整数\n”);
    }
}

switch 语句中的“表达式”和case后面的“常量表达式”的结果值的类型应该一致。

每一个case的常量表达式的值必须互不相同,否则出现矛盾现象。

各个case的出现次序不影响执行结果。 执行完一个case后面的语句后,流程控制转移下一个case继续执行,除非有break语句跳出switch。

default 语句为选择项,可有可无。另外,default 后面可以不加break语句。

标签:

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码