【c语言基础题】— —第四版,可当作日常练习和期末复习,有奇效哟!

🎯问题:

一. 单选题(共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<d)后n的值为( )

  • A. 1
  • B. 0
  • C. 2
  • D. -1

3. (单选题)【选择题】有如下嵌套的if语句

if(a<b) 

if(a<c)

k=a; 

else k=c;

else if(b<c)

k=b; 

else k=c;

以下选项中与上述if语句等价的语句是( ) 

  • A. k=(a<b)?a:b;k=(b<c)?b:c;
  • B. k=(a<b)?((b<c)?a:b):((b<c)?b:c);
  • C. k=(a<b)?((a<c)?a:c):((b<c)?b:c);
  • D. k=(a<b)?a:b;k=(a<c)?a:c;

4. (单选题)【选择题】以下叙述中正确的是( )

  • A. 分支结构是根据算术表达式的结果来判断流程走向的
  • B. 在C语言中, 逻辑真值和假值分别对应1和0
  • C. 对于浮点变量x和y, 表达式: x==y是非法的, 会出编译错误
  • D. 关系运算符两边的运算对象可以是C语言中任意合法的表达式

5. (单选题)【选择题】if语句的基本形式是:
if(表达式)语句
以下关于“表达式”值的叙述中正确的是( )

  • A. 必须是逻辑值
  • B. 必须是整数值
  • C. 必须是正数
  • D. 可以是任意合法的数值

6. (单选题)【选择题】有以下程序:
#include <stdio.h>

main()

    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. (单选题)【选择题】有以下程序:
#include<stdio.h>

main()

    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);
else 

    printf("y=%d,",y);
if(a<=b)

    i++;
else 

    j++;
则与此程序段功能相同的选项是( )

  • 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. (单选题)【选择题】有以下程序:
#include<stdio.h>

main()

    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<stdio.h>

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 <stdio.h>

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. (单选题)【选择题】有以下程序:
#include<stdio.h>

main()

    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. (单选题)【选择题】有以下程序
#include<stdio.h>

main()

    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%回复。 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y小夜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值