《吉师作业》(1)之我是web手为啥让我学C

举报
_nojava 发表于 2022/12/02 19:01:01 2022/12/02
【摘要】 1. (单选题)下列条件语句中,功能与其他语句不同的是(    )。A. if(a==0)     printf("%d\n",x);else            printf("%d\n",y);B. if(a)    printf("%d\n",x);else    printf("%d\n",y);C. if(a==0)    printf("%d\n",y);else      ...

1. (单选题)

下列条件语句中,功能与其他语句不同的是(    )。

  • A. if(a==0)     printf("%d\n",x);

    else            printf("%d\n",y);

  • B. if(a)    printf("%d\n",x);

    else    printf("%d\n",y);

  • C. if(a==0)    printf("%d\n",y);

    else           printf("%d\n",x);

  • D. if(a!=0)    printf("%d\n",x);

    else         printf("%d\n",y);

解题过程:

首先康康这些语句的功能是啥

A选项,如果A等于0,则if(a==0)为真,输出X,反之输出Y

B选项,if(a)等价于if(a!=0),所以如果A的值不为0,输出X,反之输出Y

此处就有两个选项不同了,继续往下看

C选项,如果A为0,输出Y,反之输出X

D选项,如果A!=0,输出X,反之输出Y

2. (单选题)

以下程序正确的说法是(  )。

#include<stdio.h>

void main()

{

int x=0,y=0;

if(x=y) printf("*****\n");

else     printf("#####\n");

}

  • A. 输出#####
  • B. 有语法错误不能通过编译
  • C. 可以通过编译,但不能通过连接,因此不能运行
  • D. 输出*****

康康呗,这题我选错了(悲

解题过程

首先明确下if(x=y)是个什么玩意,他和if(x==y)的区别是啥子

if(x==y)是判断x与y的值是否相等,如果相等为真执行if下的条件语句

而if(x=y)则是将Y的值赋给X,只要在Y不等于0等情况下,该条件均成立。

所以本题中if(x=y)并不成立,执行else语句

3. (单选题)

以下程序的输出结果为(    )。

#include<stdio.h>

void main()

{

int a=30;

printf("%d",(a/3>0)?a/10:a%3);

}

  • A. 0
  • B. 1
  • C. 10
  • D. 3

解题过程

首先我们要了解一下(a/3>0)?a/10:a%3是个嘛玩意

第一步是对括号里的内容进行判断,如果为真,则执行a/10,否则执行a%3

4. (单选题)

希望当num的值为奇数时,表达式的值为“真”;

num的值为偶数时,表达式的值为“假”。

则以下不能满足该要求的表达式是(    )。

  • A. num%2==1
  • B. !(num%2)
  • C. !(num%2==0)
  • D. num%2

来嘛,判断嘛,代数就可以了

A项代3,3%2==1,为真,可以满足要求

B项代3,3%2结果为1,为真,但前面有!,所以为假,不成立

5. (单选题)

以下程序运行时,输入的x值在(    )范围时才会有输出结果。

#include<stdio.h>

void main()

{

int x;

scanf("%d",&x);

if(x<5);

else if(x!=20)

printf("%d",x);

}

  • A. 大于等于5且不等于20的整数
  • B. 不等于20的整数
  • C. 小于5的整数
  • D. 大于等于5且等于20的整数

挺简单的题,不叭叭了

6. (单选题)语句

if(x!=0)  y=1;

else        y=2;

与(    )等价。

  • A. if(x)    y=1;

    else    y=2;

  • B. if(x)  y=2;

    else  y=1;

  • C. if(!x)   y=1;

    else    y=2;

  • D. if(x=0)  y=2;

    else      y=1;

解题过程

题干,如果X不等于0 ,赋值X等于1

反之赋值为2

A如果x不等于0,

赋值X等于1

反之赋值为2

下面不说了

7. (单选题)

下列程序段运行后x的值是(  )。

int a = 0, b = 0, c = 0, x = 35;

if (!a)    x–;

else if (b);

if ©    x = 3;

else     x = 4;

  • A. 34
  • B. 35
  • C. 4
  • D. 3

解题过程

A=0,!A就是非0,值为真

执行X–,此时X为34

执行下一个if语句,c=0,为假,执行else

X=4

8. (单选题)

下列程序段运行后的结果是(  )。

#include<stdio.h>

int main()

{

int  a = 2, b = -1, c = 2;

if(a < b)

if(b < 0)

c = 0;

else  c++;

printf("%d\n",c);

return 0;

}

  • A. 0
  • B. 2
  • C. 3
  • D. 4

解题过程

这题有毒

9. (判断题)

if(a=5) 是允许的。

  • A. 对
  • B. 错

允许的,把5赋值给a,只要赋的值不是0,就为真

10. (判断题)

在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。

  • A. 对
  • B. 错

对的,不做评价

11. (判断题)

if-else语句的一般形式如下,其中的语句1、语句2只能是一条语句。

if (表达式)   语句1

else            语句2

  • A. 对
  • B. 错

错的,可以随便搞

12. (判断题)

if-else语句的一般形式如下,若表达式的值为“真”,则执行语句1;否则,就执行语句2。

if (表达式)   语句1

else            语句2

  • A. 对
  • B. 错

对的,没啥说的

13. (判断题)

执行以下程序段后,x的值为0,y的值为1。

int x, y;

if (x = 0)  y = 0;

else        y = 1;

  • A. 对
  • B. 错

对的,把0赋给x,然后执行else语句

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。