The New C++ -- 变量 (2. 变量的赋值和输入)
来源:互联网 发布:淘宝网靠谱的茶叶店 编辑:程序博客网 时间:2024/04/28 02:53
变量的赋值即是通过赋值操作符(=)将`=’右边的值赋值给左边的变量。当我们定义一个变量的时候,编译器会在内存中分配该变量的存储空间,变量的赋值即相当于将赋值操作符右边的值写到左边的变量所代表的内存存储空间去。例如,
#include <iostream>int main(){ int num_boys, num_girls, num_students; num_apples = 32; //1 num_oranges = 27; //2 num_fruits = num_apples + num_oranges; //3 std::cout << “There are totally “ << num_fruits << “ fruits.” << std::endl; num_apples = num_apples - 1; //4 num_fruits = num_apples + num_oranges; //5 std::cout << “If you eat one apple, there will be “ << num_fruits << “ fruits left.” << std::endl; return 0;}
可以看到,在注释(1)和(2)这里,我们将32和27这两个字面值常量所代表的值分别赋值给了num_apples和num_oranges。在注释(3)和(5)这里,我们首先运行num_apples和num_oranges的加法运算,然后把运算结果赋值给num_fruits。在注释(4)这里,我们把num_apples减去1,然后把运算结果赋值给num_apples,注意赋值操作符`='并不等同于数学上的等号。在数学上,注释(4)这一行是不可能成立的,我们应该把`='理解为赋值操作符。关于赋值操作符和加号操作符,我会在后续章节详解。
我们已经可以用变量来做一些简单计算了。你也许觉得上面的例子还是没很多用处,因为我们用到的变量最开始都是用字面值常量赋值的,这些简单的计算甚至根本用不到变量,例如我们可以直接用字面值常量做一些计算,
std::cout << 32 + 27 - 1 << std::endl;
变量有一个字面值常量无法取代的功能就是存储动态的数据,包括用户在程序运行过程中输入的数据。我们应该已经对std::cout很熟悉了。在C++中,我们用std::cin来表示标准输入。我们用<<表示输出,相反我们用>>表示输入,见例子,
#include <iostream>int main(){ double first_number; double second_number; std::cout << “Please input the first number: “; std::cin >> first_number; std::cout << “Please input the second number: “; std::cin >> second_number; double sum = first_number + second_number; std::cout << first_number << “ + “ << second_number << “ = “ << sum << std::endl;; return 0;}
小知识:in和out当然是输入和输出的意思。cin和cout中的`c’表示character(字符)这个单词。cin就是character-input,用户输入的是一个一个的字符,而cin会将字符转换为相应类型的变量的值。cout就是character-output,将数值转换为一个一个的字符输出。前面提到过的wcout就是wide-character output(宽字符输出)的意思。
- The New C++ -- 变量 (2. 变量的赋值和输入)
- The New C++ -- 变量 (3. 变量的初始化)
- The New C++ -- 变量(1. 变量的声明和定义)
- The New C++ -- 变量 (6. 变量名的声明点和作用域)
- c语言变量的初始化和赋值的区别
- 单片机c语言变量的定义和赋值
- C程序变量的声明、定义、初始化和赋值
- The New C++ -- 变量(0)
- C语言结构变量的赋值
- 用new关键字对一个String 变量赋值和用literal值直接赋值有什么不同(转)
- 用new关键字对一个String 变量赋值和用literal值直接赋值有什么不同(转)
- 变量赋值和引用
- 变量赋值和引用
- 内部变量和通过命令赋值给变量的区别
- 变量替换和赋值及特殊的变量类型
- 变量的赋值和类型转换
- makefile的变量定义和赋值
- JS变量的未定义和未赋值
- SQL常用函数及语句(不断更新)
- 技术开发の语录文摘
- POJ 1177
- java List 排序 Collections.sort() 对 List 排序
- 银行卡的交易与结算流程
- The New C++ -- 变量 (2. 变量的赋值和输入)
- 关于如何在图片上加热点链接
- Java基础--static、this、super用法
- 想找个GG一起在互联网创业
- Android 4.0设计规范 优先导读 十大改变 (附全文翻译pdf)
- ubuntu9.04编译android2.3失败
- 银行卡的清分、对帐与清算
- 语音搜索
- 改善 C#程序的建议4:C#中标准Dispose模式的实现