欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第四章--选择习题集.doc

    • 资源ID:34440161       资源大小:94KB        全文页数:14页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第四章--选择习题集.doc

    如有侵权,请联系网站删除,仅供学习与交流第四章-选择习题集【精品文档】第 14 页第四章 选择结构程序设计一、选择题1下列运算符中优先级最高的是 。(0级) A)> B) + C) && D)!=2以下关于运算符优先级的描述中,正确的是 。(0级) A)!(逻辑非)>算术运算>关系运算>&&(逻辑与)>|(逻辑或)>赋值运算B)&&(逻辑与)>算术运算>关系运算>赋值运算C)关系运算>算术运算>&&(逻辑与)>|(逻辑或)>赋值运算D)赋值运算>算术运算>关系运算>&&(逻辑与)>|(逻辑或)3逻辑运算符的运算对象的数据类型 。(0级)A)只能是0或1 B)只能是.T.或.F.C)只能是整型或字符型 D)任何类型的数据4能正确表示x的取值范围在0,100和-10,-5内的表达式是 。(1级)A)(x<=-10)|(x>=-5)&&(x<=0)|(x>=100)B)(x>=-10)&&(x<=-5)|(x>=0)&&(x<=100)C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)D)(x<=-10)|(x>=-5)&&(x<=0)|(x>=100)5以下程序的运行结果是 。(1级)main( ) int c,x,y; x=1; y=1; c=0; c=x+|y+; printf(“n%d%d%dn”,x,y,c);A)110 B)211 C)011 D)0016以下程序的运行结果是 。(1级)main( ) int c,x,y; x=0; y=0; c=0; c=x+&&y+; printf(“n%d%d%dn”,x,y,c);A)100 B)211 C)011 D)0017判断字符型变量ch为大写字母的表达式是 。(1级)A)A<=ch<=Z B)(ch>=A)&(ch<=Z)C)(ch>=A)&&(ch<=Z) D)(ch>=A)AND(ch<=Z)8判断字符型变量ch为小写字母的表达式是 。(1级)A)a<=ch<=z B)(ch>=a)&&(ch<=z)C)(ch>=a)|(ch<=z) D)(ch>=a)&&(ch<=z)9以下if语句书写正确的是 。(1级)A)if(x=0;) B)if(x>0) printf(”%f”,x); x=x+1; printf(”%f”,x); else printf(”%f”,-x); else printf(”%f”,-x);C)if(x>0); D)if(x>0) x=x+1; printf(”%f”,x); x=x+1; printf(”%f”,x) else printf(”%f”,-x); else printf(”%f”,-x);10分析以下程序:main( ) int x=5,a=0,b=0; if(x=a+b) printf(“* *n”); else printf(“# #n”);以上程序 。(1级)A)有语法错,不能通过编译 B)通过编译,但不能连接C)输出* * D)输出# #11两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 。(1级)main( ) int x; scanf(“%d”,&x); if(x+>5) printf(“%d”,x); else printf(“%dn”,x-);A)7和5 B)6和3 C)7和4 D)6和412写出下面程序的执行结果 。(1级)main( )int x,y=1; if(y!=0) x=5; printf(“%dt”,x); if(y= =0) x=3;else x=5;printf(“%dtn”,x);A)1 3 B)1 5 C)5 3 D)5 513写出下面程序的执行结果 。(2级)main()int x=1,y=1,z=0;if(z<0)if(y>0) x=3;else x=5;printf("%dt",x);if(z=y<0) x=3;else if(y= =0 ) x=5;else x=7;printf("%dt",x);printf("%dt",z);A)1 7 0 B)3 7 0 C)5 5 0 D)1 5 114假定所有变量均已正确说明,下列程序段运行后x的值是 。(1级)a=b=c=0;x=35;if(!a) x=-1;else if(b);if(c) x=3;else x=4;A)34 B)4 C)35 D)315写出下面程序的运行结果是 。(2级)main()int x,y=1,z=0;if(y!=0) x=5;printf("x+%dt",x);if(y= =0) x=3;else x=5;printf("x=%dtn",x);x=1;if(z<0)if(y>0)x=3;else x=5;printf("x=%dtn",x);if(z=y<0)x=5;else x=7;printf("x=%dt",x);printf("%dtn",z);if(x=y=z)x=3;printf("x=%dt",x);printf("z=%dtn",z);A)x=5 x=5 B)x=5 x=5 x=1 x=1 x=7 z=0 x=5 z=0 x=3 z=1 x=3 z=0C)x=5 x=5 D)x+5 x=5 x=5 x=1 x=7 z=0 x=7 z=0 x=3 z=1 x=0 z=016若有以下函数关系x<0 y=2xx>0 y=xx=0 y=x+1下面程序段能正确表示以上关系的是 。(2级)A)y=2x; B)y=2x;if(x!=0) if(x<=0)if(x>0)y=x; if(x= =0) y=x+1;else y=x+1; else y=x;C)if(x>=0) (D)y=x+1;if(x>0) y=x; if(x<=0)else y=x+1; if(x<0) y=2x;else y=2x; else y=x;17若有以下变量定义:float x; int a,b;则正确的switch语句是 。(1级) A)switch(x) case 1.0:printf("*n");case 2.0:printf("* *n"); B)switch(x) case 1,2:printf("*n");case 3:printf("* *n");C)switch(a+b) case 1:printf("*n");case 2*a:printf("* *n");D)switch(a+b) case 1:printf("*n");case 1+2:printf("* *n");18. 以下关于运算符优先顺序的描述正确的是 。(0203第一学期试题)A)关系运算符<算术运算符<赋值运算符<逻辑运算符B)逻辑运算符<关系运算符<算术运算符<赋值运算符C)赋值运算符<逻辑运算符<关系运算符<算术运算符D)算术运算符<关系运算符<赋值运算符<逻辑运算符19. 能正确表示a>=10或a<=0的关系表达式是 。(0203第一学期试题) A)a>=10 or a<=0 B)a>=10 | a<=0C)a>=10 && a<=0 D)a>=10 | | a<=020. 以下不正确的if 语句形式是 。(0203第一学期试题)A)if ( x > y && x != y ) ;B)if ( x = = y ) x + = y ;C)if ( x != y ) scanf ( “%d”, &x) else scanf ( “%d”, &y);D)if ( x < y ) x+; y+;21. 当 a = 1, b = 3 , c = 5, d = 4 时, 执行完下面程序段后 x 的值为 。(0203第一学期试题)if ( a < b ) if ( c < d ) x = 1 ; else if ( a < c ) if ( b < d ) x =2 ; else x = 3 ; else x = 6 ;else x = 7 ; A)1 B)2 C)3 D)622. 以下if语句中语法错误的是 。(0102第二学期试题)A)if (a>b)printf(“%f”,a); B)if(a>b)printf(“%f”,a);else printf(“%f”,b);C)if(a>b)printf(“%f”,a) D)if(a>b)printf(“%f”,b);else printf(“%f”,b); else printf(“%f”,a);23. 能表示整数x符合下面两个条件的语句是 。(0102第二学期试题)(1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除.A)(x%4=0&&x%100!=0)|x%400=0B)(x%4=0|x%100!=0)&&x%400=0C)(x%4=0&&x%400!=0)|x%100=0D)(x%100=0|x%4!=0)&&x%400=024. 设有如下定义:char ch=z,则执行下面语句后变量ch是值为: 。(03试题)ch=(A<=ch&&ch<=Z)?(ch+32):chA)A B)a C)Z D)z25. 若I为整型变量,则下列程序段的运行结果为 。(03试题)I=322;if(I%2=0) printf(“#”)else printf(“*”);A)# B)#*C)* D)有语法错误,无法输出结果26. 已知 int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为: 。(03试题) if (x>y|x<z&&y>z) z=x; x=y; y=z;A)x=50, y=80, z=80 B)x=50, y=30, z=30C)x=30, y=50, z=80 D)x=80, y=30, z=5027. C语言中,要求运算对象必须是整型的运算符是: 。(往届试题)A)> B)+ C)% D)!=28. 29. 以下程序的输出结果是 。(0405第二学期试题)main( ) int x=2,y=-1,z=2; if (x<y) if(y<0) z=0; else z+=1; printf(“%dn”,z); A)3 B)2 C)1 D)030. 设a、b和c是int型变量,且a=2,b=4,c=6,则下面表达式中值为0的是: 。(往届试题)A)a+ b B)a<=bC)a|b+c&&b-c D)!( (a<b) &&!c | 1 )31. 在C的if语句中,可用作判断的表达式是: 。(往届试题)A)关系表达式 B)逻辑表达式C)算术表达式 D)任意表达式32. 下面能正确表示变量a在区间0,5或(6,10)内的表达式为: 。(往届试题)A)0<=a | a<=5 |6 <a | a<10 B)0<=a&&a<=5 | 6<a&&a<10C)(0<=a|a<=5)&&(6<a|a<10)D)0<=a&&a<=5&&6<a&&a<1033.在C语言中,多分支选择结构语句为:switch(c) case 常量表达式1:语句1; case 常量表达式n-1:语句n-1; default 语句n;其中括号内表达式c的类型: 。(往届试题)A)可以是任意类型 B)只能为整型C)可以是整型或字符型 D)可以为整型或实型34. 以下if 语句语法正确的是: 。(往届试题)A)if ( x > 0 )printf(“ %f ”, x )else printf(“%f”, - x );B)if ( x > 0 ) x = x + y ; printf (“%f ”, x ) ; else printf ( “%f ”, - x ) ;C)if ( x > 0 ) x = x + y ; printf (“%f ”, x ) ; ;else printf ( “%f ”, - x ) ;D)if ( x > 0 ) x = x + y ; printf (“%f ”, x ) else printf ( “%f ”, - x ) ;35为了表示关系x>=y>=z,应使用C语言表达式 。(1级) A)(x>=y)&&(y>=z) B)(x>=y)AND(y>=z) C)(x>=y>=z) D)(x>=y)&(y>=z)36若欲表示在if后a不等于0的关系,则能够正确表示这一关系的表达式为 。(1级) A)a<>0 B)!a C)a=0 D)a37下面程序的输出结果是 。(1级)main()int x,y,z; x=y=1; z=x+-1; printf(“%d,%dt”,x,z); z+=-x+(+y|+z); printf(%d,%d”,x,z); A)2,0 3,-1B)2,1 3,0 C)2,0 2,1D)2,1 0,138下面程序的输出结果是 。(1级)main()int x=40,y=4,z=4; x=y= =z; printf(“%d”,x); x=x= =(y-z); printf(%d”,x); A)4 0B)4 1C)1 1D)1 039.若x=3,y=z=4,则下列表达式的值分别为 。(1级) (1)(z>=y>=x)?1:0 (2)z>=y&& y>=x A)0 1 B)1 1 C)0 0 D)1 040.若x=3,y=z=4,则下列表达式的值分别为 。(1级)(1)(z>=y>=x)?1:0(2)y+=z,x*=y A)0 24 B)1 8 C)0 8 D)1 1241在以下一组运算符中,优先级最高的运算符是 。(1级)A)<= B)= C)% D)&&42.以下程序的输出结果是 。(1级)main()int a=-1,b=4,k;k=(+a<=0)&&!(b-<=0);printf("%d %d %d",k,a,b);A)1 0 4 B)0 0 4 C)1 0 3 D)0 0 3二、填空题1在C语言中,对于if语句,else子句与if子句的配对约定是 。(0级)2阅读下面程序,写出它的功能。(1级)3以下两条if语句可合并成一条if语句为 。(1级)if(a<=b) x=1;else y=2;if(a>b) printf("* * * * y=%dn",y);else printf("# # # # x=%dn",x);4以下程序的功能是计算一元二次方程ax2+bx+c=0的根,补足程序中空缺的语句。(2级)#include <math.h>main( )float a,b,c,_abs,_derta,_doublea,part1,part2;printf("enter a,b,c:");scanf("%f%f%f",&a,&b,&c);if( (1) ) if( (2) ) printf("no answer due to input errorn");else printf("the single root is %fn",-c/b);else_derta=b*b-4*a*c; _doublea=2*a; part1=-b/(2*a); _abs=abs(_derta); part2=sqrt(_abs)/_doublea;if( (3) )printf("complex root nreal part=%f image part=%fn",part1,part2);else printf("real rootsn root1=%f root2=%fn",part1+part2,part1-part2);5设有程序片段如下:switch(class)case 'A':printf("GREAT!n");case 'B':printf("GOOD!n");case 'C':printf("OK! n");case 'D':printf("NO!n");default:printf("ERROR!n");若class的值为'C',则输出结果是 。(1级)6以下程序段的运行结果是 。(1级)int x=1,y=0;switch(x)case 1: switch(y) case 0:printf("x=1 y=0n");break; case 1:printf("y=1n");break;case 2:printf("x=2n");7根据以下if语句写出与其功能相同的switch语句(x的值在0100之间)。(1级)if语句:if(x<60) m=1;else if(x<70) m=2; else if(x<80) m=3; else if(x<90) m=4; else if(x<100) m=5;switch语句:switch( (1) ) (2) m=1;break;case 6:m=2;break; case 7:m=3;break;case 8:m=4;break; (3) m=5;8. 输入3个实数 a, b, c要求按从大到小的顺序输出三数。(0102第二学期试题)main( ) float a,b,c,t; scanf(“%f,%f,%f”,&a,&b,&c); if (a<b) t=a; _(1)_ b=t; if(_(2)_) t=a; a=c; c=t; if(b<c) _(3)_ b=c; c=t;printf(“%f,%f,%f”,a,b,c);9. 输入一个字符,如果是大写字母,则把其变成小写字母;如果是小写字母,则变成大写字母;其它字符不变。请在()内填入缺省的内容。(03试题) main( ) char ch; scanf(“%c”,&ch); if (_(1)_) ch=ch+32; else if(ch>=a&&ch<=z) (_(2)_);printf(”%cn”,ch); 10. 以下程序的运行结果是:_。(03试题) main( ) int a = 2, b = 3, c ;c = a ;if ( a>b ) c = 1 ;else if ( a = b ) c = 0 ; else c = -1 ;printf ( “%dn”, c ) ;11. 以下程序的运行结果是:_。(0405第二学期试题)main( ) int x;x=5;if (+x>5) printf(“x=%d”,x);else printf(“x=%d”,x-); 12在C语言中提供的条件运算符"?:"的功能是 .(1级)13条件表达式a?b:c,其中a,b,c是三个运算分量.当运算分量a的值为真,则 ,否则 . (1级)14在C语言中的逻辑运算符的优先级是 高于 高于 .(1级)15main()int a,b,c;a=b=c=1;a+=b;b+=c;c+=a;printf("(1)%dn",a>b?a:b);printf("(2)%dn",a>c?a-;c+);(a>=b>=c)?printf("AA");printf("CC");printf("n a=%d,b=%d,c=%dn",a,b,c);运行结果为(1) 。 (2) 。(1级)16用C语言描述下列命题(1级)(1)a小于b或小于c ,(2)a和b都大于c (3)a或b中有一个小于c (4)a是奇数 。17main()int x=1,y=1,z=1;y=y+z;x=x+y;printf("%d,",x<y?y:x);printf("%d,",x<y?x+:y+);printf("%d,",x);printf("%d",y);运行结果为 。(1级)18main()int x,y,z;x=3;,y=z=4;printf("%d",(y=x)?1:0);printf("%d",z>=y&&y>x);运行结果为 。(1级)19若x=3,y=2,z=1,求下列表达式的值(1)x<y?y:x(2)x<y?x+:y+(3)z+=x<y?x+:y+表达式的值分别是(1) ;(2) ;(3) 。(1级)20表示条件:10<100或x<0的C语言表达式是 。(1级)21.分析下列程序main()printf("%d",1<4&&4<7);printf("%d",1<4&&7<4);printf("%d",(2<5);printf("%d",!(1<3)|(2<5);printf("%d",!(4<=6)&&(3<=7);程序的输出结果是 。(1级)三、编程题1编写一个程序,要求有键盘输入三个数,计算以这三个数为边长的三角形的面积。(1级)2输入圆的的半径r和一个整型数k,当k=1时,计算圆的面积;但k=2时,计算圆的周长,当k=3时,既要求求圆的周长也要求出圆的面积。编程实现以上功能。(1级)3.编写程序,判断某一年是否是闰年。(1级)4. 有一函数,其函数关系如下,试编程求对应于每一自变量的函数值。(03试题) x2 (x<0) y = -0.5x+10 (0x<10) x- (x10)5. 编一程序,对于给定的一个百分制成绩,输出相应的五分制成绩。设:90分以上为A;8089分为 B;7079分为C;6069分为D;60分以下为 E。(往届试题)6. 试编程完成如下功能:输入一个不多于4位的整数,求出它是几位数,并逆序输出各位数字。(往届试题)第四章 答案一、 选择题15 B A D B B 610 A C D B D1115 A D A B d 1620 C D C D C2125 B C A D A 2630 A C 28 B w3135 D B C B A 3640 D A D A A4143 C c 43二、填空题1.else与它前面最近的一个if配对2. 3.if(a<=b) x=1; printf(“ * * * * y=%dn”,y); else y=2; printf(“ # # # # x=%dn”,x); 4.(1) a= =0(2)b= =0 (3 ) _derta<05.OK! NO! ERROR!6.x=1 y=0 x=27.(1)x/10 (2)case 0: case 1: case 2: case 3: case 4: case 5: (3)case 9:8.a=b a<c t=b 9.ch>=A&& c<=Z ch=ch-3210.-111.x=612.根据条件判定值,从两种选择对象中,选取一个作为整个运算的结果13.整个条件表达式的结果就取自运算分量b的结果,整个条件表达式的结果就取自运算分量c的结果14.!,&&,|15. (1)2(2)3CCa=2,b=2,c=416.(1)a<b|a<c (2)a>c&&b>c (3)a<c|b<c (4)a%2= =117.3,2,3,318.0 119.(1)3 (2)2 (3)320.x>10&&x<100|x<021.10110三、编程题1.#include <math.h> #include <stido.h> main( ) float a,b,c,s,s1; printf(“Please enter 3 reals:n”); scanf(“%f%f%f”,&a,&b,&c); if(a+b)>c&&(a+c)>b&&(b+c)>a)s=(a+b+c)*0.5; s1=s*(s-a)*(s-b)*(s-c); s=sqrt(s1); printf(“nArea of the triangle is %fn”,s);else printf(“It is not triangle!n”);2.#include <stdio.h> #define pi 3.14159 main( )int k; float r,c,a; printf(“input r,kn”); scanf(“%f%d”,&r,&k); switch(k) case 1: a=pi*r*r; printf(“area=%fn”,a);break; case 2: c=2*pi*r;printf(“circle=%fn”,c);break; cese 3: a=pi*r*r;c=2*pi*r;printf(“area=%f circle=%fn”,a,c);break;3. main( ) int year,leap; scanf(“%d”,&year); if(year%4= =0)if(year%100= =0) if(year%400= =0) leap=1; else leap=0; else leap=1;else leap=0;if(leap) printf(“%d is ”,year);else printf(“%d is not ”,year); printf(“ a leap yearn”);4.#include <math.h> main() float x,y; scanf(“%f”,&x); if(x<0) y=x*x; else if(x>=0&&x<10) y=-0.5*x+10; else y=x-sqrt(x); printf(“y=%f”,y);5.main() float score; scanf(“%f”,&score); if(score>=90) printf(“A”); else if(score>=80) printf(“B”); else if(score>=70) printf(“C”); else if(score>=60) printf(“D”); else printf(“E”);6.main( ) int num,a,b,c,d,p; scanf(“%d”,&num);if(num<=9999&&num>999) p=4; else if(num>99) p=3; else if(num>9) p=2; else if(num>0) p=1;printf(“位数是:%dn”,p);a=num/1000;b=num/100%10;c=num/10%10;d=num%10;switch(p)case 4:printf(“%d%d%d%dn”,d,c,b,a); case 3:printf(“%d%d%d n”,d,c,b); case 2:printf(“%d%dn”,d,c); case 1:printf(“%d n”,d);

    注意事项

    本文(第四章--选择习题集.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开