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

2025-10-29
| 2份
| 21页
| 90人阅读
| 1人下载

内容正文:

编写说明: 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计》考点双析卷专辑,依据省教育厅《湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建 “讲练结合”的学习闭环,特别适用于湖南省普通高等学校对口招生考试第一轮高考复习教学。 本专辑第7卷精准对标湖南省考纲,考试内容及范围【C语言程序设计知识】: (四)条件语句 湖南省普通高等学校对口招生考试 计算机应用类 《C语言程序设计》考点双析卷 第7卷 条件语句 老师讲解卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.给出以下问题: ①求面积为1的正三角形的周长; ②求键盘所输入的三个数的算术平均数; ③求键盘所输入的两个数中较小数; ④求函数当自变量取x0时的函数值. 其中不需要用条件语句来描述算法的问题有(   ) A.1个 B.2个 C.3个 D.4个 【答案】B 2.两次运行下面的程序,如果从键盘上分别输入6 和4,则输出结果是(   ) main( ) { int x; scanf("%d",&x); if(x + + >5) printf("%d",x); else printf("%d ",x - -); } A.7和5 B.6和3 C.7和4 D.6和4 【答案】A 3.if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是(   ) A.必须是逻辑值 B.必须是整数值 C.必须是正数 D.可以是任意合法的数值 【答案】D 4.若执行下面的程序时从键盘上输入3和4,则输出是(   ) main() { int a,b,s; scanf("%d %d",&a,&b); s=a; if(a<b)s=b; s=s*s; printf("%d ",s);} A.14 B.16 C.18 D.20 【答案】B 5.以下运算符中优先级最高的是(   ) A.&& B.+ C.!= D.?: 【答案】B 6.在嵌套使用if语句时,C语言规定else总是(   ) A.和之前与其具有相同缩进位置的if配对 B.和之前与其最近的if配对 C.和之前与其最近的且不带else的if配对 D.和之前的第一个if配对 【答案】C 7.为了避免嵌套的if—else 语句的二义性,C 语言规定else 总是与 组成配对关系。(   ) A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 【答案】C 8.在执行以下程序时,为使输出结果为:t=4,则给a和b输入的值应满足的条件是(   ) Int main(void) { Int  a,b,s,t; scanf(“%d,%d”,&a,&b); s=1;t=1; if(a>0)s=s+1; if(a>b)t=s+t; else if(a==b)  t=5; else t=2*s; printf(“t=%d ”,t); return 0; } A.a>b B.a<b<0 C.0<a<b D.0>a>b 【答案】C 9.有一函数,以下程序段中错误的是(   ) A.if(x>0) y=1 ;          else if(x==0)  y=0;          else y=-1; B.y=0; if(x>0)y=1;          else if(x<0)  y=-1; C.y=0; if(x>=0); if(x>0)y=1;          else   y=-1; D.if  (x>=0) if(x>0)y=1; else    y=0;               else  y=-1; 【答案】C 10.以下程序的运行结果是(   ) main() {int i=1,j=1,k=2; if((j++||k++)&&i++) printf("%d,%d,%d",i,j,k);getch();} A.1,1,2 B.2,2,1 C.2,2,2 D.2,2,3 【答案】C 11.下列程序段的输出结果是(   ) main() {int a=1; if(a--!=1)printf("789"); else printf("13");getch();} A.13 B.789 C.78913 D.有语法错误 【答案】A 12.执行以下程序段的运行结果是(   ) main() {int a=3,b=3,x=3; if(x=a+b) printf("****"); else printf("!!!!");getch();} A.**** B.!!!! C.不能通过编译,有语法错误 D.能通过编译,但不能连接 【答案】A 13.以下程序段的输出结果是(   ) main() {int a=3,b=2,c=4,d; if(a<b) d=b; else d=a; if(d<c)d=c; printf("%d",d);getch();} A.0 B.2 C.3 D.4 【答案】D 14.已知int a=10,b=20;,以下语句中编译时会出错的是(   ) A.if(a>b); B.if(a==b)&&(a!=b) a=a+b; C.if(a!=b)scanf(“%d”,&a);else scanf(“%d”,&b); D.if(a<b){a++;b++;} 【答案】B 15.下列程序段的运行结果是(   ) main() {int a=3,b=2,c=4,d; if(a>b) {d=a;a=b;b=d;} if(b>c) {d=b;b=c;c=d;} printf("%d,%d,%d",a,b,c);getch();} A.4,2,2 B.2,4,3 C.2,3,4 D.3,2,4 【答案】C 16.执行以下程序段的输出结果是(   ) main() {int a=1,b=0; if(!a)b++; else if(a==0) if(a) b+=2; else b+=3; printf("%d ",b);getch();} A.0 B.1 C.2 D.3 【答案】A 17.执行以下程序段的输出结果是(   ) main() {int w=2,x=0,y=2,z=4; printf("%d",(--w)?w*2:y<z?y:x);getch();} A.1 B.2 C.3 D.4 【答案】B 18.执行下列程序段后的输出结果是(   ) main() {int w=2,x=0,y=2,z=4,m; m=w<x?w--:x++; m=m<y?m:y--; m=m<z?m:z++; printf("%d",m);getch();} A.0 B.1 C.2 D.3 【答案】A 19.在C语言中,为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与 配对(   ) A.缩排位置相同的if B.同一行上的if C.其之后最近的if D.其之前最近且没有else配对的if 【答案】D 20.若给定条件表达式:(M)?(a++):(a--),则表达式“(M)”与 等价(   ) A.(M==0) B.(M==1) C.(M!=0) D.(M!=1) 【答案】C 二、程序设计题(本大题共4小题,每题10分,共40分) 21.企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? #include<stdio.h> #include<conio.h> main(){ long int i; int bonus; /*******space*******/ /*******space*******/ } 【答案】scanf("%d",&i); if(i<100000) bonus=i*0.1; else if(x<200000) bonus=100000*0.1+(i-100000)*0.075; else if(x<400000) bonus=100000*0.1+100000*0.075+(i-200000)*0.05; elseif (x<600000) bonus=100000*0.1+100000*0.075+200000*0.05+(i-400000)*0.03; else if(x<1000000) bonus=100000*0.1+100000*0.075+200000*0.05+200000*0.03+(i-600000)*0.01 else bonus=100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.01+ (i-1000000)*0.01; 【详解】考察点依然是多重分支结果,结合数学里的分段函数进行考察,属于应用题。 满足不同的区间段计算不同的奖金。 22.对输入的任何一个年份判断是否是闰年,将结果输出    #include<stdio.h>    main(){     int year;         scanf("%d",&year); /*******space*******/         /*******space*******/    } 【答案】if((year%4==0 && year%100!=0) || (year%400==0)) { printf("%d年是闰年",year); }else{ printf("%d年不是闰年",year); } 【详解】闰年分为普通闰年和超级闰年,普通闰年是满足能被4整除但不能被100整除,超级闰年是能被400整除。当然不管是什么闰年,都满足能被4整除,但此题得分点要分开书写,即普通闰年和超级闰年的条件要分开书写。 23.输入一个数,如果输入是正数,显示“输入的数大于零”;如果输入是零,显示“输入的数等于零”;如果输入小于零,显示“输入小于零”    #include<stdio.h>    main(){            int x;         scanf("%d",&x); /*******space*******/ /*******space*******/    } 【答案】if(x>0){ printf("输入的数大于零"); } else if(x==0){ printf("输入的数等于零"); } else{ printf("输入小于零"); } 【详解】考察多重分支结构if-elseif-else语句。 24.编写程序输入三位数(100—999),然后按数字逆序输出   #include <stdio.h> void main() { int n,ge,shi,bai; scanf("%d",&n); /*******space*******/ /*******space*******/ } 【答案】if(x<100 || x>999) { printf("输入的数据有误"); } else{ ge=n%10; shi=n/10%10; bai=n/100%10; printf("%d%d%d",ge,shi,bai); } 【详解】题目要求输入的数是三位数,所以对输入的数做判断先,不满足要求的数做提示。满足要求的数进行数位分离后输出即可,注意是逆序输出,即先输出个位。 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $ 编写说明: 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计》考点双析卷专辑,依据省教育厅《湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建 “讲练结合”的学习闭环,特别适用于湖南省普通高等学校对口招生考试第一轮高考复习教学。 本专辑第7卷精准对标湖南省考纲,考试内容及范围【C语言程序设计知识】: (四)条件语句 湖南省普通高等学校对口招生考试 计算机应用类 《C语言程序设计》考点双析卷 第7卷 条件语句 老师讲解卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.给出以下问题: ①求面积为1的正三角形的周长; ②求键盘所输入的三个数的算术平均数; ③求键盘所输入的两个数中较小数; ④求函数当自变量取x0时的函数值. 其中不需要用条件语句来描述算法的问题有(   ) A.1个 B.2个 C.3个 D.4个 2.两次运行下面的程序,如果从键盘上分别输入6 和4,则输出结果是(   ) main( ) { int x; scanf("%d",&x); if(x + + >5) printf("%d",x); else printf("%d ",x - -); } A.7和5 B.6和3 C.7和4 D.6和4 3.if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是(   ) A.必须是逻辑值 B.必须是整数值 C.必须是正数 D.可以是任意合法的数值 4.若执行下面的程序时从键盘上输入3和4,则输出是(   ) main() { int a,b,s; scanf("%d %d",&a,&b); s=a; if(a<b)s=b; s=s*s; printf("%d ",s);} A.14 B.16 C.18 D.20 5.以下运算符中优先级最高的是(   ) A.&& B.+ C.!= D.?: 6.在嵌套使用if语句时,C语言规定else总是(   ) A.和之前与其具有相同缩进位置的if配对 B.和之前与其最近的if配对 C.和之前与其最近的且不带else的if配对 D.和之前的第一个if配对 7.为了避免嵌套的if—else 语句的二义性,C 语言规定else 总是与 组成配对关系。(   ) A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 8.在执行以下程序时,为使输出结果为:t=4,则给a和b输入的值应满足的条件是(   ) Int main(void) { Int  a,b,s,t; scanf(“%d,%d”,&a,&b); s=1;t=1; if(a>0)s=s+1; if(a>b)t=s+t; else if(a==b)  t=5; else t=2*s; printf(“t=%d ”,t); return 0; } A.a>b B.a<b<0 C.0<a<b D.0>a>b 9.有一函数,以下程序段中错误的是(   ) A.if(x>0) y=1 ;          else if(x==0)  y=0;          else y=-1; B.y=0; if(x>0)y=1;          else if(x<0)  y=-1; C.y=0; if(x>=0); if(x>0)y=1;          else   y=-1; D.if  (x>=0) if(x>0)y=1; else    y=0;               else  y=-1; 10.以下程序的运行结果是(   ) main() {int i=1,j=1,k=2; if((j++||k++)&&i++) printf("%d,%d,%d",i,j,k);getch();} A.1,1,2 B.2,2,1 C.2,2,2 D.2,2,3 11.下列程序段的输出结果是(   ) main() {int a=1; if(a--!=1)printf("789"); else printf("13");getch();} A.13 B.789 C.78913 D.有语法错误 12.执行以下程序段的运行结果是(   ) main() {int a=3,b=3,x=3; if(x=a+b) printf("****"); else printf("!!!!");getch();} A.**** B.!!!! C.不能通过编译,有语法错误 D.能通过编译,但不能连接 13.以下程序段的输出结果是(   ) main() {int a=3,b=2,c=4,d; if(a<b) d=b; else d=a; if(d<c)d=c; printf("%d",d);getch();} A.0 B.2 C.3 D.4 14.已知int a=10,b=20;,以下语句中编译时会出错的是(   ) A.if(a>b); B.if(a==b)&&(a!=b) a=a+b; C.if(a!=b)scanf(“%d”,&a);else scanf(“%d”,&b); D.if(a<b){a++;b++;} 15.下列程序段的运行结果是(   ) main() {int a=3,b=2,c=4,d; if(a>b) {d=a;a=b;b=d;} if(b>c) {d=b;b=c;c=d;} printf("%d,%d,%d",a,b,c);getch();} A.4,2,2 B.2,4,3 C.2,3,4 D.3,2,4 16.执行以下程序段的输出结果是(   ) main() {int a=1,b=0; if(!a)b++; else if(a==0) if(a) b+=2; else b+=3; printf("%d ",b);getch();} A.0 B.1 C.2 D.3 17.执行以下程序段的输出结果是(   ) main() {int w=2,x=0,y=2,z=4; printf("%d",(--w)?w*2:y<z?y:x);getch();} A.1 B.2 C.3 D.4 18.执行下列程序段后的输出结果是(   ) main() {int w=2,x=0,y=2,z=4,m; m=w<x?w--:x++; m=m<y?m:y--; m=m<z?m:z++; printf("%d",m);getch();} A.0 B.1 C.2 D.3 19.在C语言中,为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与 配对(   ) A.缩排位置相同的if B.同一行上的if C.其之后最近的if D.其之前最近且没有else配对的if 20.若给定条件表达式:(M)?(a++):(a--),则表达式“(M)”与 等价(   ) A.(M==0) B.(M==1) C.(M!=0) D.(M!=1) 二、程序设计题(本大题共4小题,每题10分,共40分) 21.企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? #include<stdio.h> #include<conio.h> main(){ long int i; int bonus; /*******space*******/ /*******space*******/ } 22.对输入的任何一个年份判断是否是闰年,将结果输出    #include<stdio.h>    main(){     int year;         scanf("%d",&year); /*******space*******/         /*******space*******/    } 23.输入一个数,如果输入是正数,显示“输入的数大于零”;如果输入是零,显示“输入的数等于零”;如果输入小于零,显示“输入小于零”    #include<stdio.h>    main(){            int x;         scanf("%d",&x); /*******space*******/ /*******space*******/    } 24.编写程序输入三位数(100—999),然后按数字逆序输出   #include <stdio.h> void main() { int n,ge,shi,bai; scanf("%d",&n); /*******space*******/ /*******space*******/ } 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $

资源预览图

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