首先,介绍部分C++的预定义字:
C++ defines the following reserved words:
此外,C++也能识别C类型的注释:“ /* ……*/
在C++中,它自身定义的注释为“//……”
-------------------------------------------------------------
定义:
identifier(标识符)是一个用户自定义的名称,比如变量名。标识符不可以与以上reserved words同名。
C string literal(C字符串直接量)是表示可变数量字符的文字值,用""括起来,如"This is a Hello world test."
block(块)是与语句有同样作用的代码块。
数据类型:
C++规定了三种基本的数据类型:
- 整型(integer):用来表示整数值分别有short,int,long.在32位CPU的计算机上long和int长度相同.
- 浮点(float):用来表示小数值,有float,double,long double.
- 字符(character):用来存储字符.
具体信息如下:
char :字符类型
int : 整型
float :单精度实型(浮点型)
double : 双精度实型
unsigned : 无符号类型
signed : 有符号类型
bool : 布尔类型
true : 布尔类型的真值
false : 布尔类型的假值
void : 无类型
sizeof : 取得指定类型的所占用的范围
typedef : 为某种类型取一别名
--------------------------------
类型标识 类型说明 长度 (字节) 范围 备注
char 字符型 1 -128 ~ 127 -27 ~ (27 -1)
unsigned char 无符字符型 1 0 ~ 255 0 ~ (28 -1)
short int 短整型 2 -32768 ~ 32767 -215 ~ (215 - 1)
unsigned short int 无符短整型 2 0 ~ 65535 0 ~ (216 - 1)
int 整型 4 -2147483648 ~ 2147483647 -231 ~ (231 - 1)
unsigned int 无符整型 4 0 ~ 4294967295 0 ~ (232-1)
float 实型(单精度) 4 -1.18*1038 ~ 3.40*1038 7位有效位
double 实型(双精度) 8 -2.23*10308 ~ 1.79*108308 15位有效位
long double 实型(长双精度) 10 -3.37*104932 ~ 1.18*104932 19位有效位
---------------------------------------
注:
unsigned 用于修饰 int 和 char 类型。它使int 或 char 类型成为无符号类型。
signed 是 unsigned 反义词,如 signed int 表示有符号类型,不过signed可以省略,所以上面列出char,short int,int 都是有符号类型。
由于32位计算机下long int 同int同样是4个字节,所以一般省略直接写int。
布尔型(bool)和无类型(void)
除字符型,整型,实型以外,布尔型和无类型也是较常用的两种数据类型。
布尔型(bool)
布尔类型是C++的内容,C语言没有这一类型。
布尔类型的数据只有两种值:true(真) 数值为非0或 false(假)数值为0。
无类型(void)
这个类型比较怪“无”类型。是的,没有类型的类型。或者我们这样认为比较好接受:在不需要明确指定类型的时候,我们可能使用 void 来表示。
为了容易表示,我们用下面这段代码来演示这几种数据类型:
#include<iostream>
#include <limits>
using namespace std;
int main()
{
short SHORT;
unsigned short USGSHORT;
int INT;
unsigned int USGINT;
float FLOAT;
double DOUBLE;
long double LONGDOUBLE;
cout << "\n类型\t\t\t字节数(bytes)\t精度\t最大值\t\t最小值";
cout << "\nshort\t\t\t" << sizeof(SHORT);
cout<<"\t\t"<<numeric_limits<short>::digits10;
cout<<"\t"<<numeric_limits<short>::max();
cout<<"\t\t"<<numeric_limits<short>::min();
cout << "\nunsigned short\t\t" << sizeof(USGSHORT);
cout<<"\t\t"<<numeric_limits<unsigned short>::digits10;
cout<<"\t"<<numeric_limits<unsigned short>::max();
cout<<"\t\t"<<numeric_limits<unsigned short>::min();
cout << "\nint\t\t\t" << sizeof(INT);
cout<<"\t\t"<<numeric_limits<int>::digits10;
cout<<"\t"<<numeric_limits<int>::max();
cout<<"\t"<<numeric_limits<int>::min();
cout << "\nunsigned int\t\t" << sizeof(USGINT);
cout<<"\t\t"<<numeric_limits<unsigned int>::digits10;
cout<<"\t"<<numeric_limits<unsigned int>::max();
cout<<"\t"<<numeric_limits<unsigned int>::min();
cout << "\nfloat\t\t\t" << sizeof(FLOAT);
cout<<"\t\t"<<numeric_limits<float>::digits10;
cout<<"\t"<<numeric_limits<float>::max();
cout<<"\t"<<numeric_limits<float>::min();
cout << "\ndouble\t\t\t" << sizeof(DOUBLE);
cout<<"\t\t"<<numeric_limits<double>::digits10;
cout<<"\t"<<numeric_limits<double>::max();
cout<<"\t"<<numeric_limits<double>::min();
cout << "\nlong double\t\t" << sizeof(LONGDOUBLE);
cout<<"\t\t"<<numeric_limits<long double>::digits10;
cout<<"\t"<<numeric_limits<long double>::max();
cout<<"\t"<<numeric_limits<long double>::min();
cout <<endl;
return 0;}
注意:其中\t等价与你在VC里面按TAB键的效果
numeric_limits<double>::digits10; 是返回该类型精度的。
用法:
sizeof(数据类型)
sizeof(变量)
可以返回数据类型占用的字节数。
运行结果如下:
没有评论:
发表评论