C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存。
作用:整型变量表示的是整数类型的数据。
C++中能够表示整型的类型有以下几种方式,区别在于所占内存空间不同:
| 数据类型 | 占用空间 | 取值范围 |
|---|---|---|
| short (短整型) | 2字节 | ($-2^{15}$ ~ $2^{15}-1$) |
| int (整型) | 4字节 | (-$2^31$ ~ $2^{31}-1$) |
| long (长整型) | Windows为4字节,Linux为4字节(32位),8字节(64位) | ($-2^{31}$ ~ $2^{31}-1$) |
| long long (长长整型) | 8字节 | ($-2^{63}$ ~ $2^{63}-1$) |
作用:利用sizeof关键字可以统计数据类型所占内存大小。
语法: sizeof( 数据类型 / 变量 )
示例:
int main() { cout << "short 类型所占内存空间为: " << sizeof(short) << endl; cout << "int 类型所占内存空间为: " << sizeof(int) << endl; cout << "long 类型所占内存空间为: " << sizeof(long) << endl; cout << "long long 类型所占内存空间为: " << sizeof(long long) << endl; system("pause"); return 0; }
整型结论: short < int ⇐ long ⇐ long long
作用:用于表示小数。
浮点型变量分为两种:
两者的区别在于表示的有效数字范围不同。
| 数据类型 | 占用空间 | 有效数字范围 |
|---|---|---|
| float | 4字节 | 7位有效数字 |
| double | 8字节 | 15~16位有效数字 |
示例:
int main() { float f1 = 3.14f; // 注意:如果不加f,编译器通常默认为double,加f显式声明为float double d1 = 3.14; cout << f1 << endl; cout << d1 << endl; cout << "float sizeof = " << sizeof(f1) << endl; cout << "double sizeof = " << sizeof(d1) << endl; // 科学计数法 float f2 = 3e2; // 3 * 10 ^ 2 cout << "f2 = " << f2 << endl; float f3 = 3e-2; // 3 * 0.1 ^ 2 cout << "f3 = " << f3 << endl; system("pause"); return 0; }
作用:字符型变量用于显示单个字符。
语法: char ch = 'a';
注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号。
注意2:单引号内只能有一个字符,不可以是字符串。
示例:
int main() { char ch = 'a'; cout << ch << endl; cout << sizeof(char) << endl; // ch = "abcde"; // 错误,不可以用双引号 // ch = 'abcde'; // 错误,单引号内只能引用一个字符 cout << (int)ch << endl; // 查看字符a对应的ASCII码 ch = 97; // 可以直接用ASCII给字符型变量赋值 cout << ch << endl; system("pause"); return 0; }
作用:用于表示一些不能显示出来的ASCII字符。
现阶段我们常用的转义字符有: \n \\ \t
| 转义字符 | 含义 | ASCII码值(十进制) |
|---|---|---|
| \a | 警报 | 007 |
| \b | 退格(BS),将当前位置移到前一列 | 008 |
| \f | 换页(FF),将当前位置移到下页开头 | 012 |
| \n | 换行(LF),将当前位置移到下一行开头 | 010 |
| \r | 回车(CR),将当前位置移到本行开头 | 013 |
| \t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
| \v | 垂直制表(VT) | 011 |
| | 代表一个反斜线字符“\” | 092 |
| ' | 代表一个单引号(撇号)字符 | 039 |
| “ | 代表一个双引号字符 | 034 |
| \? | 代表一个问号 | 063 |
| \0 | 数字0 | 000 |
| \ddd | 8进制转义字符,d范围0~7 | 3位8进制 |
| \xhh | 16进制转义字符,h范围0~9, a~f, A~F | 3位16进制 |
示例:
int main() { cout << "\\" << endl; cout << "\tHello" << endl; cout << "\n" << endl; system("pause"); return 0; }
作用:用于表示一串字符。
两种风格:
1. C风格字符串: char 变量名[] = “字符串值”
示例:
int main() { char str1[] = "hello world"; cout << str1 << endl; system("pause"); return 0; }
注意:C风格的字符串要用双引号括起来。
2. C++风格字符串: string 变量名 = “字符串值”
示例:
#include <string> // 必须包含头文件 int main() { string str = "hello world"; cout << str << endl; system("pause"); return 0; }
注意:C++风格字符串,需要加入头文件#include<string>
作用:布尔数据类型代表真或假的值。
bool类型只有两个值:
true — 真(本质是1)false — 假(本质是0)bool类型占1个字节大小。
示例:
int main() { bool flag = true; cout << flag << endl; // 1 flag = false; cout << flag << endl; // 0 cout << "size of bool = " << sizeof(bool) << endl; // 1 system("pause"); return 0; }
作用:用于从键盘获取数据。
关键字: cin
语法: cin » 变量
示例:
int main(){ // 整型输入 int a = 0; cout << "请输入整型变量:" << endl; cin >> a; cout << a << endl; // 浮点型输入 double d = 0; cout << "请输入浮点型变量:" << endl; cin >> d; cout << d << endl; // 字符型输入 char ch = 0; cout << "请输入字符型变量:" << endl; cin >> ch; cout << ch << endl; // 字符串型输入 string str; cout << "请输入字符串型变量:" << endl; cin >> str; cout << str << endl; // 布尔类型输入 bool flag = true; cout << "请输入布尔型变量:" << endl; cin >> flag; // 输入非0值代表真,输入0代表假 cout << flag << endl; system("pause"); return EXIT_SUCCESS; }