• Index

简述变量、输入和输出

Reads: 91

我们在第一个C++程序中使用过向终端输出字符串。现在我们需要向终端输入一个数,然后再向终端输出这个数。

这里我们用到了输入std::cin。在C++中,输入一个数的时候,必须要用一个东西来装这个数,这样才能在程序中使用,这个东西叫做变量

基础示例

先看以下示例:

#include <iostream>

int main(void)
{
    int num = 0; // 声明变量并初始化为0,用这个变量来装输入的数
    std::cout << "请输入一个数:"; // 向控制台输出一行字
    std::cin >> num; // 用变量num保存从控制台输入的数
    std::cout << "你输入的是:" << num << std::endl; // 按顺序输出字符串、num中保存的数和换行符
    return 0;
}

假设输入123,那么你将会在终端看到以下内容:

请输入一个数:123
你输入的是:123

基础讲解

由于输入std::cin和输出std::cout都在iostream里,所以需要引入iostream库。

以下代码是声明变量num,它专门用于保存整数

int num;

在它声明的时候,给它一个初始的值0,这个过程叫做初始化:

int num = 0;

以下代码输出了请输入一个数:。不输出换行符,那么就会在冒号后面输入;如果输出换行符,就会在下一行输入:

std::cout << "请输入一个数:";

以下代码是输入一个数,然后变量num就会保存这个数:

std::cin >> num;

以下代码按顺序输出你输入的是:、然后输出num保存的数、接着输出换行符:

std::cout << "你输入的是:" << num << std::endl;

基础拓展

简述变量

变量的名字是由你来定的,叫a也行,b也行,一般都会以功能来命名。变量名称是有规则限制的,这些限制将在后面讲解。

变量保存一个值,这个过程叫做赋值。例如int a = 123;,叫做:将a赋值为123

仔细的你肯定发现,当我们输入小数时,程序只输出了小数的整数部分。因为,用来保存输入的变量,是一个专门保存整数的变量。

int声明的变量叫做整型变量。当使用int来声明变量,这个变量就只能保存整数,而且是有范围限制的。

int只能保存范围在[-2147483648, 2147483647]之间的整数,如果试图将一个超出范围的值赋给int类型的变量,编译的时候将会报错或者出现你不知道的错误。

如果你确定赋给变量的数肯定是非负的整数,这时候就可以用unsigned int,它保存的范围是[0, 4294967295]unsigned int叫做无符号整型

如果这个数大于无符号整型的范围,此时就需要用到long long,它的范围很大;同样也可以用unsigned long long。小数可以用floatdouble。对于它们的详细内容将在后面进行讲解。

简述输入和输出

仔细的你肯定看到了两个符号:<<>>。假设想输出数字到终端,就可以用<<将数字传到std::cout;想输入数字到程序,就可以用>>将数字从std::cin传到变量中保存。

输入不同的值,就必须要用相对应的变量来保存。如果类型不匹配将会在运行的时候出现各种问题。

如果需要一次过输入多个值,那么,主要部分的代码可以这样写:

#include <iostream>

int main(void)
{
    int a = 0;
    int b = 0;
    std::cin >> a >> b;
    std::cout << a << b << std::endl;
    return 0;
}

当输入4 646之间是一个空格)的时候,按下回车,第一个值4会传给变量a,然后第二个值6会传给变量b,然后就会按顺序输出变量a和变量b保存的值,即先输出4再输出6然后换行;这样,我们就看到输出的是46

当然,46之间的空格可以用回车代替,即先输入4,按下回车,再输入6,按下回车,执行的效果是一样的。

但是如果输入的是46,中间什么都没有,程序就会当成一个数46来处理。而且用来分开数字的符号只能是空格或者换行,输入其他符号,是错误的做法。

补充知识(了解即可)

远古时代的声明变量和定义变量是分开的,不过现在是合在一起的,所以后面声明定义变量我都会说声明变量(注意:仅仅是变量。除了变量,其他的声明和定义是分开的)。

巩固练习

输入三个整数abc,然后用变量result保存这三个整数的和,接着输出result保存的值。


Comments

Make a comment

  • Index

WARNING: You are using an old browser that does not support HTML5. Please choose a modern browser (Chrome / Microsoft Edge / Firefox / Sarafi) to get a good experience.