为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第5天【养成记】嵌入式挑战第5天,C语言中的控制语句:switch语句、while和do-while语句

标签:
嵌入式

课程章节:

  • 课程名称:物联网/嵌入式工程师
  • 章节名称:第2周之第五讲 6-7 C语言中的switch语句、C语言中的while和do-while语句
  • 讲师姓名:大白老师

课程内容:

C语言中的控制语句

C语言中的switch语句

switch语句格式

switch(表达式)    // t = 10 + 10
{          
    case 整型常量表达式1:    //30 
           C语言语句1;
           break;
    case 整型常量表达式2:    //20
           C语言语句2;
        //  break;
    case 整型常量表达式3:    //10
           C语言语句3;
          break;  //结束switch语句
    default:    
            C语言语句n;
            break;
}          

运行规则:
计算完表达式的值后,决定和哪一个case相匹配,匹配上的case,会执行其后面的C语言语句。
直到遇到break语句结束,若是所有的case 都不匹配,则执行default后面的C语言语句。

注:
(1)case 后面是常量
(2)default及它的语句可省略不写。
(3)若是丢掉了break,在匹配语句之后(例如匹配了表达式1),C语言语句1,语句2,。。。语句n,都会执行。

代码示例 switch

#include <stdio.h>

int main()
{
    int data;
    int a = 10,b = 20,c = 30;

    printf("请输入一个数据:\n");
    scanf("%d",&data);

    switch(data)
    {
        case 10:
            data++;
            break;
        case 20:
            data--;
            break;
        default:
            data = data - 5;
            break;
    }
    printf("data = %d\n",data);
    return 0;
}

课后练习

练习

从键盘输入一个成绩,判断成绩的等级
如果成绩 score< 0 或 score> 100 则提示用户输入的是非法成绩

如果是:
[0-60) 则输出 E等级 
[60-70) 则输出 D等级 
[70-80) 则输出 C等级 
[80-90)则输出 B等级 
[90-100] 则输出 A等级 。
要求用switch语句写一段代码实现上述的功能。

代码

#include <stdio.h>

int main()
{
    int score;
    printf("请输入成绩:\n");
    scanf("%d",&score);

    if (score < 0 || score > 100)
    {
        printf("非法成绩!\n");
        return 0;
    }

    switch(score)
    {
        case 90 ... 100:
            printf("A等级\n");
            break;
        case 80 ... 89:
            printf("B等级\n");
            break;
        case 70 ... 79:
            printf("C等级\n");
            break;
        case 60 ... 69:
            printf("D等级\n");
            break;
        default:
            printf("E等级\n");
            break;
    }

    return 0;
}

C语言中的循环语句

while do_while

while循环

格式

while(条件)
{
   C程序;
}

功能:循环判断条件是否为真,为真,执行对应的C程序。一般C程序会对条件产生影响.

代码示例 while

#include <stdio.h>

int main()
{
    char ch = -1;
    printf("请输入数据:\n");

    while(ch != 'Q')
    {
        scanf("%c",&ch);
        printf("%c\n",ch);
    }

    return 0;
}

do…while循环

格式

do
{     
   C语言程序;
}while(条件);

功能: 先执行一次C语言程序,然后判断条件是否为真。若是为真,继续执行。否则,结束循环。

规则:
不管条件真假,先执行C语言语句,然后判断条件是否为真。

特点:
<1>先做事情,然后判断事情的结果
<2>至少执行一次

代码示例 do…while

#include <stdio.h>

int main()
{
    int passwd = 0;

    do {
        printf("请输入密码:\n");
        scanf("%d",&passwd);
    } while(passwd != 123789);

    printf("输入正确!\n");
    return 0;
}

学习笔记:

课后练习

练习1

大家写一个代码求5!
解析: 5!指的是求5的阶乘,即求5 * 4 * 3 * 2 * 1的值.

代码:

#include <stdio.h>

int main()
{
    int num = 5,ret = 1;
    while(num > 1)
    {
        ret *= num;
        num--;
    }
    printf("5! = %d\n",ret);
    return 0;
}

练习2

看懂do_while语句的示例代码,并修改代码。要求给用户三次输⼊密码机会,若是3次机会都不对, 提示用户“GAME OVER!"

代码:

#include <stdio.h>

int main()
{
    int inputNum = 3,passwd;
    
    do{
        if (inputNum == 0)
        {
            printf("GAME OVER!\n");
            return 0;
        }
        printf("请输入密码:\n");
        scanf("%d",&passwd);
        inputNum--;
    }while(passwd!=123789);
    
    printf("输入正确!\n");
    return 0;
}

课程评价:

通过循环语句的学习,掌握了C语言循环语句的程序编写。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消