《吉师作业》(2)之迟来的答案

举报
_nojava 发表于 2022/12/02 18:56:52 2022/12/02
【摘要】 ## 1. (单选题)分析以下程序的运行结果。   #include <stdio.h>   void main()  {      int k=2;         switch(k)        {          case 1:printf("%d\n",k++);   break;           case 2:printf("%d ",k++);           cas...

## 1. (单选题)

分析以下程序的运行结果。 

  #include <stdio.h> 

  void main()

  {  

    int k=2;     

    switch(k)    

    {  

        case 1:printf("%d\n",k++);   break;   

        case 2:printf("%d ",k++);   

        case 3:printf("%d\n",k++);  break;    

        case 4:printf("%d\n",k++);     

        default:printf("Full!\n");     

     } 

  } 

-   A. 3 4
-   B. 3 3
-   C. 2 3
-   D. 2 2

## 解题过程

首先分析该程序,简单的分支语句,最初K=2,跳转到选择2,执行K++,

因为是K++,不是++K,所以第一次输出为2,因为选择2后面没有break语句,所以顺序执行下一条也就是选择3.同理,第二次就为3

有个憨批错了我不说是谁![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/70addbbe8f834e0ebe0e523acf4f3e95~tplv-k3u1fbpfcp-zoom-1.image)

 ![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/904b78414b734508a41cf01d10a03010~tplv-k3u1fbpfcp-zoom-1.image)

## 2. (单选题)

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

#include<stdio.h>

void main()

int x=1,y=0,a=0,b=0; 

  switch(x) 

 { 

case 1:switch(y)

          { 

   case 0:a++;break;

   case 1:b++;break;

          } 

   case 2:a++;b++;break;

  } 

  printf("a=%d,b=%d",a,b);

}

-   A. a=1,b=1
-   B. a=1,b=2
-   C. a=2,b=1
-   D. a=2,b=2

首先分析第一个switch,对x进行选择,此时x=1,y=0,a=0,b=0

所以进入选择1再次进行选择,因为y=0,执行a++后退出内嵌选择

此时x=1,y=0,a=1,b=0

但因为外部的选择1并未加入break语句,所以,继续执行外部的选择2

a++,b++

此时x=1,y=0,a=2,b=1

输出

## 3. (单选题)

  
以为了避免嵌套的条件分支语句if-else二义性,C语言规定,C程序中的else总是与(    )组成配对关系。

-   A. 缩排位置相同的if
-   B. 在其之前未配对的最近的if
-   C. 在其之前未配对的if
-   D. 同一行上的if

选B,这玩意得记住,贼特么坑

## 4. (单选题)以下程序的输出结果是(      )

#include<stdio.h>

int main()

{

int a=010,b=0x10,c=10;

printf("%d,%d,%d",a,b,c);

return(0);

 }

-   A. 10,10,10
-   B. 8,16,10
-   C. 16,8,10
-   D. 8,10,10

这玩意我的评价是看选项排除一哈,推导出a是8进制,b直接16进制,c十进制

位权一乘

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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