




免费预览已结束,剩余39页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
lesson 2 选择结构程序设计,2,本课内容,scanf 输入函数,if-else 语句,switch 语句,break 语句,default 语句,if-else语句,int a = 3, b = 0; if (a 0) (a 8) b = 5; b = 7;,黄建语录三:else总是与它前面最靠近的尚未配对的if配对使用。,int a = 3, b = 0; if (a 0) if (a 8) b = 5; else b = 7;,以下程序段执行后,b的值是:,if,else,0,if语句三种形式2-1,if (表达式) 语句,if (表达式) 语句1 else 语句2,if语句三种形式2-2,if-else-if语句:,if (表达式1) 语句1; else if(表达式2) 语句2; else 语句n;,闰年问题,闰年:2008,2012,2016,平年:2009,2010,2011,1600,2000,2400,1700,1800,1900,闰年问题,if (y%4=0 ,if 语句12-1,2011.3.7运行时输入12,则输出结果为 int x; scanf(“%d“, ,1217,2009.3.172011.3.17if语句的基本形式是:if (表达式) 语句,以下关于“表达式”值的叙述中正确的是 a)必须是逻辑值 b)必须是整数值 c)必须是正数 d)可以是任意合法的数值,if 语句12-2,2011.3.10以下程序的运行结果是 int x = 10, y = 20, t = 0; if (x = y) t = x; x = y; y = t; printf(“%d %d“, x, y);,20 0,2008.9.20以下程序的运行结果是 int a = 10, b = 50, c = 30; if (a b) a = b, b = c; c = a; printf(“%d,%d,%d“, a, b, c);,10,50,10,if 语句12-3,2009.9.17以下执行效果与其它三个不同的是 a)if (a b) c = a, a = b, b = c; b)if (a b) c = a; a = b; b = c; c)if (a b) c = a, a = b, b = c; d)if (a b) c = a; a = b; b = c; ,2005.4.8以下程序的运行结果是 int a = 3, b = 4, c = 5, t = 99; if (b a ,4599,if 语句12-4,例以下程序的运行结果是 int a = 3; if (a- 3) printf(“%dn“, a); else printf(“%dn“, -a);,1,例以下程序的运行结果是 int a = 0, b = 2, c = 6; if (c = a != 0) printf(“%d“, a+ + +c); else printf(“%d“, b- - -c);,3,if 语句12-5,2005.9.7以下程序的运行结果是 int a = 1, b = 2, c = 3; if (c = a) printf(“%d“, c); else printf(“%d“, b);,2009.3.18若有定义int x; 则以下程序运行时,x的值在哪个范围才会有输出结果 if (x = 3) ; else if (x != 10) printf(“%d“, x); a)不等于10 b)大于3或等于10 c)小于3 d)大于3且不等于10,1,if 语句12-6,2006.4.31以下程序的运行结果是 int a = 0, b = 0, c = 0, d = 0; if (a = 1) b = 1; c = 2; else d = 3; printf(“%d%d%d%d“, a, b, c, d); a)0120 b)0003 c)1120 d)编译有错,例程序运行后a、b、c、d的值分别是 int a = 1, b = 2, c = 3, d = 0; if (a = 1 ,1331,if 语句12-7,2010.9.182011.3.27以下程序的运行结果是 int a = 1, b = 0; if (!a) b+; else if (a = 0) if (a) b += 2; else b += 3; printf(“%dn“, b);,0,if 语句12-8,2011.9.18以下程序运行后,b的值是 int a = 1, b = 0; if (-a) b+; else if (a = 0) b += 2; else b += 3;,2,int a = 1, b = 0; if (-a) b+; else if (a = 0) b += 2; else b += 3;,if 语句12-9,例以下语句中,有语法错误的是 a)if (a b); b)if (a = b) a += b; c)if (a != b) scanf(“%d“, ,例以下程序的运行结果是 int a = 10; if (a = 20) printf(“%d“, a = 20); else printf(“%d“, a != 10);,20,if 语句12-10,2010.3.7以下程序运行后,d的值是 int a = 1, b = 2, c = 3, d = 0; if (a = 1) if (b != 2) if (c = 3) d = 1; else d = 2; else if (c != 3) d = 3; else d = 4; else d = 5;,4,if 语句12-11,2004.4.19以下选项,不能看作一条语句的是 a) ; b)a = 0, b = 0, c = 0; c)if (a0); d)if (b=0) m = 1; n = 2;,2004.9.22以下程序的运行结果是 int a = 3, b = 4, c = 5, d = 2; if (a c) printf(“%d“, d+ + 1); else printf(“%d“, +d + 1); printf(“%dn“, d);,43,if 语句12-12,2004.9.232011.9.19下列条件语句中,功能与其他语句不同的是 a)if (a) printf(“%d“, x); else printf(“%d“, y); b)if (a = 0) printf(“%d“, y); else printf(“%d“, x); c)if (a != 0) printf(“%d“, x); else printf(“%d“, y); d)if (a = 0) printf(“%d“, x); else printf(“%d“, y);,switch语句,switch后数据不能是float或double类型 case后的常量表达式的值不能相同 case后不能写诸如 a3 之类的表达式 case后若有多个语句,可以不用 括起来 default子句是可选项,可以省略不用 各case和default的先后顺序可以变动 case与常量表达式之间一定要加空格,1,2,3,4,5,6,7,switch语句6-1,2006.4.19-1若有int a = 1, b = 3, c = 2; float x = 1.5; 则正确的switch语句是 a)switch (x) case 1.0:printf(“*n“); case 2.0:printf(“*n“); b)switch (int)x); case 1:printf(“*n“); case 2:printf(“*n“); ,switch语句6-2,2006.4.19-2若有int a = 1, b = 3, c = 2; float x = 1.5; 则正确的switch语句是 c)switch (a+b) case 1:printf(“*n“); case 2+1:printf(“*n“); d)switch (a+b) case 1:printf(“*n“); case c:printf(“*n“); ,switch语句6-3,2010.9.19-1若有int a, b; double x; 则下列选项中没有错误的是 a)switch (x%2) case 0: a+; break; case 1: b+; break; b)switch (int)x/2.0) case 0: a+; break; case 1: b+; break; ,switch语句6-4,2010.9.19-2若有int a, b; double x; 则下列选项中没有错误的是 c)switch (int)x%2) case 0: a+; break; case 1: b+; break; d)switch (int)(x)%2) case 0.0: a+; break; case 1.0: b+; break; ,switch语句6-5,2004.9.9以下程序的运行结果是 int x = 1, y = 0, a = 0, b = 0; switch (x) case 1: switch (y) case 0: a+; break; case 1: b+; break; case 2: a+; b+; break; printf(“%d,%dn“, a, b);,2,1,switch语句6-6,2007.4.9int a=2, b=7, c=5; 则输出 switch (a 0) case 1: switch (b 0) case 1: printf(“); break; case 2: printf(“!“); break; case 0: switch (c=5) case 0: printf(“*“); break; case 1: printf(“#“); break; default: printf(“ ,#&,if、switch与条件运算符,条件运算符,switch语句,if语句,if、switch与条件运算符,if (表达式) 语句1; else 语句2;,switch (表达式 != 0) case 1: 语句1; break; case 0: 语句2; ,表达式 ? 表达式1 : 表达式2;,习题演练6-1,2010.3.18与if (a=1) a = b; else a+;语句功能不同的switch语句是 a)switch (a=1) c)switch (a) case 1: a = b; default: a+; break; break; case 0: a+; case 1: a = b; b)switch (a=1) d)switch (a) case 0: a = b; case 1: a = b; break; break; case 1: a+; default: a+; ,习题演练6-2,2010.3.19有如下嵌套的if语句 if (a c)?b:c); c)k = (ab) ? (ac)?a:c) : (bc)?b:c); d)k = (ab) ? a : b; k = (ac) ? a : c;,习题演练6-3,2004.4.21与以下语句功能等价的程序段是 k = a b ? (b c ? 1 : 0) : 0; a)if (a b) ,习题演练6-4,例各选项中与下列语句功能不同的是 y = x 0 ? 1 : x 0) y = 1; else if (x 0) y = 1; else if (x 0;,习题演练6-5,d)switch (x 0) case 1: y = 1; case 0: y = x 0 ? -1 : 0; ,例以下叙述中正确的是 a)break语句只能用于switch语句 b)在switch语句中必须使用default c)break必须与switch语句中的case配对使用 d)在switch语句中,不一定使用break语句,习题演练6-6,2007.9.20若程序前面已包含 math.h 文件,则不能正确计算右边公式的程序是,a)if (x = 0) y = sqrt(x); else y = sqrt(-x); b)y = sqrt(x); if (x = 0) y = sqrt(x); if (x = 0 ? x : -x);,逻辑恒等式,2007.9.21与(e)?(i+):(j-)中e等价的是 a)e=0 b)e!=0 c)e=1 d)e!=1,逻辑恒等式,2006.9.16与条件表达式(x-y)?(x+):(y+)中的表达式(x-y)等价的是 a)(x-y0) b)(x-y0) d)(x-y=0),2008.9.17与(w)?(-x):(+y)中w等价的是 a)w=1 b)w=0 c)w!=1 d)w!=0,交换变量的值,a,t,b,int a = 3, b = 4, t;,t = a;,a = b;,b = t;,3,4,3,4,3,t = b; b = a; a = t;,或,三个数排序2-1,if (a b) t = a; a = b; b = t; ,if (a c) t = a; a = c; c = t; ,if (b c) t = b; b = c; c = t; ,5,3,1,5,3,1,三个数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 艺考生体态管理制度
- 苏州锅炉房管理制度
- 课件学习-操作指南
- 财务会计与管理知识分析模拟题
- 视觉感知生物识别领域应用分析
- 自动控制原理第2章练习题
- 河南省平顶山市鲁山县五所学校2025届九年级下学期中考三模生物试卷(含答案)
- 财务会计实务11财务报表教案
- 2025年android通知!2025中级Android开发面试解答最强技术实现
- 山东遗传生物题目及答案
- 2025年合肥城建发展股份有限公司及所属子公司招聘17人(二批次)笔试参考题库附带答案详解
- 【上料机械手结构中的真空系统的设计计算案例1100字】
- 西方美术史试题及答案
- 七年级数学下学期期末测试卷(1)(学生版+解析)-2025年七年级数学下学期期末总复习(北师大版)
- 医院员工手册管理制度
- 校园短剧创作与演出指导行业跨境出海项目商业计划书
- 泉州水务集团有限公司招聘考试真题2024
- 东航客运岗位面试题目及答案
- 2025年北京丰台区九年级中考二模英语试卷试题(含答案详解)
- 【7历期末】安徽省合肥市包河区2023-2024学年部编版七年级下学期期末历史试卷
- 新生儿收治流程规范与实施
评论
0/150
提交评论