内容正文:
编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。
本试卷是第51卷,为专题训练卷,按“分支程序设计”专题范围和要求编写。具体内容为:(1)理解关系表达式和逻辑表达式;(2)掌握条件语句(if语句)和多分支语句(switch语句)的用法。
山东省春季高考统一考试
软件与应用技术类《考纲百套卷》
第51卷 专题训练——分支程序设计
(考试时间:45分钟 满分:100分)
一、选择题(共20题,每题3分,共60分)
1.若a=6、b=6、c=3,表达式a==b&&b>c的值是( )
A.0
B.3
C.1
D.6
【答案】C
【解析】a==b和b>c都成立,两个关系条件用逻辑与连接后结果为1。
2.在if(value)中,若value=-1,条件按( )处理
A.假值
B.真值
C.字符值
D.错误值
【答案】B
【解析】C语言中0表示假,非0值表示真,-1属于非0值,所以条件按真值处理。
3.若m=5、n=5,表达式m!=n||m<n的值是( )
A.0
B.1
C.5
D.-1
【答案】A
【解析】m!=n和m<n都不成立,逻辑或的两个操作数均为假,因此结果为0。
4.若x=4、y=7,表达式x+y==11&&y>6的值是( )
A.0
B.4
C.7
D.1
【答案】D
【解析】x+y等于11且y大于6,两个关系条件均成立,逻辑与结果为1。
5.若p=0、q=8,表达式!(p==0)||q>5的值是( )
A.1
B.0
C.5
D.8
【答案】A
【解析】!(p==0)为假,但q>5为真,逻辑或中有一个条件成立,整体结果为1。
6.表达式a==b||c!=d&&e>f中,先组合计算的是( )
A.关系判断 a==b
B.或运算 a==b||c!=d
C.与运算 c!=d&&e>f
D.局部判断 d&&e
【答案】C
【解析】逻辑与&&的优先级高于逻辑或||,所以先计算c!=d&&e>f这一部分。
7.执行int r=3+4==7;后,r的值是( )
A.0
B.3
C.7
D.1
【答案】D
【解析】先计算3+4得到7,再判断7==7,关系成立,r被赋值为1。
8.若score=72、bonus=0,执行int flag=score>=60&&bonus==0;后flag为( )
A.0
B.1
C.60
D.72
【答案】B
【解析】score>=60和bonus==0都成立,逻辑与结果为1,flag被赋值为1。
9.若n=7,表达式n%2==0的值是( )
A.0
B.1
C.2
D.7
【答案】A
【解析】7除以2的余数为1,n%2==0不成立,所以结果为0。
10.若m=4、n=9、k=2,表达式m<n&&k==2的值是( )
A.0
B.2
C.1
D.9
【答案】C
【解析】m<n和k==2都成立,两个条件用逻辑与连接后结果为1。
11.若retry=0、backup=1,表达式retry==1||backup==1的值是( )
A.0
B.1
C.2
D.-1
【答案】B
【解析】retry==1为假,backup==1为真,逻辑或只要有一个操作数为真,整体结果就是1。
12.下列哪个条件可判断整数n是否为3的倍数( )
A.n/3==0
B.n*3==0
C.n-3==0
D.n%3==0
【答案】D
【解析】整数n除以3的余数为0时,n才是3的倍数,因此应使用n%3==0。
13.若ready=1、error=1,表达式ready==1&&error==0的值是( )
A.0
B.1
C.-1
D.2
【答案】A
【解析】ready==1成立,但error==0不成立,逻辑与要求两个条件都成立,因此结果为0。
14.若x=3、y=2,表达式!(x<3||y>2)的值是( )
A.0
B.2
C.1
D.3
【答案】C
【解析】x<3和y>2都不成立,括号内为假,取逻辑非后结果为1。
15.若count=5、limit=5,表达式count>=limit||limit==0的值是( )
A.0
B.5
C.10
D.1
【答案】D
【解析】count>=limit成立,limit==0不成立,但逻辑或已有一项为真,所以结果为1。
16.若a=8、b=3,表达式a/b>2&&a%b==2的值是( )
A.1
B.0
C.2
D.8
【答案】B
【解析】整数除法8/3的结果为2,2>2不成立;虽然8%3等于2,但逻辑与要求两项都成立,因此结果为0。
17.表示正偶数n的条件表达式是( )
A.n>0&&n%2==0
B.n>=0||n%2==0
C.n<0&&n%2!=0
D.n==2||n==0
【答案】A
【解析】正偶数必须同时满足n>0和n%2==0,因此两个条件用&&连接。
18.表达式2<3<1在C语言中的值是( )
A.1
B.2
C.3
D.0
【答案】D
【解析】C语言按从左到右的关系运算处理:2<3先得到1,再计算1<1,结果为0。
19.若x=10,表达式!(x==10)||x>10的值是( )
A.1
B.10
C.0
D.不确定
【答案】C
【解析】x==10成立,取非后为假;x>10也不成立,逻辑或结果为0。
20.若u=5、v=3,表达式u>v&&!(u==5)的值是( )
A.1
B.0
C.3
D.5
【答案】B
【解析】u>v成立,但u==5也成立,取非后为假;逻辑与结果为0。
二、简答题(共2题,每题10分,共20分)
1.阅读程序,写出输出结果,并说明low、high和inside的值。
#include <stdio.h>
int main()
{
int low = 3, high = 9, x = 9;
int inside = x >= low && x <= high;
printf("%d %d %d
", low, high, inside);
return 0;
}
【答案】输出:3 9 1。low为3,high为9,inside为1。
【解析】x等于上边界9,满足x>=3和x<=9两个关系条件,逻辑与结果为1;low和high的值未被修改。
2.阅读程序,写出输出结果,并说明pass和retry的值。
#include <stdio.h>
int main()
{
int score = 58, absent = 0;
int pass = score >= 60 && absent == 0;
int retry = !pass;
printf("%d %d
", pass, retry);
return 0;
}
【答案】输出:0 1。pass为0,retry为1。
【解析】score>=60不成立,虽然absent==0成立,但逻辑与结果仍为0;retry对pass取逻辑非,因此为1。
三、案例分析题(共1题,共10分)
1.某程序判断包裹是否需要人工复核:重量超过20千克,或者易碎标志fragile为1时输出Review,否则输出Normal。程序条件有误,请修改。
#include <stdio.h>
int main()
{
int weight = 24, fragile = 0;
if (weight >= 20 && fragile == 0)
printf("Review
");
else
printf("Normal
");
return 0;
}
【答案】将条件改为if (weight > 20 || fragile == 1)。修改后的核心结构为:
if (weight > 20 || fragile == 1)
printf("Review
");
else
printf("Normal
");
【解析】题目中的两种情况满足一种即可,使用||连接;重量超过20应写为weight>20,不包含20本身;易碎标志为1用fragile==1表示。原程序把条件写成了边界错误的>=和要求同时成立的&&。
四、综合应用题(共1题,共10分)
1.编写程序:输入整数age、score和late。若age不小于18且score不低于60,并且late不超过2次,输出Qualified;否则输出Not qualified。要求使用关系表达式和逻辑表达式完成判断。
#include <stdio.h>
int main()
{
int age, score, late;
scanf("%d%d%d", &age, &score, &late);
if (age >= 18 && score >= 60 && late <= 2)
printf("Qualified
");
else
printf("Not qualified
");
return 0;
}
【答案】参考程序如上。评分点:正确输入age、score和late;分别写出age>=18、score>=60和late<=2;使用&&连接三个条件;if-else结构及输出文字正确。
【解析】三个要求必须同时满足,因此使用逻辑与连接。边界值18岁、60分和2次均属于合格范围,分别使用>=、>=和<=,其他情况进入else。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。
本试卷是第51卷,为专题训练卷,按“分支程序设计”专题范围和要求编写。具体内容为:(1)理解关系表达式和逻辑表达式;(2)掌握条件语句(if语句)和多分支语句(switch语句)的用法。
山东省春季高考统一考试
软件与应用技术类《考纲百套卷》
第51卷 专题训练——分支程序设计
(考试时间:45分钟 满分:100分)
一、选择题(共20题,每题3分,共60分)
1.若a=6、b=6、c=3,表达式a==b&&b>c的值是( )
A.0
B.3
C.1
D.6
2.在if(value)中,若value=-1,条件按( )处理
A.假值
B.真值
C.字符值
D.错误值
3.若m=5、n=5,表达式m!=n||m<n的值是( )
A.0
B.1
C.5
D.-1
4.若x=4、y=7,表达式x+y==11&&y>6的值是( )
A.0
B.4
C.7
D.1
5.若p=0、q=8,表达式!(p==0)||q>5的值是( )
A.1
B.0
C.5
D.8
6.表达式a==b||c!=d&&e>f中,先组合计算的是( )
A.关系判断 a==b
B.或运算 a==b||c!=d
C.与运算 c!=d&&e>f
D.局部判断 d&&e
7.执行int r=3+4==7;后,r的值是( )
A.0
B.3
C.7
D.1
8.若score=72、bonus=0,执行int flag=score>=60&&bonus==0;后flag为( )
A.0
B.1
C.60
D.72
9.若n=7,表达式n%2==0的值是( )
A.0
B.1
C.2
D.7
10.若m=4、n=9、k=2,表达式m<n&&k==2的值是( )
A.0
B.2
C.1
D.9
11.若retry=0、backup=1,表达式retry==1||backup==1的值是( )
A.0
B.1
C.2
D.-1
12.下列哪个条件可判断整数n是否为3的倍数( )
A.n/3==0
B.n*3==0
C.n-3==0
D.n%3==0
13.若ready=1、error=1,表达式ready==1&&error==0的值是( )
A.0
B.1
C.-1
D.2
14.若x=3、y=2,表达式!(x<3||y>2)的值是( )
A.0
B.2
C.1
D.3
15.若count=5、limit=5,表达式count>=limit||limit==0的值是( )
A.0
B.5
C.10
D.1
16.若a=8、b=3,表达式a/b>2&&a%b==2的值是( )
A.1
B.0
C.2
D.8
17.表示正偶数n的条件表达式是( )
A.n>0&&n%2==0
B.n>=0||n%2==0
C.n<0&&n%2!=0
D.n==2||n==0
18.表达式2<3<1在C语言中的值是( )
A.1
B.2
C.3
D.0
19.若x=10,表达式!(x==10)||x>10的值是( )
A.1
B.10
C.0
D.不确定
20.若u=5、v=3,表达式u>v&&!(u==5)的值是( )
A.1
B.0
C.3
D.5
二、简答题(共2题,每题10分,共20分)
1.阅读程序,写出输出结果,并说明low、high和inside的值。
#include <stdio.h>
int main()
{
int low = 3, high = 9, x = 9;
int inside = x >= low && x <= high;
printf("%d %d %d
", low, high, inside);
return 0;
}
2.阅读程序,写出输出结果,并说明pass和retry的值。
#include <stdio.h>
int main()
{
int score = 58, absent = 0;
int pass = score >= 60 && absent == 0;
int retry = !pass;
printf("%d %d
", pass, retry);
return 0;
}
三、案例分析题(共1题,共10分)
1.某程序判断包裹是否需要人工复核:重量超过20千克,或者易碎标志fragile为1时输出Review,否则输出Normal。程序条件有误,请修改。
#include <stdio.h>
int main()
{
int weight = 24, fragile = 0;
if (weight >= 20 && fragile == 0)
printf("Review
");
else
printf("Normal
");
return 0;
}
四、综合应用题(共1题,共10分)
1.编写程序:输入整数age、score和late。若age不小于18且score不低于60,并且late不超过2次,输出Qualified;否则输出Not qualified。要求使用关系表达式和逻辑表达式完成判断。
#include <stdio.h>
int main()
{
int age, score, late;
scanf("%d%d%d", &age, &score, &late);
if (age >= 18 && score >= 60 && late <= 2)
printf("Qualified
");
else
printf("Not qualified
");
return 0;
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$