当前位置:文档之家› 数据类型

数据类型

杨琦
西安交通大学计算机教学实验中心
❝数据类型就是对数据的分类。

不同类型的数据存储格式不同。

❝在C++中,基本数据类型可分为整型、实型等。

❝1.整型,采用补码表示,它又细分为:
◦整型,4字节,-231(-2147483648)~231-1 (2147483647)◦短整型, 2字节,-32768~32767
◦无符号整型,4字节,0~232-1
◦无符号短整型,2字节,0~216-1(即65535)
◦C++11标准,长长整型,8字节,-263~263-1
❝2.表示实数,采用浮点表示法,有两个标准:
◦单精度浮点,4字节,-3.4×10-38~3.4×1038
◦双精度浮点,8字节,-1.8×10-308~1.8×10308
◦长双精度浮点数,C++11标准,16字节
❝C++标准并没有规定每种数据类型的字节数和范围❝不同的编译器采用的字节数会有所不同
❝但相对关系不变
◦字节数越多,表示的数的范围就越大
1.整数的书写,不带小数点
◦十进制整型数,直接写,可带正、负号 1, 12, +123, -1234
◦十六进制整数
0xFF,0x10,0x21
◦八进制整数
010,021
◦无符号整数,加后缀U或u,
如:1U, 12U, 123U,2014u
2.实数的书写,有两种方式◦小数形式:
1.0, 1. , 0.1, .1
◦指数形式:
1.2E-2表示1.2×10-2,
1.2E+2表示1.2×102
1.2E2表示1.2×102
E可以小写
◦默认,双精度浮点
◦单精度浮点加后缀F或f,如
12.5F,1.25E-2F
❝3.字符
◦保存英文字符的ASCII码,每个字符占一个字节
◦书写格式是,将字符写在一对单引号中
◦'A', 'B', 'C'
◦'a', 'b', 'c'
◦'0', '1', '2', '3'
❝注意
◦0和'0'是有本质区别的
◦0, 保存的是0, 二进制形式000000000...00000000,4B ◦'0',保存的是'0'的ASCII码48,二进制00110000,1B
4.字符串
◦连续的多个字符
◦汉字,机内码,2个字节,一个汉字也是一个字符串
◦字符串写在一对双引号之间,如
"Hello World"
"程序设计"
◦字符串占的字节数等于长度+1
"Hello World",长度11(10个字母+1个空格),占12字节 "程序设计",长度8(4个汉字8字节),占9个字节
❝数据到底占多少字节?
❝使用sizeof()运算符,把数据写在后面的括号中,如:
◦cout<<sizeof(5)<<endl;
◦cout<<sizeof(5.0)<<endl;
◦cout<<sizeof('A')<<endl;
◦cout<<sizeof(true)<<endl;
◦cout<<sizeof("Hello World")<<endl;
◦cout<<sizeof("程序设计")<<endl;
❝有些ASCII符号是不可显示的,如
换行符、回车符、退格符、水平制表符等
❝有些是有的特殊意义的
比如单引号、双引号、反斜杠等
❝C++中,用一个反斜杠和一个字母表示,它也是1个字符,如\n 表示换行符\r 表示回车
\b 表示退格\t 表示水平制表符
\' 表示单引号\" 表示双引号
❝比如要显示单引号、双引号,可以写
cout<<'\''; //显示单引号
cout<<'\"'; //显示双引号
❝cout<<"Hello World";
❝第1行显示Hello,第2行显示World,可以写为cout<<"Hello\n World";
❝等价于
cout<<"Hello"<<endl<<"World";
cout<<"Hello"<<'\n'<<"World";
cout<<"abcd"<<endl;
cout<<"01234567890123456789012345"<<endl; cout<<"a\t b\t c\t d"<<endl;
如果输出两行数据,两行数据便于按列对齐
cout<<1234<<'\t'<<123<<'\t'<<12<<endl; cout<<1<<'\t'<<12<<'\t'<<123<<endl;
❝表示“真”,“假”这样判断的结果
❝“真”、“假”称为逻辑值、布尔值(bool)◦true——“真”,计算机中保存的数实际是1
◦false——“假”,计算机中保存的数实际是0
❝它们称为是布尔型或逻辑型数据
C++基本类型、转义符、sizeof()
数据类型占用字节数数的范围整型4-231~231-1
短整型2-32768~32767
长整型4-231~231-1
单精度浮点型4±3.4×10-38~±3.4×1038双精度浮点型8±1.8×10-308~±1.8×10308字符型1ASCII字符
布尔型1true,false
字符串n+1n个字符,n=0,1,2,...。

相关主题