二级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;
#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);
}
程序的输出结果是
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));
}
程序的输出结果是
#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>
#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,则输出结果是
{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)
(分数:2.00)
A.
B.
C. √
D.
解析:
9.有以下程序:
#include<stdio.h>
main()
{int k=-3;
if(k<=0) printf("****/n")
else printf("&&&&/n");
}
程序的输出结果是
#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);
程序段的输出结果是
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);
程序段的输出结果是
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);
}
程序段的输出结果是
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));
程序段的输出结果是
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);
}
程序的输出结果是
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;
}
#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);
程序段的输出结果是
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("*");
#include<stdio.h>
main()
{int i;
for(i=1; i<=5; i++)
{if(i%2) printf("*");
else continue;
printf("#");
}
printf("$/n");
}
程序的输出结果是
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)
#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");
}
程序的输出结果是
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)
(分数:2.00)
填空项1:__________________ (正确答案:非0 0)
解析:
22.C语言中的关系运算符“!=”的优先级比“<=” 1。
(分数:2.00)
(分数:2.00)
填空项1:__________________ (正确答案:低)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论