内容正文:
编写说明:2027版重庆市高等职业教育分类考试计算机类《考纲百套卷》,依据《2027年重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷76份、专题训练卷16份、课程综合卷7份。
本试卷是第65卷,为知识训练卷,按《程序设计》中“for 循环语句应用”范围和要求编写。具体内容为:5.掌握for语句。
重庆市高职分类考试
计算机类《考纲百套卷》
第65卷 程序设计——for 循环语句应用
(考试时间:45分钟 满分:100分)
一、填空题(共10题,每题3分,共30分)
1.for语句的循环控制部分由初始化、__________和更新三个表达式组成。
2.for语句的更新表达式在每轮循环体执行__________执行。
3.若for循环控制变量每次递增3,则其更新表达式可写为i__________3。
4.for(;;)省略了三个表达式,通常形成条件恒为__________的循环。
5.在双层for循环中,外层每执行一次,内层控制变量通常需要重新__________。
6.for(i=2;i<=8;i+=2)循环体执行__________次。
7.for循环中,控制变量每次变化的数值称为循环__________。
8.若循环条件为i<10,最后一次进入循环体时i的最大值是__________。
9.for循环正常结束时,控制变量通常已经使条件表达式变为__________。
10.循环体中再次嵌套for语句时,内层循环的总执行次数通常需要结合外层__________计算。
二、单项选择题(共15题,每题2分,共30分)
1.for(i=2;i<=8;i+=2)循环体执行( )。
A.4次
B.3次
C.5次
D.8次
2.for语句中,更新表达式通常在( )执行。
A.初始化之前
B.循环体之后
C.第一次条件判断之前
D.程序结束之后
3.下列更新表达式能使i每次增加3的是( )。
A.i++
B.i -= 3C.i += 3D.i = 3
4.for(;;)循环要正常结束,通常需要在循环体中设置( )。
A.更多输出语句
B.重复的初始化表达式
C.不会变化的控制变量
D.break等退出语句
5.下列for循环中,最可能执行0次的是( )。
A.for (i = 5; i < 3; i++)
B.for (i = 0; i < 3; i++)
C.for (i = 3; i <= 5; i++)
D.for (i = 2; i <= 2; i++)
6.外层循环执行4次,内层每次执行3次,且内层变量正确重置,则内层循环体执行( )。
A.7次
B.12次
C.4次
D.3次
7.若for(i=1;i<=9;i+=2),循环体中i的取值依次是( )。
A.1、2、3、4、5
B.2、4、6、8、10
C.1、3、5、7、9
D.1、3、5、7
8.下列语句执行后,i的值为( ):for(i=0;i<10;i+=4){}。
A.8
B.10
C.11
D.12
9.若希望遍历下标1到n,最合适的for条件是( )。
A.i <= n
B.i < 1
C.i > n
D.i == n
10.以下哪种情况最容易造成for循环无限执行( )。
A.条件为i < 10且更新使用i++
B.条件为i < 10但更新使用i--
C.条件为i > 0且更新使用i--
D.条件为i <= 10且更新使用i += 2
11.嵌套for循环中,内层变量每次不重新初始化,常见后果是( )。
A.外层循环自动多执行一次
B.内层循环次数必然增加
C.后续外层轮次内层循环可能不再执行
D.编译器自动修复控制变量
12.将for(i=0;i<5;i++)改为for(i=0;i<=5;i++)后,循环体通常( )。
A.少执行1次
B.执行次数不变
C.只执行初始化语句
D.多执行1次
13.for循环中,控制变量最后一次进入循环体时的值取决于( )。
A.初始值、条件和步长
B.输出格式和注释
C.变量名长度和缩进
D.编译器窗口大小
14.外层i取1、2、3,内层j从1到i,每次加1,内层循环体总共执行( )。
A.3次
B.6次
C.4次
D.9次
15.下列代码中,能够只累加偶数i的是( )。
A.for (i = 0; i <= 10; i++) sum += i;
B.for (i = 1; i <= 10; i += 2) sum += i;
C.for (i = 0; i <= 10; i += 2) sum += i;
D.for (i = 10; i >= 0; i++) sum += i;
三、判断题(共12题,每题1分,共12分)
1.for语句的初始化表达式通常只执行一次。( )
2.for语句的更新表达式通常在循环体执行之后执行。( )
3.for(i=2;i<=8;i+=2)循环体执行3次。( )
4.for循环条件第一次为假时,循环体可以执行一次。( )
5.for(;;)的条件表达式被省略时,通常按真处理。( )
6.外层循环4次、内层循环每次3次时,内层循环体执行12次。( )
7.for循环的步长只能是1。( )
8.内层控制变量在每次外层循环开始时重新初始化,有助于保证内层次数稳定。( )
9.将<改为<=一定会使循环少执行一次。( )
10.for循环正常退出时,控制变量可能越过条件中的上界。( )
11.for循环体中包含另一个for循环时,内层循环一定只执行一次。( )
12.只要for循环包含printf,控制变量就一定会自动更新。( )
四、程序填空题(共2题,每题8分,共16分)
1.阅读下列程序,补充空格处的代码。程序统计两个区间内满足条件的数,并对每轮外层循环进行累计修正。
int i, j;
int total = 0, hits = 0;
for (i = 2; i __________ 8; i += 2) {
for (j = 1; j <= 4; j++) {
int value = i + j;
total += value;
if (value % 3 __________ 0) {
hits++;
total -= j;
}
}
if (total % 2 == 0) {
total += i;
} else {
total -= i;
}
}
printf("%d %d", total, hits);
(1)第一个空应填什么?(2)第二个空应填什么?
2.阅读下列程序,补充空格处的代码。程序使用递减for循环扫描区间,并根据累计值改变步长之外的处理结果。
int i, sum = 0, count = 0;
for (i = 15; i __________ 3; i -= 3) {
if (i % 5 == 0) {
sum += i / 5;
count++;
} else {
sum += i % 5;
}
if (sum __________ 6) {
sum -= 2;
}
}
if (count >= 2) {
sum += count;
} else {
sum -= count;
}
printf("%d %d", sum, count);
(1)第一个空应填什么?(2)第二个空应填什么?
五、程序阅读题(共2题,每题6分,共12分)
1.阅读下列程序并回答问题。
int i, j;
int sum = 0, count = 0;
for (i = 1; i <= 4; i++) {
for (j = i; j <= 5; j++) {
int value = i * j;
sum += value;
if (value % 4 == 0) {
count++;
} else if (value % 3 == 0) {
sum -= 1;
}
}
if (sum >= 30) {
sum -= i;
} else {
sum += i;
}
}
printf("%d %d", sum, count);
(1)内层循环分别执行几次?(2)内层循环体总共执行多少次?(3)程序结束时sum和count是多少?
2.阅读下列程序并回答问题。
int i, total = 0, hits = 0;
for (i = 0; i < 10; i += 3) {
if (i == 0) {
total += 2;
} else if (i % 2 == 1) {
total += i * 2;
hits++;
} else {
total += i;
}
if (total > 10 && hits < 2) {
total -= 3;
}
}
if (total % 2 == 0) {
total /= 2;
} else {
total += 5;
}
printf("%d %d", total, hits);
(1)循环体执行多少次?(2)循环结束时i是多少?(3)程序最后输出什么?
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2027版重庆市高等职业教育分类考试计算机类《考纲百套卷》,依据《2027年重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷76份、专题训练卷16份、课程综合卷7份。
本试卷是第65卷,为知识训练卷,按《程序设计》中“for 循环语句应用”范围和要求编写。具体内容为:5.掌握for语句。
重庆市高职分类考试
计算机类《考纲百套卷》
第65卷 程序设计——for 循环语句应用
(考试时间:45分钟 满分:100分)
一、填空题(共10题,每题3分,共30分)
1.for语句的循环控制部分由初始化、__________和更新三个表达式组成。
【答案】条件
【解析】for语句的标准结构为for(初始化; 条件; 更新),条件决定是否进入下一轮循环。
2.for语句的更新表达式在每轮循环体执行__________执行。
【答案】后
【解析】每次循环体执行完毕后,程序才执行更新表达式,再回到条件判断。
3.若for循环控制变量每次递增3,则其更新表达式可写为i__________3。
【答案】+=
【解析】i+=3等价于i=i+3,表示每轮将控制变量增加3。
4.for(;;)省略了三个表达式,通常形成条件恒为__________的循环。
【答案】真
【解析】缺少条件表达式时,C语言将其视为真,需要break等语句提供退出路径。
5.在双层for循环中,外层每执行一次,内层控制变量通常需要重新__________。
【答案】初始化
【解析】重新初始化内层变量可以避免内层循环沿用上一次结束值。
6.for(i=2;i<=8;i+=2)循环体执行__________次。
【答案】4
【解析】i依次取2、4、6、8,共4个满足条件的值。
7.for循环中,控制变量每次变化的数值称为循环__________。
【答案】步长
【解析】步长决定控制变量相邻两次迭代之间的差值。
8.若循环条件为i<10,最后一次进入循环体时i的最大值是__________。
【答案】9
【解析】整数控制变量满足i<10时,最后一个合法值为9。
9.for循环正常结束时,控制变量通常已经使条件表达式变为__________。
【答案】假
【解析】控制变量经过最后一次更新后不再满足循环条件,循环因此退出。
10.循环体中再次嵌套for语句时,内层循环的总执行次数通常需要结合外层__________计算。
【答案】次数
【解析】嵌套循环总次数取决于内层每次执行次数和外层进入次数。
二、单项选择题(共15题,每题2分,共30分)
1.for(i=2;i<=8;i+=2)循环体执行( )。
A.4次
B.3次
C.5次
D.8次
【答案】A
【解析】i依次为2、4、6、8,共4次。
2.for语句中,更新表达式通常在( )执行。
A.初始化之前
B.循环体之后
C.第一次条件判断之前
D.程序结束之后
【答案】B
【解析】每轮循环先执行循环体,随后执行更新表达式。
3.下列更新表达式能使i每次增加3的是( )。
A.i++
B.i -= 3C.i += 3D.i = 3
【答案】C
【解析】i+=3等价于i=i+3,步长为3。
4.for(;;)循环要正常结束,通常需要在循环体中设置( )。
A.更多输出语句
B.重复的初始化表达式
C.不会变化的控制变量
D.break等退出语句
【答案】D
【解析】for(;;)条件恒真,需要break或return等路径结束。
5.下列for循环中,最可能执行0次的是( )。
A.for (i = 5; i < 3; i++)
B.for (i = 0; i < 3; i++)
C.for (i = 3; i <= 5; i++)
D.for (i = 2; i <= 2; i++)
【答案】A
【解析】初始化后i=5不满足i<3,直接跳过循环体。
6.外层循环执行4次,内层每次执行3次,且内层变量正确重置,则内层循环体执行( )。
A.7次
B.12次
C.4次
D.3次
【答案】B
【解析】内层总次数为外层次数乘以内层每次次数,4乘3等于12。
7.若for(i=1;i<=9;i+=2),循环体中i的取值依次是( )。
A.1、2、3、4、5
B.2、4、6、8、10
C.1、3、5、7、9
D.1、3、5、7
【答案】C
【解析】从1开始以2为步长递增,9仍满足i<=9。
8.下列语句执行后,i的值为( ):for(i=0;i<10;i+=4){}。
A.8
B.10
C.11
D.12
【答案】D
【解析】i依次为0、4、8,最后更新为12,条件12<10为假。
9.若希望遍历下标1到n,最合适的for条件是( )。
A.i <= n
B.i < 1
C.i > n
D.i == n
【答案】A
【解析】当i从1开始递增时,i<=n包含下标n。
10.以下哪种情况最容易造成for循环无限执行( )。
A.条件为i < 10且更新使用i++
B.条件为i < 10但更新使用i--
C.条件为i > 0且更新使用i--
D.条件为i <= 10且更新使用i += 2
【答案】B
【解析】i从较小值递减会一直小于10,无法使条件变假。
11.嵌套for循环中,内层变量每次不重新初始化,常见后果是( )。
A.外层循环自动多执行一次
B.内层循环次数必然增加
C.后续外层轮次内层循环可能不再执行
D.编译器自动修复控制变量
【答案】C
【解析】内层控制变量保留上次结束值时,可能已不满足内层条件。
12.将for(i=0;i<5;i++)改为for(i=0;i<=5;i++)后,循环体通常( )。
A.少执行1次
B.执行次数不变
C.只执行初始化语句
D.多执行1次
【答案】D
【解析】<=包含i=5这一边界值,因此多一次。
13.for循环中,控制变量最后一次进入循环体时的值取决于( )。
A.初始值、条件和步长
B.输出格式和注释
C.变量名长度和缩进
D.编译器窗口大小
【答案】A
【解析】三者共同决定哪些控制变量取值满足条件。
14.外层i取1、2、3,内层j从1到i,每次加1,内层循环体总共执行( )。
A.3次
B.6次
C.4次
D.9次
【答案】B
【解析】三轮内层次数分别为1、2、3,总计1+2+3=6。
15.下列代码中,能够只累加偶数i的是( )。
A.for (i = 0; i <= 10; i++) sum += i;
B.for (i = 1; i <= 10; i += 2) sum += i;
C.for (i = 0; i <= 10; i += 2) sum += i;
D.for (i = 10; i >= 0; i++) sum += i;
【答案】C
【解析】从0开始以2为步长,所有进入循环体的i均为偶数。
三、判断题(共12题,每题1分,共12分)
1.for语句的初始化表达式通常只执行一次。( )
【答案】√
【解析】初始化发生在第一次条件判断前,不随循环迭代重复。
2.for语句的更新表达式通常在循环体执行之后执行。( )
【答案】√
【解析】每轮循环体执行结束后才进入更新步骤。
3.for(i=2;i<=8;i+=2)循环体执行3次。( )
【答案】×
【解析】i取2、4、6、8,共4次。
4.for循环条件第一次为假时,循环体可以执行一次。( )
【答案】×
【解析】for是先判断型循环,第一次为假时循环体执行0次。
5.for(;;)的条件表达式被省略时,通常按真处理。( )
【答案】√
【解析】省略条件会形成恒真循环,需要其他语句结束。
6.外层循环4次、内层循环每次3次时,内层循环体执行12次。( )
【答案】√
【解析】嵌套循环总次数为4乘3。
7.for循环的步长只能是1。( )
【答案】×
【解析】更新表达式可以使用任意合适步长,例如+=2、-=3。
8.内层控制变量在每次外层循环开始时重新初始化,有助于保证内层次数稳定。( )
【答案】√
【解析】重新初始化可避免沿用上次结束值。
9.将<改为<=一定会使循环少执行一次。( )
【答案】×
【解析】包含边界值时通常会多执行一次,具体还要看步长和初值。
10.for循环正常退出时,控制变量可能越过条件中的上界。( )
【答案】√
【解析】步长大于1时,最后一次更新可能直接越过上界。
11.for循环体中包含另一个for循环时,内层循环一定只执行一次。( )
【答案】×
【解析】内层次数由自身初始化、条件和更新决定,可以执行多次。
12.只要for循环包含printf,控制变量就一定会自动更新。( )
【答案】×
【解析】printf不会自动改变控制变量,更新必须写在for更新表达式或循环体中。
四、程序填空题(共2题,每题8分,共16分)
1.阅读下列程序,补充空格处的代码。程序统计两个区间内满足条件的数,并对每轮外层循环进行累计修正。
int i, j;
int total = 0, hits = 0;
for (i = 2; i __________ 8; i += 2) {
for (j = 1; j <= 4; j++) {
int value = i + j;
total += value;
if (value % 3 __________ 0) {
hits++;
total -= j;
}
}
if (total % 2 == 0) {
total += i;
} else {
total -= i;
}
}
printf("%d %d", total, hits);
(1)第一个空应填什么?(2)第二个空应填什么?
【答案】(1)<=;(2)==;
【解析】i从2开始按2递增,需要处理2、4、6、8,所以第一个空为<=。只有value能被3整除时才计数,关系条件应写value%3==0,第二个空为==。外层4次、内层4次,内层循环体共执行16次。
2.阅读下列程序,补充空格处的代码。程序使用递减for循环扫描区间,并根据累计值改变步长之外的处理结果。
int i, sum = 0, count = 0;
for (i = 15; i __________ 3; i -= 3) {
if (i % 5 == 0) {
sum += i / 5;
count++;
} else {
sum += i % 5;
}
if (sum __________ 6) {
sum -= 2;
}
}
if (count >= 2) {
sum += count;
} else {
sum -= count;
}
printf("%d %d", sum, count);
(1)第一个空应填什么?(2)第二个空应填什么?
【答案】(1)>=;(2)>;
【解析】i从15递减到3,需要包含3,因此条件为i>=3。i取15、12、9、6、3,其中15是5的倍数,其他值按余数分支处理。累计sum达到6后才执行减2,第二个空应为>。count统计5的倍数出现次数,最后根据count是否至少为2选择分支。
五、程序阅读题(共2题,每题6分,共12分)
1.阅读下列程序并回答问题。
int i, j;
int sum = 0, count = 0;
for (i = 1; i <= 4; i++) {
for (j = i; j <= 5; j++) {
int value = i * j;
sum += value;
if (value % 4 == 0) {
count++;
} else if (value % 3 == 0) {
sum -= 1;
}
}
if (sum >= 30) {
sum -= i;
} else {
sum += i;
}
}
printf("%d %d", sum, count);
(1)内层循环分别执行几次?(2)内层循环体总共执行多少次?(3)程序结束时sum和count是多少?
【答案】(1)5、4、3、2次;(2)14次;(3)sum=103,count=6。
【解析】
i=1 时 j 取值 1~5,循环 5 次;i=2 时 j 取值 2~5,循环 4 次;i=3 时 j 取值 3~5,循环 3 次;i=4 时 j 取值 4~5,循环 2 次;总次数 5+4+3+2=14 次。
逐轮推演:
i=1 内层结束 sum=14,sum<30,sum=14+1=15,count=1;
i=2 内层结束 sum=42,sum≥30,sum=42-2=40,count=3;
i=3 内层结束 sum=74,sum≥30,sum=74-3=71,count=4;
i=4 内层结束 sum=107,sum≥30,sum=107-4=103,count=6;
最终输出 sum=103,count=6。
2.阅读下列程序并回答问题。
int i, total = 0, hits = 0;
for (i = 0; i < 10; i += 3) {
if (i == 0) {
total += 2;
} else if (i % 2 == 1) {
total += i * 2;
hits++;
} else {
total += i;
}
if (total > 10 && hits < 2) {
total -= 3;
}
}
if (total % 2 == 0) {
total /= 2;
} else {
total += 5;
}
printf("%d %d", total, hits);
(1)循环体执行多少次?(2)循环结束时i是多少?(3)程序最后输出什么?
【答案】(1)4次;(2)12;(3)34 2。
【解析】i依次取0、3、6、9,共4次,最后更新为12后条件12<10为假。第1轮total=2;第2轮i=3为奇数,total=8、hits=1;第3轮i=6,total=14且hits<2,减3得11;第4轮i=9为奇数,total=29、hits=2。最后total为奇数,执行else加5得到34。根据逐步复核,最终输出应为34 2。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$