绝密★启用前学院
学年第二学期期末考试
级专业()《 C语言程序设计》试卷D
一、单项选择题(本大题共15小题,每小题2分,共30分)
1、以下正确的C语言自定义标识符是()
A._la B.2a_ C.do D.a.12
2、在C语言中,错误
..的常数表示是()
A.0L B.-0x6aL C.′6′D.1.234E3.5
3、设int a,x=2;执行语句a=x>0?3*x:(x=10);后,变量x的值是()
A.1 B.2 C.6 D.10
4、设有以下程序段:
int x=2,y=2,z=0,a;
a=++x||++y&&z++;
printf(″%d,%d,%d\n″,x,y,z);
执行后输出的结果是()
A.2,2,0 B.3,3,1 C.3,2,0 D.3,2,1
5、逗号表达式a=2*6,a*3,a+5的值是()
A.12 B.17 C.36 D.41
6、设int a[2][3]={{1},{2,3}};,则元素a[1][0]的值是()
A.0 B.1 C.2 D.3
7、C语言中,错误
..的int类型的常数是()
A.1E5 B.0 C.037 D.0xaf
8、在C语言中,′a′和″a″存储所占用的字节数分别是()
A.1,1 B.1,2 C.2,1 D.2,2
9、设int x;,则以下语句中错误
..的输入是()
A.scanf (″%d″,x); B.scanf (″%d″,&x);
C.scanf (″%o″,&x); D.scanf (″%x″,&x);
10、在C语言中,运算符″=″和″==″的功能分别是()
A.关系运算和赋值运算B.赋值运算和关系运算
C.都是关系运算D.都是赋值运算
11、设int x[]={1,2,3,4,5},*p=x;,则值为3的表达式是()
A.p+=2, *p++ B.p+=2, *++p C.p+=2, p++ D.p+=2, ++*p 12、设for(i=0, j=10; (j>0)&&(i<4); i++, j--);,该语句的循环次数是()
A.0 B.3 C.4 D.无限
13、设函数定义如下:
float f1 (float a, float b)
{
return (a+b);
}
若有float x=1.1, y=2.2;,则以下语句中正确的函数调用是()
A.printf (″%f″, f1(x)); B.printf (″%f″,f1(&x, y));
C.printf (″%f″,f1(*x,*y)); D.printf (″%f″,f1(x, y));
14、若有说明:int i,j=7,*p=&i;则与i=j;等价的语句是()。
A. i=*p;
B. *p=*&j;
C. i=&j ;
D. i=**p;
15、设char str1[10]=″ABCDE″,str2[10]=″XYZ″;则执行语句:
printf(″%d″,strlen(strcpy(str1,str2))); 后的输出是()。
A. 3
B. 5
C. 8
D. 9
二、填空题(本大题共10小题,每小题2分,共20分)
16、一个C语言程序的基本组成单位是___________________。
17、求字符串的有效长度的系统函数名是___________________。
18、设float a [4][5];,则数组a中第一维下标的最大值是___________________。
19、设int a; float b; char c; long d; double e; , 则表达式a/c-b+d-e值的类型是
______________。
20、设int a=2;,则执行a+=a*=15;后,变量a的值是__________。
21、一个C语言程序的执行起点是__________。
22、设double y[4][5];,则数组y中元素的个数是__________。
23、设int x=7,y=3,则表达式x%y+x/y的值是__________。
24、一个short型变量所占内存的字节数是____________________。
横线以内不许答题
25、设char *p=″1234ABCD ″;, 则执行 printf(″% s ″, p+4); 后输出结果是__________。 三、程序分析题(本大题共4小题,每小题5分,共20分)
阅读下列程序,请将输出结果写到各题右侧的空白处。 26、main()
{
int a=3,b=2,t;
if(a<b) {t=a; a=b; b=t;} printf(“a=%d,b=%d\n ”,a,b); }
27、main()
{
int i=10,sum=0; do {
sum+=i; i--; }
while(i>=5)
printf(“sum=%d\n ”,sum); }
28、main()
{
int i,k,sum=0;
for(i=1,k=5;i<=k;i++,k--) sum+=i*k;
printf(“%d\n ”,sum); }
29、main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf(“%d\n ”,*(p+2)); }
四、程序填充题(本大题共2小题,每小 题5分,共10分)
请将下列程序横线处缺少的部分补上,使其能正确运行。 30、学生成绩的字母等级和分数范围如下:
字母等级 分数范围 A 90~100
B 80~89
C 70~79
D 60~69
E 0~59
其它字母 输入错误 main() {
____________________;/*第一空*/
scanf(″%c ″,&score); switch(score) {
case ′A ′:printf(″A:90~100\n ″);_________;/*第二空*/ case ′B ′:printf (″B:80~89\n ″);break; case ′C ′:printf (″C:70~79\n ″);break; case ′D ′:printf (″D:60~69\n ″);break; case ′E ′:printf (″E: 0~59\n ″);break; _______:printf(″输入错误\n ″);/*第三空*/ }
} 31、求 5!。
while语句的执行流程
main() {
_________________________; for(i=1,p=1;i<=5;i++) p*=i;
printf(“%d\n ”,___________); }
五、程序设计题(本大题共2小题,每小题10分,共20分) 32、输入三个整型数,出其中数值最大者并输出。
33、编写程序,求1~100的和。
C 程序设计试题( )卷答案
一、单项选择题(本大题共15小题,每小题2分,共30分) 1、A 2、D 3、C 4、C 5、B 6、C 7、A 8、B 9、A 10、B 11、A 12、C 13、D 14、B 15、A 二、填空题(本大题共10小题,每小题2分,共20分) 16、函数 17、strlen 18、3
19、double 20、60
21、main 函数 22、20 23、3 24、2
横线以内不许答题
25、ABCD
三、程序分析题(本大题共4小题,每小题5分,共20分) 26、a=3,b=2 27、sum=45 28、22 29、3
四、程序填充题(本大题共2小题,每小 题5分,共10分)
请将下列程序横线处缺少的部分补上,使其能正确运行。 30、char score
break default 31、int i,p;
P
五、程序设计题(本大题共2小题,每小题10分,共20分) 32、输入三个整型数,出其中数值最大者并输出。
main() {
int a,b,c,max;
scanf(“%d,%d,%d ”,&a,&b,&c); if(a>b) max=a; else max=b; if(max<c) max=c; printf(“%d\n ”,max); }
33、编写程序,求1~100的和。 main()
{
int i,sum;
for(i=1,sum=0;i<=100;i++) sum+=i;
printf(“%d\n ”,sum); }
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论