C++的变量和类型

导读

《C++程序结构》一章中我们通过”Hello World”程序初步了解C++的组成,但这远远不够,我们应该写出真正能节省工作效率的代码。接下来引入变量的概念。

想象一下,我要求你记住数字5,然后我要求你同时也记住2。你的脑海里存储了两个数字,5和2。现在我要求你把第一个数+1,你脑海中的两个数字变成了6(5+1)和2。

上面描述的整个过程类似于计算机可以用两个变量做什么。相同的过程可以在C++中用下面的语句表示:

a = 5;
b = 2;
a = a + 1;

我们将变量定义为内存的一部分来存储值。

每个变量需要一个名字来标识自身以便于和其他变量区别开来。例如a、b都是变量名,我们可以调用变量,可以起符合规范的变量名。

标识符

一个合法的标识符是由一个或多个字母、数字、下划线(_)组成。标识符里不包含空格、标点、特殊符号。另外,标识符应该以字母或双下划线(__)开头。但是大多数情况下,以双下划线开头的标识符被认为是编译器特定关键字或外部保留标识符。任何情况下都不允许以数字开头。

C++使用多个关键字来标识操作和数据描述,因此自定义变量名不可以与它们重复,C++保留关键字如下:

alignas, alignof, and, and_eq, asm, auto, bitand, bitor, bool, break, case, catch, char, char16_t, char32_t, class, compl, const, constexpr, const_cast, continue, decltype, default, delete, do, double, dynamic_cast, else, enum, explicit, export, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, noexcept, not, not_eq, nullptr, operator, or, or_eq, private, protected, public, register, reinterpret_cast, return, short, signed, sizeof, static, static_assert, static_cast, struct, switch, template, this, thread_local, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t, while, xor, xor_eq

特定的编译器可能还具有其他保留关键字。

C++是一种区分大小写的语言,这意味着用大写字母写的标识符不等同于另一个同名,但用小写字母书写的标识符。因此,RESULT、result、Result是三个不同变量。

基本数据类型

变量值以0和1的形式存储在计算机内存的某个指定位置,我们的程序不需要知道变量的确切位置,它只需要通过变量名称引用变量即可。程序需要知道的是变量中存储的数据类型。存储一个简单的整数和一个字母或一个大的浮点数是不一样的。尽管它们都是用0和1来表示,但它们的解释方式不同,而且在许多情况下,它们不占用相同的内存量。

基本数据类型可分为:

  • 字符型

它们可以表示一个字符,例如’A’或者’$’。最基本的类型是char,它是一个单字节字符。

  • 整型

它们可以存储一个整数值,例如7或者1024。它们有各种大小,可以有符号也可以无符号,取决于它们是否支持负值。

  • 浮点型

它们可以表示实数,例如3.14或者0.01,根据使用的浮点类型不同产生不同的精度级别。

  • 布尔型

布尔类型只能表示true或false其中之一的状态。

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

© 2018-2019 惜春令 京ICP备18010644号 网站地图