C语言程序设计试卷3(含答案)
注意事项:1、本试卷共13 页,满分为100 分,考试时间为110 分钟。
2、标准答题卡使用2B铅笔涂写;文字题答题时请使用蓝、黑钢笔或圆珠笔,
不得使用红颜墨水笔。
二、阅读程序题答题处:(每空3分,共30分)
三、程序改错题答题处:(每空2分,共12分)
四、完善程序填空题答题处:(每空2分,共18分)
一、单项单选题:(每题 1 分,共40 分)
(说明:请将正确答案按照题干上【】内的序号涂写“标准答题卡”)
1.以下4组标识符中,能作为变量名使用的是【1】。
A) age, struct, s1 B) 2A, b_3, main C) ELSE, a[2], m123 D) _abc, INT, abcd
2.已知小写字母a的ASCII码值是97,大写字母A的ASCII码值是65,下列语句中不能输出大写字母B的是【2】。
A) putchar('A'+1); B) putchar('b'-32); C) putchar(98-32); D) putchar(B);
3.能正确表示
a ac
b b
2
4 2-
+
-
的C语言表达式是【3】。
A) (-b+sqrt(b*b-4*a*c))/(2*a) B) -b+sqrt(b*b-4*a*c)/(2*a)
C) (-b+sqrt(b*b-4*a*c))/2*a D) -b+sqrt(b*b-4*a*c)/2*a
4.下列程序段的输出结果是【4】。
float x;
x=1+1%3*5/2;
printf("%f",x);
A) 3.000000 B) 3 C) 3.500000 D) 8
5.下列程序段的输出结果是【5】。
int m=027;
printf("%d\n",m--);
A) 27 B) 26 C) 23 D) 22
6.已知变量a=4,b=5,c=6,则表达式 c && a | b的值是【6】。
A) 7 B) 1 C) 0 D) 6
7.设int x=10; x+=x%= (-6)+4; 则x= 【7】。
A) 0 B) 16 C) 18 D) 10
8.设int a=1,b=2,c=3,d=4,z;则表达式(a>b)? (z=c) : (z=d) 的值是【8】。
A) 3 B) 0 C) 4 D) 1
9.下列程序段的输出结果是【9】。
int a=5;
if( a++ > 5 ) printf("%d\n", a );
else printf("%d\n", a-- );
A) 7 B) 6 C) 5 D) 4
10.运行下列程序段,输入AaBbDd并以回车键结束输入,则输出结果是【10】。
char ch; int s=0;
while((ch=getchar())!='\n')c语言中struct
switch(ch)
{ case 'A': s++;
case 'B': s++; break;
case 'D': s++;
default: s++;
}
printf("%d\n",s);
A) 6 B) 8 C) 10 D) 12
11.下列程序段的输出结果是【11】。
int i,s=0;
for(i=1;i<=10;i++)
{ if (i%2) continue;
s+=i; }
printf("%d\n",s);
A) 30 B) 25 C) 0 D) 1
12.下列程序段的输出结果是【12】。
int i=26;
do { printf("%d", i%8); } while ( i = i/8 );
A) 死循环B) 3 C) 23 D) 32
13.已知:int k=10; 则下面的while 循环【13】。
while (k=0) k--;
A) 执行10次B) 是死循环C) 一次也不执行D) 执行一次
14.以下对二维数组a的正确定义是【14】。
A) int a[3][] ; B) int a[][4];
C) #define N 3 D) int N=3;
int a[N][N+1]; int a[N][N+1];
15.已知如下数组定义:
char str[]="a\tb\\c\061";
则函数strlen(str)的返回值是【15】。
A) 6 B) 5 C) 11 D) 7
16.使用如下语句定义一个char型二维数组str,用来存放字符串"Pascal"、"Basic"、"C++",
char str[M][N];
则M和N最合理取值应该是【16】。
A) 3和7 B) 2和7 C) 2和6 D) 3和6
17.下列程序段的输出结果是【17】。
int a[]={1,2,3,4},s=0,i;
for(i=3;i>=0;i-=2)
s=s*10+a[i];
printf("%d\n",s);
A) 4321 B) 42 C) 1234 D) 13
18.设有如下数组定义:
char str[6];
则下列程序段中,不能正确的为str数组赋值的是【18】。
A) strcpy(str,"ABCD") B) gets(str);
C) for(i=0;i<6;i++) scanf("%c",str[i]); D) scanf("%s",str);
19.下列程序段的输出结果是【19】。
int i=0;
char s1[10]="1234",s2[10]="567";
strcat(s1,s2);
while(s2[i++]!='\0') s2[i]=s1[i];
puts(s2);
A) 123 B) 123 567 C) 5234567 D) 523
20.下面程序段的输出结果是【20】。
int a[]={1,2,3,4,5,6,7},*p;
p=a;
*(p+3)+=2;
printf ("%d %d\n", *p,*p+3);
A) 6 7 B) 1 5 C) 1 6 D) 1 4
21.能为指针变量p正确赋值的是【21】。
A) int a,*p=a; B) int a,*p=&a;
C) int a,*p; D) int a,*p;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。