学学习网 手机版

学学习网

学习路径: 学习首页 > 应用开发 > c++ >

第二节 C++语法规则(4)

设置字体:
----------------------------------

 
 常量 Constants

一个常量(constant)是一个有固定值的表达式。
 
字(Literals
字是用来在程序源码中表达特定的值。在前面的内容中我们已经用了很多的字来给变量赋予特定的值。例如:
a = 5;
 
这句代码中5就是一个字常量。
字常量(literal constant)可以被分为整数(Integer Numbers), 浮点数(Floating-Point Numbers),字符(Characters)和字符串(Strings)。
 
整数(Integer Numbers)
1776
707
-273
他们是整型常数,表示十进制整数值。注意表示整型常数时我们不需要些引号(quotes ("))或任何特殊字符。毫无疑问它是个常量:任何时候当我们在程序中写1776,我们指的就是1776这个数值。
除十进制整数另外, C++还允许使用八进制(octal numbers)和十六进制(hexadecimal numbers)的字常量(literal constants)。如果我们想要表示一个八进制数,我们必须在它前面加上一个0字符(zero character),而表示十六进制数我们需要在它前面加字符0x (zero, x)。例如以下字常量(literal constants)互相等值:
75     // 十进制 decimal
0113 // 八进制 octal
0x4b // 十六进制 hexadecimal
所有这些都表示同一个整数: 75 (seventy five) ,分别以十进制数,八进制数和十六进制数表示。
像变量一样,常量也是有数据类型的。默认的整数字常量的类型为int型。我们可以通过在后面加字母u或l来迫使它为无符号(unsigned)的类型或长整型(long)。
75         // int
75u        // unsigned int
75l        // long
75ul       // unsigned long
 
这里后缀u和l可以是大写,也可以是小写。
 
浮点数(Floating Point Numbers)
浮点数以小数(decimals)和/或指数幂( exponents)的形式表示。它们可以包括一个小数点,一个e字符(表示"by ten at the Xth height",这里X是后面跟的整数值) ,或两者都包括。
3.14159 // 3.14159
6.02e23 // 6.02 x 10^1023
1.6e-19 // 1.6 x 10^-19
3.0     // 3.0
以上是包含小数的以C++表示的4个有效数值。第一个是PI,第二个是Avogadro数之一,第三个是一个电子(electron)的电量(electric charge)(一个极小的数值) – 所有这些都是近似值。最后一个是浮点数字常量表示数3。
浮点数的默认数据类型为double。如果你想使用float或long double类型,可以在后面加f或l后缀,同样大小写都可以:
3.14159L   // long double
6.02e23f   // float
 
字符和字符串(Characters and strings
此外还有非数字常量,例如:
'z'
'p'
"Hello world"
"How do you do?"
前两个表达式表示单独的字符(character),后面两个表示由若干字符组成的字符串(string) 。注意在表示单独字符的时候,我们用单引号(single quotes (')),在表示字符串或多于一个字符的时候我们用双引号(double quotes ("))。
当以常量方式表示单个字符和字符串时,必须写上引号以便把他们和可能的变量标识或保留字区分开,注意以下例子:
x
'x'
x 指一个变量名称为 x, 而'x'指字符常量'x'。
字符常量和字符串常量各有特点,例如escape codes,这些是除此之外无法在源程序中表示的特殊的字符,例如换行符 newline (\n) 或跳跃符tab (\t)。所有这些符号前面要加一个反斜杠inverted slash (\)。这里列出了这些escape codes:
\n 换行符newline
\r 回车carriage return
\t 跳跃符tabulation
\v 垂直跳跃vertical tabulation
\b backspace
\f page feed
\a 警告alert (beep)
\' 单引号single quotes (')
\" 双引号double quotes (")
\? 问号question (?)
\\ 反斜杠inverted slash (\)
例如:
----------------------------------
课程列表
重点难点
赞助链接