课程章节:
- 课程名称:物联网/嵌入式工程师
- 章节名称:第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 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦