ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:23.36KB ,
资源ID:5095017      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5095017.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言备考习题及部分答案.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言备考习题及部分答案.docx

1、c语言备考习题及部分答案一、 判断题1.continue语句可以用于switch结构中。()2.break语句只能用于循环语句中。()3.do.while循环语句至少要执行一次循环体。4.语句while(!E);中的条件!E等价于E=0。( )5.语句for(;)循环体和while(1)循环体是等价的。( )6.在C语言中,for语句既可以用于计数类型循环又可以用于条件类型循环。(二、 单选题1.若N为整型变量,则for(N=10;N=0;N-);循环里的循环体被(D)。A)无限循环 B)执行10次 C)执行一次 D)一次也不执行2.下列程序段运行后i的值是(C)。inti=10switch(

2、i+1)case10:i+;break;case11:+i;case12:+i;break;default:i=i+1;A)11B)13C)12D)143.下面的程序,描述正确的是(B)main()intx=3; do printf(%dn,x-=2); while(!(-x);(A)输出的是1(B)输出的是1和-2 (C)输出的是3和0(D)是死循环4.执行下面程序后,a的值是(B)。#includevoidmain()inta;printf(“%dn”,(a=3*5,a*4,a+5);(A)65(B)20(C)15(D)105.以下程序的输出结果为(D)。#includemain()int

3、i;for(i=0;i10;i+);printf(%d,i);(A)0(B)9(C)09(D)106.C语句for(;)是指(B)。(A)无意义(B)无限循环(C)循环执行1次(D)循环执行0次7.以下程序的输出结果是:Amain()intn=4while(n-)printf(%d,-n);A)20B)31C)321D)2108.设inta=1,则执行完循环While(a+5);a的值是:AA)6B)5C)1D)-2649.在下列for循环中,其循环次数是(B)for(x=1,y=0;(y!=123)&(x4);x+);A)4B)3C)1D)无数多次10.有如下程序main()intx=1,a

4、=0,b=0;switch(x)case0:b+;case1:a+;case2:a+;b+;printf(“a=%d,b=%dn”,a,b);该程序的输出结果是(A)A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=211.若有定义floatx,y;inta,b;则合法的switch语句是(C)(A)switch(a)case3+x:printf(abc);case4:printf(123abc);(B)switch(a)case3printf(abc);case4printf(123abc);(C)switch(b)default:a+;case1:printf(abc)

5、;case1+2:printf(1234);(D)switch(a+b);case1+2:printf(1234);case1:printf(abc);default:a+;12.循环语句for(x=0,y=0;(y!=123)|(x4);x+);的循环次数是(C)。(A)3(B)4(C)无限次(D)不确定次13.下述程序的输出结果是(B)#includevoidmain()intx=9;for(;x0;x-)if(x%3=0)printf(%d,-x);continue;(A)741(B)852(C)963(D)87542114.假定a和b为int型变量,则执行以下语句后b的值为(D)a=1

6、;b=10;dob-=a;a+;while(b-0);(A)9(B)-2(C)-1(D)815.循环语句for(x=0,y=0;(y!=123)|(x4);x+);的循环执行(A)(A)无限次(B)不确定次(C)4次(D)3次16.设x和y均为int型变量,则执行下面的循环后,y的值为(C)for(y=1,x=1;y=10)break;if(x%2=1)x+=5;continue;x-=3;(A)2(B)4(C)6(D)817.语句while(!e=0);什么时候将会陷入死循环(B)A)e=0B)e!=0C)e!=1D)e!=-118.执行下面程序段的结果是(B)。intx=23;doprin

7、tf(%2d,x-);while(!x);(A)打印出321(B)打印出23(C)不打出任何内容(D)陷入死循环19.循环语句for(a=0,b=0;(b!=45)|(a3)&(x4);x+,y+)i+;A)0B)1C)2D)327.下面程序的运行结果是( C)。main()intx=0,y=0; while(1)y=+x;printf(%dn,y); A) 1B)控制表达式非法C)无限循环D)028.下面程序段的输出结果是(C)。 intx=3;doprintf(%d,x-=2); while(!(-x);A)1B)130C)1-2D)死循环29.执行下列程序段之后,b的值为(D)。inta

8、=1,b=10;dob-=a;a+;while(b-j共执行了(D)次。#includevoidmain()inti=0,j=10,k=2,s=0; for(;) i+=k; if(ij) printf(%dn,s); break; s+=i; (A)4(B)7(C)5(D)6三、 多选题1.在下列语句所构成的程序结构中,break语句和continue语句均可使用的是(BCD)(A)用goto语句和if语句构成的循环(B)while循环(C)do-while循环(D)for循环(E)switch语句构成的分支结构2.与for(表达式1;表达式3);语句等价的选项有(ACE)。(A)for(表

9、达式1;1;表达式3);(B)for(表达式1;0;表达式3);(C)表达式1;while(1)表达式3;(D)表达式1;while(0)表达式3;(E)表达式1;while(3)表达式3;3.在while()中,用于表达式等于0时循环,否则退出循环的表达式可以写成(BD)。A)while(x!=0)B)while(x=0)C)while(x)D)while(!x)E)while(x=0)4.在C语言中,下列说法正确的有(BC)。(A)do语句体while(条件)中的语句体可能一次也不会执行(B)do语句体while(条件)中当条件为0时将结束循环(C)for(表达式1;表达式2;表达式3);

10、中的表达式1无论如何都会执行一次(D)for循环只能用于循环次数已确定的情况(E)do-while语句和while语句在任何情况下完成的功能等价5.在下列选项中,构成死循环的程序段是(ACE)。A)inti=100; B)intk=100; C)ints=36;while(1) do while(s); i=i%100+1; k+; -s; if(i100)break; while(k=1000); D)intx=10;E) for(;);for(;1;x-)if(x=0)break;四、填空题1.根据以下if语句所给的条件,写出等价的switch语句,使它完成相同的功能,(假定score取值

11、在所0-100之间)。请完善程序。if语句:if(score60)k=1;elseif(score70)k=2;elseif(score80)k=3;elseif(score90)k=4;elseif(score=100)k=5;等价的switch语句:n=_;if(n6)_;switch(n)case5:k=1;break; case6:k=2;break; case7:k=3;break; case8:k=4;break;_ k=5;(INT)(SCORE/10)或SCORE/10N=5CASE0:CASE10: 2.设I,j,k均为int型变量,则执行完下面的for循环后,k的值为(10

12、)。for(I=0,j=10;I=a&c=z)c=c-32;putchar(c); 4.以下程序的功能是求20以内3的倍数之和sum1及剩余数据之和sum2。请填空。main()intsum1=0,sum2=0,i;for(i=1;i=20;i+)if(_I%3=0 _) sum1+=i; elsesum2+=i; printf(%d,%d,sum1,sum2); 5.下列两个程序段在什么情况下输出结果等价_当输入的数据小于或等于100时 inti,sum=0; inti,sum=0;scanf(%d,&i); scanf(%d,&i);while(i=100)dosum+=i; sum+=i

13、;i+; i+;while(i=100)printf(n%d,sum); printf(n%d,sum);6.下面程序用于计算1+(1+2)+(1+2+3)+(1+2+3+10),请完善程序。 #include main() inttotal,sum,m,n; _ ; for(m=1;m=10;m+) sum=0; for(n=1;n=m;n+)sum=sum+n; _; printf(total=%dn,total); TOTAL=0TOTAL=TOTAL+SUM 7.下面程序用于求100200之间的所有素数。请填空:_main() intm,n,k;for(m=101;m200;m=m+2

14、) k=sqrt(m); for(n=2;nk)printf(%dn,m) #INCLUDEIF(M%N=0)BREAK 8.下面程序从键盘读入50个整数并求其中正整数之和。请完善程序main()inti,a,sum;sum=0;for(i=0;i50;i+) scanf(%d,&a); if(a0)_; sum=sum+a; printf(sum=%dn,sum); CONTINUE 9.下列程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0,请为程序填空。main()intI,x,_; scanf(%d,&x); for(I=2;I=x/2;I+) if(_)y=0;b

15、reak; printf(%dn,y);Y=1X%I=0 10.下述程序的输出结果是13。#includevoidmain() intI=0,s=1; do s+=I+; while(I+6); printf(n%d,s); 11.下述程序用辗转相除法计算两个正整数m和n的最大公约数。请填空。#includevoidmain()intm,n,w; scanf(5d,%d,&m,&n); while(n) w=_M%N _; m=n;n=w; printf(%d,m); 12.下面程序的功能是输出数且s中最大元素的下标,请填空。main()intk,p; ints=1,-9,7,2,-10,3;

16、 for(p=0,k=p;psk)_ K=P; _printf(%dn,k);13.下面程序段中循环体的执行次数是_3_。a=10;b=0;dob+=2;a-=2+b;while(a=0);14.运行下列程序时,输入数据为2473,则程序的输出结果为_668977 _.#include main()ints;while(s=getchar()!=n)switch(s-2)case0:case1:putchar(s+4);case2:putchar(s+4);break;case3:putchar(s+3);default:putchar(s+2);break;15.如下程序运行后输出的结果是(_2_)。#includevoidmain()inti=0;while(+i3)if(i=2)break;printf(%dn,i);16.以下程序完成输出3到1000之间的所有素数。I%J=0#includemain() inti,j; for(i=3;i=1000;i+) for(j=2;j=a&c= sum=sum+a;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1