第二章 基础数据类型与输入输出
1. 基本数据类型
一个程序要运行,就要先描述其算法。描述一个算法应先说明算法中要用的数据,数据以变量或常量的形式来描述。每个变量或常量都有数据类型。
基本数据类型有char(字符型),int(整型),float(浮点型)和double(双精度型)。在不同的计算机上,每个变量类型所占用的内存空间的长度不一定相同。例如,在16位计算机中,整型变量占2个字节,而在32位计算机中,整型变量占4个字节。
以16位计算机的表示为例:
Char ,unsigned char,signed char------------------------------------------1个字节
Int,unsigned int,signed int,
Short int, unsigned short int,signed short int---------------------------2个字节
Long int,float------------------------------------------------------------4个字节
Double---------------------------------------------------------------------8个字节
Long double-----------------------------------------------------------------10个字节
另外用sizeof(数据类型)可以确定某数据类型的字节长度。
2. 变量的定义
C++是大小写敏感的,即大写和小写认为是不同的字母。
用typedef可以为一个已有的类型提供一个同义词。用法是,以typedef开始,随后是要表示的类型,最后是新的类型名和分号。但是,typedef没有实际的定义一个新的数据类型,在奖励一个typedef类型时没有分配内存空间。
3. 常量
整型常量,可以有3种表示方式:10进制整数,8进制整数(以0开头),16进制(以0x开头)。
实型常量,有两种表示:小数形式,指数形式(123e5 = 123×105)。
字符常量,使用单引号括起来的一个字符。在内存中,字符数据以ASCII码存储,即以整数表示,所以字符数据和整型数据之间可以相互赋值,只要注意其表示的范围合理。例:int a = ‘b’;char c = 97。
字符串常量,是由一对双括号扣起来的字符序列。字符常量总是以‘/0‘结束。注意不能将字符串常量赋给字符常量。“0”和‘0’是不同的。
枚举常量,可以通过枚举类型来定义。定义枚举类型的语法是先写关键字enum,后跟类型名,花括号,花括号括起来的里面是用逗号隔开的每个枚举常量值,最后以分号结束定义。例如,enum color{red,blue,green}。
Color是枚举类型名,它不是变量名,所以不占内存空间。在内存中,red等各个符号常量表示各个枚举值,以整数表示。如果没有专门的规定,第一个符号常量的枚举值就是0,其他枚举值依次为1往上加。但,变量的取值只能取枚举类型定义是规定的值。不能用整数值赋给枚举变量。
4. 常量定义
常量是常数或代表固定不变值得名字。注意变量名不能放在赋值语句的左边。
关于#define,在c中,#define pi 3.1415926这条指令的格式是#define后面跟一个常量名再跟一串字符,中间用空格隔开,由于它不是c++语句,所以行末不用分号。
5.