词法记号
关键字(keyword)又称保留字,是C++预定义的单词,每个C++
关键字都有特殊的含义。
标识符程序员声明的单词,它命名程序正文中的一些实体
文字在程序中直接使用符号表示的数据
操作符用于实现各种运算的符号
分隔符(){},:;
用于分隔各个词法记号或程序正文
空白符空格、制表符(TAB键产生的字符)、换行符(Enter
键所产生的字符)和注释的总称
标识符
定义:用来标识变量、常量、函数等的字符序列
组成:
只能由字母、数字、下划线组成,且第一个字母必
须是字母或下划线
区分大小写
不能使用关键字
一般应小于32个。
C++的数据包括:
常量:程序运行时其值不能改变的量(即常数)。
变量:程序运行时其值可以改变的量称为变量。
常量与变量都具有类型。
VisualC++数值型和字符型数据的字节和数值范围
类型说明字节范围
[signed]int整型4-2147483648~2147483647[-231~(231-1)]
unsigned[int]无符号整型40~4294967295[0~(232-1)]
short[int]短整型2-32768~32767[-215~(215-1)]
unsignedshort[int]无符号短整型20~65535[0~(216-1)]
long[int]长整型4-2147483648~2147483647[-231~(231-1)]
unsignedlong[int]无符号长整型40~4294967295[0~(232-1)]
[signed]char字符型1-128~127[-27~(27-1)]
unsignedchar无符号字符型10~255[0~(28-1)]
float单精度浮点型4-3.4×10-38~3.4×10386位有效数字
double双精度浮点型81.7×10-308~1.7×1030815位有效数字
longdouble长双精度浮点型81.7×10-308~1.7×10308
定义:程序运行时其值不能改变的量(即常数)
分类:
符号常量:用标识符代表常量
定义格式:#define符号常量常量
一般用大写字母
直接常量:
整型常量
实型常量
字符常量
字符串常量
如#definePRICE30
例
#include<iostream>
#definePRICE30
usingnamespacestd;
main()
{
intnum,total;
num=10;
total=num*PRICE;
cout<<total;
}
整型常量(整常数)
三种形式:
十进制整数:由数字0~9和正负号表示.如123,-456,0
八进制整数:由数字0开头,后跟数字0~7表示.如0123,011
十六进制整数:由0x开头,后跟0~9,a~f,A~F表示.
如0x123,0Xff
整型常量的类型
根据其值所在范围确定其数据类型
在整常量后加字母l或L,认为它是longint型常量
实型常量(实数或浮点数)
示形式:
十进制数形式:由整数部分和小数部分组成,必须有小
数点)如0.123,.123,123.0,0.0,123.
可以省略其中之一,如78.或.06,.0,但不能二者皆省略。
指数形式:
其一般形式为尾数e或E指数
用e或E代替指数10
e或E之前后必须有数字;
指数必须为整数
如12.3e3,123E2,1.23e4,e-5(×),1.2E-3.5(×)
实型常量的类型
默认double型
在实型常量后加字母f或F,认为它是float型
在实型常量后加字母l或L,认为它是longdouble型
转义字符 含义 ASCII代码
\a 响铃 7
\n 换行,将当前位置移到下一行开头 10
\t 水平制表(跳到下一个tab位置) 9
\b 退格,将当前位置移到前一列 8
\r 回车,将当前位置移到本行开头 13
\f 换页,将当前位置移到下页开头 12
\v 竖向跳格 8
\\ 反斜杠字符“\” 92
\′ 单引号(撇号)字符 39
\" 双引号字符 34
\0 空字符 0
\ddd 1到3位8进制数所代表的字符 例如:\7==\a \x41==a
\xhh 1到2位16进制数所代表的字符 \x41==a
如'\101'-----------'A''\012'-----------'\n'
'\376'-----------'''\x61'-----------'a'
'\60'-----------'0''\483'----------()
例:
'A'-------'\101'-------'\x41'--------65
转义字符示例
#include<iostream>
usingnamespacestd;
intmain()
{cout<<"operating\tsystem\n";横向跳一制符
cout<<'\101'<<'\t'<<'A'<<"\b\b"<<'B'<<'\012';
退两格
}
字符常量的值:该字符的ASCII码值
'A'—65,'a'—97,'0'—48,'\n'—10
字符在存储时将其相应的ASCII代码放到存储单元中。
如果字符变量c1的值为'a',c2的值为'b',则在变量中
存放的是'a'的ASCII码97,'b'的ASCII码98,详见附
录A。
字符数据是以ASCII码存储的,它的存储形式就与整数
的存储形式类似。因此字符数据和整形数据之间可以在
一定程度上相互转换。
例如:
'a'<'b''0'>'2''B'+1'2'+1