文档介绍:第二章 C++基础知识
计算机所处理的数据以一定形式存放在内存中,数据的存储方式以及能够进行的合法运算都与数据类型直接相关。C++的特点之一就是提供了丰富的数据类型,以便处理各种不同的数据。本章将简要介绍C++中的数据类型及相关运算,以及常量、变量、表达式、语句等,最后介绍简单的输入输出方法。
C++的词法单位
C++的字符集
ASCII码字符集是计算机领域中常用的西文字符集。它包括英文字母、阿拉伯数字在内的128个字符,存储这些字符均占一个字节单元。
随着计算机处理信息范围的扩大及接触语言种类的增多,相继出现了汉字国标码等对应于不同语言的字符集,国标码的存储占两个字节单元。为便于对各类字符的统一管理,Unicode字符集应运而生。
Unicode 字符集共有35536个字符,包括世界上多种语言的基本字符,并对它们进行了统一的双字节编码。ASCII字符集和国标字符集都是Unicode字符集的子集。
在程序设计语言中,每种语言都使用一些特定的字符来构造基本词法单位,进而描述程序语句,其中用于C++的字符集包括:
26个小写字母 abcdefghijklmnopqrstuvwxyz
26个大写字母 ABCDEFGHIJKLMNOPQRSTUVWXYZ
10个阿拉伯数字 0123456789
其他符号+ - * / = , . _ : ; ? \ " ' ~ | ! # % & () [] {} ^ < > 空格
C++的字符集所构成的词法单位有五种:关键字、标识符、常量、运算符和标点符号。
关键字(keyword)又称保留字,是由系统定义的具有特定含义的英文单词,关键字不能另做他用。C++区分字母的大小写,关键字全由小写字母组成。标准C++(ISO14882标准)定义了74个关键字,但具体的C++编译器会对关键字作一些增删,。
C++常用关键字及分类
数据类型说明符与修饰符
bool char class const double enum float int long short signed struct union unsigned void volatile wchar_t
存储类型说明符
auto extern inline register static
访问说明符
friend private protected public
语句
break case catch continue default do else for goto if return switch throw try while
运算符及逻辑值
delete false new sizeof true
其它说明符
asm explicit namespace operator template this typedef typename using virtual
还有一些关键字本书未介绍:
const_cast dynamic_cast reinterpret_cast static_cast
export mutable typeid
下面一些关键字可代替逻辑运算符():
and代&& and_eq代&= bitand代& bitor代|
compl代~ not代! or代|| or_eq代|=
xor代^ xor_eq代^= not_eq代!=
常用关键字的含意会在后续内容中逐步介绍,其他内容可查阅相关手册。
标识符
标识符(ID,identifier)是程序员定义的英文单词,用来为程序中涉及的实体如变量、常量、函数及自定义的数据类型等命名。合法标识符由字母或下划线开始,由字母、数字、下划线组成,其有效长度为1~31个字符,长度超过31个字符者只识别前31个字符,VC++标识符长度为1~247个字符。C++区分大小写字母,即value、Value和VALUE是三个不同的标识符。用户自定义标识符时不能使用关键字,也不可与C++编译器提供的资源如库函数名、类名、对象名等同名,否则那些资源将不能被再利用。
建议使用有意义的单词或拼音序列作为标识符,可大小写混用,以提高可读性;另外,虽然C++编译器允许标识符以下划线开始,但系统本身定义的内部符号一般以下划线或双下划线开始,所以自定义标识符时不提倡以下划线开始。
下面是合法的标识符:
MyFile amount Num_of_Student Salary94
下面是非法的标识符:
94Salary //不能以数字打头
Salary 94 //不能含有空格
void //不能用关键字作为标识符
//不