大学计算机C语言期末考试复习试题及答案(20套)(1) 联系客服

发布时间 : 星期日 文章大学计算机C语言期末考试复习试题及答案(20套)(1)更新完毕开始阅读

一、判断 共10题 (共计10分)第1题 (1.0分) 题号:1488 函数即可以嵌套定义,又可以嵌套调用. 答案:N 第2题 (1.0分) 题号:1256

unsigned 和 void 在 C 中都是保留字. 答案:Y 第3题 (1.0分) 题

号:1280 表达式 ++i 表示对变量 i 自加1. 答案:Y 第4题 (1.0分) 题号:1282

C 语言源程序的基本结构单位是 main 函 数.

答案:N

第5题 (1.0分) 题号:1276 字符常量的长度肯定为1. 答案:Y 第6题 (1.0分) 题号:1469

char a[]={'a','b','c'};char b[]={\数组a 和数组 b 占用的内存空间大小不一样. 答案:Y 第7题 (1.0分) 题号:1249 若有 int i=10,j=2; 则执行完 i*=j+8;后 i 的值为28. 答案:N 第8题 (1.0分) 题号:33 int i,*p=&i;是正确的 C 说明。答案:Y 第9题 (1.0分) 题号:1250 While 循环语句的循环体至少执行一次. 答案:N

第10题 (1.0分) 题号:1510

有数组定义int a[2][2]={{1},{2,3}};则a[0][1] 的值为0. 答案:Y 二、单项选择 共30题 (共计30分)第1题 (1.0分) 题号:456 执行下面程序后,输出结果是()。main() { a=45,b=27,c=0; c=max(a,b); printf(\}

int max(x,y) int x,y; { int z; if(x>y) z=x; else z=y; return(z); } A:45 B:27 C:18 D:72

答案:A 第2题 (1.0分) 题号:437 下列数组说明中,正确的是()。

A:int array[][4]; B:int array[][]; C:int array[][][5]; D:int array[3][];

答案:A 第3题 (1.0分) 题号:2396 下面有关 for 循环的正确描述是 () A:for 循环只能用于循环次数已经确定的情况 B:for 循环是先执行循环体语句,后判断表达式 C:在 for 循环中,不能用 break 语句跳出循环体 D:for 循环的循环体语句中,可以包含多条

语句,但必须用花括号括起来

答案:D

第4题 (1.0分) 题号:2817 以下程序的输出结果是().

main() {int i,j,k,a=3,b=2; i=(--a==b++)?--a:++b; j=a++;k=b; printf(\}

A:i=2,j=1,k=3 B:i=1,j=1,k=2 C:i=4,j=2,k=4 D:i=1,j=1,k=3

答案:D

第5题 (1.0分) 题号:2866

若有下列定义,则对 a 数组元素地址的正确引用是(). int a[5],*p=a; A:*(p+5) B:*p+2

C:*(a+2) D:*&a[5]

答案:C 第6题 (1.0分) 题号:711 下列选项中正确的语句组是()。

A:char s[8]; s={\B:char *s; s={\C:char s[8]; s=\D:char *s; s=\

答案:D

第7题 (1.0分) 题号:3191

若变量 a,i 已正确定义,且 i 已正确赋值,合 法的语句是() A:a=int(i); B:a==1 C:++i;

D:a=a++=5;

答案:C 第8题 (1.0分) 题号:490 以下字符中不是转义字符的是()。

A:\\a' B:\\b' C:\\c' D:'\\\\'

答案:C 第9题 (1.0分) 题号:184 下列定义不正确的是()。

A:#define PI 3.141592 B:#define S345

C:int max(x,y); int x,y; { } D:static char c;

答案:C

第10题 (1.0分) 题号:3028 char

h,*s=&h;可将字符H通过指针存入变量 h 中的语句是(). A:*s=H; B:*s='H'; C:s=H; D:s='H'

答案:B 第11题 (1.0分) 题号:690 设char 型变量 x 中的值为10100111,则表达式(2+x)^(~3)的值是()。 A:10101001 B:10101000 C:11111101 D:01010101

答案:D

第12题 (1.0分) 题号:2381

设以下变量均为 int 类型,表达式的值不为 7的是()

A:x=y=6,x+y,x+1 B:x=y=6,x+y,y+1 C:x=6,x+1,y=6,x+y D:y=6,y+1,x=y,x+1

答案:C

第13题 (1.0分) 题号:3124 若有说明 int a[3][4];则对 a 数组元素的正确引用是(). A:a[2][4] B:a[1,3] C:a[1+1][0] D:a(2)(1)

答案:C

第14题 (1.0分) 题号:679 在 C 语言中,形参的缺省存储类是()。 A:auto B:register C:static D:extern

答案:A 第15题 (1.0分) 题号:1343 C 语言源程序的基本单位是(). A:过程 B:函数 C:子程序 D:标识符

答案:B 第16题 (1.0分) 题号:3023 C 语言程序中必须有的函数是().

A:#include \B:main C:printf D:scanf

答案:B 第17题 (1.0分) 题号:3228

有定义 :int a=8,b=5,c;, 执行语句 c=a/b+0.4;后,c 的值为 () A:1.4 B:1 C:2.0 D:2

答案:B

第18题 (1.0分) 题号:640 以下对二维数组 a 的正确说明是()。 A:int a[3][] B:float a(3,4) C:double a[1][4] D:float a(3)(4)

答案:C

第19题 (1.0分) 题号:2884

以下标识符中,不能作为合法的 C 用户定义标识符的是(). A:answer B:to

C:signed D:_if

答案:C

第20题 (1.0分) 题号:652

在 C 语言中,引用数组元素时,其数组下标的数据类型允许是()。 A:整型常量 B:整型表达式

C:整型常量或整型表达式 D:任何类型的表达式

答案:C

第21题 (1.0分) 题号:381

以下标识符中,不能作为合法的 C 用户定义标识符的是()。 A:answer B:to

C:signed D:_if

答案:C

第22题 (1.0分) 题号:2898

已知 year 为整型变量,不能使表达式 (year%4==0&&year0!=0)||

year@0==0的值为\真\的数据是(). A:1990 B:1992 C:1996 D:2000

答案:A 第23题 (1.0分) 题号:177 以下描述中,正确的是()。 A:预处理是指完成宏替换和文件包含中指定的文件的调用

B:预处理指令只能位于 C 源文件的开始 C:C 源程序中凡是行首以#标识的控制行都是预处理指令

D:预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语法分析作准备

答案:C

第24题 (1.0分) 题号:156 执行下列语句后的输出为()。 int j=-1; if(j<=1) printf(\ else printf(\A:****

B:%%%% C:%%%%c

D:有错,执行不正确

答案:A 第25题 (1.0分) 题号:2850 以下函数调用语句中实参的个数是().

exce((v1,v2),(v3,v4,v5),v6); A:3 B:4 C:5 D:6

答案:A 第26题 (1.0分) 题号:506 以下程序段的输出结果为()。 for(i=4;i>1;i--) for(j=1;j

B:###### C:# D:###

答案:B 第27题 (1.0分) 题号:2830 下列程序的输出结果是(). main()

{ int x=1,y=0,a=0,b=0; switch(x) {

case 1:switch(y) { case 0:a++;break;

case 1:b++;break;

} case 2:a++;b++;break; case 3:a++;b++;break; }

printf(\}

A:a=1,b=0 B:a=2,b=1 C:a=1,b=1 D:a=2,b=2

答案:B 第28题 (1.0分) 题号:573

C 语言中运算对象必须是整型的运算符是()。 A:%= B:/ C:= D:〈=

答案:A 第29题 (1.0分) 题号:647

以下能对二维数组 a 进行正确初始化的语句是()。

A:int a[2][]={{1,0,1},{5,2,3}}; B:int a[][3]={{1,2,3},{4,5,6}}; C:int a[2][4]={{1,2,3},{4,5},{6}}; D:int a[][3]={{1,0,1}{},{1,1}};

答案:B 第30题 (1.0分) 题号:3135 以下数组定义中不正确的是(). A:int a[2][3];

B:int b[][3]={0,1,2,3}; C:int c[100][100]={0};

D:int d[3][]={{1,2},{1,2,3},{1,2,3,4}};

答案:D

三、程序填空 共2题 (共计24分)第1题 (12.0分) 题号:417

/*------------------------------------------------------

【程序填空】

------------------------------------------------------ ---

题目:利用全局变量计算长方体的体积及三个面的面积。

------------------------------------------------------ -*/ int s1,s2,s3; int vs(int a,int b,int c) {int v;

/***********SPACE***********/ v=【?】; s1=a*b;

/***********SPACE***********/ s2=【?】; s3=a*c; return v; } main()

{int v,l,w,h;

clrscr(); printf(\length,width and height: \

/***********SPACE***********/

scanf(\【?】,&w,&h); /***********SPACE***********/ v=【?】; printf(\s2=%d

s3=%d\\n\getch(); } 答案:

=======(答案1)======= a*b*c

=========或========= a * b * c

=======(答案2)======= b*c

=========或========= b * c

=======(答案3)======= &l

=======(答案4)======= vs(l,w,h)

=========或========= vs( l , w , h )

第2题 (12.0分) 题号:441

/*------------------------------------------------------

【程序填空】

------------------------------------------------------ ---

题目:给定程序中函数 fun 的功能是:从低位开始取出长 整型变量 s 中奇数位上的数,依次构成一个新数放在 t 中。

------------------------------------------------------*/

#include #include void fun (long s, long *t) { long sl=10; s /= 10; /***********SPACE***********/ *t = s 【?】 10; while(s>0) /***********SPACE***********/

{ s = 【?】;

/***********SPACE***********/ *t = s*sl【?】;

/***********SPACE***********/ sl = sl 【?】10; } }

main()

{ long s, t; clrscr();

printf(\&s); fun(s, &t);

printf(\}

答案:

=======(答案1)======= %