内容正文:
编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。
本试卷是第6卷,为知识训练卷,按《C语言程序设计知识》中“for循环与循环嵌套”范围和要求编写。具体内容为:(1)掌握for循环和循环嵌套的用法。
山东省春季高考统一考试
软件与应用技术类《考纲百套卷》
第6卷 C语言程序设计知识——for循环与循环嵌套
(考试时间:45分钟 满分:100分)
一、选择题(共20题,每题3分,共60分)
1.下列for语句书写正确的是( )
A.for {i = 0; i < 3; i++} printf("A");
B.for [i = 0; i < 3; i++] printf("A");
C.for (i = 0; i < 3; i++) printf("A");
D.for i = 0; i < 3; i++ printf("A");
【答案】C
【解析】C 语言 for 循环要求三组表达式写在圆括号内。A 使用大括号、B 使用方括号、D 缺少括号,均语法错误;只有 C 书写正确。
2.for循环一次执行的正确顺序是( )
A.执行循环体、初始化、判断条件、执行更新表达式
B.判断条件、初始化、执行更新表达式、执行循环体
C.初始化、执行更新表达式、判断条件、执行循环体
D.初始化、判断条件、执行循环体、执行更新表达式
【答案】D
【解析】for循环开始时先执行初始化表达式,然后判断条件;条件成立时执行循环体,最后执行更新表达式。
3.执行下列程序后,输出结果是( )
int i;
for (i = 1; i <= 3; i++)
printf("%d", i);
A.0123
B.123
C.321
D.1234
【答案】B
【解析】i依次为1、2、3时满足条件并输出,i变为4后循环结束,所以输出123。
4.执行下列循环体的次数是( )
int i;
for (i = 0; i < 5; i++)
printf("A");
A.5次
B.4次
C.0次
D.6次
【答案】A
【解析】i依次取0、1、2、3、4,共5个值满足i<5,因此循环体执行5次。
5.执行下列程序后,输出结果是( )
int i;
for (i = 5; i > 0; i--)
printf("%d", i);
A.12345
B.54321
C.01234
D.543210
【答案】B
【解析】i从5递减到1时依次输出,i变为0后不满足i>0,所以输出54321。
6.执行下列语句后,i的值是( )
int i;
for (i = 1; i <= 5; i += 2)
;
A.7
B.6
C.8
D.5
【答案】A
【解析】i依次为1、3、5,最后一次更新后变为7;i=7时不满足i<=5,循环结束。
7.下列for语句中,表示循环变量每次增加2的是( )
A.for (i = 0; i < 6; i *= 2)
B.for (i = 0; i < 6; i--)
C.for (i = 0; i < 6; i += 2)
D.for (i = 0; i < 6; i++)
【答案】C
【解析】i += 2等价于i=i+2,表示每次循环后循环变量增加2。
8.执行下列程序后,输出结果是( )
int i;
for (i = 0; i < 3; i++);
printf("%d", i);
A.2
B.无输出
C.0
D.3
【答案】D
【解析】for后面的分号表示循环体为空,循环结束时i已经变为3,随后printf输出3。
9.执行下列程序后,sum的值是( )
int i;
int sum = 0;
for (i = 1; i <= 3; i++)
sum += i;
A.10
B.9
C.6
D.3
【答案】C
【解析】sum依次加上1、2、3,最终sum=1+2+3=6。
10.下列嵌套for循环中,内层循环体共执行多少次( )
int i, j;
for (i = 1; i <= 2; i++)
for (j = 1; j <= 3; j++)
printf("A");
A.6次
B.9次
C.5次
D.3次
【答案】A
【解析】外层循环执行2次,每次执行内层循环3次,所以内层循环体共执行2×3=6次。
11.执行下列程序后,输出结果是( )
int i, j;
for (i = 1; i <= 2; i++) {
printf("A");
for (j = 1; j <= 2; j++)
printf("B");
}
A.ABAB
B.ABBABB
C.BBBB
D.AABB
【答案】B
【解析】外层第一次输出A后,内层输出BB;外层第二次再次输出A和BB,所以结果为ABBABB。
12.执行下列程序后,输出结果是( )
int i, j;
for (i = 1; i <= 2; i++) {
for (j = 1; j <= 3; j++)
printf("%d", j);
}
A.123
B.111222
C.1234
D.123123
【答案】D
【解析】外层循环执行2次,内层循环每次都从j=1开始输出123,因此结果为123123。
13.在嵌套for循环中,内层循环的初始化表达式通常会( )
A.只执行一次
B.在程序结束后执行
C.随每次外层循环重新执行
D.永远不执行
【答案】C
【解析】每次进入内层for语句时,都会先执行内层循环的初始化表达式,因此它通常会随每次外层循环重新执行。
14.执行下列程序后,输出的星号个数是( )
int i, j;
for (i = 1; i <= 3; i++) {
for (j = 1; j <= i; j++)
printf("*");
}
A.1个
B.3个
C.5个
D.6个
【答案】D
【解析】内层循环分别执行1次、2次、3次,星号总数为1+2+3=6。
15.执行下列程序后,输出结果是( )
int i, j;
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++)
printf("%d", i + j);
}
A.012123
B.011223
C.001122
D.012345
【答案】B
【解析】i=0时输出01,i=1时输出12,i=2时输出23,合并结果为011223。
16.当外层for循环一次也不执行时,内层循环体的执行次数是( )
A.0次
B.等于内层循环次数
C.1次
D.不能确定
【答案】A
【解析】内层循环只有在外层循环体被执行时才会进入;外层循环执行0次时,内层循环体也执行0次。
17.执行下列程序后,sum的值是( )
int i, j;
int sum = 0;
for (i = 1; i <= 2; i++)
for (j = 1; j <= 3; j++)
sum += i * j;
A.6
B.18
C.9
D.12
【答案】B
【解析】当i=1时累加1+2+3=6,当i=2时累加2+4+6=12,总和为18。
18.执行下列程序后,输出结果是( )
int i;
for (i = 1; i < 10; i *= 2)
printf("%d", i);
A.1248
B.2468
C.124
D.123456789
【答案】A
【解析】i依次为1、2、4、8并输出;i变为16后不满足i<10,所以输出1248。
19.执行下列程序后,输出结果是( )
int i;
for (i = 0; i < 6; i += 2)
printf("%d", i);
A.012345
B.036
C.024
D.246
【答案】C
【解析】i依次取0、2、4并输出,更新为6后循环结束,因此输出024。
20.执行下列程序后,输出结果是( )
int i;
for (i = 3; i >= 1; i--)
printf("%d", i);
A.123
B.0123
C.3210
D.321
【答案】D
【解析】i从3递减到1时依次输出,i变为0后不满足i>=1,循环结束,所以输出321。
二、简答题(共2题,每题10分,共20分)
1.阅读程序,写出程序的输出结果。
#include <stdio.h>
int main( )
{
int i;
int sum = 0;
for (i = 1; i <= 4; i++) {
sum = sum + i;
}
printf("%d %d
", i, sum);
return 0;
}
【答案】输出:5 10
【解析】i从1循环到4,sum得到1+2+3+4=10;最后一次更新后i变为5,输出5和10。
2.阅读程序,写出程序的输出结果。
#include <stdio.h>
int main( )
{
int i, j;
int count = 0;
for (i = 1; i <= 3; i++) {
for (j = 1; j <= i; j++) {
count++;
}
}
printf("%d
", count);
return 0;
}
【答案】输出:6
【解析】内层循环分别执行1次、2次、3次,count最终为1+2+3=6。
三、案例分析题(共1题,共10分)
1.下面程序用于计算1到5的累加和,但程序中有一处错误,请指出并改正。
#include <stdio.h>
int main( )
{
int i;
int sum = 0;
for (i = 1; i < 5; i++) {
sum = sum + i;
}
printf("%d
", sum);
return 0;
}
【答案】将for (i = 1; i < 5; i++)改为for (i = 1; i <= 5; i++)。
【解析】题目要求计算到5,循环条件必须允许i等于5时执行。原条件i<5只累加1到4,改为i<=5后才能得到1到5的累加和。
四、综合应用题(共1题,共10分)
1.编写程序:输入一个正整数n,使用嵌套for循环输出n行星号,每行输出n个星号。
【答案】
#include <stdio.h>
int main( )
{
int n;
int i, j;
scanf("%d", &n);
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++) {
printf("*");
}
printf("
");
}
return 0;
}
【解析】外层for循环控制输出行数,内层for循环控制每行的星号个数;两个循环的执行次数都为n,因此得到n行n列的星号图形。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。
本试卷是第6卷,为知识训练卷,按《C语言程序设计知识》中“for循环与循环嵌套”范围和要求编写。具体内容为:(1)掌握for循环和循环嵌套的用法。
山东省春季高考统一考试
软件与应用技术类《考纲百套卷》
第6卷 C语言程序设计知识——for循环与循环嵌套
(考试时间:45分钟 满分:100分)
一、选择题(共20题,每题3分,共60分)
1.下列for语句书写正确的是( )
A.for {i = 0; i < 3; i++} printf("A");
B.for [i = 0; i < 3; i++] printf("A");
C.for (i = 0; i < 3; i++) printf("A");
D.for i = 0; i < 3; i++ printf("A");
2.for循环一次执行的正确顺序是( )
A.执行循环体、初始化、判断条件、执行更新表达式
B.判断条件、初始化、执行更新表达式、执行循环体
C.初始化、执行更新表达式、判断条件、执行循环体
D.初始化、判断条件、执行循环体、执行更新表达式
3.执行下列程序后,输出结果是( )
int i;
for (i = 1; i <= 3; i++)
printf("%d", i);
A.0123
B.123
C.321
D.1234
4.执行下列循环体的次数是( )
int i;
for (i = 0; i < 5; i++)
printf("A");
A.5次
B.4次
C.0次
D.6次
5.执行下列程序后,输出结果是( )
int i;
for (i = 5; i > 0; i--)
printf("%d", i);
A.12345
B.54321
C.01234
D.543210
6.执行下列语句后,i的值是( )
int i;
for (i = 1; i <= 5; i += 2)
;
A.7
B.6
C.8
D.5
7.下列for语句中,表示循环变量每次增加2的是( )
A.for (i = 0; i < 6; i *= 2)
B.for (i = 0; i < 6; i--)
C.for (i = 0; i < 6; i += 2)
D.for (i = 0; i < 6; i++)
8.执行下列程序后,输出结果是( )
int i;
for (i = 0; i < 3; i++);
printf("%d", i);
A.2
B.无输出
C.0
D.3
9.执行下列程序后,sum的值是( )
int i;
int sum = 0;
for (i = 1; i <= 3; i++)
sum += i;
A.10
B.9
C.6
D.3
10.下列嵌套for循环中,内层循环体共执行多少次( )
int i, j;
for (i = 1; i <= 2; i++)
for (j = 1; j <= 3; j++)
printf("A");
A.6次
B.9次
C.5次
D.3次
11.执行下列程序后,输出结果是( )
int i, j;
for (i = 1; i <= 2; i++) {
printf("A");
for (j = 1; j <= 2; j++)
printf("B");
}
A.ABAB
B.ABBABB
C.BBBB
D.AABB
12.执行下列程序后,输出结果是( )
int i, j;
for (i = 1; i <= 2; i++) {
for (j = 1; j <= 3; j++)
printf("%d", j);
}
A.123
B.111222
C.1234
D.123123
13.在嵌套for循环中,内层循环的初始化表达式通常会( )
A.只执行一次
B.在程序结束后执行
C.随每次外层循环重新执行
D.永远不执行
14.执行下列程序后,输出的星号个数是( )
int i, j;
for (i = 1; i <= 3; i++) {
for (j = 1; j <= i; j++)
printf("*");
}
A.1个
B.3个
C.5个
D.6个
15.执行下列程序后,输出结果是( )
int i, j;
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++)
printf("%d", i + j);
}
A.012123
B.011223
C.001122
D.012345
16.当外层for循环一次也不执行时,内层循环体的执行次数是( )
A.0次
B.等于内层循环次数
C.1次
D.不能确定
17.执行下列程序后,sum的值是( )
int i, j;
int sum = 0;
for (i = 1; i <= 2; i++)
for (j = 1; j <= 3; j++)
sum += i * j;
A.6
B.18
C.9
D.12
18.执行下列程序后,输出结果是( )
int i;
for (i = 1; i < 10; i *= 2)
printf("%d", i);
A.1248
B.2468
C.124
D.123456789
19.执行下列程序后,输出结果是( )
int i;
for (i = 0; i < 6; i += 2)
printf("%d", i);
A.012345
B.036
C.024
D.246
20.执行下列程序后,输出结果是( )
int i;
for (i = 3; i >= 1; i--)
printf("%d", i);
A.123
B.0123
C.3210
D.321
二、简答题(共2题,每题10分,共20分)
1.阅读程序,写出程序的输出结果。
#include <stdio.h>
int main( )
{
int i;
int sum = 0;
for (i = 1; i <= 4; i++) {
sum = sum + i;
}
printf("%d %d
", i, sum);
return 0;
}
2.阅读程序,写出程序的输出结果。
#include <stdio.h>
int main( )
{
int i, j;
int count = 0;
for (i = 1; i <= 3; i++) {
for (j = 1; j <= i; j++) {
count++;
}
}
printf("%d
", count);
return 0;
}
三、案例分析题(共1题,共10分)
1.下面程序用于计算1到5的累加和,但程序中有一处错误,请指出并改正。
#include <stdio.h>
int main( )
{
int i;
int sum = 0;
for (i = 1; i < 5; i++) {
sum = sum + i;
}
printf("%d
", sum);
return 0;
}
四、综合应用题(共1题,共10分)
1.编写程序:输入一个正整数n,使用嵌套for循环输出n行星号,每行输出n个星号。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$