- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3月26日 第9-10讲 if和switch语句
一、关系、逻辑表达式(理解、应用)
1、关系表达式
a=bc b=3,c=5 a=0
b=10,c=4 a=1
f=bac a=4,b=3,c=5 f=1
f=bac a=4,b=3,c=5 f=0
数学:x∈(5,10) 5x10 × x=6成立 x=0 成立
表达式:真——1
假——0
2、逻辑运算符
操作数:真——非0值
假——0
表达式:真——1
假——0
交集:逻辑与x∈(5,10) x5x10
并集:逻辑或
取反范围:逻辑非
二、if语句(记忆、应用)
1、格式:
if(表达式) 内嵌语句1; //if子句
else 内嵌语句2; //else子句
2、执行过程
如果表达式成立(即非0值),则执行内嵌语句1,跳过else子句,if语句结束;
否则(即表达式不成立——0值),则跳过内嵌语句1,执行else子句中的内嵌语句2,if语句结束。
3、流程图
4、说明
(1)if、else:为关键字,不可改变;
(2)表达式:必须用“( )”括起,跟在if关键字后;放置判断范围。
形式:常量、算术表达式、关系表达式、逻辑表达式、函数等,必须有确定值;
类型:任意;
值:非0——真,0——假;
(3)内嵌语句:只能为1条;
如需跟多条,必须用“{}”括起,形成1条复合语句;
(4)else子句:else后无表达式,执行条件为if关键字后表达式不成立的所有情况;
else子句可以缺省,缺省后为单分支的if语句,即:if(表达式) 内嵌语句;
流程图如下:
(5)可以通过在if、else子句中嵌套if语句,形成多分支的选择结构。
例如:if(表达式1) if(表达式2)语句1;
else 语句2;
else if(表达式3)语句3;
else 语句4;
(6)if-else配对关系
if总是与其前面最近的且未配对的else组成一对。
举例:两个数按从小到大排序。
#include stdio.h
int main()
{
int a,b,t;
scanf(“%d%d”,a,b);
if(ab)
{
t=a; a=b; b=t; //交换a、b的值
}
printf(“%d,%d\n”,a,b);
return 0;
}
提示:整数的交换可以这样:a=a+b;b=a-b;a=a-b;
三、switch语句(记忆、应用)
1、格式:
switch(表达式)
{
case 常量1:语句
case 常量2:语句
…
case 常量n:语句
default:语句
}
2、执行过程
如果表达式的值与case标号后的常量吻合,则从该标号后的语句开始顺序向下执行,直到switch语句结束或遇break语句结束。
否则,如果有default标号,则从该标号后的语句开始顺序向下执行,直到switch语句结束或遇break语句结束;否则switch语句结束。
3、流程图
4、说明
(1)switch、case、default均为关键字;
(2)表达式:放置判断对象
形式:任意。如变量、表达式、函数等,须有确定值。
类型:整型or字符型
(3)常量:列举表达式中可能的值。与“表达式”类型相同;且互不相同
(4)default:是“表达式”除case标号外的所有值。该标号可以没有,默认无操作。
5、举例
(1)已知百分制成绩被分成A(100-85)、B(84-70)、C(69-60)、D(59-0)四个等级,请输入等级后,输出等级相对应的分数段。
//方法一:if语句实现
#include stdio.h
int main()
{
/*数据分析
已知:grade(char)
中间量:
求解:直接输出*/
char grade;
//给出已知条件
printf(请输入一个成绩等级(A、B、C、D):);
scanf(%c,grade);//grade=getchar();
//计算:如果等级=A,85以上;如果等级=B,70~84分;如果等级=C,60~69分;如果等级=D, 60分以下。
//输出求解
if(grade==A||grade==a) printf(A:85分以上\n);
else
if(grade==B||grade==b) printf(B:70-84分\n);
el
您可能关注的文档
最近下载
- 中国能源大数据报告(2025).docx VIP
- Espressif 系列:ESP32 (适用于多媒体设备)_(17).ESP32图像处理与识别.docx
- 第2课+树立科学的世界观+第一框(教案)【中职专用】2024-2025学年中职思想政治《哲学与人生》(高教版2023基础模块).docx VIP
- 《公安机关人民警察内务条令》解读.pptx VIP
- 钢结构金属屋面及玻璃采光顶施工方案.doc VIP
- L3N型驱动器简易说明书_第1版.pdf VIP
- 从毕业生的现状谈中职语文的改革.docx VIP
- 公安机关人民警察内务条令解读ppt课件.pptx VIP
- 雅马哈stagepas_600bt使用说明书.pdf
- DB15∕T 3841-2025 风力发电机组消防系统技术规范.docx VIP
文档评论(0)