Chengyu の 博客

概览
· 前端三剑客
· C++
· Java

   

二    多变的性格

「 変わりやすい性格 」

目录

  1. 定义变量
  2. 改变变量
  3. 用户输入

定义变量

相信在上节课安装完 C++ 编译器与 VS Code 之后,你一定尝试过用 C++ 输出一些有趣的信息。比如以下是我曾经写过的智障小代码含有对编程十分敬畏的代码:

            
#include <iostream>

int main()
{
    std::cout << "原来这就是 C++ 啊!\n";
    std::cout << "这真是太神奇了!";
}
            
        
注:\n 是换行符。

但是,你是否感到了一点无聊 —— 这一切都是人为定好的呀!尽管编程很有趣,但是枯燥无味的编程也是很难提起我们兴趣的。这个时候,一个能灵活改变的东西就出现了 —— 变量。

Tips:如果你以前接触过编程(那你也不应该在这里),你应该对其它语言的变量定义有所了解。但是,由于 C++ 的部分类型变量的定义比较骨骼精奇,建议基础不够强的朋友留步重新学习哦 ~

首先,我们需要认识 C++ 最基本的几种数据类型。如下表:

类型 中文 介绍
auto 自动型 根据赋值自动确定变量类型。
int 整型 正极值约为 21.5 亿,负极值约为 -21.5 亿。
long long 长整型 正极值约为 9.2×1018,负极值约为 -9.2×1018
short 短整型 正极值为 32767,负极值为 -32768。(已被遗弃)。
float 浮点型 保证 6 位小数精度,正极值约为 3.4×1038,负极值约为 -3.4×1038
double 高精度浮点型 保证 15 位小数精度,正极值约为 1.79×10308,负极值约为 -1.79×10308
bool 布尔型 只有 truefalse 两种值。
char 字符型 可以存放仅占用单个字节的 ASCII 字符。
signed 符号型 一般跟随其它数据类型使用,可以在某些类型失效时进行替代,暂时避免错误。
unsigned 无符号型 一般跟随其它数据类型使用,可以用于取消符号位,扩大正数极值。
std::string 字符串类 等价于字符数组,本身不属于数据类型,但使用方法与普通数据类型类似。
注意:浮点数正负极值虽大,但是不保证整型位精度,请勿投机取巧!

如果你记不住如上这么多数据类型,可以暂时只记住 intfloatboolstd::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
+= 自增 += 右边的数值加到左边。
-= 自减 -= 右边的数值从左边减去。
*= 自乘 *= 右边的数值乘到左边。
/= 自除 /= 右边的数值除左边的。
%= 自模 %= 左边的数值取模(模数为右边的数)
Tips:如果你以后忘记了相关的操作,也可以回来看看哦 ~

现在,相信你已经对变量有了初步的了解。是时候让程序获得来自外界的讯息了!快来获得用户输入吧!

用户输入

截至目前为止,我们所有的操作都是输出操作 —— 没有用户输入。但是,用户输入其实是程序中极其重要的部分。所以,我们现在一起来学习程序中最重要的部分 —— 用户输入。

一般来说,用户使用 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:每个程序的效果请自行尝试,尽量动手敲代码,这样对学习编程更有效哦 ~

通过今天的课程,希望你对变量的定义和使用有了一些初步的了解。你也可以尝试自己写几个相关的程序,并尝试 +=-=*=/= 等操作。感谢你的学习,我们下次再见!加油!