2022年第五章选择结构程序设计 .pdf
《2022年第五章选择结构程序设计 .pdf》由会员分享,可在线阅读,更多相关《2022年第五章选择结构程序设计 .pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章 选择结构程序设计(4 学时 ) 学号姓名班级成绩A B C 学习目的与要求:1、 学会正确使用关系运算符和逻辑运算符;2、重点掌握三种if 语句;3、 能够理解 if 语句的嵌套;4、重点掌握switch 语句;本章重点 :1、 三种 if 语句;2、if 语句的嵌套;3、switch 语句;第 1 讲知识归纳:1、关系运算符:(1) 、 、= 优先级高= 、! = 优先级低举例 :先乘除,后加减;注意:区分 =和= = (2) 关系表达式的值:关系表达式成立,为真-用 1 表示关系表达式不成立,为假- 用 0 表示2、逻辑运算符(1) 优先级别: ! 、 & 、 | 从左往右,优先级
2、依次降低;(3) 逻辑表达式的值表达式结果为真- 值 为 1 表达式结果为假- 值 为 0 (4)a&b&c 只有 a 为真 (非 0) 时,才需要判别b 的值,只有 a和 b 都为真的情况下才需要判别c 的值。对 & 运算符,只有a0 , 才继续进行右面的运算;(5) a | b | c 只有 a 为假 (0) 时,才需要判别b 的值,只有a 和 b 都为假的情况下才需要判别c 的值。对 | 运算符,只有a=0 , 才继续进行其右面的运算。3、if 语句的第一、第二种形式:(1) (1) if ( 条件) 语句 1 ; (2) (2) if ( 条件) 语句 1 else 语句 2 基础练习
3、 (A) 一、填空题1、关系表达式的运算结果是值。 C 语言没有逻辑型数据,以代表 “ 真” ,以代表 “ 假” 。2、逻辑运算符!是运算符,其结合性是由。3、C 语言提供的三种逻辑运算符是、 、 。其中优先级最高的为,优先级最低的为。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 14 页 - - - - - - - - - 4、逻辑运算符两侧的运算对象不但可以是0 和 1,或者是0 和非 0 的整数,也可以是任何类型的数据。系统最终以和 来判定它们属于“ 真” 或“
4、假” 。5、设 y 为 int 型变量,请写出描述“y 是偶数 ” 的表达式。6、设 x,y,z 均为 int 型变量,请写出描述“x 或 y 中有一个小于z” 的表达式。7、条件 “ 2x3 或 xbc 的值是。10、当 a=5,b=4,c=2 时,表达式ab!=c 的值是。11、已知 A=7.5,B=2,C=3.6 ,表达式AB&CA|AB的值是。12、若 a=6,b=4,c=2,则表达式 !(a-b)+c-1&b+c/2的值是1 。13、有 int x,y,z;且 x=3,y=-4,z=5 ,则表达式 (x&y)=(x|z)的值为。14、有 int x,y,z;且 x=3,y=-4,z=
5、5 ,则以下表达式的值为。!(xy)+(y!=z)|(x+y)&(y-z) 15、有 int a=3,b=4,c=5,x,y; ,则以下表达式的值为。!(x=a)&(y=b)&0 16、 if (!k) a=3; 语句中的 !k 可以改写为,使其功能不变。二、选择题1、逻辑运算符两侧运算对象的数据类型() 。A) 只能是 0 或 1 B)只能是 0 或非 0 正数C)只能是整型或字符型数据D) 可以是任何类型的数据2、以下关于运算符优先顺序的描述中正确的是() 。A) 关系运算符 算术运算符 赋值运算符 逻辑与运算符B)逻辑与运算符关系运算符 算术运算符 赋值运算符C)赋值运算符 逻辑与运算符
6、 关系运算符 算术运算符D) 算术运算符 关系运算符 赋值运算符 逻辑与运算符3、下列运算符中优先级最高的是() 。A) B)+ C)& D)!= 4、为判断字符变量c 的值不是数字也不是字母时,应采用下述表达式 ()。A)c=57&c=90&c=122 B)!(c=57&c=90&c=122) C)c=48&c=65&c=97&c=48&c=65&c=97&c=1)&(x=200)&(x=1)|(x=200)|(x=1)&(x=200)&(x=1)|(x=200)|(x=300) 6、设 x、y 和 z 是 int 型变量,且x=3,y=4,z=5 ,则下面表达式中值为0 的是() 。A)
7、x & yB) x=y C) x|y+z&y-z D) !(x=y&chb)&(n=cd) 后 n 的值为() 。A)1 B)2 C)3 D)4 9、以下不正确的if 语句形式是() 。A) if(xy&x!=y); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 14 页 - - - - - - - - - B) if(x=y) x+=y; C) if(x!=y) scanf(“ %d ” ,&x) else scanf(“%d ”,&y);D) if(xy) z=x;
8、 x=y; y=z; A)x=10,y=20,z=30 B)x=20,y=30,z=30 C)x=20,y=30,z=10 D)x=20,y=30,z=20 11、以下 if 语句语法正确的是()。A) if(x0) printf(“ %f” ,x)else printf(“ %f”,-x); B)B) if(x0) x=x+y; printf(“ %f” ,x); else printf(“ %f”,-x); C)C) if(x0) x=x+y; printf(“ %f” ,x); else printf(“ %f”,-x); D)D) if(x0) x=x+y; printf(“ %f”
9、,x) else printf(“ %f”,-x); 12、请阅读以下程序:main() int a=5,b=5,c=0; if(a=b+c) printf(“ *n” );else printf(“ $n” ); 以下程序() 。A)有语法错不能通过编译B)可以通过编译但不能通过连接C)输出 * D)输出 $ 三、写出下列程序的运行结果1、若运行时输入:2,则以下程序的运行结果是。#include void main(void) char Class; printf(“ Enter 1 for 1st class post or 2 for 2nd post”);scanf(“ %c” ,&
10、Class);if(Class= 1)printf(“ 1st class postage is 19p”);else printf(“ 2nd class postage is 14p”);2、若运行时输入:4.4,则以下程序的运行结果是。#include void main(void) float CostPrice,SellingPrice; printf(“ Enter Cost Price $:”);scanf(“ %f” ,&CostPrice);if(CostPrice=5) SellingPrice=CostPrice+CostPrice*0.25; printf(“ Sell
11、ing Price(0.25)$%6.2f”,SellingPrice); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 14 页 - - - - - - - - - else SellingPrice=CostPrice+CostPrice*0.30; printf(“ Selling Price(0.30)$%6.2f”,SellingPrice); 3、以下程序的运行结果是。main() if(2*2=55) printf(“ %dn” ,m);else prin
12、tf(“ %dn” ,m -); A)4 B)5 C)6 D)7 二、根据程序的功能,将以下程序补充完整1、以下程序对输入的四个整数,按从小到大的顺序输出。请在内填入正确内容。main() int t,a,b,c,d; printf(“ input a,b,c,d:”)scanf(“ %d,%d,%d,%d”,); if(ab) if () t=a;a=c;c=t; if (ad) t=a;a=d;d=t; if ( ) t=b;b=c;c=t; if (bd) t=b;b=d;d=t; if (cd) t=c;c=d;d=t; printf(“ %d,%d,%d,%d” ,a,b,c,d);
13、 三、编程:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 14 页 - - - - - - - - - 1、试编程判断输入的正整数是否既是5 又是 7 的整倍数。若是,则输出yes;否则输出no。2、编制程序要求输入整数x、 y 和 z,若 x2+y2+z2大于 1000,则输出 x2+y2+z2千位以上的数字,否则输出三数之和。3、编写程序,输入三角型的三条边长,求其面积。注意:对于不合理的边长输入要输出数据错误的提示信息。第 2 讲知识归纳:1、if 语句的第三种形
14、式:if ( 条件 1 ) 语句 1 else if ( 条件 2 ) 语句 2 else if ( 条件 3 ) 语句 3 else 语句n2、if 语句的嵌套:(1) 三种 if 语句可以互相嵌套,应当注意的是,else 总是与他上面最近的if 配对。(2) 如果 if 与 else 的数目不一样, 为实现程序设计者的企图,可以加 括起来确定配对关系;3、条件运算符:(1) 格式:表达式 1 ?表达式2 :表达式3 (2) 条件运算符的结合方向为“ 自右至左 ” ;如: ab?a:cd?c:d; /先算出 cd?c:d ,用它的结果,作为表达式3,参与前面的运算4、switch语句:格式:
15、 switch ( 表达式) case 常量表达式1 : 语句1 case 常量表达式2 : 语句2 .case 常量表达式n : 语句n default: 语句n+1 /default 可有可无; (1) switch 后,表达式 的类型常用int ,char , case后的常量表达式类型一定与表达式类型匹配;(2) case后常量表达式的值必须互不相同;(3) case和 default 出现次序不影响执行结果;(4) case语句后如没有break,顺序向下执行。切记!名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师
16、精心整理 - - - - - - - 第 5 页,共 14 页 - - - - - - - - - 基础练习 (A) 一、填空题1、在 if 语句中又包含一个或多个if 语句称为。2、为了避免在嵌套的条件语句if-else 中产生二义性,C 语言规定: else子句总是与配对。如果 if 与 else 数目不一样,为实现设计者的企图,可以加来确定配对关系。3、条件运算符是C 语言中唯一的一个目运算符,其结合性为。4、假设条件表达式的格式为:表达式1?表达式2:表达式若表达式2 和表达式 3 的类型不同,此时条件表达式的值的类型为二者中较的类型5、在 switch 语句中, switch 后面括
17、弧内的 “ 表达式 ” ,可以为类型。6、若 a=1,b=2,则表达式ab?a:b+1 的值是。7、若 w1、x2、 y3、z4,则条件表达式wx?w:yz?y:z 的值是。8、若有以下if 语句: if (ab) min=a; else min=b; 可用条件运算符来处理的等价式子为。9、若 x=1,y=2,z=3 ,则表达式 (xb) c=1; else if(a=b) c=0; else c=-1; printf(“ %dn” ,c);2、 main() int a,b,c; int s,w,t; s=w=t=0; a=-1; b=3; c=3; if(c0) s=a+b; if(a0)
18、 if(c0) w=a-b; else t=c; printf(“ %d %d %d” ,s,w,t); 3、 switch(grade) case A : printf(“ 85n” );case B : printf(“ 70n” );case C : printf(“ 60n” );名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 14 页 - - - - - - - - - case D : printf(“ 60n” );default: printf(“ err
19、or!n” ); 若 grade 的值为 C,则输出结果是能力提高 (B) 一、写出下列程序的运行结果1、 #include void main(void) int x,y=1,z; if(y!=0) x=5; printf(“ n” ,x);if(y=0) x=4; else x=5; printf(“ n” ,x);x=1; if(y0) x=4; else x=5; printf(“ n” ,x);2、 #include void main(void) int x,y=-2,z; if(z=y)0) x=4; else if(y=0) x=5; else x=6; printf(”n”
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年第五章选择结构程序设计 2022 第五 选择 结构 程序设计
限制150内