目录
一、整型
作用:整型变量表示的是整数类型的数据
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关键字可以统计数据类型所占内存大小
语法:sizeof(数据类型 / 变量)
代码示例:
#include <iostream>
using namespace std;
int main()
{
short num1;
cout << "短整型数据所占内存大小为:" << sizeof(num1) << endl;
// 或者可以这样写
cout << sizeof(short) << endl; // 运行之后结果是一样的
int num2;
cout << "整型数据所占内存大小为:" << sizeof(num2) << endl;
cout << sizeof(int) << endl;
long num3;
cout << "长整型数据所占内存大小为:" << sizeof(num3) << endl;
cout << sizeof(long) << endl;
long long num4;
cout << "长长整型所占内存大小为:" << sizeof(long long) << endl;
cout << sizeof(long long) << endl;
return 0;
}
总结:short < int < long < long long
三、实型(浮点型)
作用:用于表示小数
浮点型变量分为两种
- 单精度float
- 双精度double
两者的区别在于表示的有效数字范围不同
数据类型 | 占用空间 | 有效数字范围 |
---|---|---|
float | 4字节 | 7位有效数字 |
double | 8字节 | 15~16位有效数字 |
代码示例:
#include <iostream>
using namespace std;
int main()
{
// 默认情况下,输出一个小数,会显示最多 6 位有效数字
// 定义浮点型数据时,默认为双精度 double 类型
// 所以要在定义好的数据后面 + f 表示 float 类型
float num1 = 3.14f;
double num2 = 3.14;
cout << "单精度的数据的值为:" << num1 << "\n双精度的数据的值为:" << num2 << endl;
// 科学计数法
float ff = 3e2; // 3 * 10^2
cout << ff << endl;
float fff = 3e-2; // 3 * 10^(-2)
cout << fff << endl;
return 0;
}
四、字符型
作用:字符型变量用于显示单个字符
语法:char ch = 'a';
注意
- 在线式字符串变量时,用单引号将字符括起来,不要用双引号
- 单引号内只能有一个字符,不可以是字符串
- C和C++中字符型变量只占用1个字节
- 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元
代码示例:
#include <iostream>
using namespace std;
int main()
{
char ch1 = 'h';
char ch2 = 'e';
char ch3 = 'l';
char ch4 = 'l';
char ch5 = 'o';
char ch6 = ',';
char ch7 = 'w';
char ch8 = 'o';
char ch9 = 'r';
char ch10 = 'l';
char ch11 = 'd';
char ch12 = '!';
cout << "字符串内容为: ";
cout << ch1 << ch2 << ch3 << ch4 << ch5 << ch6 << ch7 << ch8 << ch9 << ch10 << ch11 << ch12 << endl;
cout << "字符串的ASCII码值对应为:";
cout << (int)ch1 << "," << (int)ch2 << "," << (int)ch3 << "," << (int)ch4 << "," << (int)ch5 << "," << (int)ch6
<< "," << (int)ch7 << "," << (int)ch8 << "," << (int)ch9 << "," << (int)ch10 << ","<< (int)ch11 << "," << (int)ch12 << endl;
cout << "char字符所占内存大小为:" << sizeof(char) << endl;
return 0;
}
五、转义字符
转义字符 | 含义 | 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 | 3位16进制 |
六、字符串型
作用:用于表示一串字符
两种风格:
- C 风格字符串:char 变量名[指定字符串数组的大小] = "字符串值";
- C++风格字符串:string 变量名 = "字符串值";
代码示例:
#include <iostream>
using namespace std;
int main()
{
// C风格字符串
char my_char[20] = "hello\tworld";
cout << my_char << endl;
// C++风格字符串
string my_str = "自律的苦,轻若鸿毛\n后悔的痛,重若泰山";
cout << my_str << endl;
return 0;
}
关于string,我是在Vistual studio进行编码的,我记得一些老版本的编译器里面要添加头文件
#include <string>才可以正常使用C++的字符串,我使用的是最新版的,所以就没添加也可以使用
七、布尔类型 bool
作用:布尔数据类型代表真或假的值
bool类型只有两个值:
- true——真(本质是1)
- false——假(本质是0)
bool类型只要是非零就都是真
八、数据的输入
作用:用于从键盘获取数据
关键字:cin
语法:cin >> 变量
九、归纳案例
#include <iostream>
using namespace std;
#include <iomanip>
int main()
{
// 输入整型数据(只拿int做演示,其余可以自己试一下)
int age = 0;
cout << "请输入你的年龄:" << endl;
cin >> age;
cout << "你的年龄为:" << age << endl;
// 输入浮点型数据(拿float做演示)
float score = 0.0f;
cout << "请输入你的成绩:" << endl;
cin >> score;
/*
* 想要控制浮点型数据输出的位数,要包含头文件iomanip,之后使用setprecision方法对其进行设置
* 其中 showpoint 表示如果不满指定的有效位数的话,拿0去补
* 如果是零基础的话,这个在看完后面的笔记之后,再回来实现也可以
*/
cout << setprecision(4) << showpoint << score << endl;
// 输入字符型数据
char ch = 'a';
cout << "输入你的学号第一位(英文状态):" << endl;
cin >> ch;
cout << "你的学号第一位为:" << ch << endl;
// 输入字符串型数据
// 1、C
char my_char[100] = "asdfasdf";
cout << "请输入你的爱好:" << endl;
cin >> my_char;
cout << "你的爱好为:" << my_char << endl;
// 2、C++
string my_str = "aaa";
cout << "请输入的你的学校名:" << endl;
cin >> my_str;
cout << "你学校的名字为:" << my_str << endl;
// 输入布尔类型数据
// 这里举的例子牵扯到后面的内容,看不懂也没关系,先记在你的小本本上,后面再来看,就会发现很简单
bool isNow = false;
cout << "输入 0 进入虚幻世界\t输入 1 返回现实世界:" << endl;
cin >> isNow;
if (isNow == true)
{
cout << "哦,你又回到了现实世界" << endl;
}
else
{
cout << "恭喜你,进入虚幻世界" << endl;
}
return 0;
}