内容正文:
编写说明:重庆市《计算机类考纲百套卷》依据重庆市《高等职业教育分类考试专业综合理论测试计算机类考试说明》编写,本套试卷共88份分为三个部分,第一部分是根据考试说明的各章节的要求,编写了58份知识点训练卷,第二部分是针对每门课程的重点内容,编写的20份常考题训练卷,第三个部分是参考近几年重庆市计算机类专业理论考试真题,编写了10份专业综合训练卷。
本试卷是重庆市《计算机类考纲百套卷》的第53卷,是知识点训练卷,按考纲中《C语言程序设计》---(五)数组与结构类型的1-2要求编写。其两点要求是:1.了解数组的概念;2.掌握一维数组的定义、初始化和引用。
重庆市《计算机类考纲百套卷》 第53卷
C语言程序设计
(五)数组与结构类型 知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、填空题(本大题共15小题,每题2分,共30分)
1. 为了存储固定数量的相同类型元素,使用的是______。
2. 当声明一维数组时,其格式为:类型名 数组名[ ] = {______}。
3. 要访问一维数组的元素,通常通过______来进行。
4. 一维数组的索引是从______开始的。
5. 若要声明并初始化一个整型一维数组为1到10的值,可以写作:int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, ______}。
6. 若在声明数组时不指定大小,编译器会根据初始化列表中的元素数量自动确定,例如:int arr[] = {10, 20, 30}; 此时数组的大小是______。
7. 在内存中,数组的元素是______存放的。
8. 数组中包含的元素数量被称为数组的______。
9. 要访问数组最后一个元素,其索引是数组长度减去______。
10. 若要声明并初始化一个字符型一维数组为 "Hello",char str[] = "Hello"; 此时数组的长度是______。
11. 声明一个浮点型一维数组并初始化为1.1, 2.2, 3.3,float arr[] = {1.1______2.2, 3.3};请补充填空处。
12. 通过数组名和索引可以引用特定元素,例如 arr[2] 将引用数组的第______个元素。
13. 数组的初始化可以分为静态和动态,静态初始化在声明时完成,而动态初始化则在______完成。
14. 数组的元素不仅可以是基本数据类型,如整型、字符型、浮点型等,也可以是______。
15. 声明数组时可以不进行初始化,例如:int arr[5]; 这将声明一个包含5个整数的数组,但数组元素将被初始化为______。
二、单项选择题(本大题共15小题,每题2分,共30分)
1. 定义了一维 int 型数组 a[10] 后,下面错误的引用是( )。
A. a[0] = 1;
B. a[0] = 5*2;
C. a[10] = 2;
D. a[1] = a[2] * a[0];
2. 下列定义二维数组的语句中,正确的是( )。
A. int 123go[3][4]
B. float a[3][]
C. int K=4,a[K][K]
D. int a[][6]
3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。
A. 整型常量
B. 整型表达式
C. 整型常量或整型表达式
D. 任何类型的表达式
4. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是( )。
A. 3
B. 6
C. 10
D. 20
5. 定义int k[][4] = {1,2,3,4,5,6,7,8,9};后,k[2][3]的值是( )。
A. 0
B. 7
C. 8
D. 9
6. 下面程序执行后输出的值是( )。
#include <stdio.h>
int main()
{
int arr[] = {1,2,(3,4),5};
printf("%d
", sizeof(arr));
return 0;
}
A. 4
B. 16
C. 20
D. 5
7. 以下程序的运行结果是 ( )。
int main() {
int s, k[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9}, i = 1;
for (s = 1; i < 10 - i; i++)
s += k[i];
printf("%d
", s);
}
A. 12
B. 14
C. 15
D. 20
8. 在定义一维数组 a 时,以下哪项是正确的定义方式?( )
A. int a(10);
B. int n=10,a[n];
C. int a[10];
D. int n; scanf("%d",&n); int a[n];
9. 对于定义 int a[5];,以下哪项是对数组元素引用的错误方式?( )
A. a[0]
B. a[5]
C. a[3]
D. a[1]
10. 以下哪项是正确初始化一维数组的方式?( )
A. int a[5] = {1,2,3,4,5,6};
B. int a[] = {1,2,3};
C. int a[5] = {1,2};
D. int a[5] = (1,2,3,4,5);
11. 若定义 int a[10] = {1,2,3,4,5};,则数组 a 中未被初始化的元素值是什么?( )
A. 0
B. 随机值
C. -1
D. 1
12. 在以下数组定义中,哪项是错误的?( )
A. int a[2+3];
B. double a[5];
C. char a[5.5];
D. float a[3];
13. 对于定义 int a[5];,以下哪项是将数组 a 所有元素赋值为 0 的正确方式?( )
A. for(int i=0; i<5; i++) a[i] = 0;
B. for(int i=0; i<=5; i++) a[i] = 0;
C. for(int i=1; i<5; i++) a[i] = 0;
D. for(int i=1; i<=5; i++) a[i] = 0;
14. 在以下一维数组的定义中,哪项是正确的?( )
A. float a[5] = 1.1, 2.2, 3.3, 4.4, 5.5;
B. float a[5] = {1.1, 2.2, 3.3, 4.4, 5.5};
C. float a[] = 1.1, 2.2, 3.3, 4.4, 5.5;
D. float a[] = {1.1, 2.2, 3.3, 4.4, 5.5};
15. 对于定义 int a[5] = {0};,以下哪项说法是正确的?( )
A. 只有 a[0] 被初始化为 0,其余元素为随机值
B. 所有元素都被初始化为 0
C. 数组定义错误
D. 只有 a[4] 被初始化为 0,其余元素为随机值
三、判断题(本大题共6小题,每题2分,共12分)
1. 数组是一种基本数据类型。( )
2. 一维数组可以在声明时进行初始化,例如:int arr[5] = {1, 2, 3, 4, 5};。( )
3. 一维数组的下标从1开始。( )
4. 一维数组的元素在内存中是连续存储的。( )
5. C语言中,数组的大小可以在运行时动态改变。( )
6. 可以通过数组名来获取数组的长度。( )
四、程序填空题(本大题共2小题,每题8分,共16分)
1.#include <stdio.h>
int main() {
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for (int i = 0; i < 10; i++) {
printf("%d ", arr[__________]); // 填空处
}
return 0;
}
2.#include <stdio.h>
int main() {
int arr[5];
for (int i = 0; i < 5; i++) {
arr[i] = i * i;
}
printf("第三个元素是: %d
", arr[__________]); // 填空处
return 0;
}
五、阅读程序题(本大题共12分)
1.#include <stdio.h>
int main() {
int scores[5] = {90, 85, 92, 88, 77}; // 定义并初始化一维数组
int sum = 0;
float average;
for (int i = 0; i < 5; i++) {
sum += scores[i]; // 引用数组元素并累加求和
}
average = (float)sum / 5; // 计算平均分
printf("平均分为:%.2f
", average);
return 0;
}
问题:
(1)请问数组scores中存储了什么数据?
(2)程序中sum变量用于计算什么?
(3)程序输出的平均分是如何计算的?
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$
编写说明:重庆市《计算机类考纲百套卷》依据重庆市《高等职业教育分类考试专业综合理论测试计算机类考试说明》编写,本套试卷共88份分为三个部分,第一部分是根据考试说明的各章节的要求,编写了58份知识点训练卷,第二部分是针对每门课程的重点内容,编写的20份常考题训练卷,第三个部分是参考近几年重庆市计算机类专业理论考试真题,编写了10份专业综合训练卷。
本试卷是重庆市《计算机类考纲百套卷》的第53卷,是知识点训练卷,按考纲中《C语言程序设计》---(五)数组与结构类型的1-2要求编写。其两点要求是:1.了解数组的概念;2.掌握一维数组的定义、初始化和引用。
重庆市《计算机类考纲百套卷》 第53卷
C语言程序设计
(五)数组与结构类型 知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、填空题(本大题共15小题,每题2分,共30分)
1. 为了存储固定数量的相同类型元素,使用的是______。
【答案】数据结构
2. 当声明一维数组时,其格式为:类型名 数组名[ ] = {______}。
【答案】初始化值列表
3. 要访问一维数组的元素,通常通过______来进行。
【答案】索引
4. 一维数组的索引是从______开始的。
【答案】0
5. 若要声明并初始化一个整型一维数组为1到10的值,可以写作:int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, ______}。
【答案】10
6. 若在声明数组时不指定大小,编译器会根据初始化列表中的元素数量自动确定,例如:int arr[] = {10, 20, 30}; 此时数组的大小是______。
【答案】3
7. 在内存中,数组的元素是______存放的。
【答案】连续
8. 数组中包含的元素数量被称为数组的______。
【答案】长度或大小
9. 要访问数组最后一个元素,其索引是数组长度减去______。
【答案】1
10. 若要声明并初始化一个字符型一维数组为 "Hello",char str[] = "Hello"; 此时数组的长度是______。
【答案】6
11. 声明一个浮点型一维数组并初始化为1.1, 2.2, 3.3,float arr[] = {1.1______2.2, 3.3};请补充填空处。
【答案】,
12. 通过数组名和索引可以引用特定元素,例如 arr[2] 将引用数组的第______个元素。
【答案】三
13. 数组的初始化可以分为静态和动态,静态初始化在声明时完成,而动态初始化则在______完成。
【答案】程序运行时
14. 数组的元素不仅可以是基本数据类型,如整型、字符型、浮点型等,也可以是______。
【答案】用户定义的类型或结构体
15. 声明数组时可以不进行初始化,例如:int arr[5]; 这将声明一个包含5个整数的数组,但数组元素将被初始化为______。
【答案】垃圾值或未定义的值
二、单项选择题(本大题共15小题,每题2分,共30分)
1. 定义了一维 int 型数组 a[10] 后,下面错误的引用是( )。
A. a[0] = 1;
B. a[0] = 5*2;
C. a[10] = 2;
D. a[1] = a[2] * a[0];
【答案】C
2. 下列定义二维数组的语句中,正确的是( )。
A. int 123go[3][4]
B. float a[3][]
C. int K=4,a[K][K]
D. int a[][6]
【答案】D
3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。
A. 整型常量
B. 整型表达式
C. 整型常量或整型表达式
D. 任何类型的表达式
【答案】C
4. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是( )。
A. 3
B. 6
C. 10
D. 20
【答案】D
5. 定义int k[][4] = {1,2,3,4,5,6,7,8,9};后,k[2][3]的值是( )。
A. 0
B. 7
C. 8
D. 9
【答案】A
6. 下面程序执行后输出的值是( )。
#include <stdio.h>
int main()
{
int arr[] = {1,2,(3,4),5};
printf("%d
", sizeof(arr));
return 0;
}
A. 4
B. 16
C. 20
D. 5
【答案】B
7. 以下程序的运行结果是 ( )。
int main() {
int s, k[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9}, i = 1;
for (s = 1; i < 10 - i; i++)
s += k[i];
printf("%d
", s);
}
A. 12
B. 14
C. 15
D. 20
【答案】C
8. 在定义一维数组 a 时,以下哪项是正确的定义方式?( )
A. int a(10);
B. int n=10,a[n];
C. int a[10];
D. int n; scanf("%d",&n); int a[n];
【答案】C
9. 对于定义 int a[5];,以下哪项是对数组元素引用的错误方式?( )
A. a[0]
B. a[5]
C. a[3]
D. a[1]
【答案】B
10. 以下哪项是正确初始化一维数组的方式?( )
A. int a[5] = {1,2,3,4,5,6};
B. int a[] = {1,2,3};
C. int a[5] = {1,2};
D. int a[5] = (1,2,3,4,5);
【答案】C
11. 若定义 int a[10] = {1,2,3,4,5};,则数组 a 中未被初始化的元素值是什么?( )
A. 0
B. 随机值
C. -1
D. 1
【答案】A
12. 在以下数组定义中,哪项是错误的?( )
A. int a[2+3];
B. double a[5];
C. char a[5.5];
D. float a[3];
【答案】C
13. 对于定义 int a[5];,以下哪项是将数组 a 所有元素赋值为 0 的正确方式?( )
A. for(int i=0; i<5; i++) a[i] = 0;
B. for(int i=0; i<=5; i++) a[i] = 0;
C. for(int i=1; i<5; i++) a[i] = 0;
D. for(int i=1; i<=5; i++) a[i] = 0;
【答案】A
14. 在以下一维数组的定义中,哪项是正确的?( )
A. float a[5] = 1.1, 2.2, 3.3, 4.4, 5.5;
B. float a[5] = {1.1, 2.2, 3.3, 4.4, 5.5};
C. float a[] = 1.1, 2.2, 3.3, 4.4, 5.5;
D. float a[] = {1.1, 2.2, 3.3, 4.4, 5.5};
【答案】B
15. 对于定义 int a[5] = {0};,以下哪项说法是正确的?( )
A. 只有 a[0] 被初始化为 0,其余元素为随机值
B. 所有元素都被初始化为 0
C. 数组定义错误
D. 只有 a[4] 被初始化为 0,其余元素为随机值
【答案】B
三、判断题(本大题共6小题,每题2分,共12分)
1. 数组是一种基本数据类型。( )
【答案】×
2. 一维数组可以在声明时进行初始化,例如:int arr[5] = {1, 2, 3, 4, 5};。( )
【答案】√
3. 一维数组的下标从1开始。( )
【答案】×
4. 一维数组的元素在内存中是连续存储的。( )
【答案】√
5. C语言中,数组的大小可以在运行时动态改变。( )
【答案】×
6. 可以通过数组名来获取数组的长度。( )
【答案】×
四、程序填空题(本大题共2小题,每题8分,共16分)
1.#include <stdio.h>
int main() {
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for (int i = 0; i < 10; i++) {
printf("%d ", arr[__________]); // 填空处
}
return 0;
}
【答案】 i
2.#include <stdio.h>
int main() {
int arr[5];
for (int i = 0; i < 5; i++) {
arr[i] = i * i;
}
printf("第三个元素是: %d
", arr[__________]); // 填空处
return 0;
}
【答案】 2
五、阅读程序题(本大题共12分)
1.#include <stdio.h>
int main() {
int scores[5] = {90, 85, 92, 88, 77}; // 定义并初始化一维数组
int sum = 0;
float average;
for (int i = 0; i < 5; i++) {
sum += scores[i]; // 引用数组元素并累加求和
}
average = (float)sum / 5; // 计算平均分
printf("平均分为:%.2f
", average);
return 0;
}
问题:
(1)请问数组scores中存储了什么数据?
(2)程序中sum变量用于计算什么?
(3)程序输出的平均分是如何计算的?
【答案】
(1)数组scores中存储了5名学生的成绩,分别是90、85、92、88、77。
(2)sum变量用于计算5名学生成绩的总和。
(3)程序输出的平均分是通过将所有学生成绩的总和除以学生人数(5),即(float)sum / 5计算得到的。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$