【维生素C语言】数组笔试题(附答案+详解)(一)

简介: 本章为数组部分的练习章节,一共八个大题。配备答案+详细画图解析。

40e05cd78c816bc24497f4d156bee201_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png

前言


本章为数组部分的练习章节,一共八个大题。配备答案+详细画图解析。


如果你还没有学过数组,或者想复习一下再写:


🚪 传送门:【维生素C语言】第四章 - 数组


📝 例题:

1aace7a32feca2070294e9fc63a4d4f5_2021070803063999.png

🔍 题目详解展示:

e77f5017bec34a06ad7e6970c451fd79_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



数组笔试题(答案+详解)


8道大题(共63小题),每小题1分,满分63分


📚 说明:


① 建议做题时拿出纸和笔写出你认为的结果;


② 建议先不要看答案,写完后再看答案进行核对;


③ 部分题目前面有对应知识点的传送超链接,可自行选择复习;


④ 对于做错的题,可以看题目答案下面的解析部分,以便深入理解;


⑤ 可以在评论区回复自己做对了几题;


第一大题:

每小题1分,满分7分


📌 复习:【维生素C语言】第五章 - 操作符( 0x05 操作数的类型长度 sizeof )


💬 预测下列代码的运行结果( sizeof )


int main()
{
    int a[] = {1, 2, 3, 4}; // 一维数组
    /* 1 */  printf("%d\n", sizeof(a));
    /* 2 */  printf("%d\n", sizeof(a + 0));
    /* 3 */  printf("%d\n", sizeof(*a));
    /* 4 */  printf("%d\n", sizeof(a + 1));
    /* 5 */  printf("%d\n", sizeof(a[1]));
    /* 6 */  printf("%d\n", sizeof(&a));
    /* 7 */  printf("%d\n", sizeof(*&a));
    /* 8 */  printf("%d\n", sizeof(&a + 1));
    /* 9 */  printf("%d\n", sizeof(&a[0]));
    /* 10 */ printf("%d\n", sizeof(&a[0] + 1));
    return 0;
}


💡 答案:


/* 1 */  printf("%d\n", sizeof(a)); // 16
/* 2 */  printf("%d\n", sizeof(a + 0)); // 4/8
/* 3 */  printf("%d\n", sizeof(*a)); // 4
/* 4 */  printf("%d\n", sizeof(a + 1)); // 4/8
/* 5 */  printf("%d\n", sizeof(a[1])); // 4
/* 6 */  printf("%d\n", sizeof(&a)); // 4/8
/* 7 */  printf("%d\n", sizeof(*&a)); // 16
/* 8 */  printf("%d\n", sizeof(&a + 1)); // 4/8
/* 9 */  printf("%d\n", sizeof(&a[0])); // 4/8
/* 10 */ printf("%d\n", sizeof(&a[0] + 1)); // 4/8

🔑 解析:


1️⃣

8c73b4b5f090de7215980cdc972d7c1d_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png

2️⃣

7dd137b2dc9165afe4b5f23881fd4d0d_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



3️⃣

aaf7cf14651548a89734633a840cab9c_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



4️⃣


76b2a88016336144077d89a06eb2427e_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png


5️⃣

1d31610a19ad3aed8abe2b35ec76714a_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



6️⃣

d9b230139e5774c7e4e4c0701162637b_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



7️⃣

77bda68c780a2a535afe5953256b9b03_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



8️⃣

2a7f861faf3891feb599126fd1ff324d_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png


9️⃣


25e3a8f8443c814a81d48ec3edc8f81f_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png

🔟

6d6d3e1082138fdfa2a6cf3d44bcb254_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png



第二大题:

📌 复习:【维生素C语言】第四章 - 数组( 0x02 一维数组的初始化 )


每小题1分,满分7分


💬 预测下列代码的运行结果( sizeof )


int main()
{
    char arr[] = {'a','b','c','d','e','f'}; // 字符数组
    /* 1 */  printf("%d\n", sizeof(arr));
    /* 2 */  printf("%d\n", sizeof(arr+0));
    /* 3 */  printf("%d\n", sizeof(*arr));
    /* 4 */  printf("%d\n", sizeof(arr[1]));
    /* 5 */  printf("%d\n", sizeof(&arr));
    /* 6 */  printf("%d\n", sizeof(&arr+1));
    /* 7 */  printf("%d\n", sizeof(&arr[0]+1));
    return 0;
}

💡 答案:


/* 1 */  printf("%d\n", sizeof(arr));  // 6
/* 2 */  printf("%d\n", sizeof(arr+0)); // 4/8
/* 3 */  printf("%d\n", sizeof(*arr)); // 1
/* 4 */  printf("%d\n", sizeof(arr[1])); // 1
/* 5 */  printf("%d\n", sizeof(&arr)); // 4/8
/* 6 */  printf("%d\n", sizeof(&arr+1)); // 4/8
/* 7 */  printf("%d\n", sizeof(&arr[0]+1)); // 4/8

🔑 解析:


1️⃣

c610394b9c1f42e4cab9388696f07360_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png

2️⃣

d712c9b60dbe4a4d5c2fa38d05a202bb_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png


3️⃣

b573e30cd2f7caaf2782c9cd563ae603_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png


4️⃣

29a6f3727da635f1d413625e2708da2c_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png

5️⃣


dd1b2ff3d55f8b8d72221f225d992c57_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png

6️⃣


a6bbf78c6379dc84fd2585e779ec9a42_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png


7️⃣

8747c7a3ec103e6c77c113663ca136af_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDUwMjg2Mg==,size_16,color_FFFFFF,t_70.png


相关文章
|
存储 人工智能 程序员
一文彻底搞明白C语言的数组
本文详细介绍了C语言中的数组,包括定义、初始化(静态与动态)、存储方式、访问方法及常用操作,如遍历、修改元素和作为函数参数传递。数组是C语言中最基本的数据结构之一,掌握它对编程至关重要。下篇将介绍二维数组,敬请期待!
779 0
一文彻底搞明白C语言的数组
|
传感器 算法 安全
【C语言】两个数组比较详解
比较两个数组在C语言中有多种实现方法,选择合适的方法取决于具体的应用场景和性能要求。从逐元素比较到使用`memcmp`函数,再到指针优化,每种方法都有其优点和适用范围。在嵌入式系统中,考虑性能和资源限制尤为重要。通过合理选择和优化,可以有效提高程序的运行效率和可靠性。
1118 6
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
544 5
|
存储 程序员 编译器
C 语言数组与指针的深度剖析与应用
在C语言中,数组与指针是核心概念,二者既独立又紧密相连。数组是在连续内存中存储相同类型数据的结构,而指针则存储内存地址,二者结合可在数据处理、函数传参等方面发挥巨大作用。掌握它们的特性和关系,对于优化程序性能、灵活处理数据结构至关重要。
|
存储 C语言 计算机视觉
在C语言中指针数组和数组指针在动态内存分配中的应用
在C语言中,指针数组和数组指针均可用于动态内存分配。指针数组是数组的每个元素都是指针,可用于指向多个动态分配的内存块;数组指针则指向一个数组,可动态分配和管理大型数据结构。两者结合使用,灵活高效地管理内存。
|
算法 编译器 程序员
C语言学习笔记—P11(数组<2>+图解+题例+三子棋游戏<初级>)
C语言学习笔记(数组<2>+图解+题例+三子棋游戏<初级>)
286 0
C语言学习笔记—P11(数组<2>+图解+题例+三子棋游戏<初级>)
|
存储 C语言
C语言学习笔记—P10(数组<1>+图解+题例)
C语言学习笔记(数组<1>+图解+题例)
344 0
C语言学习笔记—P10(数组<1>+图解+题例)
|
C语言
C语言学习笔记——数组(二)
C语言学习笔记——数组
433 0
C语言学习笔记——数组(二)
|
C语言
C语言学习笔记——数组(一)
C语言学习笔记——数组
297 0
C语言学习笔记——数组(一)
|
机器学习/深度学习 C语言 编译器
【C语言】学习笔记4——数组
我直接把控制语句和循环跳过了。大致看了一下,讲得太繁琐了。这部分在后面用C写数据结构就可以练得很熟了。 1. 数组: 由数据类型相同得一系列元素组成。内存上是一片连续得存储单元。 2. 声明 int nums[5] // 内含5个int类型元素的数组 float ...
1095 0