发布时间 : 星期二 文章大学计算机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
{ s = 【?】;
/***********SPACE***********/ *t = s*sl【?】;
/***********SPACE***********/ sl = sl 【?】10; } }
main()
{ long s, t; clrscr();
printf(\&s); fun(s, &t);
printf(\}
答案:
=======(答案1)======= %