2024.3.18,上午看文献,下午的时间看完了第一章和第二章数据类型。
c++在创建一个变量或常量时必须申明其数据类型,否则无法为变量分配内存。数据类型存在意义就是为变量分配合适的内存空间
2.1 整型
整形类型:
除了所占内存空间不同,它们能表达的数据范围也不同,以short短整型为例,其取值范围为:-32768~32767
若要输出值为32768的short型变量:
short num1 = 32768;
cout << "num1 = " << num1 << endl;
输出结果为:num1 = -32768 (正数范围溢出了,又回到了负数最小值,溢出的值从第一位-32768往上数)
2.2 sizeof关键字
可以利用sizeof关键字统计数据类型所占内存大小
用法:sizeof(变量名 or 数据类型)
int num = 10;
cout << "num所占的内存大小为:" << sizeof(num) << endl;
cout << "int类所占的内存大小为:" << sizeof(int) << endl;
2.3 实型(浮点型)
作用:用于表示小数
浮点型有两种类型:float单精度,double双精度
如果想使用float类型的变量,一般会在变量值后加一个f,来申明它是一个float型:
float fl = 3.14f;
这是因为系统在看到3.14这样的小数时会默认它为double型变量,这时若要将3.14作为float型使用,会额外需要一个double转换为float的过程
另外:
- 默认情况下,输出一个小数最多显示6位有效数字
- 也可以用科学计数法表示小数
2.4 字符型
作用:字符型变量用于显示单个字节
char ch = 'a';
注意:
- 用单引号' '括起字符,而不是双引号""
- 单引号内只能有一个字符,不能是字符串
- 字符型变量占据内存:1
- 字符型变量并不是把字符本身放进内存,而是储存它的ascll码
ascll码查询方式:
cout << (int)ch << endl;
a - 97,A - 65
2.5 转义字符
作用:用于表示一些特殊的不能直接显示出来的ASCLL字符
比较重要的几个:
\n 换行
\\ 表示\
\t 水平制表符,可以整齐地输出数据(多行内容)
int main(){
cout << "helloworld\n";
cout << "\\" << endl;
cout << "aaa\thelloworld" << endl;
cout << "aaaaaa\thelloworld" << endl;
cout << "a\thelloworld" << endl;
}
输出结果:
2.6 字符串型
作用:用于表示一串字符,有两种写法风格
- C风格:char 变量名[] = "字符串值"
- C++风格:string 变量名 = "字符串值"
注意:
- 两种风格都可以在C++中运行
- 与字符型(单引号)不同,字符串型要用双引号括起字符串内容
- C风格变量名后要记得加双括号[],否则就成了字符型
- 使用C++风格时,需要添加一个头文件<string>
#include<iostream>
#include<string>
int main(){
string str1 = "helloworld";
char str2[] = "helloworld";
}
2.7 布尔类型 bool
作用:布尔类型用来表示真或者假的值 真 -- true,本质是1;假 -- false,本质是0
bool flag = true;
cout << flag << endl;
输出结果为:1
- 布尔类型占据内存空间为1
- 只要是非0的值都可以代表true
2.8 数据的输入
作用:用于从键盘获取数据
int a = 0;
cout << "please input the value of a:" << endl;
cin >> a;
cout << "the value of a is: " << a << endl;
效果: