|
2015年春季学期《C语言》在线考试(适用于2015年6月份考试)
试卷总分:100 测试时间:--
单选题 简答题 其他题
一、单选题(共 10 道试题,共 20 分。)V 1. 语句: printf("%d",(a=2)&&(b=-2)); 的输出结果是
A. 无输出
B. 结果不确定
C. 1
D. 2
满分:2 分
2. 下程序段: char s[20 ]="xyz", *sp=s; strcat(sp,"12345"); puts(sp); 的输出结果是
A. xyz12345
B. 12345xyz
C. 12345
D. xyz
满分:2 分
3. 已知:int a[ ][3]={1,2,3,4,5,6,7,8,9,0}; 则数组a的第一维的大小是
A. 2
B. 3
C. 4
D. 无法确定;
满分:2 分
4. 在微型计算机系统中,存储一个汉字的国标码所需要的字节数是
A. 1
B. 2
C. 3
D. 4
满分:2 分
5. 已知 int a=4,b=5; ,这执行表达式 a=a>b 后,变量a的值为
A. 0
B. 1
C. 4
D. 5
满分:2 分
6. 以下非法的赋值语句是
A. n=(i=2, i);
B. j ;
C. (i 1);
D. x=j>0;
满分:2 分
7. 设有如下程序段:<BR>int x=2, y=3;<BR>printf("%d\n",(x,y));<BR>则以下叙述中正确的是
A. 输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B. 运行时产生出错信息
C. 输出值为2
D. 输出值为3
满分:2 分
8. 判断字符串s1是否大于字符串s2,应该使用
A. if(s1>s2)
B. if(strcmp(s1,s2))
C. if(strcmp(s2,s1)>0)
D. if(strcmp(s1,s2)>0)
满分:2 分
9. 以下关于C语言的不严格的叙述中,错误的说法是
A. 在标识符中,大写字母和小些字母的意义相同
B. 有些不同类型的变量可以在一个表达式中运算
C. 在赋值表达式中等号 “=”左边的变量和右边的值可以是不同类型
D. 同一个运算符号在不同的场合可以有不同的含义
满分:2 分
10. 已定义c为字符型变量,则下列正确的赋值语句是
A. c='66';
B. c="66";
C. c="B";
D. c=66;
满分:2 分
、简答题(共 3 道试题,共 30 分。)V 1.
编程题:从键盘输入10个评委给参赛选手打的分,去掉一个最高分和一个最低分,求选手的得分(平均分)。
(备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)
满分:10 分
2.
编程题:编程任意输入两个实数a和b,计算下面函数的值,并输出y值。
(备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)
满分:10 分
3.
编程题:编写一个函数,将一个字符串(最多80个字符)中的大写字母变为小写字母,小写字母变为大写字母。要求字符串的输入与输出在主函数中完成。
(备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)
满分:10 分
请同学及时保存作业,如您在20分钟内不作操作,系统将
三、其他题(共 10 道试题,共 50 分。)V 1.
读程序,写出程序执行结果
#include <stdio.h>
void main()
{ int a[3][4]={{1,2,3,4},{9,7,10,6},{-1,8,-5,5}};
int i,j,row=0,colum=0,max;
max=a[0][0];
for(i=0;i<=2;i++)
for(j=0;j<=3;j++)
if(a[i][j]>max)
{ max=a[i][j];
row=i;
colum=j;
}
printf("max=%d,row=%d,colum=%d",max,row,colum);
}
满分:5 分
2.
读程序,写出程序执行结果
#include <stdio.h>
void main()
{ int s,t,a=-2,b=6;
s=t=1;
if(a>0) s=s+1;
if(a>b) t=s+t;
else if(a==b) t=5;
else t=2*s;
printf("t=%d ", t);
}
满分:5 分
3.
读程序,写出程序执行结果
#include <stdio.h>
void main()
{ int i,j;
for(i=0; i<3;i++)
{
for(j=0; j<=i;j++)
printf("*");
printf("\n");
}
}
满分:5 分
4.
读程序,写出程序执行结果
#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]= "good",str2[80]= "abcdef";
copy_str(str1,str2);
puts(str2);
}
满分:5 分
5.
读程序,写出程序执行结果
#include <stdio.h>
char fun(char *s)
{ if( *s >= ¢a¢ && *s <= ¢z¢ )
*s=*s-32;
return *s;
}
void main()
{ char a[20]="Welcome",*p,ch;
for(p=a;*p!=¢\0¢;p++)
{ ch=fun(p);
putchar(ch);
} }
满分:5 分
6.
读程序,写出程序执行结果
#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);
}
}
满分:5 分
7.
读程序,写出程序执行结果
#include <stdio.h>
void main()
{ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
int i,s=0 ;
for(i=0;i<4;i++) s+=aa[i][2];
printf(“%d\n”,s);
}
满分:5 分
8.
读程序,写出程序执行结果
#include <stdio.h>
void main()
{ int x=1,a=0,b=0;
switch(x)
{ case 0: b++;
case 1: a++;
case 2: a++;b++;
}
printf(“a=%d,b=%d\n”,a,b);
}
满分:5 分
9.
读程序,写出程序执行结果
#include <stdio.h>
int m=13;
int fun(int x,int y)
{ int m=3;
return(x*y-m);
}
void main()
{ int a=7, b=5;
printf("%d\n", fun(a,b)/m);
}
满分:5 分
10. 读程序,写出程序执行结果
#include <stdio.h>
#include <string.h>
int stre(char *s)
{ int num=0;
while(*(s+num)!=‘\0’)num++;
return num;
}
void main()
{ char str[]="students",*p=str;
printf(“%d\n”,stre(p));
}
满分:5 分
请同学及时保存作业,如您在20分钟内不作操作,系统将自动退出。
对不起,由于您的浏览器不能运行javascript,所以不能运行作业程序!
请您解除禁止javascript后,点击已经解除按钮或重新打开页面!
解决方法
|
|