c语言第五章选择结构程序设计(习题册答案)_第1页
c语言第五章选择结构程序设计(习题册答案)_第2页
c语言第五章选择结构程序设计(习题册答案)_第3页
c语言第五章选择结构程序设计(习题册答案)_第4页
c语言第五章选择结构程序设计(习题册答案)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章 选择结构程序设计基础练习 (A)一、填空题1、关系表达式的运算结果是逻辑 值。C 语言没有逻辑型数据,以 1 代表“真”,以0 代表“假” 。2、逻辑运算符!是单目 运算符,其结合性是由 右结合性 。3、C 语言提供的三种逻辑运算符是& 、 | 、 ! 。其中优先级最高的为 ! , 优先级最低的为| |。4、逻辑运算符两侧的运算对象不但可以是0 和 1,或者是 0 和非 0 的整数,也可以是任何类型的数据。系统最终以 0 和 非 0 来判定它们属于“真”或“假” 。5、设 y 为 int 型变量,请写出描述“ y 是偶数”的表达式 (y%2=0) 。6、设 x,y,z 均为 int 型

2、变量, 请写出描述 “ x 或 y 中有一个小于 z”的表达式 xz|yz 。7、条件“ 2x3 或 x-10”的 C 语言表达式是x2&x= A )&(chbc 的值是0 。10、当 a=5,b=4,c=2 时,表达式 ab!=c 的值是1 。11、已知 A=,B=2,C=,表达式 AB&CA|AB 的值是 0 。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) 的值为1 。14、有 int x,y,z; 且 x=3,y=-4,z=5,则以下表达式的值为1

3、 。!(xy)+(y!=z)|(x+y)&(y-z)15、有 int a=3,b=4,c=5,x,y; ,则以下表达式的值为0 。!(x=a)&(y=b)&016、if (!k) a=3;语句中的 !k 可以改写为k= =0 ,使其功能不变。二、选择题1、逻辑运算符两侧运算对象的数据类型(D )。A) 只能是 0 或 1B) 只能是 0 或非 0 正数C) 只能是整型或字符型数据D) 可以是任何类型的数据2、以下关于运算符优先顺序的描述中正确的是(C )。A) 关系运算符 算术运算符 赋值运算符 逻辑与运算符B) 逻辑与运算符 关系运算符 算术运算符 赋值运算符C) 赋值运算符 逻辑与运算符

4、关系运算符 算术运算符D) 算术运算符 关系运算符 赋值运算符 逻辑与运算符3、下列运算符中优先级最高的是(B )。A) B) +C) &D) !=4、为判断字符变量 c 的值不是数字也不是字母时,应采用下述表达式( D )。A) c=57&c=90&c=122B) !(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 的是( D )

5、。A) x& yB) x=yC) x|y+z&y-zD) !(x=y&chb)&(n=cd) 后 n的值为( B )A)1B)2C)3D)49、以下不正确的 if 语句形式是( C )。A) if(xy&x!=y);B) if(x=y) x+=y;C) if(x!=y) scanf(“ %d” ,&x) else scanf(“ %d” ,&y);D) if(xy) z=x; x=y; y=z;A) x=10,y=20,z=30B) x=20,y=30,z=30C) x=20,y=30,z=10D) x=20,y=30,z=2011、以下 if 语句语法正确的是(B ) 。A) if(x0)p

6、rintf( “ %f” ,x)else printf(-“x);%f”,B) B)if(x0) x=x+y; printf(“ %f ” ,x);else printf(-“x);%f”,C) C)if(x0) x=x+y; printf(“ %f ”; ,x);else printf(-“x);%f”,D) D)if(x0) x=x+y; printf(“ %f ” ,x)else printf(-“x);%f”,12、请阅读以下程序:main()int a=5,b=5,c=0;if(a=b+c) printf( “ *n*”* );else printf( 以下程序( C )。A)有语法

7、错不能通过编译C)输出 *三、写出下列程序的运行结果$n$”$ );B)可以通过编译但不能通过连接D)输出 $2nd class postage is 14p1、若运行时输入: 2,则以下程序的运行结果是 #include void main(void)char Class;);printf( “ Enter 1 for 1st class post or 2 for 2nd post scanf( “ %c” ,&Class);if(Class= 1 )printf( “ 1st class postage is 19p” );elseprintf( “ 2nd class postage

8、is 14p” );2、若运行时输入: ,则以下程序的运行结果是Selling Price$ 。#include void main(void)float CostPrice,SellingPrice;printf( “ Enter Cost Price $:” );scanf( “ %f” ,&CostPrice); if(CostPrice=5)SellingPrice=CostPrice+CostPrice*;printf( “ Selling Price$%6.2f ” ,SellingPrice);elseSellingPrice=CostPrice+CostPrice*;print

9、f( “ Selling Price$%6.2f ” ,SellingPrice);3、以下程序的运行结果是F 。main()if(2*2=55) printf( “n%”d,m); else printf( “n%”d,m-);A)4B)5C) 6D) 7二、根据程序的功能,将以下程序补充完整1、以下程序对输入的四个整数,按从小到大的顺序输出。请在内填入正确内容。main()int t,a,b,c,d;printf( “ input a,b,c,d:”)scanf( “ %d,%d,%d,%d&”a,&b,&c,&d);if(ab) t=a;a=b;b=t;if ( ac ) t=a;a=c

10、;c=t;if (ad) t=a;a=d;d=t;if ( bc ) 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);三、编程:1、试编程判断输入的正整数是否既是5 又是 7 的整倍数。若是,则输出 yes;否则输出 no。2、编制程序要求输入整数 x、y 和 z,若 x2+y2+z2 大于 1000,则输出 x2+y2+z2千位以上的数字, 否则输出三数之和。3、编写程序,输入三角型的三条边长,求其面积。注意:对于不合理的边长输入要输出数 据错误的提示信息。1、参考答案

11、main() int x;if (x%5=0 & x%7=0)printf( “ yes ” );elseprintf( “ no” );2、参考答案main() int x,y,z,a,b;scanf( “ %d %d %d” ,&x,&y,&z);a=x*x+y*y*z*z;if (a1000)b=a/1000;printf(“ %d” ,b);else printf(“ %d” ,x+y+z);3、参考答案#include main() float a,b,c,s,area;scanf( “ %f,%f,%f ” ,&a,&b,&c);if (a+bc & b+ca & a+cb) s=

12、2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf( “ area=%n7.”2f,area);elseprintf( “ bu nenzgh ucheng san jiao xing n” );第2讲基础练习 (A)一、填空题1、在 if 语句中又包含一个或多个 if 语句称为 if 语句的嵌套 。2、为了避免在嵌套的条件语句 if-else 中产生二义性, C 语言规定: else 子句总是与 其之前 最近的未配对的 if 配对。如果 if 与 else 数目不一样, 为实现设计者的企图, 可以加 花 括号 关系。3、条件运算符是 C 语言中唯一的

13、一个 三 目运算符,其结合性为 从右至左 。 4 、假设条件表达式的格式为:表达式1 表达式 2 :表达式若表达式 2 和表达式 3 的类型不同,此时条件表达式的值的类型为二者中较 高 的类型5、在 switch 语句中, switch 后面括弧内的“表达式”,可以为 任何 类型。6、若 a=1,b=2,则表达式 aba:b+1 的值是 3 。7、若 w1、x2、y3、z 4,则条件表达式 wxw:yzy:z 的值是 1 。8、若有以下 if 语句: if (ab) min=a;else min=b; 可用条件运算符来处理的等价式子为 min=(ab)a:b ; 。9、若 x=1,y=2,z=

14、3,则表达式 (xb) c=1;else if(a=b) c=0;else c=-1;printf( “n%”d,c);2、main() 2 0 0int a,b,c;int s,w,t;s=w=t=0;a=-1; b=3; c=3;if(c0) s=a+b;if(a0) if(c0) w=a-b;else t=c;printf( “ %d %d %d” ,s,w,t); 3、switch(grade)case A :printf( “n8”5 );case B :printf( “n”70);case C :printf( “n”60);case D :printf( n ”“);60def

15、ault: printf(“n”err)o;r!若 grade 的值为 ,C则输出结果是60-6960error!能力提高 (B)一、写出下列程序的运行结果1、#include 551void 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 4 -24 04 -2 void main(void)int x,y=-2,z;if(z=y)0) x=4;el

16、se if(y=0) x=5;else x=6;printf( ”n” ,x,z);if(z=(y=0)x=5;x=4; printf( “n” ,x,z);if(x=z=y) x=4;printf( “n” ,x,z);3、 #include a=2,b=1main()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( “ a=%d,b=%d” ,a,b); 二、根据程序的功能,将以下程序补充完整 以下程序计算某年某月有几天。 其中判别闰年的条件是: 能被 4整除但不能被 100 整除 的年是闰年,能被 400 整除的年也是闰年。请在 内填入正确内容。main() int yy,mm,len; printf( “ year,month= ” ); scanf( “ %d %d” ,&yy,&mm); switch(mm) case 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论