专题4:分支结构程序设计(练习)-《编程语言基础—C语言》(高等教育出版社第5版)高考备考讲练测(湖南省)

2025-10-09
| 2份
| 19页
| 156人阅读
| 1人下载

内容正文:

专题4:分支结构程序设计 一、单项选择题(在每小题列出的四个备选答案中,只有一个是正确选项。) 1.以下关于if语句的说法,错误的是( ) A. if语句可以单独使用 B. if语句的条件表达式可以是任意合法的表达式 C. if语句的条件表达式结果为非0时,执行其后的语句 D. if语句的条件表达式必须用花括号括起来 2.若有int a = 5;,执行if(a > 3) printf("A"); else printf("B");,输出结果是( ) A. A B. B C. 无输出 D. 编译错误 3.对于if (x > 5) x++; else x--;,当x = 5时,执行后x的值是( ) A. 4 B. 5 C. 6 D. 不确定 4.若int x = 10;,则(x > 5) ? (x = 5) : (x = 15);执行后,x的值是( ) A. 5 B. 10 C. 15 D. 不确定 5.条件表达式(a > b) ? a : b,当a = 3,b = 5时,结果是( ) A. 3 B. 5 C. 0 D. 1 6.若有int x = 1, y = 2;,执行if (x > y) x = y; y = x;后,y的值是( ) A. 1 B. 2 C. 0 D. 不确定 7.以下if语句书写正确的是( ) A. if (x == 0) printf("OK"); B. if x == 0 printf("OK"); C. if (x = 0); printf("OK"); D. if (x == 0) then printf("OK"); 8.当a = 1,b = 2,c = 3时,执行if (a > b) c = a; a = b; b = c;后,a、b、c的值分别是( ) A. 1,2,3 B. 2,3,3 C. 2,3,1 D. 2,3,2 9.若int a = 5, b = 3;,则(a > b) ? (a = 1) : (b = 1);执行后,a和b的值是( ) A. 5,3 B. 1,3 C. 5,1 D. 1,1 10.若int x = 2;,执行switch (x),case 1: x++; case 2: x++; case 3: x++;后,x的值是( ) A. 2 B. 3 C. 4 D. 5 11.switch语句的case后必须是( ) A. 变量 B. 常量表达式 C. 函数调用 D. 任意表达式 12.以下switch语句,当x = 3时,输出结果是( ) switch (x) { case 1: printf("1"); break; case 2: printf("2"); break; case 3: case 4: printf("3 or 4"); break; default: printf("other"); } A. 1 B. 2 C. 3 or 4 D. other 13.若char ch = 'B';,执行switch (ch),case 'A': printf("A"); break; case 'B': printf("B"); case 'C': printf("C"); break; default: printf("D");,输出结果是( ) A. A B. B C. BC D. BCD 14. switch语句中,default的位置( ) A. 必须在所有case之后 B. 必须在所有case之前 C. 可以在任意位置 D. 不能存在 15.若int x = 5;,执行switch (x % 3),case 0: printf("0"); break; case 1: printf("1"); break; case 2: printf("2"); break;,输出结果是( ) A. 0 B. 1 C. 2 D. 无输出 16.以下关于分支结构的说法,错误的是( ) A. if语句可以实现单分支、双分支和多分支结构 B. switch语句适合多分支且条件为常量的情况 C. if语句的条件可以是复杂的逻辑表达式 D. switch语句的case后可以是变量 17.若int a = 3, b = 5;,执行if (a > b) { printf("a大"); } else { printf("b大"); },输出结果是( ) A. a大 B. b大 C. 无输出 D. 编译错误 18.若有int x = 1, y = 2;,则(x > y) ? x++ : y++执行后,x和y的值是( ) A. 1,3 B. 2,2 C. 1,2 D. 2,3 19.若char grade = 'B';,执行switch (grade),case 'A': printf("优秀"); break; case 'B': printf("良好"); case 'C': printf("及格"); break; default: printf("不及格");,输出结果是( ) A. 良好 B. 良好及格 C. 及格 D. 不及格 20.以下代码,当a = 3时,输出结果是( ) if (a == 1) printf("one"); else if (a == 2) printf("two"); else if (a == 3) printf("three"); else printf("other"); A. one B. two C. three D. other 二、阅读程序,写出运行结果。 21.下列程序的运行结果是:____________ #include <stdio.h> void main() { int a = 3, b = 5; if (a > b) if (b > 0) printf("A"); else printf("B"); } 22.下列程序的运行结果是:____________ #include <stdio.h> void main() { int x = 2; switch (x) { case 1: case 2: printf("2"); case 3: printf("3"); break; default: printf("0"); } } 23.下列程序的运行结果是:____________ #include <stdio.h> void main() { int a = 1, b = 2; a = (b > a) ? (++a) : (--b); printf("%d,%d", a, b); } 24.下列程序的运行结果是:____________ #include <stdio.h> void main() { int x = 0, y = 5; if (x++ && (y = 10)) printf("yes"); else printf("%d,%d", x, y); } 25.下列程序的运行结果是:____________ #include <stdio.h> void main() { char ch = 'B'; switch (ch) { case 'A': printf("1"); break; case 'B': case 'C': printf("2"); case 'D': printf("3"); break; default: printf("4"); } } 26.下列程序的运行结果是:____________ #include <stdio.h> void main() { int x = 3, y = 4; x = (x > y) ? (y++) : (x--); y = (x < y) ? (x++) : (y--); printf("%d,%d", x, y); } 27.下列程序的运行结果是:____________ #include <stdio.h> void main() { int x = 5; switch (x % 3) { case 0: printf("0"); break; case 1: printf("1"); break; default: printf("2"); break; } } 28.下列程序的运行结果是:____________ #include <stdio.h> void main() { int score = 60; if (score >= 90) printf("A"); else if (score >= 80) printf("B"); else if (score >= 70) printf("C"); else if (score >= 60) printf("D"); else printf("E"); } 三、程序填空题。 29.下列程序的功能是:判断闰年。 #include <stdio.h> void main() { int year; scanf("%d", &year); if (___①___ || (year % 4 == 0 && year % 100 != 0)) printf("是闰年"); else printf("不是闰年"); } 30.下列程序的功能是:字符分类(字母、数字、其他)。 #include <stdio.h> void main() { char ch; scanf(" %c", &ch); // 加空格跳过换行 if (___①___) printf("字母"); else if (___②___) printf("数字"); else printf("其他字符"); } 学科网(北京)股份有限公司 $ 专题4:分支结构程序设计 一、单项选择题(在每小题列出的四个备选答案中,只有一个是正确选项。) 1.以下关于if语句的说法,错误的是( ) A. if语句可以单独使用 B. if语句的条件表达式可以是任意合法的表达式 C. if语句的条件表达式结果为非0时,执行其后的语句 D. if语句的条件表达式必须用花括号括起来 【答案】D 2.若有int a = 5;,执行if(a > 3) printf("A"); else printf("B");,输出结果是( ) A. A B. B C. 无输出 D. 编译错误 【答案】A 3.对于if (x > 5) x++; else x--;,当x = 5时,执行后x的值是( ) A. 4 B. 5 C. 6 D. 不确定 【答案】A 4.若int x = 10;,则(x > 5) ? (x = 5) : (x = 15);执行后,x的值是( ) A. 5 B. 10 C. 15 D. 不确定 【答案】A 5.条件表达式(a > b) ? a : b,当a = 3,b = 5时,结果是( ) A. 3 B. 5 C. 0 D. 1 【答案】B 6.若有int x = 1, y = 2;,执行if (x > y) x = y; y = x;后,y的值是( ) A. 1 B. 2 C. 0 D. 不确定 【答案】A 7.以下if语句书写正确的是( ) A. if (x == 0) printf("OK"); B. if x == 0 printf("OK"); C. if (x = 0); printf("OK"); D. if (x == 0) then printf("OK"); 【答案】A 8.当a = 1,b = 2,c = 3时,执行if (a > b) c = a; a = b; b = c;后,a、b、c的值分别是( ) A. 1,2,3 B. 2,3,3 C. 2,3,1 D. 2,3,2 【答案】B 9.若int a = 5, b = 3;,则(a > b) ? (a = 1) : (b = 1);执行后,a和b的值是( ) A. 5,3 B. 1,3 C. 5,1 D. 1,1 【答案】B 10.若int x = 2;,执行switch (x),case 1: x++; case 2: x++; case 3: x++;后,x的值是( ) A. 2 B. 3 C. 4 D. 5 【答案】C 11.switch语句的case后必须是( ) A. 变量 B. 常量表达式 C. 函数调用 D. 任意表达式 【答案】B 12.以下switch语句,当x = 3时,输出结果是( ) switch (x) { case 1: printf("1"); break; case 2: printf("2"); break; case 3: case 4: printf("3 or 4"); break; default: printf("other"); } A. 1 B. 2 C. 3 or 4 D. other 【答案】C 13.若char ch = 'B';,执行switch (ch),case 'A': printf("A"); break; case 'B': printf("B"); case 'C': printf("C"); break; default: printf("D");,输出结果是( ) A. A B. B C. BC D. BCD 【答案】C 14. switch语句中,default的位置( ) A. 必须在所有case之后 B. 必须在所有case之前 C. 可以在任意位置 D. 不能存在 【答案】C 15.若int x = 5;,执行switch (x % 3),case 0: printf("0"); break; case 1: printf("1"); break; case 2: printf("2"); break;,输出结果是( ) A. 0 B. 1 C. 2 D. 无输出 【答案】C 16.以下关于分支结构的说法,错误的是( ) A. if语句可以实现单分支、双分支和多分支结构 B. switch语句适合多分支且条件为常量的情况 C. if语句的条件可以是复杂的逻辑表达式 D. switch语句的case后可以是变量 【答案】D 17.若int a = 3, b = 5;,执行if (a > b) { printf("a大"); } else { printf("b大"); },输出结果是( ) A. a大 B. b大 C. 无输出 D. 编译错误 【答案】B 18.若有int x = 1, y = 2;,则(x > y) ? x++ : y++执行后,x和y的值是( ) A. 1,3 B. 2,2 C. 1,2 D. 2,3 【答案】A 19.若char grade = 'B';,执行switch (grade),case 'A': printf("优秀"); break; case 'B': printf("良好"); case 'C': printf("及格"); break; default: printf("不及格");,输出结果是( ) A. 良好 B. 良好及格 C. 及格 D. 不及格 【答案】B 20.以下代码,当a = 3时,输出结果是( ) if (a == 1) printf("one"); else if (a == 2) printf("two"); else if (a == 3) printf("three"); else printf("other"); A. one B. two C. three D. other 【答案】C 二、阅读程序,写出运行结果。 21.下列程序的运行结果是:____________ #include <stdio.h> void main() { int a = 3, b = 5; if (a > b) if (b > 0) printf("A"); else printf("B"); } 【答案】B 22.下列程序的运行结果是:____________ #include <stdio.h> void main() { int x = 2; switch (x) { case 1: case 2: printf("2"); case 3: printf("3"); break; default: printf("0"); } } 【答案】23 23.下列程序的运行结果是:____________ #include <stdio.h> void main() { int a = 1, b = 2; a = (b > a) ? (++a) : (--b); printf("%d,%d", a, b); } 【答案】2,2 24.下列程序的运行结果是:____________ #include <stdio.h> void main() { int x = 0, y = 5; if (x++ && (y = 10)) printf("yes"); else printf("%d,%d", x, y); } 【答案】1,5 25.下列程序的运行结果是:____________ #include <stdio.h> void main() { char ch = 'B'; switch (ch) { case 'A': printf("1"); break; case 'B': case 'C': printf("2"); case 'D': printf("3"); break; default: printf("4"); } } 【答案】23 26.下列程序的运行结果是:____________ #include <stdio.h> void main() { int x = 3, y = 4; x = (x > y) ? (y++) : (x--); y = (x < y) ? (x++) : (y--); printf("%d,%d", x, y); } 【答案】3,3 27.下列程序的运行结果是:____________ #include <stdio.h> void main() { int x = 5; switch (x % 3) { case 0: printf("0"); break; case 1: printf("1"); break; default: printf("2"); break; } } 【答案】2 28.下列程序的运行结果是:____________ #include <stdio.h> void main() { int score = 60; if (score >= 90) printf("A"); else if (score >= 80) printf("B"); else if (score >= 70) printf("C"); else if (score >= 60) printf("D"); else printf("E"); } 【答案】D 三、程序填空题。 29.下列程序的功能是:判断闰年。 #include <stdio.h> void main() { int year; scanf("%d", &year); if (___①___ || (year % 4 == 0 && year % 100 != 0)) printf("是闰年"); else printf("不是闰年"); } 【答案】① year % 400 == 0 30.下列程序的功能是:字符分类(字母、数字、其他)。 #include <stdio.h> void main() { char ch; scanf(" %c", &ch); // 加空格跳过换行 if (___①___) printf("字母"); else if (___②___) printf("数字"); else printf("其他字符"); } 【答案】 ① (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') ② ch >= '0' && ch <= '9' 学科网(北京)股份有限公司 $

资源预览图

专题4:分支结构程序设计(练习)-《编程语言基础—C语言》(高等教育出版社第5版)高考备考讲练测(湖南省)
1
专题4:分支结构程序设计(练习)-《编程语言基础—C语言》(高等教育出版社第5版)高考备考讲练测(湖南省)
2
专题4:分支结构程序设计(练习)-《编程语言基础—C语言》(高等教育出版社第5版)高考备考讲练测(湖南省)
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。