内容正文:
举一反三考点练
《C语言程序设计》数组与结构类型-课后自测
知识点一 数组和数组元素概念
1. (单项选择题)以下关于数组的特点描述错误的是?( )
A. 数据类型相同 B. 内存中连续存放
C. 长度可变 D. 通过数组名和下标访问
2. (判断题)数组元素的下标是从1开始的。( )
3. (填空题)定义一个长度为10的整型数组,应使用以下语句:int arr[______]; (请填写下划线部分)
4. (单项选择题)以下哪个选项是正确的数组初始化方式?( )
A. int arr[5] = {1, 2, 3, 4, 5, 6}; B. int arr[] = {1, 2, 3, 4, 5};
C. int arr[5] = {1, 2, 3}; D. int arr[3] = {1, 2, 3, 4};
5. (判断题)在访问数组元素时,下标可以超出数组的长度范围。( )
6. (填空题)在数组中,若要访问第5个元素,应使用下标______。(请填写下划线部分)
7. (单项选择题)以下哪个操作不是数组的常见操作?( )
A. 遍历数组 B. 查找数组元素 C. 插入数组元素 D. 编译数组
知识点二 一维数值型数组的定义、引用、初始化
1. (单项选择题)以下关于一维数值型数组的定义,错误的是?( )
A. 数组名是用户自定义的标识符
B. 常量表达式表示数组元素的个数
C. 数据类型可以是字符串类型
D. 索引从1开始
2. (判断题)数组元素可以通过索引直接修改其值。( )
3. (填空题)定义一个包含10个整型元素的数组,应使用以下格式:______。
4. (单项选择题)以下哪个选项是正确的一维数值型数组初始化方式?( )
A. int a[3] = {1, 2, 3, 4}; B. int b[] = {1, 2, 3};
C. int c[3] = 1, 2, 3; D. int d[2] = {[0] = 1, [2] = 2};
5. (判断题)一维数值型数组在定义时,必须指定数组长度。( )
6. (填空题)引用数组a的第3个元素,应使用以下格式:______。
7. (单项选择题)以下哪个选项表示未赋初值的数组元素将被自动初始化为0?( )
A. int a[5] = {1, 2, 3, 4, 5}; B. int b[5] = {1, 2, 3};
C. int c[5]; D. int d[5] = {[0] = 1, [4] = 5};
知识点三 二维数值型数组的定义、引用、初始化
1. (单项选择题)以下关于二维数组的定义,错误的是?( )
A. int arr[3][4];
B. int arr[][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}};
C. int arr[3][] = {{1, 2, 3}, {4, 5, 6}};
D. float arr[2][3];
2. (判断题)在C语言中,二维数组的索引从1开始。( )
3. (填空题)定义一个5行6列的字符型二维数组,应使用以下语句:______。
4. (单项选择题)以下关于二维数组初始化的说法,错误的是?( )
A. 可以对二维数组进行完全初始化
B. 可以对二维数组进行部分初始化
C. 初始化时,可以省略行数,但不能省略列数
D. 初始化时,花括号内的值数量可以超过二维数组的总元素数量
5. (判断题)在C语言中,引用二维数组的元素时,行索引和列索引的顺序可以颠倒。( )
6. (填空题)引用整型二维数组arr的第3行第4列元素,应使用以下表达式:______。
7. (单项选择题)以下哪个选项是正确的二维数组初始化方式?( )
A. int arr[2][3] = {1, 2, 3, 4, 5, 6, 7};
B. int arr[2][3] = {{1, 2, 3}, {4, 5}};
C. int arr[][3] = {1, 2, 3, 4, 5, 6};
D. int arr[2][] = {{1, 2, 3}, {4, 5, 6}};
原创精品资源学科网独家享有版权,侵权必究!2
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
举一反三考点练
《C语言程序设计》数组与结构类型-课后自测
知识点一 数组和数组元素概念
1. (单项选择题)以下关于数组的特点描述错误的是?( )
A. 数据类型相同 B. 内存中连续存放
C. 长度可变 D. 通过数组名和下标访问
【答案】C
【解析】数组的特点之一是有固定长度,长度在定义时确定,不可变。
2. (判断题)数组元素的下标是从1开始的。( )
【答案】×
【解析】数组元素的下标是从0开始的。
3. (填空题)定义一个长度为10的整型数组,应使用以下语句:int arr[______]; (请填写下划线部分)
【答案】10
【解析】根据数组的定义格式,长度为10的整型数组应定义为int arr[10];
4. (单项选择题)以下哪个选项是正确的数组初始化方式?( )
A. int arr[5] = {1, 2, 3, 4, 5, 6}; B. int arr[] = {1, 2, 3, 4, 5};
C. int arr[5] = {1, 2, 3}; D. int arr[3] = {1, 2, 3, 4};
【答案】B
【解析】选项B正确地初始化了一个数组,虽然没有指定长度,但根据初始化列表可以确定数组长度为5。
5. (判断题)在访问数组元素时,下标可以超出数组的长度范围。( )
【答案】×
【解析】数组元素的下标不能越界,否则会导致程序运行错误。
6. (填空题)在数组中,若要访问第5个元素,应使用下标______。(请填写下划线部分)
【答案】4
【解析】数组元素的下标从0开始,所以第5个元素的下标是4。
7. (单项选择题)以下哪个操作不是数组的常见操作?( )
A. 遍历数组 B. 查找数组元素 C. 插入数组元素 D. 编译数组
【答案】D
【解析】编译数组不是数组的常见操作,选项A、B、C都是数组的常见操作。
知识点二 一维数值型数组的定义、引用、初始化
1. (单项选择题)以下关于一维数值型数组的定义,错误的是?( )
A. 数组名是用户自定义的标识符
B. 常量表达式表示数组元素的个数
C. 数据类型可以是字符串类型
D. 索引从1开始
【答案】D
【解析】一维数值型数组的索引是从0开始的,而不是从1开始。
2. (判断题)数组元素可以通过索引直接修改其值。( )
【答案】√
【解析】数组元素可以通过索引访问,并进行赋值操作,从而修改其值。
3. (填空题)定义一个包含10个整型元素的数组,应使用以下格式:______。
【答案】int a[10];
4. (单项选择题)以下哪个选项是正确的一维数值型数组初始化方式?( )
A. int a[3] = {1, 2, 3, 4}; B. int b[] = {1, 2, 3};
C. int c[3] = 1, 2, 3; D. int d[2] = {[0] = 1, [2] = 2};
【答案】B
【解析】选项B正确地初始化了一个长度为3的数组,而其他选项存在错误。
5. (判断题)一维数值型数组在定义时,必须指定数组长度。( )
【答案】×
【解析】在初始化时,如果提供了足够的初始值,可以省略数组长度。
6. (填空题)引用数组a的第3个元素,应使用以下格式:______。
【答案】a[2];
7. (单项选择题)以下哪个选项表示未赋初值的数组元素将被自动初始化为0?( )
A. int a[5] = {1, 2, 3, 4, 5}; B. int b[5] = {1, 2, 3};
C. int c[5]; D. int d[5] = {[0] = 1, [4] = 5};
【答案】B
【解析】选项B中,初始化列表中的元素个数少于数组长度,未赋初值的元素将被自动初始化为0。
知识点三 二维数值型数组的定义、引用、初始化
1. (单项选择题)以下关于二维数组的定义,错误的是?( )
A. int arr[3][4];
B. int arr[][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}};
C. int arr[3][] = {{1, 2, 3}, {4, 5, 6}};
D. float arr[2][3];
【答案】C
【解析】在定义二维数组时,可以省略行数,但不能省略列数。选项C中省略了列数,因此是错误的。
2. (判断题)在C语言中,二维数组的索引从1开始。( )
【答案】×
【解析】在C语言中,二维数组的索引从0开始。
3. (填空题)定义一个5行6列的字符型二维数组,应使用以下语句:______。
【答案】char arr[5][6];
4. (单项选择题)以下关于二维数组初始化的说法,错误的是?( )
A. 可以对二维数组进行完全初始化
B. 可以对二维数组进行部分初始化
C. 初始化时,可以省略行数,但不能省略列数
D. 初始化时,花括号内的值数量可以超过二维数组的总元素数量
【答案】D
【解析】初始化时,花括号内的值数量不能超过二维数组的总元素数量。
5. (判断题)在C语言中,引用二维数组的元素时,行索引和列索引的顺序可以颠倒。( )
【答案】×
【解析】在C语言中,引用二维数组的元素时,行索引在前,列索引在后,顺序不能颠倒。
6. (填空题)引用整型二维数组arr的第3行第4列元素,应使用以下表达式:______。
【答案】arr[2][3];
7. (单项选择题)以下哪个选项是正确的二维数组初始化方式?( )
A. int arr[2][3] = {1, 2, 3, 4, 5, 6, 7};
B. int arr[2][3] = {{1, 2, 3}, {4, 5}};
C. int arr[][3] = {1, 2, 3, 4, 5, 6};
D. int arr[2][] = {{1, 2, 3}, {4, 5, 6}};
【答案】B
【解析】选项B是正确的部分初始化方式,其他选项均有错误。
原创精品资源学科网独家享有版权,侵权必究!2
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$