C++学习第九弹:数组
C++
支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。
数组的声明并不是声明一个个单独的变量,比如
number0、number1、…、number99,而是声明一个数组变量,比如
numbers,然后使用 numbers[0]、numbers[1]、…、numbers[99]
来代表一个个单独的变量。数组中的特定元素可以通过索引访问。
所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素。
数组是一个小难点,且很重要。
声明数组:
老规矩,使用数组前还是要对其进行声明,在 C++
中要声明一个数组,需要指定元素的类型和元素的数量,如下所示:
1type arrayName [ arraySize ];
这叫做一维数组。arraySize 必须是一个大于零的整数常量(也可以留空,但必须进行初始化),type 可以是任意有效的
C++ 数据类型。例如,要声明一个类型为 double 的包含 10
个元素的数组 balance,声明语句如...
C++学习第八弹:函数
在前面介绍C++的基础语法时,提到了每个C++都必须有一个主函数,实际上所有简单的程序都可以定义其他额外的函数。函数是一组一起执行一个任务的语句。我们可以把代码划分到不同的函数中,让每一个函数执行特定的任务。在使用函数时,需要对函数进行声明和定义,函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。
同时,C++标准库提供了大量的程序可以调用的内置函数可供直接调用。
定义一个函数:
C++ 中的函数定义的一般形式如下:
1234return_type function_name( parameter list ){ body of the function}
在 C++
中,函数由一个函数头和一个函数主体组成。下面列出一个函数的所有组成部分:
1.
return_type:一个函数可以返回一个值。return_type 是函数返回的值的数据类型。有些函数执行所需的操作而不返回值,在这种情况下,return_type
是关键字 void。 2.
function_name:这是函数的实际名称。函数名和参数列表一起构...
在时间长河中的永恒守望:芙莉莲与她的“人类刻度”
当绝大多数冒险故事在英雄加冕的礼花中落幕,《葬送的芙莉莲》却选择在五十年后的墓碑前启程。这部由MADHOUSE制作、斋藤圭一郎执导的2023年动画奇作,改编自山田钟人的同名漫画,以精灵魔法使芙莉莲为主角,展开了一场颠覆类型窠臼的灵魂朝圣。笔者认为,本作品是当之无愧的新时代异世界勇者番剧标杆。
《葬送的芙莉莲》巧妙地颠覆了传统奇幻冒险的叙事终点。故事始于一个看似完满的结局:勇者辛美尔带领着精灵魔法使芙莉莲、人类僧侣海塔、矮人战士艾冉,历经十年艰辛,成功击败魔王,为世界带来和平。然而,真正的故事,却在英雄们“退休”五十年后才缓缓拉开帷幕——以人类勇者辛美尔的自然衰老与死亡为起点。故事始于一个被忽略的“后日谈”:勇者辛美尔衰老离世。他的葬礼成为一道刺穿永恒的裂痕——对拥有千年寿命的芙莉莲而言,五十年的时光原不过指间流沙,直到冰冷的石碑迫使她直面时间的重量。昔日辛美尔笨拙的庆典邀约、未竟的流星之约,在死亡的回响中突然显影,成为她永远错过的情感密码。这位曾以十年光阴终结魔王时代的精灵,第一次被人类的生命尺度所灼伤。
于是芙莉莲踏上了反向的征途。不再为拯救世界,而是为打捞散落在旧日足迹里...
C++学习第七弹:判断
有时候,我们希望程序会根据条件的不同执行不同的操作,此时就要请出我们的判断语句了,C++中常用的判断语句有
if 语句和 switch 语句,下面将会分别介绍。
判断语句:
if 语句和 if…else 语句:
C++ 中 if 语句的语法:
1234if(boolean_expression){ // 如果布尔表达式为真将执行的语句}
如果布尔表达式为 true,则 if
语句内的代码块将被执行。如果布尔表达式为 false,则 if
语句结束后的第一组代码(闭括号后)将被执行。
ok,也是很浅显易懂,但是如果我们想让布尔表达式为假时执行另一个语句怎么办呢?答案就是使用
else。
C++
中 if…else 语句的语法:
12345678if(boolean_expression){ // 如果布尔表达式为真将执行的语句}else{ // 如果布尔表达式为假将执行的语句}
C++ 中 if…else if
语句的语法:
12345678910111213141516if(b...
C++学习第六弹:循环
军训结束了,现在来更新一下笔记。
在我们的程序中,往往会出现需要重复执行某段代码的情况,而语句一般是顺序执行的,当我们需要重复执行某个或某个语句组时,我们就会用到循环语句。循环语句有多种类型,以及循环控制语句,下面将一一列举。
循环类型:
while 循环:
当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。以下是C++中
while 循环的用法。
1234while(condition){ statement(s);}
在这段代码中,statement(s)
可以是一个单独的语句,也可以是几个语句组合而成的语句组。
condition
可以是任意形式表达式(如变量、算术运算、函数调用等)。编译器会将其结果隐式转换为
bool 类型,任何非0值都会被转换为 true ,0会被转化为 false
。
当条件为 false 时,程序将会继续执行紧接着循环的下一条语句。
风险提示:避免用浮点数做精确判零(如 while(x !=
0.0)),因精度误差可能导致无限循环 。
while
循环的关键...
C++学习第五弹:运算符
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。包括以下几种:
- 算术运算符 - 关系运算符 - 逻辑运算符 - 位运算符 - 赋值运算符 -
杂项运算符
算数运算符:
运算符
描述
+
把两个操作数相加
-
从第一个操作数中减去第二个操作数
*
把两个操作数相乘
/
分子除以分母
%
取模运算符,整除后的余数
++
自增运算符,整数值增加 1
–
自减运算符,整数值减少 1
前几个比较好理解,对于自增/自减运算符给出如下实例:
123int a=1,b=1;a++;b--;
此时a=2,b=0。
关系运算符:
算符
描述
==
检查两个操作数的值是否相等,如果相等则条件为真。
!=
检查两个操作数的值是否相等,如果不相等则条件为真。
>
检查左操作数的值是否大于右操作数的值,如果是则条件为真。
<
检查左操作数的值是否小于右操作数的值,如果是则条件为真。
...
C++学习第四弹:常量和变量
一直在做题,好久没更了,得更一下XD
数据的类型除了按照前面介绍的数据类型进行划分,还可以通过其能不能被修改划分为常量和变量。
常量:
顾名思义,常量就是不能够被修改的数据。常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。常量可以是任何的基本数据类型,可分为整型数字、浮点数字、字符、字符串和布尔值。常量就像是常规的变量,只不过常量的值在定义后不能进行修改。
转义字符:
在字符中有一类特殊字符,被称为转义字符,一下是一些常见的转义字符:
转义序列
含义
\
字符
'
’ 字符
"
” 字符
?
? 字符
警报铃声
退格键
换页符
换行符
回车
水平制表符
垂直制表符
一到三位的八进制数
. . .
一个或多个数字的十六进制数
变量:
变量提供了一个拥有名字和为程序提供数据的可存储空间。而变量的数据类型决定着变量所能占据的内存空间的大小...
C++学习第三弹:数据类型
[[C++学习第二弹:C++的基础语法]]中提到了类型这一概念,在使用编程语言进行编程时,需要用到各种变量来存储各种信息。变量保留的是它所存储的值的内存位置。这意味着,当我们创建一个变量时,就会在内存中保留一些空间。我们可能需要存储各种数据类型(比如字符型、宽字符型、整型、浮点型、双浮点型、布尔型等)的信息,操作系统会根据变量的数据类型,来分配内存和决定在保留内存中存储什么。
基本内置类型:
C++定义了一套包括算术类型(arithmetic
type)和空类型(void)在内的基本数据类型。其中算术类型包含了字符、整型数、布尔值和浮点数。空类型不对应具体的值,仅用于特殊场合,例如:当一个函数不返回任何值时,选择空类型作为返回类型。
算术类型:
算术类型分为两类:整型(integral
type)和浮点型。其中,字符和布尔类型属于整形。
算术类型的尺寸在不同机器上有差别,下面是C++标准规定的尺寸的最小值。
数据类型
描述
大小(字节)
范围/取值示例
bool
布尔类型,表示真或假
1
true ...
C++学习第二弹:C++的基础语法
编写一个简单的C++程序:
12345678#include <iostream>using namespace std;int main(){ cout<<"Hello World"; return 0;}
下面来逐行解读一下这个代码片段: - #include <iostream>:C++
语言定义了一些头文件,这些头文件包含了程序中必需的或有用的信息。上面这段程序中,包含了头文件<iostream>
- 下一行 using namespace std; 告诉编译器使用 std
命名空间。命名空间是 C++ 中一个相对新的概念。 - 下一行 int
main() 是主函数,程序从这里开始执行。 - 下一行 cout
<< “Hello World”; 会在屏幕上显示消息 “Hello World”。 -
下一行 return 0; 终止 main( )函数,并向调用进程返回值
0。
主函数:
每个C++程序都包含一个或多个函数,其中一个必须被命名为main...
C++学习第一弹:C++的特点
C++的简介:
C++
是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。
C++
被认为是一种中级语言,它综合了高级语言和低级语言的特点。
C++ 是由 Bjarne Stroustrup 于 1979
年在新泽西州美利山贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C
语言,最初命名为带类的C,后来在 1983 年更名为 C++。
C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++
程序。》
注意:_使用静态类型的编程语言是在编译时执行类型检查,而不是在运行时执行类型检查。_
C++的特点:
C++是一门完全支持面对对象编程的程序语言,包括面向对象开发的4大特性:
封装(Encapsulation):
封装是将数据和方法组合在一起,对外部隐藏实现细节,只公开对外提供的接口。这样可以提高安全性、可靠性和灵活性。(即黑箱,就好比你生产了一辆汽车,使用者只需知道踩油门就能跑,踩刹车就能停等基础操作就可以使用,而不用完全理解其内部结构,例如发动机如何运作等细节...
