AcWing语法基础课笔记 第四章 C++中的数组

简介: 第四章 C++中的数组程序 = 逻辑 + 数据,数组是存储数据的强而有力的手段。 ——闫学灿

  第四章 C++中的数组

程序 = 逻辑 + 数据,数组是存储数据的强而有力的手段。                      

——闫学灿


一维数组

数组的定义

数组的定义方式和变量类似。

1.png




数组的初始化

在main函数内部,未初始化的数组中的元素是随机的。


2.png



访问数组元素

通过下标访问数组。

3.png




练习题1: 使用数组实现求斐波那契数列的第N项。

4.png




练习题2:输入一个n,再输入n个整数。将这n个整数逆序输出。

4.png




练习题3:输入一个n,再输入n个整数。将这个数组顺时针旋转k(k <= n)次,最后将结果输出。

5.png




练习题4:输入n个数,将这n个数按从小到大的顺序输出。

6.png




练习题5:计算2的N次方。N <= 10000

6.png




多维数组

多维数组就是数组的数组。

7.png




Int a[3][4]; // 大小为3的数组,每个元素是含有4个整数的数组。


Int arr[10][20][30] = {0}; // 将所有元素初始化为0


// 大小为10的数组,它的每个元素是含有4个整数的数组


// 这些数组的元素是含有30个整数的数组


练习题:输入一个n行m列的矩阵,从左上角开始将其按回字形的顺序顺时针打印出来。

9.png

目录
相关文章
|
3天前
|
存储 安全 C++
C++中的数组是什么?如何声明一个数组
C++中的数组是什么?如何声明一个数组
17 6
|
3天前
|
存储 C++ 容器
C++标准库中提供了哪些数据容器作为数组的替代
C++标准库中提供了哪些数据容器作为数组的替代
15 5
|
9天前
|
Java 编译器 程序员
C++中的语法知识虚继承和虚基类
**C++中的多继承可能导致命名冲突和数据冗余,尤其在菱形继承中。为解决这一问题,C++引入了虚继承(virtual inheritance),确保派生类只保留虚基类的一份实例,消除二义性。虚继承通过`virtual`关键字指定,允许明确访问特定路径上的成员,如`B::m_a`或`C::m_a`。这样,即使基类在继承链中多次出现,也只有一份成员副本,简化了内存布局并避免冲突。虚继承应在需要时提前在继承声明中指定,影响到从虚基类派生的所有后代类。**
35 7
|
6天前
|
C++ Windows
FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg
在Windows上使用Visual Studio 2022进行FFmpeg和SDL2集成开发,首先安装FFmpeg至E:\msys64\usr\local\ffmpeg,然后新建C++控制台项目。在项目属性中,添加FFmpeg和SDL2的头文件及库文件目录。接着配置链接器的附加依赖项,包括多个FFmpeg及SDL2的lib文件。在代码中引入FFmpeg的`av_log`函数输出"Hello World",编译并运行,若看到"Hello World",即表示集成成功。详细步骤可参考《FFmpeg开发实战:从零基础到短视频上线》。
20 0
FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg
|
24天前
|
编译器 C++ 开发者
C++一分钟之-属性(attributes)与属性语法
【7月更文挑战第3天】C++的属性(attributes)自C++11起允许附加编译器指令,如`[[nodiscard]]`和`[[maybe_unused]]`,影响优化和警告。注意属性放置、兼容性和适度使用,以确保代码清晰和可移植。示例展示了如何使用属性来提示编译器处理返回值和未使用变量,以及利用编译器扩展进行自动清理。属性是提升代码质量的工具,但应谨慎使用。
37 13
|
29天前
|
编译器 程序员 C++
C++一分钟之-属性(attributed)与属性语法
【6月更文挑战第28天】C++的属性为代码添加元数据,帮助编译器理解意图。C++11引入属性语法`[[attribute]]`,但支持取决于编译器。常见属性如`nodiscard`提示检查返回值,`maybe_unused`防止未使用警告。问题包括兼容性、过度依赖和误用。使用属性时需谨慎,确保团队共识,适时更新以适应C++新特性。通过示例展示了`nodiscard`和`likely/unlikely`的用法,强调正确使用属性能提升代码质量和性能。
38 13
|
17天前
|
vr&ar C++
1695. 删除子数组的最大得分(C++,滑动窗口)
1695. 删除子数组的最大得分(C++,滑动窗口)
|
25天前
|
存储 C++ 索引
|
1月前
|
C++
C++数组(定义、遍历、长度、地址、最大值、逆置、冒泡排序)
C++数组(定义、遍历、长度、地址、最大值、逆置、冒泡排序)
22 0
|
3天前
|
C++
什么是析构函数,它在C++类中起什么作用
什么是析构函数,它在C++类中起什么作用?
20 11