第8卷 条件语句 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计知识考点双析卷》

2025-10-29
| 2份
| 22页
| 112人阅读
| 1人下载

内容正文:

编写说明: 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计》考点双析卷专辑,依据省教育厅《湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建 “讲练结合”的学习闭环,特别适用于湖南省普通高等学校对口招生考试第一轮高考复习教学。 本专辑第8卷精准对标湖南省考纲,考试内容及范围【C语言程序设计知识】: (四)条件语句 湖南省普通高等学校对口招生考试 计算机应用类 《C语言程序设计》考点双析卷 第8卷 条件语句 学生练习卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.设有语句段:int a=3,b=2,c=1;c=5?a++:b--;printf(“%d”,c);则输出结果为(   ) A.2 B.3 C.4 D.5 2.已知int a=0,b=4;,下列语句中i++;语句能够执行的是(   ) A.if(a)i++; B.if(a=b)i++; C.if(a>=b)i++; D.if(!(b-a))i++; 3.C语言中,if语句用做条件判断的表达式为(   ) A.关系表达式 B.逻辑表达式 C.算术表达式 D.任意表达式 4.以下if语句中(设变量均已正确定义),编译时会出错的是(   ) A.if(i<j); B.if(i==j)i=0,j++; C.if(i<j)i=0,else j=0; D.if(i!=j) i=j; 5.下列程序的运行结果是(   ) main() { int m=5; if(m++>5) printf("%d",--m); else printf("%d",m++);getch();} A.4 B.5 C.6 D.7 6.下列程序段的输出结果是(   ) main() { int a=5,b=1,c=0; if(a==b+c) printf("2024") else printf("2023");getch();} A.有语法错误,不能通过编译 B.可以通过编译,但不能通过连接 C.输出:2023 D.输出:2024 7.下列if语句形式中,不正确的一项是(   ) A.if(x!=1000) y++; B.if(x==y) x=x*y; C.if(x==y) {x++;y++;} D.if(x!=y) scanf("%d",&x) else scanf("%d",&y); 8.若变量已正确定义,有以下程序段,则其输出结果是(   ) int a=3,b=5,c=7; if(a>b) a=b;c=a; printf("%d,%d,%d",a,b,c); A.3,5,3 B.3,5,5 C.3,5,7 D.3,3,5 9.if (c >= '0' && c <= '9') 判断的是c是否是(   ) A.大写字母 B.小写字母 C.数字字符 D.运算符 10.执行以下程序的输出结果是(   ) void fun(char c) {if(c>'x')  fun(c-1); printf ("%c",c);} main() {fun('z');getch();} A.xyz B.wxyz C.zyxw D.zyx 11.执行以下程序的输出结果是(   ) void  fun (int  x) {  if (x/5>0)  fun(x/5); printf("%d ",x) ;} main( ) { fun(11);  printf(" ");getch();} A.2 11 B.3 11 C.2 12 D.2 17 12.执行以下程序的输出结果是(   ) int fun (int x,int y) { if (x!=y)  return  ((x+y)/2); else  return (x);} main() { int a=4,b=5,c=6; printf("%d ",fun(2*a,fun(b,c)));getch();} A.3 B.6 C.8 D.12 13.执行以下程序的输出结果是(   ) void fun(int x) {if(x<10)printf("yes"); else printf("no");} main() {fun(10);getch();} A.no B.yes C.有语法错误 D.可以通过编译但不能执行 14.在下述程序中,判断i>j共执行的次数是(   ) main() { int i=0, j=10, k=2, s=0; for (;;) { i+=k; if(i>j) { printf("%d",s); break; } s+=i; } } A.4 B.5 C.6 D.7 15.以下是if语句的基本形式:if(表达式)语句,其中“表达式” (   ) A.必须是逻辑表达式 B.必须是关系表达式 C.必须是逻辑表达式或关系表达式 D.可以是任意合法的表达式 16.下列程序的运行结果为(   ) #include<stdio.h> main() {int a=2,b=-1,c=2; if(a<b) if(b<0)c=0; else c+=1; printf("%d ", c); } A.0 B.1 C.2 D.3 17.阅读下列程序,其运行结果是(   ) #include<stdio.h> main() { char c='A'; if('0'<=c<='39') printf(" YES"); else printf(" NO"); } A.YES B.NO C.YESNO D.语句错误 18.若有说明:int,y;不能实现以下函数关系的程序段是(   ) A.if(x<0)y=-1; else if(x==0)y=0; else y=1; B.y=-1; if(x!=0) if(x>0)y=1; else y=0; C.y=0; if(x>=0) {if(x>0)y=1;} D.if(x>=0) 19.若w=1,x=2,y=3,z=4;,则条件表达式w>x?w:y<z?y:z的结果为 (   ) A.4 B.3 C.2 D.1 20.下列程序的输出结果是(   ) #include <stdio.h> main() { int i, s = 0; for (i = 1; i < 10; i++)   if (!(i % 2) && !(i % 3))    s += i; printf("%d ", s); } A.5 B.6 C.7 D.8 二、程序设计题(本大题共4小题,每题10分,共40分) 21.输入月份和订购机票的数量,计算机票优惠率并输出。计算规则如表所示。 月份m {7,8,9} {1~5,10,11} {6,12} 数量n n>=20 n<20 n>=20 n<20 优惠率r(%) 15 5 30 20 10 22.输入图书的定价和数量,计算购书金额并输出。其中,图书销售策略为:正常情况下按九折出售,超过十本按八五折出售,超过100本按八折出售。 23.代码实现输入一个 n×m 的矩阵,查找并输出其鞍点(某元素在行中最大,在列中最小)。 24.输入三角形的三条边,判断能否构成三角形,若能,判断是直角三角形,还是等边三角形,还是等腰三角形或一般三角形。    #include<stdio.h>    void main(){         float a,b,c;         /*******space*******/        /*******space*******/    } 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $ 编写说明: 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计》考点双析卷专辑,依据省教育厅《湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建 “讲练结合”的学习闭环,特别适用于湖南省普通高等学校对口招生考试第一轮高考复习教学。 本专辑第8卷精准对标湖南省考纲,考试内容及范围【C语言程序设计知识】: (四)条件语句 湖南省普通高等学校对口招生考试 计算机应用类 《C语言程序设计》考点双析卷 第8卷 条件语句 学生练习卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.设有语句段:int a=3,b=2,c=1;c=5?a++:b--;printf(“%d”,c);则输出结果为(   ) A.2 B.3 C.4 D.5 【答案】B 2.已知int a=0,b=4;,下列语句中i++;语句能够执行的是(   ) A.if(a)i++; B.if(a=b)i++; C.if(a>=b)i++; D.if(!(b-a))i++; 【答案】B 3.C语言中,if语句用做条件判断的表达式为(   ) A.关系表达式 B.逻辑表达式 C.算术表达式 D.任意表达式 【答案】D 4.以下if语句中(设变量均已正确定义),编译时会出错的是(   ) A.if(i<j); B.if(i==j)i=0,j++; C.if(i<j)i=0,else j=0; D.if(i!=j) i=j; 【答案】C 5.下列程序的运行结果是(   ) main() { int m=5; if(m++>5) printf("%d",--m); else printf("%d",m++);getch();} A.4 B.5 C.6 D.7 【答案】D 6.下列程序段的输出结果是(   ) main() { int a=5,b=1,c=0; if(a==b+c) printf("2024") else printf("2023");getch();} A.有语法错误,不能通过编译 B.可以通过编译,但不能通过连接 C.输出:2023 D.输出:2024 【答案】A 7.下列if语句形式中,不正确的一项是(   ) A.if(x!=1000) y++; B.if(x==y) x=x*y; C.if(x==y) {x++;y++;} D.if(x!=y) scanf("%d",&x) else scanf("%d",&y); 【答案】D 8.若变量已正确定义,有以下程序段,则其输出结果是(   ) int a=3,b=5,c=7; if(a>b) a=b;c=a; printf("%d,%d,%d",a,b,c); A.3,5,3 B.3,5,5 C.3,5,7 D.3,3,5 【答案】B 9.if (c >= '0' && c <= '9') 判断的是c是否是(   ) A.大写字母 B.小写字母 C.数字字符 D.运算符 【答案】C 【详解】ASCII码中,'0'~'9'是连续的48~57。c >= '0' && c <= '9'检查c的ASCII值是否在48~57之间。 10.执行以下程序的输出结果是(   ) void fun(char c) {if(c>'x')  fun(c-1); printf ("%c",c);} main() {fun('z');getch();} A.xyz B.wxyz C.zyxw D.zyx 【答案】A 【详解】递归调用条件 c > 'x'('x'的ASCII为120),'z'(122)和'y'(121)满足条件,'x'(120)不满足。   执行顺序: fun('z') 调用 fun('y') fun('y') 调用 fun('x')   fun('x') 不递归,直接打印 x   返回到 fun('y'),打印 y   返回到 fun('z'),打印 z   输出为xyz。 11.执行以下程序的输出结果是(   ) void  fun (int  x) {  if (x/5>0)  fun(x/5); printf("%d ",x) ;} main( ) { fun(11);  printf(" ");getch();} A.2 11 B.3 11 C.2 12 D.2 17 【答案】A 12.执行以下程序的输出结果是(   ) int fun (int x,int y) { if (x!=y)  return  ((x+y)/2); else  return (x);} main() { int a=4,b=5,c=6; printf("%d ",fun(2*a,fun(b,c)));getch();} A.3 B.6 C.8 D.12 【答案】B 13.执行以下程序的输出结果是(   ) void fun(int x) {if(x<10)printf("yes"); else printf("no");} main() {fun(10);getch();} A.no B.yes C.有语法错误 D.可以通过编译但不能执行 【答案】A 14.在下述程序中,判断i>j共执行的次数是(   ) main() { int i=0, j=10, k=2, s=0; for (;;) { i+=k; if(i>j) { printf("%d",s); break; } s+=i; } } A.4 B.5 C.6 D.7 【答案】C 15.以下是if语句的基本形式:if(表达式)语句,其中“表达式” (   ) A.必须是逻辑表达式 B.必须是关系表达式 C.必须是逻辑表达式或关系表达式 D.可以是任意合法的表达式 【答案】D 16.下列程序的运行结果为(   ) #include<stdio.h> main() {int a=2,b=-1,c=2; if(a<b) if(b<0)c=0; else c+=1; printf("%d ", c); } A.0 B.1 C.2 D.3 【答案】C 17.阅读下列程序,其运行结果是(   ) #include<stdio.h> main() { char c='A'; if('0'<=c<='39') printf(" YES"); else printf(" NO"); } A.YES B.NO C.YESNO D.语句错误 【答案】A 18.若有说明:int,y;不能实现以下函数关系的程序段是(   ) A.if(x<0)y=-1; else if(x==0)y=0; else y=1; B.y=-1; if(x!=0) if(x>0)y=1; else y=0; C.y=0; if(x>=0) {if(x>0)y=1;} D.if(x>=0) 【答案】B 19.若w=1,x=2,y=3,z=4;,则条件表达式w>x?w:y<z?y:z的结果为 (   ) A.4 B.3 C.2 D.1 【答案】B 20.下列程序的输出结果是(   ) #include <stdio.h> main() { int i, s = 0; for (i = 1; i < 10; i++)   if (!(i % 2) && !(i % 3))    s += i; printf("%d ", s); } A.5 B.6 C.7 D.8 【答案】B 二、程序设计题(本大题共4小题,每题10分,共40分) 21.输入月份和订购机票的数量,计算机票优惠率并输出。计算规则如表所示。 月份m {7,8,9} {1~5,10,11} {6,12} 数量n n>=20 n<20 n>=20 n<20 优惠率r(%) 15 5 30 20 10 【答案】#include <stdio.h> main() {     float r;     int month, num;     printf("请输入月份和机票数量:");     scanf("%d%d", &month, &num);     if (month == 6 || month == 12)         r = 0.1;     else if (month == 7 || month == 8 || month == 9) {         if (num >= 20)             r = 0.15;         else             r = 0.05;     } else {         if (num >= 20)             r = 0.3;         else             r = 0.2;     }     printf("优惠率为:%.2f", r); } 22.输入图书的定价和数量,计算购书金额并输出。其中,图书销售策略为:正常情况下按九折出售,超过十本按八五折出售,超过100本按八折出售。 【答案】#include <stdio.h> main() {     float price, r; //r为折扣     int num;     printf("请输入定价和数量:");     scanf("%f %d", &price,&num);     if (num <= 10)         r = 0.9;     else if (num <= 100)         r = 0.85;     else         r = 0.8;     printf("购书金额为:%.2f", num * price * r); } 23.代码实现输入一个 n×m 的矩阵,查找并输出其鞍点(某元素在行中最大,在列中最小)。 【答案】#include <stdio.h> int main() {     int n, m;     scanf("%d %d", &n, &m);          int matrix[100][100];     // 读取矩阵     for (int i = 0; i < n; i++) {         for (int j = 0; j < m; j++) {             scanf("%d", &matrix[i][j]);         }     }          int hasSaddle = 0;     // 遍历每一行     for (int i = 0; i < n; i++) {         // 找到当前行的最大值及其列号         int max_col = 0;         for (int j = 1; j < m; j++) {             if (matrix[i][j] > matrix[i][max_col]) {                 max_col = j;             }         }                  // 检查该元素是否是所在列的最小值         int isMin = 1;         for (int k = 0; k < n; k++) {             if (matrix[k][max_col] < matrix[i][max_col]) {                 isMin = 0;                 break;             }         }                  // 如果是鞍点,则输出并标记         if (isMin) {             printf("鞍点为:%d(第%d行第%d列) ", matrix[i][max_col], i, max_col);             hasSaddle = 1;         }     }          // 如果没有找到鞍点     if (!hasSaddle) {         printf("矩阵中没有鞍点 ");     }          return 0; } 24.输入三角形的三条边,判断能否构成三角形,若能,判断是直角三角形,还是等边三角形,还是等腰三角形或一般三角形。    #include<stdio.h>    void main(){         float a,b,c;         /*******space*******/        /*******space*******/    } 【答案】if(a+b>c && a+c>b && b+c>a){            if(a==b && b==c){                printf("等边三角形");            }            else if(a==b || b==c || a==c){                printf("等腰三角形");            }            else if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a){                printf("直角三角形");            }            else{                printf("一般三角形");            } } 【详解】构成三角形的必要条件是任意两边之和大于第三边,等边三角形的必要条件是三边相等,等腰三角形是任意两边相等,直角三角形根据勾股定理,其它情况则是一般三角形。 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $

资源预览图

第8卷 条件语句 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计知识考点双析卷》
1
第8卷 条件语句 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计知识考点双析卷》
2
第8卷 条件语句 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计知识考点双析卷》
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。