10套大学计算机c语言期末考试复习试题及答案.docx
《10套大学计算机c语言期末考试复习试题及答案.docx》由会员分享,可在线阅读,更多相关《10套大学计算机c语言期末考试复习试题及答案.docx(47页珍藏版)》请在冰豆网上搜索。
![10套大学计算机c语言期末考试复习试题及答案.docx](https://file1.bdocx.com/fileroot1/2022-11/17/0f3f27a2-6a59-4308-9ff7-d534d27d3647/0f3f27a2-6a59-4308-9ff7-d534d27d36471.gif)
10套大学计算机c语言期末考试复习试题及答案
二、单项选择共30题(共计30分)
1.执行下面程序后,输出结果是(A)。
main()
{a=45,b=27,c=0;c=max(a,b);printf("%d\n",c);
}
intmax(x,y)
intx,y;
{intz;
if(x>y)z=x;elsez=y;return(z);
}
A:
45B:
27C:
18D:
72
第2题下列数组说明中,正确的是(A)。
A:
intarray[][4];B:
intarray[]Q;
C:
intarray[][][5];D:
intarray[3][];
第3题下面有关for循环的正确描述是(D)
A:
for循环只能用于循环次数已经确定的情况B:
for循环是先执行循环体语句,后判断表达式C:
在for循环中,不能用break语句跳出循环体D:
for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来第4题以下程序的输出结果是(D).main()
{inti,j,k,a=3,b=2;i=(—a==b++)?
—ai++b;j=a++;k=b;
printf("i=%d,j=%d,k=%d\n'i,j,k);
}
A:
i=2,j=1,k=3B:
i=1,j=1,k=2C:
i=4,j=2,k=4
D:
i=1,j=1,k=3
第5题若有下列定义,则对a数组元素地址的正确引用是(C).inta[5],*p=a;
A:
*(p+5)B:
*p+2C:
*(a+2)D:
*&a[5]
第6题下列选项中正确的语句组是(D)。
A:
char
s[8];
s={"Beijing”};
Bichar
*s;
s={"Beijing”};
Crchar
s[8];
s="Beijing";
D:
char
*s;
s="Beijing";
第7题若变景a,i己正确定义,且i己正确赋值,合法的语句是(C)
A:
a=int(i);B:
a==1C:
++i;D:
a=a++=5;
第8题以下字符中不是转义字符的是(C)。
A:
\a.B:
\b,C:
\c,D:
'\V
第9题下列定义不正确的是(C)。
A:
#definePI3.141592
B:
#defineS345
C:
intmax(x,y);intx,y;{}
D:
staticcharc;
第10题charh,*s=&h;可将字符H通过指针存入变景h中的语句是(B).
A:
*s=H;B:
*s=,H,;
C:
s=H;D:
s='H'
第11题(1.0分)题号:
690设char型变景x中的值为10100111,则表达式(2+x)A(~3)的值是()。
A:
10101001B:
10101000
C:
11111101D:
01010101
答案:
D
第12题(1.0分)题号:
2381设以下变量均为int类型,表达式的值不为7的是()A:
x=y=6,x+y,x+1B:
x=y=6,x+y,y+1
C:
x=6,x+1,y=6,x+yD:
y=6,y+1,x=y,x+1
答案:
C
第13题(1.0分)题号:
3124
若有说明inta[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:
autoB:
register
CistaticD:
extern
答案:
A
第15题(1.0分)题号:
1343
C语言源程序的基本单位是A:
过程B:
函数
C:
子程序D:
标识符
答案:
B
第16题(1.0分)题号:
3023A:
1990B:
1992
C语言程序中必须有的函数是〇.C:
1996D:
2000
A:
#include"stdio.h"B:
main
C:
printfDiscanf答案:
A
第23题(1.0分)题号:
177
答案:
B
第17题(1.0分)题号:
3228
有定义:
int3=8^=5,〇;,执行语句〇=8^+0.4;后,〇的
值为〇
A:
1.4B:
1C:
2.0D:
2
答案:
B
第18题(1.0分)题号:
640以下对二维数组a的正确说明是()。
A:
inta[3][]B:
floata(3,4)
Crdoublea[1][4]D:
floata(3)(4)
答案:
C
第19题(1.0分)题号:
2884
以下标识符中,不能作为合法的C用户定义标识符的是().
AianswerB:
toC:
signedD:
_if
答案:
C
第20题(1.0分)题号:
652
在C语言中,引用数组元素时,苏数组下标的数据类型允许是()。
A:
整型常景B:
整型表达式C:
整型常最或整型表达式D:
任何类型的表达式
答案:
C
第21题(1.0分)题号:
381
以下标识符中,不能作为合法的C用户定义标识符的是()。
AianswerB1oCrsignedD:
_if
答案:
C
第22题(1.0分)题号:
2898己知year为整型.变景,不能使表达式(year%4==0&&year%100!
=0)||year%400==0的值为”真"的数据是().
以下描述中,正确的是()。
A:
预处理是指完成宏替换和文件包含中指定的文件的调用
B:
预处理指令只能位于C源文件的开始C:
C源程序中凡是行首以#标识的控制行都是预处理指令
D:
预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语法分析作准备
答案:
C
第24题(1.0分)题号:
156执行下列语句后的输出为()。
intj=-1;
if(j<=1)printf("****\nH);elseprintf("%%%%\n");
A:
****B:
%%%%
C:
%%%%cD:
有错,执行不正确
答案:
A
第25题(1.0分)题号:
2850以下函数调用语句中实参的个数是aexce((v1,v2),(v3,v4,v5),v6);
A:
3B:
4C:
5D:
6
答案:
A
第26题(1.0分)题号:
506以下程序段的输出结果为()。
for(i=4;i>1;i-)for(j=1;j
A:
无B:
######C:
#D:
###
答案:
B
第27题(1.0分)题号:
2830下列程序的输出结果是amain()
{intx=1,y=0,a=0,b=0;switch(x)
{
case1:
switch(y)
case0:
a++;break;case1:
b++;break;
}
case2:
a++;b++;break;case3:
a++;b++;break;
}
printf("a=%d,b=%d\n",a,b);
}
A;a=1,b=0B:
a=2,b=1
C;a=1,b=1D:
a=2,b=2
答案:
B
第28题(1.0分)题号:
573
C语言中运箅对象必须是整型的运算符是()。
A:
%=B:
/C:
=D:
(=
答案:
A
第29题(1.0分)题号:
647
以下能对二维数组a进行正确初始化的语句是()。
A:
inta[2][]={{1,0,1},{5,2,3}};
B:
inta[][3]={{1,2,3},{4,5,6}};
C:
inta[2][4]={{1,2,3},{4,5},{6}};D:
intaD[3]={{1,0,1}{},{1,1}};
答案:
B
第30题(1.0分)题号:
3135以下数组定义中不正确的是().
A:
inta[2][3];
B:
intb[][3]={0,1,2,3};
C:
intc[100][100]={0};
D:
intd[3]Q={{1,2},{1,2,3},{1,2,3,4}};
答案:
D
三、程序填空共2题(共计24分)
第1题(12.0分)题号:
417
r
【程序填空】
题U:
利用全局变最计算长方体的体积及三个面的面积。
*/
ints1,s2,s3;
intvs(inta,intb,intc)
v=【?
】;s1=a*b;
s2=【?
】;s3=a*c;returnv;
}
main()
{intv,l,w,h;
clrscr();
printfOninputlength,widthandheight:
");scanf("%d%d%d",【?
】,&w,&h);v=【?
】;
printf(Hv=%ds1=%ds2=%d
s3=%d\n”,v,s1,s2,s3);getch();
}
答案:
=======(答案”=======
a*b*c
=========或=========
a*b*c
=======(答案2)=======
b*c
=========或=========
b*c
=======(答案3)=======
&l
=======(答案4)=======
vs(l,w,h)
=========或=========
vs(I,w,h)
第2题(12.0分)题号:
441
r
【程序填空】
题U:
给定程序中函数fun的功能是:
从低位开始取出长
整型变最s中奇数位上的数,依次构成一
7
#include
#includevoidfun(longs,long*t)
{longsl=10;s/=10;
y貪賣賣★★★★★★♦★spaqe**1****^****/
*t=s【?
】10;while(s>0)
广★****★★食*貪8卩八0[*******★*★★/
{S=【?
】;
*t=s%1(Tsl【?
】;
^★♦♦★★***sl=sl【?
】10;
}
}
main()
{longs,t;clrscr();
printf("\nPleaseenters:
'1);scanf(n%ld",&s);fun(s,&t);
printf("Theresultis:
%ld\n",t);
}
答案:
=======(答案1)=======
%
=======(答案2)=======
s/100
=======(答案3)=======
+*t
=======(答案4)=======
四、程序改错共2题(共计22分)第1题(11.0分)题号:
383
r
【程序改错】
字符串)。
例如,若输入丨amastudentto
take
theexamination•,则应输出"IaMAstudenTt〇
takEthEexamination.”。
注意:
不可以增加或删除程序行,也不可以更改程序的结构。
V
#include"conio.h"
#include"stdio.h"
#include"ctype.h"
#include"string.h"uplst(char*p)
{
FOUN〇★★★★★★★★★★/integerk=0;for(;*p;p++)if(k)
广***★*★**★F〇unD★***★***★*/
(if(*p=")
{k=0;
<★★★★★★★★★★F