一. 单选题(共25题,100分)
1. (单选题)【选择题】若a是数值类型, 则逻辑表达式(a==1)||(a!=1)的值是( )
- A. 1
- B. 0
- C. 2
- D. 不知道a的值, 不能确定
2. (单选题)【选择题】已知a=5, b=6, c=7, d=8, m=2, n=2, 执行(m=a>b)&&(n=c
- A. 1
- B. 0
- C. 2
- D. -1
3. (单选题)【选择题】有如下嵌套的if语句
if(a
if(a
k=a;
else k=c;
else if(b
k=b;
else k=c;
以下选项中与上述if语句等价的语句是( )
- A. k=(a
- B. k=(a
- C. k=(a
- D. k=(a
4. (单选题)【选择题】以下叙述中正确的是( )
- A. 分支结构是根据算术表达式的结果来判断流程走向的
- B. 在C语言中, 逻辑真值和假值分别对应1和0
- C. 对于浮点变量x和y, 表达式: x==y是非法的, 会出编译错误
- D. 关系运算符两边的运算对象可以是C语言中任意合法的表达式
5. (单选题)【选择题】if语句的基本形式是:
if(表达式)语句
以下关于“表达式”值的叙述中正确的是( )
- A. 必须是逻辑值
- B. 必须是整数值
- C. 必须是正数
- D. 可以是任意合法的数值
6. (单选题)【选择题】有以下程序:
#includemain()
{
int x;
scanf("%d",&x);
if(x>10)
printf("1");else if(x>20)
printf("2");
else if(x>30)
printf("3");}
若运行时输入: 35<回车>, 则输出结果是( )
- A. 123
- B. 2
- C. 3
- D. 1
7. (单选题)【选择题】设有定义:
int a=1,b=2,c=3;
以下语句中执行效果与其他三个不同的是( )
- A. if(a>b)c=a,a=b,b=c;
- B. if(a>b){c=a,a=b,b=c;}
- C. if(a>b)c=a;a=b;b=c;
- D. if(a>b){c=a;a=b;b=c;}
8. (单选题)【选择题】有以下程序:
#includemain()
{if('\0'==0)
putchar('1');
if('0'==0)
putchar('2');
if('a'>'b')
putchar('3');
}
程序运行后的输出结果是( )
- A. 1
- B. 123
- C. 23
- D. 3
9. (单选题)【选择题】下列关系表达式中, 结果为“假”的是( )
- A. (3+4)>6
- B. (3!=4)>2
- C. 3<=4||3
- D. (3<4)==1
10. (单选题)【选择题】设有定义:
int a=0,b=1,c=1;
以下选项中, 表达式值与其他三个不同的是( )
- A. b=a==c
- B. a=c==b
- C. a=b=c
- D. c=a!=c
11. (单选题)【选择题】为了避免在嵌套的if-else语句中产生二义性, C语言规定与else子句配对是( )
- A. 与其在同一行上的if子句
- B. 在其之后最近的不带else的if子句
- C. 与其缩排位置相同的if子句
- D. 在其之前最近的不带else的同层if子句
12. (单选题)【选择题】有以下程序段, 若变量已正确定义并赋值( ) 。
if(a>b)printf("x=%d,",x);
elseprintf("y=%d,",y);
if(a<=b)i++;
elsej++;
则与此程序段功能相同的选项是( )
- A. if(a>b)
{ printf("x=%d,",x); j++}
else
{ printf("y=%d,",y); i++}
- B. if(a>b)
{ printf("x=%d,",x); i++}
else
{ printf("y=%d,",y); j++}
- C. if(a<=b)
{ printf("x=%d,",x); i++}
else
{ printf("y=%d,",y); j++}
- D. if(a>=b)
{ printf("x=%d,",x); i++}
else
{ printf("y=%d,",y); j++}
13. (单选题)【选择题】有以下程序:
#includemain()
{
int x=0x13;
if(x=0x12)
printf("True");
printf("False\n");
}
程序运行后的输出结果是( )
- A. True
- B. TrueFalse
- C. False
- D. TrueFalseTrue
14. (单选题)【选择题】
以下程序的功能是判断输入的一个整数是否能被3或7整除, 若能整
除, 输出YES, 否则输出NO。 在下划线处应填入的选项是( ) 。#include
main()
{
int k;
printf("Enter a int number:");
scanf("%d",&k);
if _____
printf("YES\n");
else
printf("NO\n");
printf("%d\n",k%3);
}
- A. ((k%3==0)||(k%7==0))
- B. (k/3==0)||(k/7==0)
- C. ((k%3=0)||(k%7=0))
- D. ((k%3==0)&&(k%7==0))
15. (单选题)【选择题】若变量已正确定义, 有以下程序段:
int a=3,b=5,c=7;
if(a>b) a=b;c=a;
if(c!=a)c=b;
printf("%d,%d,%d\n",a,b,c);
其输出结果是( )
- A. 程序段有语法
- B. 3,5,3
- C. 3,5,5
- D. 3,5,7
16. (单选题)【选择题】若有定义:
int a=1,b=2,c=3;
则执行表达式(a=b+c)||(++b)后, a、 b、 c的值依次为( )
- A. 1,2,3
- B. 5,3,2
- C. 5,2,3
- D. 5,3,3
17. (单选题)【选择题】执行以下程序段后, w的值为( )
int w='A',x=14,y=15;
w=((x||y)&&(w<'a'));
- A. -1
- B. NULL
- C. 1
- D. 0
18. (单选题)【选择题】有以下程序:
#include
main()
{
int a=1,b=2,c=3,d=0;
if(a==1&&b++==2)
if(b!=2||c--!=3)
printf("%d,%d,%d\n",a,b,c);
else
printf("%d,%d,%d\n",a,b,c);
else
printf("%d,%d,%d\n",a,b,c);
}
程序运行后的输出结果是( )
- A. 1,2,3
- B. 1,3,2
- C. 1,3,3
- D. 3,2,1
19. (单选题)【选择题】以下关于逻辑运算符两侧运算对象的叙述中正确的是( )
- A. 可以是任意合法的表达式
- B. 只能是整数0或非0整数
- C. 可以是结构体类型的数据
- D. 只能是整数0或1
20. (单选题)【选择题】以下选项中, 当x为大于1的奇数时, 值为0的表达式是( )
- A. x%2==1
- B. x/2
- C. x%2!=0
- D. x%2==0
21. (单选题)【选择题】如有表达式(w)?(-x):(++y), 则其中与w等价的表达式是( )
- A. w==1
- B. w==0
- C. w!=1
- D. w!=0
22. (单选题)【选择题】有以下程序:
#includemain()
{
int x;
scanf("%d",&x);
if(x<=3);
else if(x!=10)
printf("%d\n",x);
}
程序运行时, 输入的值在( ) 范围才会有输出结果
- A. 不等于10的整数
- B. 大于3且不等于10的整数
- C. 大于3或等于10的整数
- D. 小于3的整数
23. (单选题)【选择题】有以下程序
#includemain()
{
int a=0,b=0,c=0,d=0;
if(a=1)
b=1;
c=2;
else
d=3;printf("%d,%d,%d,%d\n",a,b,c,d);
}
程序输出( )
- A. 0,0,0,3
- B. 编译有错
- C. 1,1,2,0
- D. 0,1,2,0
24. (单选题)【选择题】有以下程序段:
scanf("%d%d%d",&a,&b,&c);
if(a>b)a=b;
if(a>c)a=c;
printf("%d\n",a);
该程序段的功能是( )
- A. 输出a、 b、 c中的最小值
- B. 输出a、 b、 c中的最大值
- C. 输出a的原始值
- D. 输出a、 b、 c中值相等的数值
25. (单选题)【选择题】下列叙述中正确的是( )
- A. 在switch语句中, 不一定使用break语句
- B. 在switch语句中, 必须使用default
- C. break语句必须与switch语句中的case配对使用
- D. break语句只能用于switch语句
1-5:ACCDD
6-10:DCABA
11-15:DABAB
16-20:CCCAD
21-25:DBBAA
有问题的小伙伴可以在评论区询问,看到后会会回复的,或者关注一下博主,私信询问,100%回复。