相信在上节课安装完 C++ 编译器与 VS Code 之后,你一定尝试过用 C++ 输出一些有趣的信息。比如以下是我曾经写过的智障小代码含有对编程十分敬畏的代码:
#include <iostream>
int main()
{
std::cout << "原来这就是 C++ 啊!\n";
std::cout << "这真是太神奇了!";
}
注:\n
是换行符。
但是,你是否感到了一点无聊 —— 这一切都是人为定好的呀!尽管编程很有趣,但是枯燥无味的编程也是很难提起我们兴趣的。这个时候,一个能灵活改变的东西就出现了 —— 变量。
Tips:如果你以前接触过编程(首先,我们需要认识 C++ 最基本的几种数据类型。如下表:
类型 | 中文 | 介绍 |
---|---|---|
auto |
自动型 | 根据赋值自动确定变量类型。 |
int |
整型 | 正极值约为 21.5 亿,负极值约为 -21.5 亿。 |
long long |
长整型 | 正极值约为 9.2×1018,负极值约为 -9.2×1018。 |
short |
||
float |
浮点型 | 保证 6 位小数精度,正极值约为 3.4×1038,负极值约为 -3.4×1038。 |
double |
高精度浮点型 | 保证 15 位小数精度,正极值约为 1.79×10308,负极值约为 -1.79×10308。 |
bool |
布尔型 | 只有 true 、false 两种值。 |
char |
字符型 | 可以存放仅占用单个字节的 ASCII 字符。 |
signed |
符号型 | 一般跟随其它数据类型使用,可以在某些类型失效时进行替代,暂时避免错误。 |
unsigned |
无符号型 | 一般跟随其它数据类型使用,可以用于取消符号位,扩大正数极值。 |
std::string |
字符串类 | 等价于字符数组,本身不属于数据类型,但使用方法与普通数据类型类似。 |
如果你记不住如上这么多数据类型,可以暂时只记住 int
、float
、bool
、std::string
四种比较常用的类型,其余类型我会在需要时提及。
现在,让我来演示今天的重要环境:变量的定义。如下:
// 整型
int Num = 5;
long long llNum = 5e15;
unsigned int uInt = 4e9;
// 浮点型
float fNum = 5.75;
double dNum = 5e-10;
// 布尔型
bool Bool = true;
// 字符型
char Char = 'A';
std::string Str = "Hello World!";
注:使用 std::string
之前请先使用 #include <iostream>
导入所需的头文件。
然而,变量之所以称之为变量,顾名思义,它肯定是会改变的量。迄今为止,我们都还未改变过任何一个变量。我们怎么改变它呢?很简单。下面我将以变量 Num
作为范例,向你介绍改变变量的方法。
int Num = 5; // 定义变量
Num = 6; // 重新赋值为 6
Num = 1 + 1; // 重新赋值为 2
Num += 5; // 增加 5
Num++; // 自增 1
Num--; // 自减 1
std::cout << Num; // 输出 7
Tips:定义变量请尽可能以字母开头,请勿使用数字开头!变量名需要凸显出变量的含义与单位,比如 widthPx
就是一个优秀的变量名。
看完上述的代码,如果你有些蒙也没关系。我在下面的表格中列出了常用的变量操作:
操作 | 中文 | 介绍 |
---|---|---|
= |
赋值 | 将 = 右边的数值赋给左边。 |
++ |
自增 1 | 向上自增 1 |
-- |
自减 1 | 向下自减 1 |
+= |
自增 | 将 += 右边的数值加到左边。 |
-= |
自减 | 将 -= 右边的数值从左边减去。 |
*= |
自乘 | 将 *= 右边的数值乘到左边。 |
/= |
自除 | 用 /= 右边的数值除左边的。 |
%= |
自模 | 对 %= 左边的数值取模(模数为右边的数) |
现在,相信你已经对变量有了初步的了解。是时候让程序获得来自外界的讯息了!快来获得用户输入吧!
截至目前为止,我们所有的操作都是输出操作 —— 没有用户输入。但是,用户输入其实是程序中极其重要的部分。所以,我们现在一起来学习程序中最重要的部分 —— 用户输入。
一般来说,用户使用 std::cin
进行输入。std::cin
后需要跟随一个对应类型的变量,这就是为什么我们需要先学习变量的知识。以下代码是使用 std::cin
进行输入的良好范例。
#include <iostream>
int main()
{
std::string name; // 姓名变量
unsigned int age; // 年龄变量
std::cout << "请问你叫什么名字?";
std::cin >> name; // 获取姓名
std::cout << "你好!" << name;
std::cout << "。\n请问你今年几岁了?";
std::cin >> age; // 获取年龄
age++; // 计算明年的年龄
std::cout << "你明年 " << age << " 岁。";
return 0;
}
Tips:如果使用 VS Code 保存含有中文的 C++ 文档,请使用 GB 2312 保存以适应终端。
保存并运行。如果运行正常,你将会得到灵魂 2 问2 个问题,当你回答完毕后,你就能分别得到两个看起来比较 low,实际一点也不高级的回复,分别是一句日常 greeting
和对你明年年龄的描述。下面,让我们看一组样例。
请问你叫什么名字?John
你好!John
请问你今年几岁了?1
你明年 2 岁。
Tips:每个程序的效果请自行尝试,尽量动手敲代码,这样对学习编程更有效哦 ~
通过今天的课程,希望你对变量的定义和使用有了一些初步的了解。你也可以尝试自己写几个相关的程序,并尝试 +=
、-=
、*=
、/=
等操作。感谢你的学习,我们下次再见!加油!