好文档 - 专业文书写作范文服务资料分享网站

精选C语言试卷(带答案)

天下 分享 时间: 加入收藏 我要投稿 点赞

2006-2007学年第二学期考试试卷A卷

考试科目 C语言程序设计 考试方式 闭卷 完成时限 2小时 拟题人 审核人 批准人 2007年 7 月 5 日 机械、电气、信息、生化、轻工、经管、理学院 2006年级 各理工科专业

题序 得分

说明:

1. 应将全部答案写在答卷纸对应的题号处;否则作无效处理;

2. 编程题应写明题号,若答卷纸不够,请写在背面,不要另添卷纸; 3. 考试完成后,必须将试卷与答卷同时交回。

一 二 三 四 五 六 总分

一、判断题(10小题,每题1分,共10分;用√表示正确,用×表示错误)

1.在循环体内使用break语句和continue语句的作用相同。 2.函数返回值的类型最终取决于函数定义时形参的类型。

3.else语句一定要与if语句配对使用,程序中else语句的个数一定小于或者等于if语句的个数。

4.从狭义角度讲,算法是解决一个问题采取的方法和步骤的描述。 5.1/2的结果是0,所以1.0/2的结果也是0。 6.a=b=c=5可以理解为a=(b=(c=5))。

7.假设有语句int a[10]={1,2,3},*p;p=a;则p++完全等价于a++。 8.for(;;)等价于while(1)语句。

9.假定int类型变量占用两个字节,若有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是6。

10.char *sp ={\可以写成char *sp=\。

二、单选题(16小题,每题1分,共16分)

1.以下数组定义中错误的是: (A) int x[][3] ={0};

(B) int x[2][3]={{1,2},{3,4},{5,6}}; (C) int x[][3]={{1,2,3},{4,5,6}};

(D) int x[2][3]={1,2,3,4,5,6};

2.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为: (A)EOF 3.有以下程序: main() {int y=10; while(y--) ; printf(“y=%d\\n”,y); }

程序执行后的输出结果是: (A) y=0; (C) y=1

(B)y=-1;

(B)NULL (C) 0

(D)非0值

(D)while构成无限循环

4. 若有以下宏定义: #define N 2

#define Y(n) (N+1)*n

则执行语句int z; z=2*N+Y(5);后的值是 (A) 50

(B)34

(C)19

(D)无定值

5.以下叙述中错误的是:

(A)c程序必须由一个或者一个以上的函数组成。 (B)函数调用可以作为一个独立的语句存在。 (C)若函数有返回值,必须通过return 语句返回。 (D)函数形参的值也可以传回给对应的实参。 6.设有如下定义的变量 union data { int i; char ch; float f; }b;

则变量b占用内存的字节数是(假设int类型占2个字节,char类型占1个字节,float类型占4个字节):

(A) 4

(B)5

(C) 6 (D)7

7.以下叙述中错误的是:

(A)c程序中的#include 和#define 行均不是c语句

(B)除逗号运算符外,赋值运算符的优先级最低 (C)c程序中, “j++;”是赋值语句

(D)c程序经过编译、连接步骤之后,才能形成一个真正可执行的二进制机器指令

文件。

8. 能正确表示a 和b 同时为正或同时为负的逻辑表达式是: (A) (a>=0||b>=0)&&(a<0||b<0) (B)(a>=0&&b>=0)&&(a<0&&b<0) (C) (a+b>0)&&(a+b<=0) (D) a*b>0

9.对于一个正常运行的c程序,以下叙述中正确的是: (A)程序的执行总是从main函数开始,在main函数结束。 (B)程序的执行总是从程序的第一个函数开始,在main函数结束。 (C)程序的执行总是从main函数开始,在程序的最后一个函数中结束。 (D)程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束。 10.设变量x和y均已经正确定义并赋值。以下if语句中,在编译时将产生错误信息的是: (A)if(x++);

(B)if(x>y &&y!=0) (D)if(y<0){;}

else x++;

(C) if(x>0) x-- else y++;

11.设已有定义:float x; 则以下对指针变量p进行定义且赋初值的语句中正确的是:

(A)float *p=1024; (C)float p=&x; 12.有以下程序: main() { int i,j;

for(i=1;i<4;i++)

{ for(j=i;j<4;j++) printf(\

printf(\

} }

程序运行后的输出结果是:

(A)1*1=1 1*2=2 1*3=3

2*1=2 2*2=4

(B)1*1=1 1*2=2 1*3=3

2*2=4 2*3=6

(B)int *p=(float)x; (D)float *p=&x;

3*1=3 (C)1*1=1

3*3=9

(D)1*1=1 2*1=2 2*2=4

3*1=3 3*2=6 3*3=9

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

13.按照c语言规定的用户标识符命名规则,不能出现在标识符中的是: (A)大写字母 (C)数字字符

(B)连接符 (D)下划线

14.设有定义:int k=0;以下选项的四个表达式中与其他三个表达式的值不相同的是: (A)k++ 15.有以下程序 main()

{ char ch[]=\ pc=ch;printf(\}

程序运行后的输出结果是: (A)z

(B)0

(B)k+=1

(C)++k

(D)k+1

(C)元素ch[5]的地址 16.有以下函数: int fun(char *s) { char * t=s; while(*t++); return (t-s); }

该函数的功能是:

(D)字符y的地址

(A)比较两个字符串的大小 (B)计算s所指向字符串占用内存字节的个数 (C)计算s所指字符串的长度 (D)将s所指字符串复制倒字符串t中 16.有以下函数: int fun(char *s) { char * t=s; while(*t++); return (t-s); }

该函数的功能是:

(A)比较两个字符串的大小 (B)计算s所指向字符串占用内存字节的个数 (C)计算s所指字符串的长度 (D)将s所指字符串复制倒字符串t中

三、基础填空题(14空,每空1分,共14分)

1.以下程序的输出结果是 。 #include main()

{ printf(“%d\\n”,strlen(\2.执行以下程序后的输出结果是 main() { int a=10;

a=(3*5,a+4);printf(\}

3.排序是数据处理中最常见的问题,它是将一组数据按递增或者递减的次序排列。排列的算法很多。常用的算法有 法和选择法。

4.设有定义“char web[20];”,要将字符串“”赋值给字符数组web的语句是 。

5.一个函数用于接收一个字符和一个整数,并返回一个字符,函数名为love_c,则该函数的原型说明为 。

6.c语言规定,简单变量作函数参数时,他和对应的形参之间的数据传递方式是 。

7.判断字符变量x是小写英文字母字符的C语言表达式是 。 8.程序中调用了库函数strcmp,必须包含头文件 。

9.若x=13,y=25,z=-17,则表达式((p=(x

printf(\

11.表达式中的类型转换分为两种:一种是隐式数据类型转换;另一种是 数据类型转换。

12.数组是顺序存储结构,它的存储分配方式是“静态”的。 是一种动态的数据结构,它由若干个结点链接而成,与数组最大的不同是结点在内存中并不占据连续的存储空间。

13.有定义: int a[][3]={1,2,3,4,5,6,8,9,10};

精选C语言试卷(带答案)

2006-2007学年第二学期考试试卷A卷考试科目C语言程序设计考试方式闭卷完成时限2小时拟题人审核人批准人2007年7月5日机械、电气、信息、生化、轻工、经管、理学院2006年级各理工科专业题序得分说明:
推荐度:
点击下载文档文档为doc格式
6g63f9zdff9vfqx3d4pq7px008twlp015ej
领取福利

微信扫码领取福利

微信扫码分享