|
2015年春季学期《C语言》补考在线考试(适用于2015年10月份考试)
试卷总分:100 测试时间:--
一、单选题(共10道试题,共20分。)
1.若i为整型变量,则以下循环的次数是 for(i=2;i==0;)printf(“%d”,i--);
A. 无限次
B. 0次
C. 1次
D. 2次
满分:2分
2.设a=3,b=4,c=-5,则逻辑表达式:a || b c && b==c 的值是
A. 1
B. 0
C. 非0
D. 语法错
满分:2分
3.判断字符串s1是否大于字符串s2,应该使用
A. if(s1>s2)
B. if(strcmp(s1,s2))
C. if(strcmp(s2,s1)>0)
D. if(strcmp(s1,s2)>0)
满分:2分
4.已知 int a=4,b=5; ,这执行表达式 a=a>b 后,变量a的值为
A. 0
B. 1
C. 4
D. 5
满分:2分
5.在C语言中,数字029是一个
A. 八进制数
B. 十进制数
C. 十六进制数
D. 非法数
满分:2分
6.设有如下程序段:<BR>int x=2, y=3;<BR>printf("%d\n",(x,y));<BR>则以下叙述中正确的是
A. 输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B. 运行时产生出错信息
C. 输出值为2
D. 输出值为3
满分:2分
7.以下不合法的赋值语句是
A. x=(1,y=2);
B. ++x;
C. x=y=15;
D. y=int(x);
满分:2分
8.以下选项中,与k= n完全等价的表达式是
A. k=n,n=n 1
B. n=n 1,k=n
C. k= n
D. k =n 1
满分:2分
9.设有int x=11;则表达式(x *1/3)的值是
A. 3
B. 4
C. 11
D. 12
满分:2分
10.设有语句:float x=1,y; y=x 3/2; 则y的值是
A. 1
B. 2
C. 2.0
D. 2.5
满分:2分
二、简答题(共3道试题,共30分。)
1.
编程题:编写函数change使输入的字符串按反序存放,在主函数中输入和输出字符串。例如输入是:12345abcde,则输出为:edcba54321
(备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)
2.
编程题:从键盘输入10个评委给参赛选手打的分,去掉一个最高分和一个最低分,求选手的得分(平均分)。
(备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)
3.
编程题:计算s=1+12+123+12345+123456+1234567(要求用循环语句实现)
(备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)
三、其他题(共10道试题,共50分。)
1.
读程序,写出程序执行结果
#include <stdio.h>
void main()
{ int i=0,a=0;
while( i<20 )
{ for(;;)
if((i%10)==0) break;
else i--;
i+=11;
a+=i;
}
printf("%d\n",a);
}
2.
读程序,写出程序执行结果
#include <stdio.h>
int fun(char *s1,char *s2)
{ int i=0;
while(s1[i]==s2[i] && s2[i]!='\0') i++;
return (s1[i]=='\0' && s2[i]=='\0');
}
void main()
{ char p[10]= "abcdef", q[10]= "ABCDEF"
printf("%d\n",fun(p,q));
}
3.读程序,写出程序执行结果
#include <stdio.h>
void copy_str(char from[ ],char to[ ])
{ int k=0;
while(from[k]!=‘\0’)
{ to[k]=from[k]; k++; }
to[k]=‘\0’; /*末尾加上串结束标志*/
}
void main()
{ char str1[80]=”red”,str2[80]=”green”;
copy_str (str1,str2);
puts(str2);
}
4.
读程序,写出程序执行结果
#include <stdio.h>
void main()
{ int k=4,n=0;
for( ; n<k ; )
{ n++;
if(n%3!=0) continue;
k- -;
}
printf("%d,%d\n",k,n);
}
5.
读程序,写出程序执行结果
#include <stdio.h>
#include <string.h>
void main()
{ char a[10]="abc";
char b[]="defg";
puts(a);
puts(b);
puts(strcat(a,b));
}
6.
读程序,写出程序执行结果
#include <stdio.h>
int fun(int a, int b)
{ if(a>b) return(a);
else return(b);
}
void main()
{ int x=3, y=8, z=6, r;
r=fun(fun(x,y), 2*z);
printf("%d\n", r);
}
7.
读程序,写出程序执行结果
#include “stdio.h”
void main()
{ char n=‘c’;
switch(n++)
{ default: printf(“error!”); break;
case ‘a’: case ‘A’:
case ‘b’: case ‘B’: printf(“good!”);break;
case ‘c’: case ‘C’: printf(“pass!”);
case ‘d’: case ‘D’: printf(“warm!”);
}
}
8.
读程序,写出程序执行结果
#include <stdio.h>
void main()
{ int i;
for (i=0; i<3; i++)
switch (i)
{ case 1: printf("%d ", i);
case 2: printf("%d ", i);
default : printf("%d ", i);
}
}
9.读程序,写出程序执行结果
#include <stdio.h>
int d=1;
fun(int p)
{ int d=5;
d+=p++;
printf(“%d”,d);
}
void main()
{ int a=3;
fun(a); d+=a++;
printf("%d\n", d);
}
10.读程序,写出程序执行结果
#include <stdio.h>
void f(int x, int y)
{ int t;
if (x<y) { t=x; x=y; y=t; }
}
void main()
{ int a=4,b=3,c=5;
f(a,b); f(a,c); f(b,c);
printf("%d,%d,%d\n",a,b,c);
}
|
|