IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言数组专题训练 -> 正文阅读

[C++知识库]C语言数组专题训练

第一题

若有语句char s1[10], s2[10] = {“books”};则能将字符串 books 存放到数组 s1 的正确语句是( )
A、strcpy(s1, s2);
B、s1 = {“books”};
C、s1 = s2;
D、strcpy(s2, s1);
答案:A
解析:数组名代表的是数组的首地址,是一个地址常量,所以不能给数组名赋值,C错误。strcpy函数原型如下

char *strcpy(char *dest, const char *src)

第二题

线性表是________。
A、一个有限序列,可以为空
B、一个有限序列,不可以为空
C、一个无限序列,可以为空
D、一个无限序列,不可以为空
答案:A
解析:线性表包括链表数组,数组就是有限的,线性表可以初始化为空,线性表中没有元素时,就是一个空表。
在这里插入图片描述
推荐阅读:逻辑结构与物理结构

第三题

以下哪个选项正确定义了一维数组。()
A、char a[] = {‘0’, ‘1’, ‘2’, ‘3’, ‘\0’};
B、char a = {‘A’, ‘B’, ‘C’};
C、int a[] = “0123”;
D、int a[3] = {0, 1, 2, 3};
答案:A
解析:B选项中a并没有定义成数组,而是字符,会出错;C选项整型数组不能被赋值字符串;D选项定义的初值个数超过了数组的长度;

第四题

设有序表的关键字序列为{1,4,6,10,18,35,42,53,67,71,78,84,92,99},当用二分查找法查找键值为35的结点时,经()次比较后查找成功。
答案:4
解析:
第1次
1,4,6,10,18,35,42,53,67,71,78,84,92,99
left=0,right=13,mind=6; mid值为42,太大
第2次
1,4,6,10,18,35,42,53,67,71,78,84,92,99
left=0,right=5,mind=2; mid值为6,太小
第3次
1,4,6,10,18,35,42,53,67,71,78,84,92,99
left=3,right=5,mind=4; mid值为18,太小
第4次
1,4,6,10,18,35,42,53,67,71,78,84,92,99
left=5,right=5,mind=5; mid值为35,找到了

第五题

稀疏矩阵一般的压缩存储方式有两种,即 ()
A、二维数组和三维数组
B、三元组和散列
C、三元组和十字链表
D、散列和十字链表
答案:C
解析:所谓三元组就是一个元素存放三个信息,矩阵中的行号,列号以及值,这样就可以不存放值为0的元素,实现压缩。 十字链表相当于是邻接表和逆邻接表的合集,在一个元素里面存放了值以及出度表和入度表,这样也不需要像邻接矩阵那样存放大量0元素,而且找一个节点的入节点和找出节点一样快。

一个二维十字链表是链表的元素同时链接左右水平邻结点与上下垂直邻结点。
典型用于稀疏矩阵存储时,矩阵每个元素为以下五元组:

typedef struct OLNode 
{ 
    int LineNumber, ColumneNumber; //行号与列号
    ElemType value; //值
    struct OLNode *right, *down; //同行、同列下一个元素的指针
} OLNode, *OList; 

第六题

以下选项中,正确定义二维数组的是哪个选项()
A、char a[2][2] = ‘a’, ‘b’, ‘c’, ‘d’;
B、int a[][] = {{1, 2, 3}, {4, 5, 6}};
C、int a[2][] = {1, 2, 3, 4, 5, 6};
D、int a[][4] = {1, 2, 3, 4, 5, 6};
答案:D
解析:定义字符型数组时不允许直接使用“字符常量”的方式赋初值,C语言规定,二维数组定义时不允许省略第二维的长度,所以选项A、B、C错误。二维数组定义时允许省略第一维的长度,因此选项D正确。

第七题

已知int a[3][4];则下列能表示a[1][2]元素值的是()
A、*( *(a+1)+2)
B、 *(a+1+2)
C、(&a[0]+1)[2]
D、 *(a[0]+1)
答案:A
解析:在二维数组中,数组名是第一个数组的地址,注意这里a不是第一个元素的地址,而是第一个维数组的地址,a[0][0]才是表示的一维数组第一个元素的地址。地址 + 1表示向下移一层。

A, a 是一个二级指针,不是一级指针,*(a+1)表示的第二个数组的地址
B, * (a+1+2)等于 *(a+3),是一个int *, 表示的是第4个数组a[3]的地址,而 **(a+3)表示a[3][0]的值, *((int *)(a+3)) 也可以表示 a[3][0]的值
C. (&a[0]+1)表示的是第2个数组 a[1]的地址,(&a[0]+1)[2]其实是数组a[3]的地址,改成((int *)(&a[0]+1))[2] 才是对的
D. *(a[0]+1) 是 a[0][1]的值

第八题

执行以下代码段会输出什么结果。()

int a[][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; 
char k;
for (k = 0; k < 3; k ++)
    printf("%d ",a[k][2-k]);

A、1 3 5
B、3 5 7
C、3 6 9
D、编译出错或其他都不对
答案:B
解析:二维数组必须指定列数,题目已指定且不越界,所以不会出错。

a[0][0]=1 a[0][1]=2 a[0][2]=3 
a[1][0]=4 a[1][1]=5 a[1][2]=6
a[2][0]=7 a[2][1]=8 a[2][2]=9

for循环里输出a[0][2]=3 a[1][1]=5 a[2][0]=7

第九题

int A[2][3]={1,2,3,4,5,6}; 则A[1][0]和*(*(A+1)+1)的值分别是()
A、4 5
B、4 3
C、3 5
D、3 4
答案:A
解析:数组A一共2行3列,第0行为123,第1行为456。A[1][0]为第1行第0列数字4。 * (A+1)指向数组第1行第0个元素, * (A+1)+1指向数组第1行第1个元素,再取 * 则为第1行第1个元素的值5,因此为4,5。

第十题

下列说法正确的是()
A、二维以上的数组其实是一种特殊的广义表
B、数组一旦建立,结构的元素个数和元素间的物理存储关系就不再变化
C、数组是一种线性结构,因此只能用来存储线性表
D、数组采用顺序存储方式表示
答案:A B D
解析:关于这一题,我们需要区分数据的物理结构与逻辑结构。物理结构主要是指存储方式,包含线性存储与链式存储,它是从计算机存储的角度去考虑。逻辑结构指的是数据之间的关系,有线性关系和链式关系等,主要是从人为定义角度去考虑。数组是一种被人们定义为线性关系的表,至于其存储结构,可以用线性存储也可以是链式存储去存储。
推荐阅读:逻辑结构与物理结构

第十一题

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-07-03 10:32:27  更:2022-07-03 10:35:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/12 9:12:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码