每种语言都有自己的一套符号,符号是组成程序的基本单位,它是由若干字符组成的具有一定意义的最小词法单元,如标识符、关键字、运算符、分隔符、常量、注释符等。这里组成符号的字符必须是这种语言字符集中的合法字符,在C++中规定了一个自己的字符集。 2.1 C++字符集 字符是可以区分的最小单位,也是组成词法符号的基本单位。C++的字符由下列字符组成。 1、大小写英文字母 a~z,A~Z 2、数字字符 0~9 3、特殊符号 空格 ! # % ^ & * _ - + = ~ > / / | . , ; ? ' " ( ) [ ] { } 2.2 词法符号(简称符号) C++共有6种词法符号,分别为 1、标识符 标识符是程序员定义的词法符号,用它来命名程序中的一些实体。常见的有函数名字、类名、变量名、常量名、对象名、标号名、类型名等。C++规定标识符由大小些字母、数字符号和下划线组成,第一个字符必须是字母和下划线。 定义标识符有一定的要求 (1) 标识符长度没有限制,但不同的编译系统有不同的要求,一般不超过31。 (2) 第一个字符必须是字母或下划线。 (3) 标识符中大小写是有区别的。XY,xy,xY,Xy都是不同的标识符。 (4) 标识符定义时应尽可能是用有意义的单词。 (5) 标识符不能与关键字相同。 (6) 中间不能有空格。 2、关键字 关键字是系统预留的词法符号。都有不同的用途和含义。 书上给出了ANSI标准的关键字(32个)及一些VC扩展的一些关键字(29个)。 3、运算符 运算符实际上是系统预定义的函数名字,这些函数作用于被操作的对象,将获得一个结果值。这部分内容在后面将详细介绍。 4、分隔符 分隔符又称标点符号。用来分隔单词和程序正文的。C++常用分隔符有: (1)空格符:用来做单词之间的分隔。 (2)逗号:变量说明时分隔多个变量。 (3)分号:作为语句结束时的标记。在for 语句后面括号中三个表达式也用到分号。 (4)冒号:用作语句标号,在switch语句中也会使用到。 (5){ }:用来构造程序 5、常量 c++中,常量有数字常量、字符常量、字符串常量。 6、注释符 前面已经讲过,有两种方法,一种是C++语言新增的注释方法,即以//开头,占一行。另外就是原来C语言的注释方法,以一对/*和*/括起的注释信息。 2.3 基本数据类型 类型是对系统中的实体的一种抽象,它描述了某种实体的基础特性,包括值的表示、存储空间的大小以及对该值的操作。C++的数据类型包括基本数据类型和构造数据类型两类。构造数据类型又称复合数据类型,它是一种更高级的抽象。当变量被定义为某种类型时会受到系统对该类型的特别保护,确保其值不受非法操作。 C++语言的基本数据类型有如下四种: ·整型,说明符为int; ·字符型,说明符为char; ·浮点型(又称实型),说明符为float(单精度),double(双精度); ·空值型,说明符为void,用于函数和指针。 为了满足各种情况的需要,除了void型外,上述的三种类型前面还可以加上修饰符改变原来的含义。 signed 表示有符号 unsigned 表示无符号 long 表示长型 short 表示短型 上述4种修饰符都适用于整型和字符型,只有long 还适用于双精度浮点型。 数据类型规定的存储空间都是按字节算的,其占用的字节数会根据机器字长的不同会有所变化。也就是说,变量所占空间的大小与被定义的类型和机器有关。所以要注意那些类型会受机器的影响。 类型 说明 长度(字节) 备注(16位) 16位机 32位机 char 字符型 1 1 -128~127 unsigned char 无符号字符型 1 1 0~255 signed char 有符号字符型 1 1 -128~127 int 整型 2 4 -32768~32767 unsigned [int] 无符号整型 2 4 0~65535 signed [int] 有符号整型 2 4 -32768~32767 short [int] 短整型 2 2 -32768~32767 unsigned short [int] 无符号短整型 2 2 0~65535 signed short [int] 有符号短整型 2 2 -32768~32767 long [int] 长整型 4 4 -2147483648~2147483647 signed long [int] 有符号长整型 4 4 -2147483648~2147483647 unsigned long [int] 无符号长整型 4 4 0~4294967295 float 浮点型 4 4 -3.4*1038 ~3.4*1038 double 双精度型 8 8 -1.7*10308 ~1.7*10308 long double 长双精度型 10 10 -3.4*104932 ~1.1*104932 例如:下面是16位与32位计算机的几种数据类型比较。 说明:上面括号中的int 可以省略,即在int之前有修饰符的可以省略int。 在设计程序时,如果要确定某种数据类型所占的字节数,可以利用sizeof函数。例如: cout 2.4 常量 常量是在程序中不能被改变的量。 常量有各种不同的数据类型,不同数据类型的常量由它的表示方法决定,常量被存储在不能被修改的匿名变量中,常量或常量符号可出现在表达式中。 下面介绍各种不同数据类型常量的表示方法。 1、整型常量 整型常量可以用十进制、八进制和十六进制来表示。 (1)十进制整型常量由0至9的数字组成,没有前缀,不能以0开始,没有小数部分。有正负之分。例如:234,-76等 (2)八进制整型常量,以0为前缀,其后由0到7的数字组成,没有小数部分,不能带符号。例如:0357,072等。 (3)十六进制整型常量,用0x或0X为前缀,其后由0到9的数字和A到F(大小写均可)字母组成,没有小数部分,不能带符号。例如:0x7A,0x8ef等。 整型常量中的长整型用L(或l)做后缀表示。例如,32786L。 整型常量中的无符号型用U(或u)做后缀表示。例如,4365U。 整型常量后缀可以是U和L(u或l)的组合,表示unsigned ling 类型的常量。 2、浮点型常量 浮点型常量是由整数部分和小数部分组成的,只有十进制表示。 浮点型常量有两种表示方式:一种是小数表示法,它由整数部分和小数部分组成的。这两部分可省去一部分,但不能都省去。如:5. ,.32 ,0.0,13.54等。另一种方法是科学表是法,他常用来表示很大或很小的数,表示方法是在小数表示法后加e(E)及指数部分。但要注意,e(E)前面必须有数字,指数部分可正可负,但都是整数。例如,3.2E-5,5.8E10,3e6等。 与整型常量一样,可以定义float和double型两种变量。在默认情况下,实型常量都为double型,如果要定义float型变量,则必须在实数后加f(F)。表示long double 则必须在实数后加l(L)。例如: 3.2f //float 3.2e2f //float 12.0e-4 //double 76.4L //long double 实型常数分为单精度(float)、双精度(double)和长双精度(long double)3类。一般float型占4个字节,提供7位有效数字。double型占8个字节,提供15位有效数字。long double型占10个字节,提供19位有效数字。 3、字符常量 字符常量是用单括号括起来的一个字符。 有两种表示方法,一种是用该字符的图形符号,如'a' ,'x','*','1','A'。另外还可以用字符的ASCII码表示,即用反斜符(/)开头,后跟字符的ASCII码,这种方法也称为转义序列表示法,具体方法是: 有两种形式:一种是用字符的八进制ASCII码,表示为: /ddd 这里,ddd是八进制值。另一种使用字符的十六进制ASCII码值,表示为 /xhh 这里hh是两位十六进制值。如:'A' ,'/101' 和 'x41'都表示同一个字符常量。 转义序列表示法还可以用来表示一些特殊字符,用来显示特殊符号或控制输出格式。下面是常用的特殊转义字符。 字符形式 ASCII值 功 能 /a 0x07 响铃 /n 0x0a 换行 /t 0x09 制表符(横向) 0x0b 竖向跳格 /v 0x0b 竖向跳格 /b 0x08 退格 /r 0x0d 回车 // 0x5c 字符/ /” 0x22 字符” /’ 0x27 字符’ /ddd 可表示任意字符 /xhh 可表示任意字符 注意:特殊转义字符必须是小写字母。 <  
1/2 1 2 下一页 尾页 |