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

目录
相关文章
|
12天前
|
编译器 C++ 容器
C++语言的基本语法
想掌握一门编程语言,第一步就是需要熟悉基本的环境,然后就是最重要的语法知识。 C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。现在让我们简要地看一下什么是类、对象,方法、即时变量。 对象 - 对象具有状态和行为。例如:一只狗的状态 - 颜色、名称、品种,行为 - 摇动、叫唤、吃。对象是类的实例。 类 - 类可以定义为描述对象行为/状态的模板/蓝图。 方法 - 从基本上说,一个方法表示一种行为。一个类可以包含多个方法。可以在方法中写入逻辑、操作数据以及执行所有的动作。 即时变量 - 每个对象都有其独特的即时变量。对象的状态是由这些即时变量的值创建的。 完整关键字
29 2
|
27天前
|
C++ 索引 运维
开发与运维数组问题之在C++中数组名和指针是等价如何解决
开发与运维数组问题之在C++中数组名和指针是等价如何解决
18 6
|
27天前
|
存储 安全 C++
开发与运维数组问题之声明一个数组如何解决
开发与运维数组问题之声明一个数组如何解决
33 6
|
27天前
|
存储 C++ 容器
开发与运维数组问题之C++标准库中提供数据容器作为数组的替代如何解决
开发与运维数组问题之C++标准库中提供数据容器作为数组的替代如何解决
37 5
|
4天前
|
安全 编译器 C语言
|
1月前
|
Java 编译器 程序员
C++中的语法知识虚继承和虚基类
**C++中的多继承可能导致命名冲突和数据冗余,尤其在菱形继承中。为解决这一问题,C++引入了虚继承(virtual inheritance),确保派生类只保留虚基类的一份实例,消除二义性。虚继承通过`virtual`关键字指定,允许明确访问特定路径上的成员,如`B::m_a`或`C::m_a`。这样,即使基类在继承链中多次出现,也只有一份成员副本,简化了内存布局并避免冲突。虚继承应在需要时提前在继承声明中指定,影响到从虚基类派生的所有后代类。**
44 7
|
30天前
|
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开发实战:从零基础到短视频上线》。
47 0
FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg
|
1月前
|
编译器 C++ 开发者
C++一分钟之-属性(attributes)与属性语法
【7月更文挑战第3天】C++的属性(attributes)自C++11起允许附加编译器指令,如`[[nodiscard]]`和`[[maybe_unused]]`,影响优化和警告。注意属性放置、兼容性和适度使用,以确保代码清晰和可移植。示例展示了如何使用属性来提示编译器处理返回值和未使用变量,以及利用编译器扩展进行自动清理。属性是提升代码质量的工具,但应谨慎使用。
49 13
|
1月前
|
vr&ar C++
1695. 删除子数组的最大得分(C++,滑动窗口)
1695. 删除子数组的最大得分(C++,滑动窗口)
|
6天前
|
C++ 容器
C++中自定义结构体或类作为关联容器的键
C++中自定义结构体或类作为关联容器的键
13 0