分享
分销 收藏 举报 申诉 / 12
播放页_导航下方通栏广告

类型第四章选择结构习题集.doc

  • 上传人:仙人****88
  • 文档编号:6998360
  • 上传时间:2024-12-24
  • 格式:DOC
  • 页数:12
  • 大小:61.50KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    第四 选择 结构 习题集
    资源描述:
    第五章 选择结构练习题集 一、选择题 1、若k是int型变量,且有下面的程序片段: k=-3 if(k<=0) printf("####") else printf("&&&&"); 上面程序片段的输出结果是 ( ) 。 A.####  B.&&&&  C.####&&&&  D.有语法错误,无输出结果 2、设有定义:int k=1,m=2; float f=7;,则以下选项中错误的表达式是( ) 。   A.k=k>=k   B.-k++   C.k%int(f)   D.k>=f>=m 3、设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是 ( )。   A.(!a==1)&&(!b==0)   B.(a>b)||(a<c)  C.a && b   D.a||(b+b)&&(c-a) 4、有以下程序 main() { int a,b,d=25; a=d/10%9; b=a&&(-1); printf("%d,%d\n",a,b); } 程序运行后的输出结果是 ( )。 A.6,1  B.2,1  C.6,0  D.2,0 5、有以下程序 main() { int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k); } 程序运行后的输出结果是( ) 。 A.1 2 3 B.2 3 4  C.2 2 3  D.2 3 3 6、若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是 ( )。 A. abs(x-y)<10   B.x-y>-10&& x-y<10   C. (x-y)<-10||!(y-x)>10  D.(x-y)*(x-y)<100 &&(x-y)*(x-y)>-100 7、有以下程序 main() { int a=3,b=4,c=5,d=2; if(a>b) if(b>c) printf("%d",d++ +1); else printf("%d",++d +1); printf("%d\n",d); } 程序运行后的输出结果是 ( )。 A.2 B.3 C.43 D.44 8、下列条件语句中,功能与其他语句不同的是 ( )。 A.if(a) printf("%d\n",x); else printf("%d\n",y); B.if(a==0) printf("%d\n",y); else printf("%d\n",x); C.if (a!=0) printf("%d\n",x); else printf("%d\n",y); D.if(a==0) printf("%d\n",x); else printf("%d\n",y); 9、以下4个选项中,不能看作一条语句的是 ( )。   A. { ; }   B.a=0,b=0,c=0;   C.if(a>0);   D.if(b==0) m=1;n=2; 10、以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是 ( )。   A. if((a>b) &&(b>c) ) k=1; B. if((a>b) ||(b>c) ) k=1 ; else k=0; else k=0; C. if(a<=b) k=0;    D. if(a>b) k=1;    else if(b<=c) k=1;    else if(b>c) k=1; 11、有以下程序 main() {int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a)printf("%d,%d\n",k,m); } 程序运行后的输出结果是 ( )。 A. 0,0   B.0,1  C.1,0  D. 1,1 12、有以下程序 main() { int i=1,j=1,k=2; if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k); } 执行后输出结果是 ( )。 A.1,1,2    B.2,2,1  C.2,2,2  D.2,2,3 13、有以下程序 main() { int a=5,b=4,c=3,d=2; if(a>b>c) printf("%d\n",d); else if((c-1>=d)==1) printf("%d\n",d+1); else printf("%d\n",d+2) } 执行后输出结果是 ( )。 A.2   B.3   C.4   D.编译时有错,无结果 14、已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是( )。   A.6 B.0  C.2 D.1 15、 有一函数, ,以下程序段中不能根据x值正确计算出y值的是( )。   A.if(x>0) y=1;    B.y=0;    else if(x==0) y=0;    if(x>0) y=1;    else y=-1;       else if(x<0) y=-1;   C.y=0;      D.if(x>=0)    if(x>=0);        if(x>0) y=1;    if(x>0) y=1 ;       else y=0;    else y=-1;       else y=-1; 16、有以下程序 main() { int a=15,b=21,m=0; switch(a%3) { case 0:m++;break; case 1:m++; switch(b%2) { default:m++; case 0:m++;break; } } printf(“%d\n”,m); } 程序运行后的输出结果是 ( )。   A.1   B.2   C.3   D.4 17、 以下程序的输出结果是( )。 main() { int a=5,b=4,c=6,d; printf("%d\n",d=a>b?(a>c?a:c):(b)); } A.5 B.4 C. 6 D.不确定 18、 以下程序的输出结果是 ( )。 main() { int a=4,b=5,c=0,d; d=!a&&!b||!c; printf("%d\n",d); }   A.1 B.0 C.非0的数 D.-1 19、设 a、b、C、d、m、n均为 int型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式 (m=a>b)&&(n=c>d)运算后,n的值位为 ( )。   A.0 B.1 C.2 D.3 20、 阅读以下程序: main() { int x; scanf(“%d”,&x); if(x--<5) printf(“%d”’x); else printf(“%d”’x++); } 程序运行后,如果从键盘上输人5,则输出结果是 ( )。 A.3 B.4 C.5 D. 6 21、假定w、x、y、z、m均为int型变量,有如下程序段: w=1; x=2; y=3; z=4; m=(w则该程序运行后,m的值是 ( )。   A.4 B.3 C.2 D.1 22、 设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为 ( )。   A.不定值  B.4   C.3   D.1 23、若执行以下程序时从键盘上输入9,则输出结果是()。   A.11  B.10   C.9  D.8 main0 { int n; scanf(“%d”,&n); if(n++<10) printf(“%d\n”,n); else printf(“%d\n”,n--); } 24、 若a、 b、c1、c2、x、y、均是整型变量,正确的switch语句是( )。   A.swich(a+b);      B.switch(a*a+b*b)   { case 1:y=a+b; break; {case 3:    case 0:y=a-b; break; case 1:y=a+b;break;    }      case 3:y=b-a,break;                }   C.switch a      D.switch(a-b)    { case c1 :y=a-b; break {default:y=a*b;break    case c2: x=a*d; break case 3:case 4:x=a+b;break    default:x=a+b;    case 10:case 11:y=a-b;break;    }     } 25、能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是 ( )。   A.a>=10 or a<=0   B.a>=0|a<=10   C.a>=10 &&a<=0   D.a>=10‖a<=0 26、有如下程序 main0 { int x=1,a=0,b=0; switch(x){ case 0: b++; case 1: a++; case 2: a++;b++ ; } printf(“a=%d,b=%d\n”,a,b); } 该程序的输出结果是 ( )。 A.a=2,b=1 B.a=1,b=1   C.a=1,b=0   D.a=2,b=2 27、有如下程序 main0 { float x=2.0,y; if(x<0.0) y=0.0; else if(x<10.0) y=1.0/x; else y=1.0; printf(“%f\n”,y); } 该程序的输出结果是 ( )。 A.0.000000 B.0.250000 C.0.500000  D.1.000000 28、 有如下程序 main0 { int a=2,b=-1,c=2; if(aif(b<0) c=0; else c++ printf(“%d\n”,c); } 该程序的输出结果是 ( )。 A.0 B.1 C.2 D.3 29、 设 int x=1, y=1; 表达式(!x||y--)的值是( )。 A.0   B. 1 C.2 D.-1 30、与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是( )。 A.if (x>0) y=1; B.if(x) else if(x<0)y=-1; if(x>0)y=1; else y=0;   else if(x<0)y=-1;    else y=0; C.y=-1 D.y=0; if(x)     if(x>=0) if(x>0)y=1; if(x>0)y=1; else if(x==0)y=0; else y=-1; else y=-1; 31、语句:printf("%d",(a=2)&&(b= -2);的输出结果是 ( )。   A.无输出 B.结果不确定   C. -1   D.1 32、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是 ( )。   A.c=b=a   B.(a=c) ‖(b=c)   C.(a=c) &&(b=c)  D.a=c=b 33、能正确表示a和b同时为正或同时为负的逻辑表达式是( )。   A.(a>=0‖b>=0)&&(a<0‖b<0)   B.(a>=0&&b>=0)&&(a<0&&b<0)   C.(a+b>0)&&(a+b<=0)   D.a*b>0 34、 以下程序的输出结果是   A.-1 1    B.0 1    C.1 0 D.0 0 main( ) { int a= -1,b=1,k; if((++a<0)&& ! (b-- <=0)) printf("%d %d\n",a,b); else printf("%d %d\n",b,a); } 35、以下程序输出结果是( )。   A.7   B. 6 C.5 D.4 ma in() { int m=5; if(m++>5) printf("%d\n",m); esle printf("%d\n",m- -); } 36、当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为 ( )。   A.1 B.2 C.3 D.6 if(a >b) x=1; else if(c>d)a=a+b; else if(a >b)x=2; else x=3; 37、表示关系x<=y<=z的c语言表达式为 ( )。   A.(X<=Y)&&(Y<=Z)   B.(X<=Y)AND(Y<=Z)   C.(X<=Y<=Z)   D.(X<=Y)&(Y<=Z) 38、有以下程序 #include <stdio.h> main() { int a,b,c=246; a=c/100%9; b=(-1)&&(-1); printf("%d,%d\n",a,b); } 输出结果是 ( )。 A.2,1   B.3,2   C.4,3   D.2,-1 39、若有以下定义: float x;int a,b; 则正确的switch 语句是( )。 A.switch(x)     B.switch(x) { case1.0:printf("*\n"); { case1,2:printf("*\n"); case2.0:printf("**\n"); case3:printf("**\n"); }     } C.switch (a+b)    D.switch (a+b); { case 1:printf("\n");   { case 1:printf(."*\n"); case 1+2:printf("**\n"); case 2:printf("**\n"); }     } 40、假定所有变量均已正确说明,下列程序段运行后x的值是 ( )。 a=b=c=0;x=35; if(!a)x--; else if(b); if(c)x=3; else x=4; A.34 B.4 C.35 D.3 41、在以下一组运算符中,优先级最高的运算符是( )。   A.<=   B.=   C.% D.&& 42、表达式:10!=9的值是 ( )。   A.true B.非零值 C.0 D.1 43、在下列选项中,不正确的赋值语句是( )。   A.++t; B.n1=(n2=(n 3=0));   C.k=i==j;   D.a=b+c=1; 44、能正确表示a≥10或a≤0的关系表达式是( )。   A.a>=10 or a<=0  B.a>=10│a<=0   C.a>=10││a<=0  D.a>=10 ││a<=0 45、为表示关系x≥y≥z,应使用C语言表达式 ( )。   A.(x>=y)&&(y>=z)   B.(x>=y)AND(y>=z)   C.(x>=y>=z)   D.(x>=y)&(y>=z) 46、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 ( )。 main( ) { int x; scanf("%d",&x); if(x + + >5) printf("%d",x); else printf("%d\n",x - -); }   A.7和5   B.6和3   C.7和4   D.6和4 47、有以下程序 #include main() { int a,b,c=246; a=c/100%9; b=(-1)&&(-1); printf("%d,%d\n",a,b); } 输出结果是( )。 A.2,1  B.3,2  C.4,3  D.2,-1 48、 以下程序的输出结果是 ( )。 main( ) { int a=-1,b=4,k; k=(+ +a〈0)&&!(b - -〈=0); printf("%d%d%d\n",k,a,b); } A .104 B.103  C.003  D. 004 49、下面的程序 ( )。   A.有语法错误不能通过编译  B.输出* * * *   C.可以通过编译,但是不能通过连接,因而不能运行  D.输出# # # #。 main() { int x=3,y=0,z=0; if(x=y+z)printf("* * * *"); else printf("# # # #");} 50、若执行下面的程序时从键盘上输入5,则输出是( )。   A.7 B.6 C.5 D.4 main() { int x; scanf("%d",&x); if(x++>5) printf("%d\n",x); else printf("%d\n",x--);} 二、程序分析 1、以下程序运行后的输出结果是 【1】 。 main() { int a=1,b=2,c=3; if(c=a) printf("%d\n",c); else printf("%d\n",b); } 2、以下程序运行后的输出结果是 【2】。 main() { int a=3,b=4,c=5,t=99; if(b if(a printf("%d%d%d\n",a,b,c); } 3、以下程序运行后的输出结果是 【3】。 main() { int a,b,c a=10;b=20;c=(a%b<1)||(a/b>1); printf("%d %d %d\n",a,b,c); } 4、以下程序运行后的输出结果是 【4】 。 main() { 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 %d\n",a,b); } 5、有以下程序执行后输出结果是【5】 。 main( ) { int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf(“%d\n”,x); } 6、 以下程序运行后的输出结果是 【6】 。 main() { int p=30; printf (“%d\n”,(p/3>0 ? p/10 : p%3)); } 7、以下程序运行后的输出结果是【7】 。 main() { int a=1, b=3, c=5; if (c=a+b) printf("yes\n"); else printf("no\n"); } 8、若有以下程序执行后输出结果是 【8】 。 main() { int p,a=5; if(p=a!=0) printf("%d\n",p); else printf("%d\n",p+2); } 9、若有以下程序执行后输出结果是 【9】 。 main() { int a=4,b=3,c=5,t=0; if(a if(a printf("%d %d %d\n",a,b,c); } 10、以下程序运行后的输出结果是 【10】。 main() { int x=10,y=20,t=0; if(x==y)t=x;x=y;y=t; printf(“%d,%d \n”,x,y); } 11、 若从键盘输入58,则以下程序输出的结果是 【11】 。 main() { int a; scanf("%d",&a); if(a>50) printf("%d",a); if(a>40) printf("%d",a); if(a>30) printf("%d",a); } 12、 以下程序输出的结果是【12】 。 main() { int a=5,b=4,c=3,d; d=(a>b>c); printf("%d\n",d); } 三、编程题 1.编写程序,输入x的值,输出y的值。 2*x+5 x>5; y= x*(x+2) 2<x<=5; 2*x -1<x<=2; 2税务部门征收所得税,规定如下: 1) 收入在2000以内的免征; 2) 收入在2000-4000之间的超过2000部分纳税3%; 3) 收入超过4000元的,超过4000部分纳税4%; 4) 收入达到或者超过5000元的,超过5000的部分纳税5%; 编写一个程序,计算应缴税费,将结果输出。 3、输入某年某月某日,判断这一天是这一年的第几天。(例:2012-3-4是2012年的第几天) 答案: 一、选择题 1-10:DCABDCADDD 11-20:ACBDCACACB 21-30:DCBDDACCBA 31-40:DCDCBBAACB 41-50:CDDDAADDBC 二、填空题 (1) 1 (2) 4599 (3) 10 20 0 (4) 2 1 (5) -4 (6) 3 (7) yes (8) 1 (9) 5 0 3 (10) 20,0 (11) 585858 (12) 0
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:第四章选择结构习题集.doc
    链接地址:https://www.zixin.com.cn/doc/6998360.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork