文章目录
1 整型2 sizeof关键字3 浮点型(实型)4 字符型5 转义字符6 字符串型7 布尔类型 bool8 C++数据类型小结9 数据的输入C++创建变量或常量时,必须指定数据类型,否则无法为变量分配内存。
数据类型的意义:为变量分配合适的内存空间,避免浪费内存资源。
1 整型
作用:整型变量表示整数类型的数据。
C++中共有4种表示整型的类型,区别在于所占内存空间
和可表示的取值范围
不同。
注:实际开发中,较多使用int类型表示整型数据,占用空间大小为
4字节
。
注:不同整型占用的内存空间比较:short < int <= long <= long long。
2 sizeof关键字
作用:sizeof关键字可统计数据类型所占用的内存大小
语法:sizeof(数据类型)
或sizeof(变量名)
示例:
int main() {cout << "short 类型占用的内存大小:" << sizeof(short) << endl;int num = 10;cout << "int 类型占用的内存大小:" << sizeof(int) << endl;cout << "int 类型占用的内存大小:" << sizeof(num) << endl;cout << "long 类型占用的内存大小:" << sizeof(long) << endl;cout << "long long 类型占用的内存大小:" << sizeof(long long) << endl;system("pause");return 0;}
3 浮点型(实型)
作用:浮点型变量表示小数类型的数据。
浮点型变量分为两种,区别在于表示的有效数字范围不同
。
(1)单精度float:4字节
(2)双精度double:8字节
注1:有效数字包括整数部分和小数部分。
注2:C++输出多位小数时默认会显示6位有效数字,需进行额外配置以完整显示全部有效数字。
注3:float类型表示小数时,在数字末尾显式地使用字母f表示单精度,否则编译器会默认将小数视为双精度浮点型(double),再进行类型转换(由double型转换为float型)。
示例:
int main() {float f1 = 3.1415926535f;cout << "float 类型占用的内存大小:" << sizeof(float) << endl;cout << "float 类型占用的内存大小:" << sizeof(f1) << endl;double d1 = 3.1415926535;cout << "double 类型占用的内存大小:" << sizeof(double) << endl;cout << "double 类型占用的内存大小:" << sizeof(d1) << endl;//科学计数法表示整数float f2 = 3e2; // 3 * 10 ^ 2 cout << "f2 = " << f2 << endl;//科学计数法表示小数float f3 = 3e-2; // 3 * 0.1 ^ 2cout << "f3 = " << f3 << endl;return 0;}
4 字符型
C和C++语言中,字符型变量只占用1个字节。
字符型变量是将对应的ASCII编码
存放至内存,而不是字符本身。
作用:字符型变量可表示单个字符。
语法:char ch = 'a';
注1:使用单引号表示字符,且单引号内有且仅有1个字符,不可以是字符串。
注2:使用
(int) ch
查询字符对应的ASCII编码。'a’对应97,'A’对应65。
示例:
int main() {//字符型变量创建方式char ch = 'a';cout << ch << endl;//字符型变量所占内存大小cout << "char字符型变量占用的内存大小:" << sizeof(char) << endl;cout << "char字符型变量占用的内存大小:" << sizeof(ch) << endl;//字符型变量常见错误//char ch2 = "b";//错误:表示字符时需使用单引号//char ch2 = 'abcdef';//错误:单引号内只能有一个字符//字符型变量对应ASCII编码(a:97; A:65)cout << (int)ch << endl;return 0;}
ASCII码表格:
ASCII 码的大致组成部分:
(1)非打印控制字符:ASCII 表的数字0-31分配给控制字符,用于控制如打印机等外围设备。
(2)打印字符:ASCII 表的数字32-126分配给键盘上的字符。
5 转义字符
作用:表示一些特殊的无法直接显示的ASCII字符。
常用的转义字符有:\n \\ \t
注1:C语言中使用转义字符
\n
换行,C++中使用endl
换行。注2:表示水平制表符的转义符
\t
占据8个字符宽度。
示例:
int main() {cout << "\\" << endl;cout << "\tHello" << endl;cout << "\n" << endl;return 0;}
6 字符串型
作用:表示一串字符
(1)C风格字符串:char 变量名[] = "字符串值";
(2)C++风格字符串:string 变量名 = "字符串值";
示例:
#include <iostream>#include <string>using namespace std;int main() {//C风格字符串char cStr[] = "hello c str";cout << cStr << endl;//C++风格字符串string cppStr = "hello cpp str";cout << cppStr << endl;return 0;}
注1:使用C风格字符串时,需使用双引号将字符串值括起来。
注2:使用C++风格字符串时,需包含头文件
#include <string>
。
7 布尔类型 bool
作用:布尔数据类型表示真或假的值。
bool类型占1个字节大小,且只有两个值:
(1)true: 真(本质是1)
(2)false:假(本质是0)
注:C++的bool类型中,
true
或任意非0值
均代表“真”;false
或0值
代表“假”。
示例:
int main() {bool flag = true;cout << flag << endl;// 1(真)/* C++的bool类型中,true 或 任意非0值 均代表“真” */flag = 6.66f;cout << flag << endl;// 1(真)flag = false;cout << flag << endl;// 0(假)/* C++的bool类型中,false 或 0值 代表“假” */flag = 0;cout << flag << endl;// 0(假)cout << "bool类型占用的内存大小:" << sizeof(bool) << endl;cout << "bool类型占用的内存大小:" << sizeof(flag) << endl;return 0;}
8 C++数据类型小结
9 数据的输入
作用:从键盘获取数据,并赋值给cin对应的变量。
关键字:cin
语法:cin >> 变量
示例:
#include <iostream>#include <string>using namespace std;int main() {//字符串型输入string str = "hello world";cout << "请输入字符串型变量:" << endl;cin >> str;//输入:hello cppcout << str << endl;//输出:hello cpp//布尔类型输入bool flag = false;cout << "请输入布尔型变量:" << endl;cin >> flag;//输入:3.1415926fcout << flag << endl;//输出:1return EXIT_SUCCESS;}
如果觉得《C++数据类型(整型 浮点型 字符型 字符串型 布尔型)》对你有帮助,请点赞、收藏,并留下你的观点哦!