C语言程序设计试题2_第1页
C语言程序设计试题2_第2页
C语言程序设计试题2_第3页
C语言程序设计试题2_第4页
C语言程序设计试题2_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言程序设计试题2一、单项选择题(每题2分,共40分)1.以下叙述中正确的是。 A.C语言系统以函数为单位编译源程序 B.main函数必须放在程序开始 C.用户定义的函数可以被一个或多个函数调用任意多次 D.在一个函数体内可以定义另外一个函数 2.以下选项中,不能用作c语言标识符的是 A.print B.FOR C.&a D._003对于以下程序片段,描述正确的是 。int x = -1;do x = x * x;while(!x);A. 是死循环 B.循环执行两次 C.循环执行一次 D.有语法错误4.已知有声明int a=3,b=4,c=5;,以下表达式中值为0的是 。 A.a&b B.a

2、=b C.a|b&c D.!(!c|1)5.已知有声明long x,y;且x中整数的十进制表示有n位数字(4n=0) y=1;else y=-1; B.y=x=0?1:-1; C.switch() D.switch(x-abs(x) case x=0: y=1;break; case 0:y=1;break; default:y=-1; default:y=-1; 7.已知有声明int m=5,4,3,2,1,i=0;,下列对m数组元素的引用中,错误是。 A.m+i B.m5 C.m2*2 D.mm4 8. 已知有声明char s80;,若需要将键盘输入的一个不含空格的字符串保存到组中,则下列

3、语句中正确的是。 A.scanf(%s,s); B.scanf(%s,s0); C.s=gets(); D.s=getchar(); 9.若函数调用时的实参为变量,则以下关于函数形参和实参的叙述中正确的是。 A.实参和其对应的形参占用同一存储单元 B.形参不占用存储单元 C.同名的实参和形参占用同一存储单元 D.形参和实参占用不同的存储单元 10.已知有声明int i,a10,*p=a;,现需要将1-l0保存到a0-a9中,以下程序段中不能实现这一功能的是 。 A.for(i=0;i10;i+) ai=i+1; B.for(i=0;i10;i+) pi=i+1; C.i=1;while(pa+

4、10) *p+=i+; D.i=1;while(pa+10) *a+=i+;11以下关于预处理命令的叙述中错误的是。 A预处理命令由预处理程序解释 B程序中的预处理命令是以#开始的 C若在程序的一行中出现多条预处理命令,这些命令都是有效的 D预处理命令既可以出现在函数定义的外部,也可以出现在函数体内部12有如下程序段: char p180=”Ganzhou,p220=“Young,*p32=”Olympic”; strcpy(p1,strcat(p2,p3); printf(“%sn”,p1); 执行该程序段后的输出是 AGanzhouYoungOlympic BYoungOlympic CO

5、lympic DGanzhou13已知有声明”int x23=0,*p=x0;”,以下表达式中有语法错误的是 Ax0=1 Bp0=1 C*p=1 D.x00=114程序中已有预处理命令”#include “和声明”char x=4,y;”,以下表达式中能通过编译且无警告信息的是 Ay=sqrt(x)%2 By=“x” Cy=x+1 D.y=&x15对于以下程序片段,描述正确的是 。int x = -1;do x = x * x;while(!x);A是死循环B.循环执行两次 C.循环执行一次 D.有语法错误16已有声明”int x,a=3,b=2;”,则执行赋值语句”x=ab+?a+:b+;”

6、后,变量x、a、b的值分别为。 A3 4 3 B3 3 4 C3 3 3 D4 3 417下面选项中可用作变量名的是 ACase Ba-b C$cd D2ab18执行以下程序后的结果是 。 #include void main() int x=3; do printf(“%dt”,x=x-3); while(!x); A输出一个数:0 B.输出一个数;3 C输出2个数:0和-3 D无限循环,反复输出数19以下关予c语言函数的叙述中,正确的是。 A在一个函数体中可以定义另一个函数,也可以调用其他函数 B在一个函数体中可以调用另一个函数,但不能定义其他函数 C在一个函数体中不可调用另一个嚣数,也不

7、能定义其他函数 D。在一个函数体中可以定义另一个函数,但不能调用其他函数20以下不能对二维数组a进行正确初始化的语句是 。A.int a 23=0;B.int a 3=1,2,0;C.int a 23=1,2,3,4,5,6;D.int a 3=1,2,3,4,5,6;二、填空题(每空1分,共20分)1. 数组 int a35;共定义了_【1】_个数组元素。 2. 在C语言中,正确的标识符是由_ 【2】 组成的,且由_【3】 _ _开头的。3. 至少执行一次循环体的循环语句是 【4】 。4. C语言数组的下标总是从 【5】 开始,不可以为负数;构成数组各个元素具有相同的 【6】 。5. 字符常

8、量使用一对【7】 来界定单个字符,而字符串常量使用一对【8】 来界定若干个字符的序列。6. 设int a; float f;double i ;则表达式3+b+i*f值的数据类型是【9】 。 7. 条件表达式“x=0?x:-x”的功能是【10】 8. 若a是int变量,则执行表达式a=26/3%3后,a的值是【11】 。9. 设a=3,b=4,c=5,(a*=a)|(b+=c)&(c+);则a=【12】 ,b=【13】 ,c=【14】 。10. 若有以下定义 double a10;则a数组元素下标的上限是【15】 11. 若有说明:int a3 =1,2,3,4,5,6,7,8,9,10;则a

9、数组的第一维大小是【16】 。12. 静态局部变量应该用关键字【17】 来进行声明。 13. 若char ch=jxust886有以下语句,则编译后分配给数组ch的内存占用的字节数为【18】 ,字符串长度为【19】 。14. 算术表达式a/=b+3等价于另一书写形式 【20】 。三、阅读程序题(每小题5分,共20分)1 以下程序运行时输出到屏幕的结果为() 。 #include “stdio.h” #define MAX(A,B) AB?2*A:2*B void main() int a=1,b=2,c=3,d=4,t; t=MAX(a+b,c+d); printf(%dn,t); 2. 以下

10、程序的输出结果是( )#include int fun(int x, int y) return x y ? x : y;main() int a=3,b=6,c=9; printf(%dn, fun(fun(a+c,b), a-c);3. 以下程序的输出结果是( )#includevoid main() int a, b;for(a=1, b=1; a=10) break; if (b%3= =1) b+=3; continue; printf(“%dn”, a);4下面程序若从键盘输入:Ref6ugcBDT8e,按回车键, 最后的执行结果是_ #include void main ( ) int m=0,n=0; char c; while ( (c=getchar( ) )!=n ) if (c=a &

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论