第18卷 条件语句 广西对口考试-电子与信息类《C语言程序设计》考点双析卷

2025-10-31
| 2份
| 20页
| 120人阅读
| 0人下载

内容正文:

编写说明:广西高等职业教育考试-电子与信息类《C语言程序设计》考点双析卷专辑,依据省教育厅《广西高等职业教育考试大纲与说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于广西高等职业教育考试第一轮高考复习教学。 本专辑第18卷精准对标广西壮族自治区考纲,考试内容及范围【C语言程序设计】: (三)选择结构程序设计:掌握 if 语句的使用,以及条件运算符和条件表达式 广西高等职业教育考试 电子与信息类 《C语言程序设计》考点双析卷 第18卷 条件语句 学生练习卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.执行以下程序段的输出结果是(   ) int x=5; if(x>7) {if(x<13) printf("left! ");} else printf("right! "); A.left! B.rigth! C.left!right! D.right!left! 【答案】B 2.执行以下程序段时输入:8<回车>,输出结果为(   ) int w,x=0,y=0;scanf("%d",&w); if(w==0) printf("error!"); if(w>0) x+=w++; else if(w>10) y-=++w; else printf("%d ",w); printf("%d,%d,%d",w,x,y); A.8,8,8 B.9,8,0 C.0,8,9 D.8,0,0 【答案】B 3.执行以下程序段的输出结果是(   ) int a=1,b=2,c=3; if(a%b&&b/c) if(a++) printf("%d",a); printf("%d",a); A.0 B.1 C.2 D.3 【答案】B 4.执行以下程序段时输入:5<回车>,输出结果是(   ) int x;scanf("%d",&x); if(x!=0) if(x>0) printf("%d",x+=x++); else if(x<0)printf("%d",x-=x--); else printf("error!"); A.12 B.error! C.0 D.10 【答案】D 5.执行以下程序段后的输出结果是(   ) int x=2,y=-1,z=-2; if(x<y) if(y<0) z=0; else z*=5;printf("%d",z); A.-1 B.0 C.1 D.-2 【答案】D 6.执行以下程序段的输出结果是(   ) int a;scanf("%d",&a);printf("%d",a); if(a<50) printf("%d",a); if(a>40) if(a>45) printf("%d",a); else printf("%d",a); A.58585858 B.585858 C.5858 D.58 【答案】C 7.执行以下程序段的输出结果是(   ) int a=10,b=4,c=7,s; if(a<b) s=a*b+2; else if(a<c) s=a*c+2; else if(b<c) s=b*c+2; else s=34; printf("%d",s); A.30 B.42 C.72 D.34 【答案】A 8.执行以下程序的输出结果是(   ) int m=5; if(m++>5) if(m++>5) printf("%d",m--); else if(m!=6) printf("%d",m); else printf("%d",--m);printf("%d",m+=4); A.10 B.6 C.5 D.7 【答案】A 9.执行以下程序段的输出结果是(   )     int i=0;     if(i==0)     if(++i<0)printf("##");     else     if(i++>++i) printf("$$");     printf("%d",i); A.3 B.2 C.##2 D.$$3 【答案】A 10.以下不正确的if语句形式是(   ) A.if(x>y&&x!=y); B.if(x!=y) x+=y; C.if(x==y) printf(“%d”,x) else printf(“%d”,y); D.if(x<y){x++;y++;} 【答案】C 11.执行以下程序段的输出结果是(   ) main() {int i=-1; if(i<=0) printf("**** ") else printf("%%%% ");} A.**** B.%%%%c C.%%%% D.有语法错,不能正确执行 【答案】B 【详解】缺少分号,有语法错。 12.执行以下程序段的输出结果是(   ) int x=8,y=-10,z=2;if(x<y) if(y<0) z=2;else z=-2;printf("%d",z); A.2 B.-2 C.8 D.-10 【答案】A 13.执行以下程序段的输出结果是(   ) int n=2;if(n++%3) printf("&");else printf("$"); A.& B.$ C.有语法错导致编译出错 D.无语法错但连接出错 【答案】A 14.执行以下程序段后的输出结果是(   ) int x=10,y=20;if(!x)y++;else if(x==0) if(x) y+=2;else y+=3;printf("%d",y); A.23 B.22 C.21 D.20 【答案】D 15.下列条件语句中,输出结果与其他语句不同的是(   ) A.if(x) printf(“%d”,a); else printf(“%d”,b); B.if(x==0) printf(“%d”,b); else printf(“%d”,a); C.if(x!=0) printf(“%d”,a); else printf(“%d”,b); D.if(x==0) printf(“%d”,a); else printf(“%d”,b); 【答案】D 16.设以下变量均已正确定义并赋值,则下列不正确的语句是(   ) A.if(x>y) x++; B.if(x=y)&&(x!=0) x+=y; C.if(x!=y) x++;else y++; D.if(x>y) {x--;y--;} 【答案】B 17.以下程序段中,与表达式:k=a>b?(b>c?1:0):0;功能相同的是(   ) A.if(a>b&&b>c) k=1;else k=0; B.if(a>b||b>c) k=1;else k=0; C.if(a<=b) k=0;else if(b<=c) k=1; D.if(a>b) k=1;else if(b>c) k=1;else k=0; 【答案】A 18.已有定义:int a=10,b=20,c=30;,执行语句:if(a>b) c=a;a=b;b=c; printf("%d,%d,%d",a,b,c);后的输出结果是(   ) A.10,20,30 B.20,30,10 C.20,30,20 D.20,30,30 【答案】D 19.执行以下程序段的输出结果是(   ) void f(int v,int w) {int t;t=v;v=w;w=t;} main() {int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); printf("%d,%d,%d ",x,y,z);getch();} A.1,3,2 B.1,2,2 C.1,2,3 D.2,3,1 【答案】A 20.以下代码的输出结果是(   ) int x = 0; if (x = 0)     printf("True"); else     printf("False"); A.True B.False C.编译错误 D.不确定 【答案】B 二、判断题判断题(本大题共5小题,每题2分,共10分) 21.iif (x = 5) 是合法的条件表达式。( ) 【答案】正确 22.iif-else if 结构中的条件是按顺序判断的。( ) 【答案】正确 23.if 语句的条件表达式可以是任意类型。( ) 【答案】错误 24.if-else链中,多个else会与最近的if配对。( ) 【答案】正确 【详解】C语言中else默认与最近的未配对if结合。 25.条件运算符?:的结合方向是从右到左,例如a ? b : c ? d : e等价于a ? b : (c ? d : e)。( ) 【答案】正确 三、程序设计题(本大题共3小题,每题10分,共30分) 26.企业发放的奖金根据利润提成。利润(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; 【详解】考察点依然是多重分支结果,结合数学里的分段函数进行考察,属于应用题。 满足不同的区间段计算不同的奖金。 27.对输入的任何一个年份判断是否是闰年,将结果输出    #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整除,但此题得分点要分开书写,即普通闰年和超级闰年的条件要分开书写。 28.输入一个数,如果输入是正数,显示“输入的数大于零”;如果输入是零,显示“输入的数等于零”;如果输入小于零,显示“输入小于零”    #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语句。 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $ 编写说明:广西高等职业教育考试-电子与信息类《C语言程序设计》考点双析卷专辑,依据省教育厅《广西高等职业教育考试大纲与说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于广西高等职业教育考试第一轮高考复习教学。 本专辑第18卷精准对标广西壮族自治区考纲,考试内容及范围【C语言程序设计】: (三)选择结构程序设计:掌握 if 语句的使用,以及条件运算符和条件表达式 广西高等职业教育考试 电子与信息类 《C语言程序设计》考点双析卷 第18卷 条件语句 学生练习卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.执行以下程序段的输出结果是(   ) int x=5; if(x>7) {if(x<13) printf("left! ");} else printf("right! "); A.left! B.rigth! C.left!right! D.right!left! 2.执行以下程序段时输入:8<回车>,输出结果为(   ) int w,x=0,y=0;scanf("%d",&w); if(w==0) printf("error!"); if(w>0) x+=w++; else if(w>10) y-=++w; else printf("%d ",w); printf("%d,%d,%d",w,x,y); A.8,8,8 B.9,8,0 C.0,8,9 D.8,0,0 3.执行以下程序段的输出结果是(   ) int a=1,b=2,c=3; if(a%b&&b/c) if(a++) printf("%d",a); printf("%d",a); A.0 B.1 C.2 D.3 4.执行以下程序段时输入:5<回车>,输出结果是(   ) int x;scanf("%d",&x); if(x!=0) if(x>0) printf("%d",x+=x++); else if(x<0)printf("%d",x-=x--); else printf("error!"); A.12 B.error! C.0 D.10 5.执行以下程序段后的输出结果是(   ) int x=2,y=-1,z=-2; if(x<y) if(y<0) z=0; else z*=5;printf("%d",z); A.-1 B.0 C.1 D.-2 6.执行以下程序段的输出结果是(   ) int a;scanf("%d",&a);printf("%d",a); if(a<50) printf("%d",a); if(a>40) if(a>45) printf("%d",a); else printf("%d",a); A.58585858 B.585858 C.5858 D.58 7.执行以下程序段的输出结果是(   ) int a=10,b=4,c=7,s; if(a<b) s=a*b+2; else if(a<c) s=a*c+2; else if(b<c) s=b*c+2; else s=34; printf("%d",s); A.30 B.42 C.72 D.34 8.执行以下程序的输出结果是(   ) int m=5; if(m++>5) if(m++>5) printf("%d",m--); else if(m!=6) printf("%d",m); else printf("%d",--m);printf("%d",m+=4); A.10 B.6 C.5 D.7 9.执行以下程序段的输出结果是(   )     int i=0;     if(i==0)     if(++i<0)printf("##");     else     if(i++>++i) printf("$$");     printf("%d",i); A.3 B.2 C.##2 D.$$3 10.以下不正确的if语句形式是(   ) A.if(x>y&&x!=y); B.if(x!=y) x+=y; C.if(x==y) printf(“%d”,x) else printf(“%d”,y); D.if(x<y){x++;y++;} 11.执行以下程序段的输出结果是(   ) main() {int i=-1; if(i<=0) printf("**** ") else printf("%%%% ");} A.**** B.%%%%c C.%%%% D.有语法错,不能正确执行 12.执行以下程序段的输出结果是(   ) int x=8,y=-10,z=2;if(x<y) if(y<0) z=2;else z=-2;printf("%d",z); A.2 B.-2 C.8 D.-10 13.执行以下程序段的输出结果是(   ) int n=2;if(n++%3) printf("&");else printf("$"); A.& B.$ C.有语法错导致编译出错 D.无语法错但连接出错 14.执行以下程序段后的输出结果是(   ) int x=10,y=20;if(!x)y++;else if(x==0) if(x) y+=2;else y+=3;printf("%d",y); A.23 B.22 C.21 D.20 15.下列条件语句中,输出结果与其他语句不同的是(   ) A.if(x) printf(“%d”,a); else printf(“%d”,b); B.if(x==0) printf(“%d”,b); else printf(“%d”,a); C.if(x!=0) printf(“%d”,a); else printf(“%d”,b); D.if(x==0) printf(“%d”,a); else printf(“%d”,b); 16.设以下变量均已正确定义并赋值,则下列不正确的语句是(   ) A.if(x>y) x++; B.if(x=y)&&(x!=0) x+=y; C.if(x!=y) x++;else y++; D.if(x>y) {x--;y--;} 17.以下程序段中,与表达式:k=a>b?(b>c?1:0):0;功能相同的是(   ) A.if(a>b&&b>c) k=1;else k=0; B.if(a>b||b>c) k=1;else k=0; C.if(a<=b) k=0;else if(b<=c) k=1; D.if(a>b) k=1;else if(b>c) k=1;else k=0; 18.已有定义:int a=10,b=20,c=30;,执行语句:if(a>b) c=a;a=b;b=c; printf("%d,%d,%d",a,b,c);后的输出结果是(   ) A.10,20,30 B.20,30,10 C.20,30,20 D.20,30,30 19.执行以下程序段的输出结果是(   ) void f(int v,int w) {int t;t=v;v=w;w=t;} main() {int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); printf("%d,%d,%d ",x,y,z);getch();} A.1,3,2 B.1,2,2 C.1,2,3 D.2,3,1 20.以下代码的输出结果是(   ) int x = 0; if (x = 0)     printf("True"); else     printf("False"); A.True B.False C.编译错误 D.不确定 二、判断题判断题(本大题共5小题,每题2分,共10分) 21.iif (x = 5) 是合法的条件表达式。( ) 22.iif-else if 结构中的条件是按顺序判断的。( ) 23.if 语句的条件表达式可以是任意类型。( ) 24.if-else链中,多个else会与最近的if配对。( ) 25.条件运算符?:的结合方向是从右到左,例如a ? b : c ? d : e等价于a ? b : (c ? d : e)。( ) 三、程序设计题(本大题共3小题,每题10分,共30分) 26.企业发放的奖金根据利润提成。利润(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*******/ } 27.对输入的任何一个年份判断是否是闰年,将结果输出    #include<stdio.h>    main(){     int year;         scanf("%d",&year); /*******space*******/         /*******space*******/    } 28.输入一个数,如果输入是正数,显示“输入的数大于零”;如果输入是零,显示“输入的数等于零”;如果输入小于零,显示“输入小于零”    #include<stdio.h>    main(){            int x;         scanf("%d",&x); /*******space*******/ /*******space*******/    } 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $

资源预览图

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