c语言复习题及参考答案

上传人:第*** 文档编号:34055063 上传时间:2018-02-20 格式:DOC 页数:13 大小:81.50KB
返回 下载 相关 举报
c语言复习题及参考答案_第1页
第1页 / 共13页
c语言复习题及参考答案_第2页
第2页 / 共13页
c语言复习题及参考答案_第3页
第3页 / 共13页
c语言复习题及参考答案_第4页
第4页 / 共13页
c语言复习题及参考答案_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《c语言复习题及参考答案》由会员分享,可在线阅读,更多相关《c语言复习题及参考答案(13页珍藏版)》请在金锄头文库上搜索。

1、C 语言复习题及参考答案一、单项选择1、以下叙述正确的是:B。A)C 语言的源程序不必通过编译就可以直接运行。B)C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。C) C 语言源程序经编译形成的二进制代码可以直接运行。D)C 语言中的函数不可以单独进行编译。2、以下 4 个用户定义标识符中,全部合法的一组是A。A)_main enclude sin B )if max turbo C )txt REAL 3COM D)int k_2 _0013、以下不能定义为用户标识符的是D。A)scanf B)VoidC)_3comD )int4、C 语言中用于结构化程序设计的 3 种基本结构是

2、A。A)顺序结构、选择结构、循环结构B)if、switch 、breakC) for、while、do-whileD)if、for、continue5、为解决某一特定问题而设计的指令序列称为C。A)文档B)语言C )程序D )系统6、用高级程序设计语言编写的程序称为C。A)目标程序B)可执行程序C)源程序D )伪代码7、能将高级语言编写的源程序转换成目标程序的是B。A)编辑程序B)编译程序C)驱动程序 D)链接程序8、下列叙述中,正确一条是C。A)计算机语言中,只有机器语言属于低级语言。B)高级语言源程序可以被计算机直接执行。C) C 语言属于高级语言。D)机器语言是所用机器无关的。9、以下符

3、合 C 语言语法的实型常量是 C。A)1.2E0.5 B)3.14159EC).5E-3D)E1510、下面叙述正确的是A。A)C 程序中注释部分可以出现在程序中任何合适的地方。B)花括号“”和“ ”只能作为函数体的定界符。C)构成 C 程序的基本单位是函数,所有函数名都可以由用户命名。D)分号是 C 语句之间的分隔符,不是语句的一部分。11、设有以下定义:int a=0; double b=1.25; char c=A;#define d 2则下面语句中,错误是D。A)a+; B )b+; C)c+;D)d+;12、设有如下程序段:int x=2002,y=2003;printf(“%dn”

4、,(x,y);则以下叙述正确的是D。A)输出语句中格式说明的个数少于输出项的个数,不能正确输出。B)运行时产生出错信息。C)输出值为 2002。D)输出值为 2003。13、要求以下程序功能是计算: 10.321smain()int n; float s;s=1.0;for(n=10;n1;n-) s=s+1/n;printf(“%6.4fn”,s);程序运行后输出结果错误,导致错误结果的程序行是C。A)s=1.0;B)for(n=10;n1;n-) C)s=s+1/n;D)printf(“%6.4fn”,s);14、在一个 C 程序中 B。A)main 函数必须出现在所有函数之前。B)mai

5、n 函数可以在任何地方出现。C) main 函数必须出现在所有函数之后。D)main 函数必须出现在固定位置。15、下列关于 C 语言用户标识符的叙述中正确的是B 。A)用户标识中可以出现下划线和中划线(减号) 。B)用户标识符中不可以出现中划线,但可以出现下划线。C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头。D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头。16、有以下程序:main() int i=10,j=1; printf(“%d,%dn”,i-,+j);执行后输出结果是B。A)9,2 B)10,2C) 9,1D )10,117、 、一个 C 语言的

6、源程序中, A。A)必须有一个主函数B )可能有多个主函数C)必须有除主函数外其它函数D )可以没有主函数18、C 语言程序总是从 C开始执行。A)第一条语句B)第一个函数C)主函数 D)子程序19、在 C 语言中,不正确的 short int 类型常数是A。A)32768B)0C)037D)0xAF20、C 语言中运算对象必须是整形的运算符是A。A)%= B)/ C)= D)*=21、设有 int x=11;,则表达式(x+*1/3) 的值是A。A)3 B )4C )11D)1222、若已定义 x 和 y 为 double 类型,则表达式 x=1,y=x+3/2 的值是C 。A)1 B )2

7、C )2.0 D)1223、若变量已正确定义并赋值,下面符合 C 语言语法的表达式是B 。A)a:=b+1 B)a=b=c+2 C)int 18.5%3D )a=a+7=c+b24、假定有以下变量定义:int k=7,x=12;,则值为 3 的表达式是D。A)x%=(k%=5) B)x%=(k-k%5)C)x%=k-k%5D)(x%=k)-(k%=5)25、设 x 和 y 均为 int 型变量,则下列语句:x+=y;y=x-y;x-=y;的功能是D。A)把 x 和 y 按从大到小排列 B)把 x 和 y 按从小到大排列C)无确定结果 D )交换 x 和 y 中的值26、设 x、y、z 和 k

8、都是 int 型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为C。A)4 B )16C )32D)5227、有以下程序:main()int x=102,y=012;printf(“%2d,%2dn”,x,y);执行后输出结果是C。A)10,01B)02,12C)102,10 D)02,1028、有定义语句:int x,y;,若要通过语句 scanf(“%d,%d”,使变量 x 得到数值 11,变量 y 得到数值 12,下面四组输入形式中,正确的是C。A)11 12B)11,12C)11,12D)11,1229、设有定义:int a,*pa=,以下 scanf 语句中能正确为

9、变量 a 读入数据的是A。A)scanf(“%d”,pa);B)scanf(“%d”,a);C)scanf(“%d”, D)scanf(“%d”,*pa);30、若有变量 a,i 已正确定义,且 i 已正确赋值,合法的语句是B 。A)a=1B)+iC)a=a+=5 D )a=int(i)31、有如下程序:main()int y=3,x=3,z=1;printf(“%d %dn”,(+x,y+),z+2);运行该程序的输出结果是D。A)3 4 B)42 C)43D)3332、以下程序的输出结果是D。main() int k=17;printf(“%d, %o, %xn”,k,k,k);A)17,

10、 21, 0x11 B)17, 17, 17C) 17, 0x11, 021D)17, 21, 1133、以下叙述正确是D。A)输入项可以是一个实型常量,如:scanf(“%d”,3.5) 。B)只有格式控制,没有输入项,能正确输入数据到内存,如:scanf(“a=%d,b=%d);。C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf(“%4.2f”,&f)。D)当输入数据时,必须指明变量的地址,例如:scanf(“%f”,34、以下程序段中与语句 k=ab?(bc?1:0):0;功能等价的是A。A)if(abC) if(ab) k=1;else if(bc) k=

11、1;else k=0;35、有以下程序:此题应注意短路逻辑main()int a=1,b=2,m=0,n=0,k;k=(n=ba)|(m=ad) x=1;else if(ad) x=2;else x=3;else x=6;else x=7;A)1 B )2C )3D)438、当 c 的值不为 0 时,在下列选项中能正确将 c 的值赋给变量 a、b 的是C 。A)c=b=a;B)(a=c)|(b=c);C )(a=c)39、能正确表示逻辑关系:“a10 或 a0”的 C 语言表达式是D 。A)a=10 or a=0|a=10&a=10|ab)&(n=cd)后, n 的值为B。注意短路逻辑A)1

12、B)2C)3D)041、语句:printf(“%d”,(a=2的输出结果是D。A)无输出B)结果不确定C)1D)142、设 int x=1,y=1;,表达式(!x|y-)的值是B 。A)0 B)1C)2D)-143、有以下程序:main() int i,s=0;for(i=1;i6)n-;printf(“%d”,n);该程序段的输出结果是B。A)987 B )876 C)8765D)987648、以下程序的输出结果是D。main()int x=10,y=10,i;for(i=0;x8;y=+i) printf(“%d %d”,x-,y);A)10 1 9 2B)9 8 7 6C)10 9 9

13、0D)10 10 9 149、以下程序的输出结果是A。main() int n=4; while(n-)printf(“%d”,-n);A)20 B)31 C)321D)21050、当执行以下程序段时,A。x=-1;dox=x*x;while(!x);A)循环体将执行 1 次B )循环体将执行 2 次C)循环体将执行无限次 D )系统提示有语法错误51、执行语句:for(i=1;i+main()printf(“%dn”,NULL);程序运行后的输出结果是A。A)0 B)1 C)1 D)NULL 没定义,出错57、已经定义以下函数:fun(int *p)return *p;该函数的返回值是C。A

14、)不确定值 B)形参 p 中存放的值C)形参 p 所指存储单元中的值 D)形参 p 的地址值58、有以下程序段:main()int a=5,*b,*c;c=程序在执行了 c=语句后,表达式*c 的值是 C。A)变量 a 的地址 B)变量 b 中的值C)变量 a 中的值 D)变量 b 的地址59、有如下程序段int *p,a=10,b=1;p=执行该程序段后,a 的值为B 。A)12 B)11 C)10 D)编译出错60、下列程序的输出结果是A。void func(int *a,int b)b0=*a+6;main()int a,b5;a=0;b0=3;func(A)6 B)7 C)8 D)961、有以下程序:int a10=1,2,3,4,5,6,7,8,9,10,*p=b 中的值是D。A)5 B)6 C)8 D)962、以下不能正确定义二维数组的选项是D。A)int a22=1,2 B)int a2=1,2,3,4C) int a22=1,2,3 D)int a2=1,2,3,463、有以下程序:main()int m3=1,4,7,2,5,8,3,6,9;int i,j,k=2;for(i=0;i。7、若想通过以下输入

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号