|
2013年秋季学期《C语言》在线考试(适用于2013年12月份考试)
试卷总分:100 测试时间:--
单选题 其他题 简答题
一、单选题(共 10 道试题,共 20 分。)V 1. 在C语言中,下列字符常量中合法的是
A. ′\084′
B. ′\x43′
C. ′ab′
D. ”\0”
满分:2 分
2. 设有语句:int x=10; x += x -= x - x; ,则执行语句后,x的值为
A. 30
B. 20
C. 10
D. 40
满分:2 分
3. 若有以下定义:char s[20]= "programming",*ps=s;则不能代表字符g的表达式是
A. ps+3
B. s[3]
C. ps[3]
D. ps+=3,*ps
满分:2 分
4.
下述语句的输出为
int m=-1;
printf(“%d,%u,%o”,m,m,m);
A. -1,-1,-11
B. -1,32767,-177777
C. -1,32768,177777
D. -1,65535,177777
满分:2 分
5. 如有以下变量定义:int a=5,b=6,c=12;那么下列表达式结果为真的是
A. a-b
B. a>b
C. b/c
D. c%b
满分:2 分
6. 以下选项中可作为C语言合法整数的是
A. 10110B
B. 0386
C. x2a2
D. 0Xffa
满分:2 分
7. 设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值是
A. 7
B. 8
C. 9
D. 10
满分:2 分
8. 下列变量的定义及赋值正确的是
A. int i=0;j;
B. char c=”A”;
C. double x,y,z; x=y=z=100;
D. float a=b=100;
满分:2 分
9. 在C语言中,十进制数47可等价地表示为
A. 2f
B. 02f
C. 57
D. 057
满分:2 分
10. 语句: printf("%d",(a=2)&&(b=-2));的输出结果是
A. 无输出
B. 结果不确定
C. 1
D. 2
满分:2 分 二、其他题(共 10 道试题,共 50 分。)V 1.
读程序写出程序执行结果
#include <stdio.h>
void swap(int b[])
{ int *p,*p1,*p2;
p1=&b[0] ;p2=&b[1];
p=p1; p1=p1+1; p2=p;
}
void main()
{ int a[]={5,9};
printf("%d,%d\n",*a,*(a+1));
swap(a);
printf("%d,%d\n",a[0],a[1]);
}
满分:5 分
2.
读程序写出程序执行结果
#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);
}
满分:5 分
3.
读程序写出程序执行结果
#include <stdio.h>
void main()
{ int a=12, b=5, c=-3 ;
if(a>b)
if(b<0) c=0;
else c++;
printf(“%d\n”,c);
}
满分:5 分
4.
读程序写出程序执行结果
#include <stdio.h>
void main()
{ int a[10],*p,*s,i;
for(i=0;i<10;i++) scanf(%d”,a+i);
for(p=a,s=a;p-a<10;p++) if(*p>*s)s=p;
printf(“max=%d,index=%d\n”,*s, s-a);
}
简述上列程序完成的功能:
满分:5 分
5.
读程序写出程序执行结果
#include <stdio.h>
void main()
{ int x=3,y=4;
int j;
for(j=1 ; y>0 ; y -- ) j=j*x;
printf(“j=%d\n”,j);
}
满分:5 分
6.
读程序写出程序执行结果
#include <stdio.h>
int fun(int x)
{ int y=1;
static int z=4;
z+=1;++y;
return(x+y+z);
}
void main()
{ int i;
for(i=1;i<=3;i++)
printf("%3d",fun(i));
}
满分:5 分
7.
读程序写出程序执行结果
#include <stdio.h>
void main()
{ int n= -5 ;
while(++n)
printf("%3d", ++n) ;
}
满分:5 分
8.
读程序写出程序执行结果
#include <stdio.h>
void main ( )
{ char a[20]= "abcXYZ", c ;
int i, j;
j= strlen(a)-1 ;
for (i=0; j>i; i++,j--)
{ c=*(a+i); *(a+i)=*(a+j); *(a+j)=c; }
puts(a);
}
满分:5 分
9.
读程序写出程序执行结果
#include <stdio.h>
int m=2;
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>
void main()
{ int i,j,m=0;
for(i=1;i<=10;i+=3)
for(j=3;j<10;j+=4)
m++;
printf(“m=%d\n”,m);
}
满分:5 分
请同学及时保存作业,如您在20分钟内不作操作,系统将自动退出。
三、简答题(共 3 道试题,共 30 分。)V 1. 编程: 计算sum=1-1/2!+1/3!-1/4!+ …… -1/10!(备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)
满分:10 分
2. 编程:任意输入100个整数,分别统计其中的正数、负数和零的个数。(备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)
满分:10 分
3. 编写程序,从键盘上任意输入20个整数,存入一个数组中,然后输出这些数中最大数及其下标以及最小数及其下标(备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)
满分:10 分
|
|