第 2 课:初识变量

预计阅读时间2 分钟 51 views

摘要 变量,简而言之就是可变化的量

蛙蛙通过前一天的学习,已经掌握了C++基本框架和cout语句的使用,通过cout语句他已经能够打印自己的心情,还能计算商品的总价格。

氪町博士昨天就告诉蛙蛙,今天我们要学习一个非常重要的知识点,这个知识点同样会贯穿整个编程阶段的学习,他已经期待一个晚上了,终于等到了今天的氪町博士小课堂。

1.2.1 什么是变量

氪町博士告诉蛙蛙,今天我们要学的知识点叫作变量,简而言之就是可变化的量,比如我们在上一节中计算了香蕉的价格,但如果单价改变了或者买的数量改变了,则需要重新计算一遍,但如果将单价和购买数量用变量代替,这个程序只需要写一次即可。

蛙蛙还是有点懵,氪町博士看出了蛙蛙的疑惑,于是问蛙蛙,你有没有玩过电脑游戏?

蛙蛙自信地点了点头,氪町博士继续说道,我们可以把游戏中人物的血量看作变量。假设某个游戏人物有10格血,每受一次伤,血量就会减1格,当吃下血包的时候,血量就会加1格(当然不能完全超过10,这个知识点需要通过下一章–的内容“选择结构”来学习,我们暂时先假设没有这个限制)。

蛙蛙觉得变量就好像一个能存放东西的小盒子一样,假设用这个小盒子代替血量,一开始这个小盒子里面就存放了10格血,这10格血可能会被拿走(-1),也可能会放进来一些血量(+1)。

  • 我们可以把变量看作一个小盒子,小盒子可以存放一些同种类型的东西(比如血量),里面的东西可能会增加也可能会减少。

1.2.2 变量的定义

定义格式:变量类型 变量名;

什么变量类型,什么又是变量名呢?

这里还是以血量为例,血量一共有10格,相当于初始化为10。当游戏人物受到伤害时,血量就会减1;游戏人物吃到血包时,血量就会加1。我们会发现血量无论增加还是减少,它总是一个整数(不是小数或其他类型)。

所以存放血量的小盒子(变量)要能够存放整数,所以我们需要向计算机申请了一个能够存放整数的盒子。这里用关键字int去申请,也就是变量类型为int。(int是integer的缩写,意为整数、整型。)

我们申请的这个能够存放整数的小盒子,还需给它起一个名字。如果用它来保存血量,那就起个跟血量相关的名字,比如blood。

但是这个名字也不是随便起的,它是有一定的命名规则的。

  • 组成部分:变量名可以由字母(a-z、A-Z),数字(0-9)和下划线(_)组成。
  • 开头要求:变量名必须以字母或下划线开头,不能以数字开头。例如“blood”“_blood”都是合法的,但是“10blood”就是非法的。
  • 区分大小写:变量名是区分大小写的,比如“blood”和“Blood”是两个不同的变量名。
  • 不能以关键字命名:比如不能以int、double、if、else等(我们以后还会接触到更多关键字)命名。
  • 见名思义:虽然这个规则并不影响语法,但最好还是要使用有意义的变量名,这样有助于代码的阅读和理解。比如看到“blood”就能够想到这个变量可能会代表血量。在学习编程初期,一定要养成良好的代码编写习惯。

完整的写法就是:

int blood;

即申请一个能够存放整数的变量,命名为blood,变量申请完之后,结尾的分号千万不能忘记。

但有时候可能会需要多个变量,如果想一次性定义多个变量的话,只需要将多个变量名用逗号隔开即可,比如

int a,b,c;

这里的a、b、c表示三个不同的变量。

1.2.3 变量的赋值

现在我们把变量比作一个小房间,这个小房间只能够存放小板凳。开始的时候,小房间里面没有一个小板凳,我们可以称变量初始化为0,记作:

int s = 0;

这里的s表示小板凳的数量,如果我们将3个小板凳搬进这个小房间里面,此时小房间里板凳的数量为3,可以表示为:

s = 3;

为什么这里不需要int了呢?蛙蛙有些疑惑。

那是因为小房间这片空间已经在前面申请了,不需要再申请一次,直接拿过来用即可。

但是需要注意,这里的“=”是计算机中的赋值运算符,并不等同于数学中的等于号。

标准的赋值格式为:

变量 = 表达式;

表示把“=”右边的表达式赋值给左边的变量,s = 3的意思是把3这个数值赋值给变量s。还以上面的情景为例,就相当于往小房间里面放进去了三个小板凳一样,此时小房间里板凳的数量才等于3。

1.2.4 变量的输出

变量的输出,其实就是输出变量里存放的数字,就和之前我们输出一个数字是一样的。假设已经声明了a、b、c三个变量,此时要将这三个变量输出出来,应该如何表示呢?

我们有学过输出实际的数字,比如输出数字22,直接使用cout语句进行输出,即使用cout << 22;即可在控制台打印出22这个数字。

同样,如果想要输出一个变量,也是直接使用cout加连接符连接变量名即可,比如输出变量a,表示为:

cout << a;  // 表示输出变量a的值

如果我们想要输出多个变量,也是同输出多个数字一样,使用连接符连接即可,表示为:

cout << a << b << c;  // 表示输出变量a、b、c三个变量的值

但是如果按照上面这样写,输出的三个值会紧紧地贴在一起,没有分隔开,你还记得怎么分开的吗?如果忘记的话,记得回顾下1.1.4节的例3解析哦。

1.2.5 标准输入

常见的程序,不仅会有输出,还会有输入,比如你想搜索某个名词,会在搜索框里面输入这个名词,搜索框读入你输入的内容后,再输出给你一些相关信息,这个程序中就涉及输入和输出。

在C++中输入的格式如下:

cin >> ... ;

我们输入的内容肯定要存放到某个地方(空间)。大家可以思考下,空间是不是我们刚讲过的内容?

没错,就是变量。假设我们申请了一个整型变量s,往s中输入一些内容,那么s这块空间里面存放的内容便是我们输入的值,具体如下:

cin >> s;

在基本框架里面写入这行代码后,点击“编译运行”,则可以在控制台看到一个一闪一闪的光标,可以在里面输入一个值,比如输入22,就相当于s这个变量的值为22。

注意:目前所编写的代码均在基本框架内,输入变量前需要先对变量进行定义,输入完之后按Enter(换行)键表示输入结束。

如果想输入多个变量,格式与输出类似,用“>>”连接即可,这个连接符与输出的连接符“<<”是相反的。假设我们现在想输入三个变量a、b、c,并且这三个变量已经声明,格式如下:

cin >> a >> b >> c;

1.2.6 实例讲解

现在我们已经学会了如何定义、使用变量,接下来跟随蛙蛙一起完成下面几个例题吧。

例1:蛙蛙的书架

蛙蛙最近为了好好学习编程,买了很多编程相关的书,但是这些书没地方摆放,于是爸爸决定给蛙蛙买一个新书架来放置这些书。

拿到书架后,蛙蛙赶紧把书放了进去,一边放一边数了下书的数量,一共有8本,全部放了进去,请你用变量的形式在控制台中打印蛙蛙新书架中书的数量。

【输出描述】用变量的形式输出新书架中书的数量。

【输出样例】8

解析

题目要求我们要用变量进行输入,所以需要我们先声明一个变量。声明变量需要有变量类型和变量名,在给变量命名的时候要注意变量命名规则。然后给变量赋一个值,这个值在题目中已经给定了,最后直接使用cout输出这个变量即可。

参考代码

#include <iostream>
using namespace std;
int main()
{
    int books = 8;
    cout << books;
    return 0;
}

例2:书架的总书数

蛙蛙把8本编程书放进书架后,发现书架还是空荡荡的,于是他把以前买的其他种类的书也放上去了,又放进去了13本书,请问现在书架中一共有多少本书呢?

【输出描述】用变量的形式分别表示编程书总数及其他种类的书总数,再输出两者之和。

【输出样例】21

解析

我们可以用变量books1表示编程书的总数,用books2表示其他种类书的总数(当然如果你想用其他变量也是可以的,比如用a表示编程书的总数,b表示其他种类书的总数)。

然后输出books1和books2之和即可。

参考代码

#include <iostream>
using namespace std;
int main()
{
    int books1 = 8, books2 = 13;
    cout << books1 + books2;
    return 0;
}

例3:科普书籍的数量

学校图书馆每周都会迎来大量借书、还书的学生。管理员在整理书架时,发现某类科普书籍还剩下n本,为了清楚地了解库存情况,方便后续管理,他希望能通过程序记录该类书籍的剩余数量

【输入样例】22

【输出样例】22

解析

在控制台输入一个变量的值,使用我们刚刚学习过的cin >> ...语句,记得,cin后面跟的连接符的朝向与cout相反。

假设已经声明了一个变量为n,如果想在控制台内输入这个变量的值,则需:

cin >> n;

结尾的分号也不要忘记,运行后,则可以看到控制台内有个光标在闪,是在提醒你输入一个变量,输入完之后点击回车(Enter键)即可将输入的值保存到变量n中。

参考代码

#include <iostream>
using namespace std;
int main()
{
    int n; // 声明变量n
    cin >> n; // 输入变量n,比如输入22,n的值此时便为22
    cout << n; // 输出n的值
    return 0;
}

例4:借出去的书

蛙蛙有很多同学,前几天就有几名同学来找蛙蛙玩,突然看到了蛙蛙书架上的编程书,十分感兴趣,也有些同学对其他书感兴趣。

所以想问蛙蛙能不能把书借给他们拿回家看几天,蛙蛙自然是同意的。

假设一共有m名同学来向蛙蛙借书,每名同学都借了n本书,蛙蛙想统计下他那次借出去多少本书。

【输入描述】一行,两个整数m和n,分别表示多少名同学和每名同学借出去的数量。

【输出描述】输出蛙蛙一共借出去了多少本书。

【输入样例】3 2

【输出样例】6

解析

由于同学的数量和每人借蛙蛙书的数量都是变化的,所以需要声明两个变量,分别用来表示有多少名同学来借书,以及每名同学借多少本。

想要输入多个变量,格式与输出一致,连接符相反,这里先假设有m名同学,每名同学借n本书,则有:

cin >> m >> n;

用两个 >> 连接符连接两个变量,m和n需要提前声明,其中多个变量之间需要用逗号隔开。

参考代码

#include <iostream>
using namespace std;
int main()
{
    int m,n;
    cin >> m >> n;
    cout << m*n;
    return 0;
}
CONTENTS
Copyright © 2024 - 2026 bigbigli网站 保留所有权利