




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C程序设计单元六C控制语句:分支和跳转6.1if语句if语句的基本形式if语句的嵌套0102CONTENT使用if和else关键字对条件进行判断。请先看下面的代码:#include<stdio.h>intmain(){intage;printf("请输入你的年龄:");scanf("%d",&age);if(age>=18){printf("恭喜,你已经成年,可以使用该软件!\n");}else{printf("抱歉,你还未成年,不宜使用该软件!\n");}return0;}可能的运行结果:请输入你的年龄:23恭喜,你已经成年,可以使用该软件!
或者:请输入你的年龄:16抱歉,你还未成年,不宜使用该软件!
这段代码中,age>=18是需要判断的条件,>=表示“大于等于”,等价于数学
中的≥。
如果条件成立,也即age大于或者等于18,那么执行if后面的语句(第8行);
如果条件不成立,也即age小于18,那么执行else后面的语句(第10行)。if和else是两个新的关键字,if意为“如果”,else意为“否则”,用来对条件进行判断,并根据判断结果执行不同的语句。总结起来,ifelse的结构为:if(判断条件){
语句块1}else{
语句块2}其执行过程可表示为下图:所谓语句块(StatementBlock),就是由{}包围的一个或多个语句的集合。如果语句块中只有一个语句,也可以省略{}。if(age>=18)printf("恭喜,你已经成年,可以使用该软件!\n");elseprintf("抱歉,你还未成年,不宜使用该软件!\n");例:求两个数中的较大值#include<stdio.h>intmain(){inta,b,max;printf("输入两个整数:");scanf("%d%d",&a,&b);if(a>b)max=a;elsemax=b;printf("%d和%d的较大值是:%d\n",a,b,max);return0;}运行结果:输入两个整数:342834和28的较大值是:34if(判断条件){
语句块}单独使用if语句的形式为:如果判断条件成立就执行语句块,否则直接跳过。其执行过程可表示为下图:只使用if语句来求两个数中的较大值:#include<stdio.h>intmain(){inta,b,max;printf("输入两个整数:");scanf("%d%d",&a,&b);max=b;//假设b最大if(a>b)max=a;//如果a>b,那么更改max的值printf("%d和%d的较大值是:%d\n",a,b,max);return0;}运行结果:输入两个整数:342834和28的较大值是:34ifelse语句也可以多个同时使用,构成多个分支,形式如下:if(判断条件1){
语句块1}elseif(判断条件2){
语句块2}elseif(判断条件3){
语句块3}elseif(判断条件m){
语句块m}else{
语句块n}if语句也可以嵌套使用,例如:#include<stdio.h>intmain(){inta,b;printf("Inputtwonumbers:");scanf("%d%d",&a,&b);if(a!=b){//!=表示不等于
if(a>b)printf("a>b\n");elseprintf("a<b\n");}else{printf("a=b\n");}return0;}运行结果:Inputtwonumbers:1268a<bC语言规定,else总是与它前面最近的if配对,例如:if(a!=b)//①if(a>b)printf("a>b\n");//②elseprintf("a<b\n");//③
③和②配对,而不是和①配对。谢谢THANKYOU主讲人:谢宇C程序设计精品在线开放课程单元六分支和跳转6.2switch语句C语言虽然没有限制ifelse能够处理的分支数量,但当分支过多时,用ifelse处理会不太方便,而且容易出现ifelse配对出错的情况。switch语句介绍例如,输入一个整数,输出该整数对应的星期几的英文表示:
代码如下所示:If……else实例对于这种情况,实际开发中一般使用switch语句代替,请看下面的代码:switch实例switch基本格式switch是另外一种选择结构的语句,用来代替简单的、拥有多个分支的ifelse语句switch基本格式switch(表达式){case整型数值1:语句1;case整型数值2:语句2;......case整型数值n:语句n;default:语句n+1;}1首先计算“表达式”的值,假设为m。2从第一个case开始,比较“整型数值1”和m,如果它们相等,就执行冒号后面的所有语句,也就是从“语句1”一直执行到“语句n+1”,而不管后面的case是否匹配成功。3如果“整型数值1”和m不相等,就跳过冒号后面的“语句1”,继续比较第二个case、第三个case……一旦发现和某个整型数值相等了,就会执行后面所有的语句。假设m和“整型数值5”相等,那么就会从“语句5”一直执行到“语句n+1”。4如果直到最后一个“整型数值n”都没有找到相等的值,那么就执行default后的“语句n+1”。switch执行过程当和某个整型数值匹配成功后,会执行该分支以及后面所有分支的语句。switch重点强调switch重点强调输入4,发现和第四个分支匹配成功,于是就执行第四个分支以及后面的所有分支。这显然不是我们想要的结果,我们希望只执行第四个分支,而跳过后面的其他分支。为了达到这个目标,必须要在每个分支最后添加break;语句break关键字break是C语言中的一个关键字,专门用于跳出switch语句。所谓“跳出”,是指一旦遇到break,就不再执行switch中的任何语句,包括当前分支中的语句和其他分支中的语句;也就是说,整个switch执行结束了,接着会执行整个switch后面的代码。case后面必须是一个整数,或者是结果为整数的表达式,但不能包含任何变量。请看下面的例子:case10:printf("..."); break; //正确case8+9:printf("...");break; //正确case'A':printf("...");break; //正确,字符和整数可以相互转换case'A'+19:printf("...");break; //正确,字符和整数可以相互转换case9.5:printf("...");break; //
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服务质量保证承诺书
- 业主与物业协议
- 法律案例分析练习题库集合
- 内部培训学习进度跟踪表
- 工作报告发布与跟踪分析表
- 医疗器械总经销协议
- 房地产行业供需关系表格
- 养殖生猪购销合同书
- 农民合作社与企业合作模式研究手册
- 市场调研数据统计图表示例(柱状图、折线图等)
- 2025辽宁大连融金征信服务选聘8人笔试参考题库附带答案详解
- 初中英语语法大全知识点总结可打印
- 高考语文语言综合运用情景表达优秀课件
- 医患沟通技巧培训试题及答案
- iatf16949质量管理体系策划乌龟图
- 房屋拆除预算表
- 石膏固定(共61张)课件
- 血浆吸附疗法课件
- 第2讲 麦克斯韦方程组
- 读懂教材、读懂学生、读懂课堂,构建和谐有效的课堂教学
- 装饰施工进度计划网络图及横道图
评论
0/150
提交评论