二级C语言程序设计-2
(总分:100.00,做题时间:90分钟)
一、{{B}}选择题{{/B}}(总题数:20,分数:40.00)
1.下列运算符中优先级最高的算符是
A.!
B.%
C.-=
D.&&

(分数:2.00)
 A. 
 B.
 C.
 D.
解析:
2.下列运算符中优先级最低的算符是
A.‖
B.!=
C.<=
D.+

(分数:2.00)
 A. 
 B.
 C.
 D.
解析:
3.为表示关系:x≥y≥z,应使用的C语言表达式是
A.(x>=y)&&(y>=z)
B.(x>=y)AND(y>=x)
C.(x>=y>=z)
D.(x>=y)&(y>=z)


(分数:2.00)
 A. 
 B.
 C.
 D.
解析:
4.设a、b和c都是int型变量,且a=3,b=4,c=5,则以下的表达式中值为0的表达式是
A.a&&b
B.a<=b
C.a‖b+c&&b-c
D.!((a<b)&&!c‖1)

(分数:2.00)
 A.
 B.
 C.
 D. 
解析:
5.有以下程序:
#include<stdio.h>
main()
{int a=2, b=-1, c=2;
if(a<b)
if(b<0) c=0;
else c+=1;
printf("%d/n", c);
}
程序的输出结果是
A.0
B.1
C.2
D.3

(分数:2.00)
 A.
 B.
 C. 
 D.
解析:
6.有以下程序:
#include<stdio.h>
main()
{int w=4, x=3, y=2, z=1;
printf("%d/n", (w<X? w:z<y? z:x));
}
程序的输出结果是
A.1
B.2
C.3
D.4

(分数:2.00)
 A. 
 B.
 C.
 D.
解析:
7.有以下程序:
#include<stdio.h>
main()
{int a, b, s;
scanf("%d%d", &a, &b);
s=a;
if(a<b) s=b;
s*=s;
printf("%d/n", s);
}
若执行以上程序时从键盘上输入3和4,则输出结果是
A.14
B.16
C.18
D.20


(分数:2.00)
 A.
 B. 
 C.
 D.
解析:
8.有以下程序片段: y=-1; if(x!=0) if(x>0) y=1; else y=0; 其能正确表示的数学函数关系是 A. B. C. D.
(分数:2.00)
 A.
 B.
 C. 
 D.
解析:
9.有以下程序:
#include<stdio.h>
main()
{int k=-3;
if(k<=0) printf("****/n")
else printf("&&&&/n");
}
程序的输出结果是
A.输出####
B.输出&&&&
C.输出####&&&&
D.有语法错不能通过编译

(分数:2.00)
 A.
 B.
 C.
 D. 
解析:
10.若a和b均是正整型变量,正确的switch语句是
A.switch(pow(a, 2)+pow(b, 2)) (注:调用求幂的数学函数) {case 1:case 3:y=a+b; break; ca
se 0:case 5:y=a-b; }
B.switch(a*a+b*b); {case 3; case 1:y=a+b; break; case 0:y=b-a; break; }
C.switch a {default:x=a+b; case 10:y=a-b;break; case 11:x=a*d; break; }
D.switch(a+b) {case10:x=a+b; break; case11:y=a-b; break; }

(分数:2.00)
 A. 
 B.
 C.
 D.
解析:
11.有以下程序段:
int k, j, s;
for(k=2; k<6; k++,k++)
{s=1;
for(j=k; j<6; j++) s+=j;
}
printf("%d/n", s);
程序段的输出结果是
A. 9
B.1
C.11
D.10

(分数:2.00)
 A.
 B.
 C.
 D. 
解析:
12.有以下程序段:
int i, j, m=0;
for(i=1; i<=15; i+=4)
for(j=3; j<=19; j+=4) m++;
printf("%d/n", m);
程序段的输出结果是
A.12
B.15
C.20
D.25

(分数:2.00)
 A.
 B.
 C. 
 D.
解析:
13.有以下程序段:
int n=10;
while(n>7)
{n--;
printf("%d/n", n);
}
程序段的输出结果是
A.10 9 8
B.9 8 7
C.10 9 8 7
D.9 8 7 6

(分数:2.00)
 A.
 B. 
 C.
 D.
解析:
14.有以下程序段:
int x=3;
do
{printf("%3d", x-=2);
}
while(!(--x));
程序段的输出结果是
A.1
B.3 0
C.1 -2
D.死循环

(分数:2.00)
 A.
 B.
 C. 
 D.
解析:
15.有以下程序:
#include<stdio.h>
main()
{int i, sum;
for(i=1; i<6; i++) sum+=sum;
printf("%d/n", sum);
}
程序的输出结果是
A.15
B.14
C.不确定
D.0

(分数:2.00)
 A.
 B.
 C. 
 D.
解析:
16.有以下程序:
#include<stdio.h>
main()
{int y=10;
for(; y>0; y--)
if(y%3==0)
{printf("%d", --y); continue;
}
}
程序的输出结果是
A.741
B.852
C.963
D.875421

(分数:2.00)
 A.
 B. 
 C.
 D.
解析:
17.有以下程序段:
int x;
for(x=3; x<6; x++)
printf((x%2)?("**%d"): ("##%d/n"), x);
程序段的输出结果是
A.**3 ##4 **5
B.##3 **4 ##5
C.##3 **4##5 .
D.**3##4 **5

(分数:2.00)
 A.
 B.
 C.
 D. 
解析:
18.有以下程序:
#include<stdio.h>
main()
{int i;
for(i=1; i<=5; i++)
{if(i%2) printf("*");
else continue;
printf("#");
}
printf("$/n");
}
程序的输出结果是
A.*#*#*#$
B.#*#*#*$
C.*#*#$
D.#*#*$

(分数:2.00)
 A. 
 B.
 C.
 D.
解析:
19.以下叙述中正确的是
A.do-while语句构成的循环不能用其他语句构成的循环来代替
B.do-while语句构成的循环只能用break语句退出
C.用do-while语句构成循环时,只有在while后的表达式为非零时结束循环
D.用do-while语句构成循环时,只有在while后的表达式为零时结束循环

(分数:2.00)
 A.
 B.
 C.
 D. 
解析:while语句都可以用for改写
20.有以下程序:
#include<stdio.h>
main()
{int x, i;
for(i=1; i<=100; i++)
{x=i;
if(++x%2==0)
if(++x%3==0)
if(++x%7==0)
printf("%d", x);
}
printf("/n");
}
程序的输出结果是
A.28 70
B.42 84
C.26 68
D.39 81

(分数:2.00)
 A. 
 B.
 C.
 D.
解析:
二、{{B}}填空题{{/B}}(总题数:16,分数:32.00)
21.C语言中用______表示逻辑值“真”,用______表示逻辑值“假”。
(分数:2.00)
填空项1:__________________ (正确答案:非0 0)
解析:
22.C语言中的关系运算符“!=”的优先级比“<=” 1。
(分数:2.00)
填空项1:__________________ (正确答案:低)

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