【C++】基本的数据类型(二) 字符型常量的表示方法
(2011-05-29 10:33:31)
标签:
字符常量字符串常量反斜杠数据类型八进制数 |
分类: CPP |
前文介绍了一些基本的数据常量,这里我们主要来接触字符常量和字符串常量。
首先,是最小单位的常量boolean常以及最简单的字符常量。
布尔类型常量只有true和false两个值,常用的赋值方式如 bool test=false;
字符常量分为可显示的字符常量和不可显示的字符常量:
1. 可显示的字符常量写在一对单引号之间,如'a'、 '2'、 ','、 '
'等。这些字符常量是默认为char的,如果要定义wide-charater,我们要在定义的字符前加上L,如
L'a'。
2. 不可显示的字符常量,主要是一些Escape Sequences(转义序列)。不可显示的字符常量及不会显示在程序的运行结果中,如空格、换行等。我们在编写这些操作的时候,通常用到转义序列,由一个反斜杠(\)开始,下面介绍一些在C++中常用的专业序列:
| newline | \n | alter(bell) | \a |
|
horizontal |
\t | backslash | \\ |
|
vertical |
\v |
question |
\? |
| backspace | \b |
single |
\' |
|
carriage |
\r |
double |
\" |
| formeed | \f |
当然,我们可以用这个格式来书写其他的转义序列,如 \000,这里的000代表三个八进制数字,八进制数字的值代表这个字符的十进制的值。
下面列举的是一些用ASCⅡ字符来表示的字面常量:
|
\7 |
\12 |
\40 |
|
\0 |
\62 |
\115 |
同样,我们也可以利用十六进制的转义字符来表示一些字面常量,如 \xddd。
—————————————————————————————————————————————————
前面介绍的字面常量都是由基本的内建型数据类型构成的,下面是关于字符串字面常量的一些介绍,这要更加复杂。字符串常量是由字符常量组成的阵列,他是在双引号中的字符常量,可以有零个或者更多个字符组成,也可以由转义序列组成。并且,正如wide charater literal,字符串也可以通过加上“L”前缀来定义。
为了与C兼容,C++的程序中会附加一个字符以配合那些C程序员输入的字符。每一个字符串的结尾都会由编译器附加一个null字符,及“\0”。
—————————————————————————————————————————————————
有字符串联,那么也就有字符串串联了。下面我们介绍串联字符串的表示方法。
串联字符串常量,就是由几个相邻的仅被空格、标记符(tab)或者换行符隔开的string literals(or wide string literals)组成。这种用法便于将很长的字符串分解成不同的行以方便定义及解读。如下:
std::cout<<"a multi-line"
当这段程序被执行的时候,就会显示出:
a multi-line string literal using concatenatiion
很简单的表达,但是,如果把一个string literal和一个wide string literal串联,该怎么办呢?
std::cout<<"multi-line" L"literal"<< std::endl; //Concatenating plain and wide character string is undefined
如果我们像上面这样把一个无格式的string literal和一个wide string literal串联在一起,那么结果就如注释所说,是不合法的。其实在部分编译器中,这个写法是可以的,但是很多的编译器并不能识别这种写法,因此,我们在进行程序的编写是,不要将两种不同类型的字符串串联在一起。
——————————
当然,还有一种更简单(或者说没有多大用途)的方法来处理这些比较长的字符串,就是通过在字符串的行末加上“\”。这样,下一行的内容我们会认为跟这一行一在同一个字符串内的。如下:
//A"\"before a new line ignores the line break
std::cou\
t<< "Hi"<<st\
d::endl;
上面的语句和下面语句的作用是一样的
std::cout<< "Hi"<<std::endl;
那么,我们就可以把一个很长的字符串常量通过“\”来隔开:
std::cout<< "a multi-line \
string litreral \
using a backslash"<<std::endl;
需要注意的是,利用反斜杠来分行的时候一定要把反斜杠写在每一行的最后(在反斜杠后面不能有注释或者空格),同样,下一行的文字不能有缩进,因为下一行的所有内容都是包括在这个字符串内的。
这几篇讲述了基本的数据类型和一些常量的表示方法,后面,我们会接触到变量的一些表示方法。

加载中…