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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言复习题带答案.docx

1、C语言复习题带答案一、选择题1、以下叙述中正确的是( A )A、构成C程序的基本单位是函数B、可以在一个函数中定义另一个函数C、 main( )函数必须放在其它函数之前D、所有被调用的函数一定要在调用之前进行定义2、以下选项中合法的实型常数是( D ) 3、以下选项中合法的用户标识符是( B )4、已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量101是( A )A、字符A B、字符a C、字符e D、非法的常量5、以下非法的赋值语句是( C )A、n=(i=2,+i); B、j+; C、+(i+1); D、x=j0;6、设a和b均为double型常

2、量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是( D )7、已知i、j、k为int型变量,若从键盘输入:1,2,3,使i 的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是( C )A、scanf(“%2d%2d %2d”,&i,&j,&k) ; B、scanf(“%d %d %d”,&i,&j,&k) ; C、scanf(“%d, %d, %d”,&i,&j,&k) ; D、scanf(“i=%d, j=%d, k=%d”,&i,&j,&k) ;8、与数学式子3乘以x的n次方/(2x-1)对应的C语言表达式是( C )A、3*xn/ (2*x-1) B、3*x*n

3、/ (2*x-1) C、3*pow(x,n)*(1/ (2*x-1) D、3*pow(n,x)/ (2*x-1)9、设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是( B )A、printf (“x=%d “,x); B、printf (“x=%ld “,x); C、printf (“x=%8dL “,x); D、printf (“x=%LD “,x);10、若有以下程序:main( )int k=2,i=2,m; m=(k+=i*=k); printf (”%d,%d ”,m,i);执行后的输出结果是( C )A、8,6 B、8,3 C、6,4 D、7,411、

4、已有定义:int x=3,y=4,z=5;,则表达式 !(x+y)+z-1&y+z/2 的值是( D )A、6 B、0 C、2 D、112、有一函数y=以下程序段中不能根据x的值正确计算出y的值的是( C )A、 if(x0) y=1;else if (x=0) y=0; else y=-1;B、 y=0; if(x0) y=1; else if(x=0) if(x0) y=1;else y= -1;D、 if(x=0) if(x0) y=1;else y= 0;else y=-1;13、以下选项中,与k=n+完全等价的表达式是( A )A、k=n, n=n+1 B、n=n+1,k=n C、k

5、= + n D、k+=n+114、以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main()int n,k;float score,sum,ave; sum=0.0; for(n=1;n=10;n+)for(k=1;k=4,k+) scanf(“%f”,&score);sum+=score; ave=sum/4.0;printf(“NO%d:%f “,n,ave);上述程序运行后结果不正确,调试中发现有一条语句出现在程序的位置不正确,这条语句是( A )A、sum=0.0; B、sum+=score; C、ave=sum/4.0; D、print

6、f(“NO%d:%f “,n,ave);15、有以下程序段int n=0,p;do scanf(“%d”,&p);n+ while(p!=12345&n3);此处do-while循环的结束条件是( D )A、 p的值不等于12345并且n的值小于3B、 p的值等于12345并且n的值大于等于3C、 p的值不等于12345或者n的值小于3D、 p的值等于12345或者n的值大于等于316、有以下程序 ( A)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+;b

7、reak; printf(“%d”,m);A、1 B、2 C、3 D、417、C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是( B )A、void B、int C、float D、double18、有以下程序int f(int n)if (n=1) return 1; else return f(n-1)+1;main()int i,j=0; for (i=1;i10或a=10 or a=10 | a=10 | a=024、设以下变量均为int类型,表达式的值不为7的是( C )A、(x=y=6,x+y,x+1) B、(x=y=6,x+y,y+1) C、(x=6,x+1,y=6,x

8、+y) D、(y=6,y+1,x=y,x+1) 25、若变量a是int类型,并执行了语句:a=A+1.6;,则正确的叙述是( D )A、a的值是字符C B、a的值是浮点型 C、不允许字符型和浮点型相加 D、a的值是字符A 的ASCII值加上126、有如下程序main( )int x=23; do printf(“%d”x-); while(!x);该程序的执行结果是( B )A、321 B、23 C、不输出任何内容 D、陷入死循环 27、若变量c为char类型,能正确判断出c为小写字母的表达式是( D )A、a=c=a) | (c=z)C、(a=c) D、(c=a) & (cb) c=1; e

9、lse if (a=b) c=0; else c=-1; return c;A、-1 B、1 C、2 D、编译出错,无法运行 31、下面可以作为C语言程序中标识符的是( A ) A、_total3 B、num(10) C、2Date D、long32、已知字符A的ASCII值为65,则103表示的字符是( C ) A、字符A B、字符B C、字符C D、非法常量33、每个C语言程序都必须有一个( B )函数,C程序总是从该函数开始执行。 A、include( ) B、main( ) C、scanf( ) D、printf( )34、下面说法中,正确的是( D ) A、C语言是机器语言 B、C语

10、言程序不用编译就可以直接运行 C、C语言程序总是从第一个函数开始执行 D、C语言程序可以由一个或多个函数构成35、设i ,j,k为int型变量,若从键盘输入1#2#3,下面( A )输入语句可以使i的值为1,j的值为2,k的值为3。 A、scanf(“%d#%d#%d”,&i,&j,&k) B、scanf(“%d,%d,%d”,&i,&j,&k) C、scanf(“%d%d%d”,&i,&j,&k) D、scanf(“%d %d %d”,&i,&j,&k)36、下面能够正确表示字符串常量的表达式是 ( B ) 。 A、test B、”test” C、test D、test037、在C语言中,运

11、用对象必须是整型数的运算符是( A )A、% B、 C、%和 D、* *38、有定义语句:int b,char c10;则正确的输入语句是( B )A、scanf(“%d%s”,&b,&c); B、scanf(“%d%s”,&b,c);C、scanf(“%d%s”,b,c); D、scanf(“%d%s”,b,&c);39、假设所有变量均为int型,则执行语句a=(b=5, c=b+);后,a、b、c的值分别为( C ) A、6,6,5 B、5,5,6 C、5,6,5 D、5,6,640、设x,y,z为int型变量,执行下面的语句后,z的值为( D ) for(x=0,y=10;x=y;x+,

12、y)z=x+y; A、7 B、8 C、9 D、1041、设x、y均为整型变量,且x=y=5,则下面语句的输出结果是( B ) printf(”%d,%dn”,x+,+y); A、5,5 B、5,6 C、6,5 D、6,642、下面关于字符串的叙述中,正确的是(B ) A、C语言中有字符串变量 B、空串一定比空格打头的字符串小 C、可以用关系运算符对字符串的大小进行比较 D、两个字符串中的字符个数相同时才能进行字符串大小的比较43、下列数据中,(B )是合法的实型数据。 B、123e3 D、.e144、设以下变量均为int类型,表达式的值不为3的是( D ) A、a=b=2,a+b,b+1 B、

13、a=b=2,b=a+b,a+1 C、b=2,b+1,a=b,a+1 D、a=2,a=a+1,b=1,a+b45、下列说法中,正确的是( C )int i,x;for(i=0,x=0;i=5&x!=4;i+); A、循环体一次也不执行 B、是无限循环 C、最多执行6次 D、最多执行5次46、已知字符a的ASCII码值是97,字符变量c1的值是a,c2的值是e。执行语句printf(”%d,%d”,c1,c22);后,输出的结果是( D ) A、a,c B、a,101 C、97,101 D、97,9947、下面程序的运行结果是是( D )#includevoid main( ) int i; fo

14、r(i=0;ib?a:b_ );3、把100200之间的能被5整除的数输出。void main () int n; for ( n=100; n=200; n+) if (_n%5!=0_) continue; printf(“ %d”,n); 4、输出字符数组main() char a=h,e,l,0,l,o,0; printf(“%s, _a _ );5、大写字母转小写字母void main( )char ch1,ch2;ch1=A;ch2=B;ch1= _ch1+32_;ch2= _ch2+32_;printf(“%c,%c”,ch1,ch2);6、把200300之间的不能被3整除的数输

15、出。void main () int n; for ( n=200; n=300; n+) if (_n%3=0_) continue; printf(“ %d”,n); 参考答案:1-5 A D B A C6-10 D C C B C11-15 D C A A D16-20 A B B C C21-25 C C D C D26-30 B D B B A31-35 A C B D A36-40 B A B C D41-45 B B B D C46-50 D D C D A判断题:1.#include 命令不能包含用户自己建立的头文件。 错 2.用标识符来表示的常量称为符号常量。 对 3.(in

16、t)x+y 的作用是把 x+y 的结果转换成整型。 错4.如果赋值运算符两边的数据类型不一致,在赋值时要进行类型转换。 对 5.要使用 printf 函数输出字符“%” ,需要在格式控制字符串中用连 续两个%来表示。 对 6.只有在 a 为真(非 0)时,表达式 a&b 才需要判断 b 的值。 对 7.switch 语句中,case 语句后如没有 break,则顺序向下执行。 对 8.do-while 循环中,根据情况可以省略 while。 错 9.如果形参与实参的类型不一致,以实参类型为准。 错 10.“一个单精度指针变量只能赋单精度变量的地址, 单精度数组名, 另外单精度指针变量的值”这种

17、说法正确否? 错 11.后缀为 f 或 F 的数为浮点数。 对 12.5于 5 是一样的。 错13.在赋值运算中,类型转换是由系统自动进行的。 对14.条件运算符?和:是一对运算符,不能分开单独使用。 对 15.在 switch 语句中,每一个的 case 常量表达式的值可以相同。 错 16.使用 while 和 do-while 循环时, 循环变量初始化的操作应在循环语句之前完成。 对 17.全局变量的作用域一定比局部变量的作用域范围大。 错 18.C 程序一行只能写一个语句。 错 19.C 语言的数据类型只有 int 型、float 型、char 型。 错 20.表达式 14*3 的值是

18、0.75。 错 21.关系运算符的优先级高于逻辑运算符(不包括! ) 。 对 22.若有 int i=10,j=0;则执行完语句 if(j=0)i+;else i-;i 的值为 11。 错 23.Continue 语句的作用是结束整个循环的执行。 错 24.若有定义语句:double a,*p=&a;定义语句中的*号是一个间址 运算符,这种说法是否正确? 错 25.注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 对 26.变量可以先使用后定义。 错 27.在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量 的类型将转换为左边量的类型。 对 28.a=b+c=1 是正确的赋值表达式

19、。 错 29.用 putchar 函数可以输出能在屏幕上显示的字符,也可以输出屏 幕控制字符及其他转义字符。 对 c&d的值为 0。 错 31.If(a=5)是合法的。 对32.静态(static)类别变量的生存期贯穿于整个程序的运行期间。对 33.源文件经过编译可得到目标文件。 对 34.在 C 语言中,常数 045 跟 45 等值。 错 35.在所有运算符中,逗号运算符的优先级最低。 对 36.空语句可以用来作流程的转向点,即流程从程序其他地方转到此 语句处。 对37.若 a 为整型变量,则语句 scanf( “%d” ,a) ;是合法的。 错 “=”和“=”的优先级相同。 错 39.If

20、 语句的嵌套是指在 if 语句中又包含一个或多个 if 语句。对 40.For、while、do-while 循环中的循环体均可以由空语句构成。错 41.未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随 机值。 错 42.有定义:float x,*p=&x;是否正确? 对43.自增,自减运算符既可以用于变量,又可用于常量和表达式。 错 44.字符变量可以不定义直接使用。 错 45.在逻辑表达式的求解中,并不是所有的逻辑运算都被执行。对1. 一个C程序可以由多个源文件组成。2. 字符变量可以不定义直接使用。3. 自增、自减运算符既可用于变量,又可用于常量和表达式。 4.

21、在结构化程序设计中,循环结构就是无休止地反复执行某一部分的操作。5. 在执行语句scanf(%d,%d,&a,&b);时,正确的数据输入形式是3,4。 6. 表达式c&d的值为0。7. if语句不可以嵌套。8. 在do一while循环体中,一定要有能使while后表达式值变为零(假)的操作9. 若已定义的函数有返回值,函数调用可以作为一个函数的形参 10.若有定义语句:double a, *p&a ;定义语句中的*号是一个间址运算符。这种说法是否正确?11. 注释不宜太多也不能太少,注释语言必须准确、易懂、简洁12. C语言中标识符是区分大小写的。13. 5与5是一样的。14. 空语句可以用来

22、作为循环语句中的循环体(循环体是空语句,表示循环体什么也不做)。15. C语言中,字符数据用格式说明%s来输出,字符串数据用格式说明%c来输出。16. 表达式ab=c等价于(ab)=c。49. 有定义:float x,*p=&x; 是否正确?50. 设有int a;float f=5.75;在执行语句a=(int)f;后,f变成了int型。51. 若有int i=10,j=2;则执行完i*=j+8;后的值为28。5. 语句printf(%3s,CHINA);的输出结果是CHI 52. break 语句只能用在循环体内和switch 语句体内53. 函数调用可以出现在表达式中 54. #include命令只能包含.h文件。55. 158L为十进制长整数 56. 若a为整型变量,则语句scanf(%d,a);是合法的。57. 关系运算符的优先级高于逻辑运算符(不包括!)。58. 函数的类型决定返回值的类型 59. 实型数据

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

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