《高级语言程序设计练习题2及答案.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计练习题2及答案.docx(22页珍藏版)》请在课桌文档上搜索。
1、一、单选题1、对下面的程序说法正确的是Ovoidmain()(intx=3zy=0zz=0;if(x=y+z)printf(*);elsePrintf(#“);A.通过编译,但是不能运行B.输出为#C.有语法错误,不能通过编译D.输出为*正确答案:B2、假设变量i为整型量,比较下面两条if语句,选出正确答案if(i!=0);if;A.if(i)语法错B.两者作用等价C.两者作用不同D.两者作用相反正确答案:B3、阅读程序,分析输出结果是()o#includevoidmain()(intx=10,y=5;switch()casel:x+;default:x+=y;case2:y-;case3:x
2、-;)printf(=%dzy=%dzx,y);)A.x=14,y=4B.x=15zy=5C.x=10,y=5D.x=15zy=4正确答案:A4、阅读程序,分析输出结果是()o#includevoidmain()inta=6,b=10,t;if(a=b)O)t=a+b;printf(%dn,7t);)A.20B.无输出C.16D.12正确答案:A5、阅读程序,分析输出结果是()o#includevoidmain()(inta=2zb=-l,c=2;if(a)if(bO)c=0;elsec+;printf(%dn,c);A.0B.lC.3D.2正确答案:A6、阅读程序,分析输出结果是()void
3、main()intx=0,a=l,b=l;switch()case0:a+;case 1: b+;break;case 2: a+;b+;printf(a=%d,b=%dna,b);#includevoidmain()inta;SCanf(%d,&a);if(a+9)Printf(%dn,a);elsePrintf(dn,a-);)A.9B.8C.10D.ll正确答案:C8、有以下程序#includemain()(inty=9;case9:y/=2;case8:-y;)printf(%d,y);)程序的运行结果是A.5B.3C.4D.9正确答案:C9、以下程序#includemain()(in
4、ta=2zb=3,c=0;if(a=b)c=a;elsec=b;printf(%d,c);程序的运行结果是A.0B.1C.2D.3正确答案:D10、如下程序的运行结果是()intmain()(inta=0zb=0,c=0;if(a=l,a=b)switch(b+)(case1:c=a;case0:c=b;break;default:c=0;)printf(,%dzc);returnO;A.lB.3C.2D.0正确答案:A11、已知intt=O;WhiIe(t=l).则以下叙述正确的是()A.以上说法都不对B.循环控制表达式不合法C.循环控制表达式的值为0D.循环控制表达式的值为1正确答案:D1
5、2、以下程序段执行后的输出结果()。inti;for(i=l;i+)Printf(%d”,i+);A.死循环B.3C.1D.2正确答案:A13、在下列选项中,没有构成死循环的程序段是A.intk=1000;do+k;while(k=1000);B.inti=100;while(1)(i=i%100+l;if(i100)break;)C.ints=26;while(s)-s;D.for(;);正确答案:C14、下面程序执行后的输出结果是()。#includevoidmain()(intizn=0;doif(i%3)continue;n+;while(!i);n+;)printf(n=%dn,n)
6、;)A.n=4B.n=2C.n=5D.n=3正确答案:A15、以下正确的描述是OA.只能在循环体内和switch语句体内使用break语句B.在循环体内使用break语句或ContinUe语句的作用相同Ccontinue语句的作用是结束整个循环的执行D.从多层循环嵌套中退出时,只能使用goto语句正确答案:A16、设j为int型变量,则下面for循环语句的执行结果是if(j%3)break;)printf(%d,J);A.3B.9C.6D.0正确答案:A17、请读程序片段:inta,b;for(a=l,b=l;a=20)break;if(b%2=l)(b+=2;continue;)b-=6;)
7、printf(%dn,a);上面程序的输出结果是A.8B.10C.11D.9正确答案:C18、请读程序片段:inta,b;for(a=l,b=l;a=80;a+zb+)(if(b3;j-);(j-=2;)printf(%dn,j);A.3B.1C.2D.死循环正确答案:B20、使用穷举法求解如下(工)(2)构成的方程组(1) x+y=100;(2) 2*+y3=100;如下程序中正确的是?A. intx,y;for(x=l;x100;x+)for(y=l;y100;y+)if(x+y=100&2*x+y3=100)printf(=%d,y=%cin,y);)B. intxzy;for(x=l;
8、x100;x+)for(y=l;y100;y+)if(x+y=100&6*+y=300)printf(=%d,y=%dn,x,y);)C. int,y;for(x=l;x100;x+)for(y=l;y100;y+)if(x+y=100&6*x+y=300)printf(x=%dzy=%dn,zy);)D. intx,y;for(x=l;x100;x+)for(y=l;y100;y+)if(x+y=100&2*x+y3=100)printf(=%d,y=%cin,y);)正确答案:C21、引用数组元素时,数组下标可以是一A.实型变量B.整型常量C.实型常量D.值在0,n-l之间的整型表达式,其
9、中n为数组长度正确答案:D22、定义如下变量和数组:intk;inta33=l,2z3A5,6z79;则下面语句的输出结果是Ofor(k=0;k3;k+)printf(%d,ak2-k);A.369B.147C.357D.159正确答案:C23、定义如下的变量和数组inti;inty23=2,4,6,8的0,12则下面语句输出结果for(i=0;i2;i+)printf(%dzyl-ii+l);A.610B.104C.812D.106正确答案:D24、执行下面的程序段后,变量a中的值为inta=3,s5=l;s0=a;a=s2*10;A.10B.30C.0D.33正确答案:C25、执行下面的程
10、序段后,变量a中的值为inta=3,s5=l,2;sO=a;a=s2*10;A.0B.20C.10D.30正确答案:A26、以下定义一维数组语句中错误的是A.inta5=012345;BJnta=,A,z,BC,;Cdoublea=0z2,3A5;D.inta8=0,l,2,3A5;正确答案:A27、如下程序的输出结果是intmain()inta10=l,2,2,3,3A5,6JJ;intk=3;for(i=0;i10;i+)(if(ai=k)printf(%3d(,J);)returnO;A.34B.4C.12D.3正确答案:A28、如下程序的输出结果是intmain()inta10=l,2
11、z2z3,3A5,6,7z8,i;intk=3;for(i=0;i10;i+)(if(ai=k)ai=ai+l;i-;)for(i=0;i10;i+)printf(%2d,ai);returnO;A.死循环B.l223445678C.l224567800D.l224567888正确答案:A29、如下程序的输出结果是intmain()inta10=l,2z2z3,3A5,6,7z8,i;intk=3;for(i=0;i10;i+)(if(ai=k)intj;for(j=i;j10-l;j+)aj=aj+l;i-;)for(i=0;i10;i+)printf(%2dzai);returnO;A.l224567888B.死循环C.l223445678D.l224567800正确答案:A30、如下程序的输出结果是intmain()inta10=l,2z2,3,3A5,6,7,8,i;intk=3;for(i=0;ii)aj+l=aj;j-;)for(i=0;i10;i+)printf(%2dzai);returnO;)A.l22334445678B.程序存在错误C.l22330445678D.l22333445678正确答案:D