写在前面:本专栏笔记参考《黑马程序员C++教程》视频,仅作个人学习记录所用,如有侵权嫌疑请联系本人
2. 数据类型
2.1 整型
2.1.1 整型介绍
| 数据类型 | 空间占用 | 取值范围 |
|---|---|---|
| short(短整型) | 2Byte | -2^15 ~ 2^15-1 |
| int(整型) | 4Byte | -2^31 ~ 2^31-1 |
| long(长整型) | 4Byte(Windows&32位Linux),8Byte(64位Linux) | -2^31 ~ 2^31-1 |
| long long(长长整型) | 8Byte | -2^63 ~ 2^63-1 |
注意:若变量值超出取值范围,则自动变为取值内的对应值,如
short val = 32769; // short类型的取值范围为(-32768~32767)
cout << "val = " << val << endl;
// 输出结果为:val = -32767
// 原理是:32769大于取值范围32767,则其实际值 = -32768 + (32769-32767-1) = -32767
// 可理解为:变量的实际值只能在其取值范围的“轮回”内取值
2.1.2 sizeof关键字
(1).作用:返回括号某数据类型的大小,单位为字节Byte
(2).语法:sizeof(数据类型/变量)
(3).示例:
cout << sizeof(int) << endl; // 查看数据类型所占空间的大小
int val = 10;
cout << sizeof(val) << endl; // 查看变量所占空间的大小
2.2 浮点型(实型)
2.2.1 实型介绍
| 数据类型 | 占用空间 | 有效数字 |
|---|---|---|
| float | 4Byte | 7位有效数字 |
| double | 8Byte | 15~16位有效数字 |
注意:有效数字包含小数点前+小数点后的数字位数,例如3.14与31.4均为三位有效数字
cout << "float 占用 " << sizeof(float) << " 字节" << endl;
cout << "double占用 " << sizeof(double) << " 字节" << endl;
float val1 = 3.1415926f;
cout << "val1= " << val1 << endl;
double val2 = 3.1415926;
cout << "val2= " << val2 << endl;
float val3 = 3.1415926f;
cout.precision(8);
cout << "val3= " << val3 << endl;
/****输出结果为****/
//float 占用 4 字节
//double 占用 8 字节
//val1 = 3.14159
//val2 = 3.14159
//val3 = 3.1415926
- 出现小数编译器自动默认为double类型,故一般在float型的小数后加“f”表示为浮点型
- 一般情况下,无论float还是double类型,编译器cout输出都只截取前六位有效数字(四舍五入),若需要自定义有效数字位数,则需要在cout输出前使用
cout.precision(n);来设置输出有效位数
2.2.2 科学计数法
- 写法:
底数e指数 - 含义:底数×(10^指数)
- 示例:
float val4 = 2e3;
float val5 = 2e-3;
cout.precision(6);
cout << "val3 = " << val4 << endl;
cout << "val5 = " << val5 << endl;
/****输出结果为****/
//val3 = 2000
//val5 = 0.002
2.3 字符型
2.3.1 字符型介绍
1.格式:char ch = 'a'
2.注意事项:字符类型只能使用单引号,单引号内只能有一个字符
3.占用空间:1Byte
4.ASCII码值求取方法:int(字符)
char ch = 'a';
cout << "字符型所占空间为:" << sizeof(char) << "字节" << endl;
cout << "变量ch所占空间为:" << sizeof(ch) << "字节" << endl;
cout << "变量ch对应字符的ASCII码值为:" << int(ch) << endl;
/****输出结果为****/
//字符型所占空间为:1字节
//变量ch所占空间为:1字节
//变量ch对应字符的ASCII码值为:97
2.3.2 转义字符
常见转义字符
| 转义字符 | 含义 | 转义字符 | 含义 |
|---|---|---|---|
| \n | 换行 | \\ | 输出’\’ |
| \t | 水平tab | \r | 回车 |
cout << "Hello World\n" << endl; // 输出1
cout << "Hello World\n"; // 输出2
cout << "Hello\tWorld" << endl; // 输出3
cout << "Hi\tWorld\\" << endl; // 输出4
/****输出结果为****/
//Hello World
//
//Hello World
//Hello World
//Hi World\
由以上输出结果可知:
endl自带换行效果\t常用作不同行的对齐
2.4 字符串型
1.格式:(1)C风格定义char str[] = "abcdefg"
(2)C++风格定义 string str = "abcdefg" ,(注意:要包含string头文件)
#include<string>
char str1[] = "Hello World";
string str2 = "Hello C++";
cout << str1 << endl;
cout << str2 << endl;
/****输出结果为****/
//Hello World
//Hello C++
2.5 布尔类型
1.格式:bool flag = ture
2.占用空间:1Byte
2.6 获取用户输入
1.格式:cin >> a
int add_a, add_b;
cout << "第一个加数:";
cin >> add_a;
cout << "第二个加数:";
cin >> add_b;
cout << "和为:" << add_a + add_b << endl;
/****输入2、4后****/
/****输出结果为****/
//第一个加数:2
//第二个加数:4
//和为:6
C++数据类型全面解析
2381

被折叠的 条评论
为什么被折叠?



