前言
🍀作者简介:吉师散养学生,为挣钱努力拼搏的一名小学生。
🍁个人主页:吉师职业混子的博客_CSDN博客-python学习,HTML学习,清览题库--C语言程序设计第五版编程题解析领域博主
🫒文章目的:我不想学C啊啊啊啊啊
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
有个憨批错了我不说是谁
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十进制
位权一乘