C语言编程练习-switch case语句|“朝闻道”知识分享大赛

2301_80948168 2024-11-07 08:54:21

这是我参加朝闻道知识分享大赛发布的第23篇文章


什么是switch case语句?

当switch后面括号内“表达式”的值与某个case后面的“常量表达式”的值相等时,就执行此case后面的语句。执行完一个case后面的语句后,流程控制转移到下一个case继续执行。如果你只想执行这一个case语句,不想执行其他case,那么就需要在这个case语句后面加上break,跳出switch语句。
switch是“选择”语句,不是“循环”语句。因为break一般给我们的印象是跳出“循环”,但break还有一个用法,就是跳出switch。(https://blog.csdn.net/BestEternity/article/details/90403632?fromshare=blogdetail&sharetype=blogdetail&sharerId=90403632&sharerefer=PC&sharesource=2301_80948168&sharefrom=from_link

学生成绩管理:

  • 输入一个学生的成绩,[90,100] A 、[80,90) B  、[70,80) C 、[60,70) D 、[0,60) 不及格 、其他 输入错误。使用switch..case 语句实现
    #include <stdio.h>
                     
    int main(int argc, const char *argv[])
    {   
        int ret = 0;
        int score = 0;
        printf("输入一个学生的成绩:");
        ret = scanf("%d",&score); 
        //scanf函数执行成功返回值是 按指定格式输入变量的个数
        //scanf函数未按照格式输入时,数据并没有存到变量中,此时返回值为0,即ret = 0。
        //在本代码中若按int格式输入则return 1,未按格式输入则return 0
        //输入'+'或其他非数字时,若不进行if语句的判断,则直接执行case 0:输出不及格
         
        getchar(); //清理下垃圾字符
        if(ret==1)
    {
            switch(score / 10)
    {
                case 10: //利用case击穿原则
                case 9:
                    printf("A\n");
                    break;
                case 8:
                    printf("B\n");
                    break;
                case 7:
                    printf("C\n");
                    break;
                case 6:
                    printf("D\n");
                    break;
                default:
                    printf("不及格\n");
                    break;
            }
        }
             else{
             printf("输入错误\n");
        }             
        return 0;
    }

     

...全文
692 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,040

社区成员

发帖
与我相关
我的任务
社区描述
中南民族大学CSDN高校俱乐部聚焦校内IT技术爱好者,通过构建系统化的内容和运营体系,旨在将中南民族大学CSDN社区变成校内最大的技术交流沟通平台。
经验分享 高校 湖北省·武汉市
社区管理员
  • c_university_1575
  • WhiteGlint666
  • wzh_scuec
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

欢迎各位加入中南民族大学&&CSDN高校俱乐部社区(官方QQ群:908527260),成为CSDN高校俱乐部的成员具体步骤(必填),填写如下表单,表单链接如下:
人才储备数据库及线上礼品发放表单邀请人吴钟昊:https://ddz.red/CSDN
CSDN高校俱乐部是给大家提供技术分享交流的平台,会不定期的给大家分享CSDN方面的相关比赛以及活动或实习报名链接,希望大家一起努力加油!共同建设中南民族大学良好的技术知识分享社区。

注意:

1.社区成员不得在社区发布违反社会主义核心价值观的言论。

2.社区成员不得在社区内谈及政治敏感话题。

3.该社区为知识分享的平台,可以相互探讨、交流学习经验,尽量不在社区谈论其他无关话题。

试试用AI创作助手写篇文章吧