p8.整型
作用:整型变量表示的是整数类型的数据
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) |
#include<iostream>
using namespace std;
int main()
{
//表示整型有以下几种方式:区别在于所占内存空间不同
//1.短整型(取值范围:-32768~32767)
short num1 = 10;//2字节
//2.整型(
int num2 = 10;//4字节
//3.长整型
long num3 = 10;//windows 4字节
//4.长长整型
long long num4 = 10;//8字节
cout << "num1=" << num1 << endl;
cout << "num2=" << num2 << endl;
cout << "num3=" << num3 << endl;
cout << "num4=" << num4 << endl;
system("pause");
return 0;
}
p9.sizeof关键字
作用: 利用sizeof关键字可以统计数据类型所占内存大小
语法: sizeof( 数据类型 / 变量)
#include<iostream>
using namespace std;
int main()
{
//整型:short(2) int(4) long(4) long long(8)
//可以用sizeof求出数据类型占用内存大小
//语法:sizeof(数据类型/变量)
short num1 = 10;
cout << "short占用的内存为:" << sizeof(short) << endl;//2
cout << "num1占用的内存为:" << sizeof(num1) << endl;//2
int num2 = 10;
cout << "int占用的内存为:" << sizeof(int) << endl;//4
cout << "num2占用的内存为:" << sizeof(num2) << endl;//4
long num3 = 10;
cout << "long占用的内存为:" << sizeof(long) << endl;//4
cout << "num3占用的内存为:" << sizeof(num3) << endl;//4
long long num4 = 10;
cout << "lomg long占用的内存为:" << sizeof(long long) << endl;//8
cout << "num4占用的内存为:" << sizeof(num4) << endl;//8
//整型大小比较
//short < int < = long < = long long
system("pause");
return 0;
}
p10.实型(浮点型)
作用:用于表示小数
浮点型变量分为两种:
- 单精度float
- 双精度double
两者的区别在于表示的有效数字范围不同。
数据类型 | 占用空间 | 有效数字范围 |
---|---|---|
float | 4字节 | 7位有效数字 |
double | 8字节 | 15~16位有效数字 |
#include<iostream>
using namespace std;
int main()
{
//1.单精度 float
//2.双精度 double
//float f1 = 3.14;//3.14后面不加f,其实表示的是double
float f1 = 3.14f;
cout << "f1 = " << f1 << endl;//f1=3.14
double d1 = 3.14;
cout << "d1 = " << d1 << endl;//d1=3.14
//默认情况下 输出一个小数,会显示6位有效数字
float f2 = 3.1415926f;
cout << "f2 = " << f2 << endl;//f2=3.14159,无论单精度还是双精度,都只能表示6位有效数字
double d2 = 3.1415926;
cout << "d2 = " << d2 << endl;//d2=3.14159
//统计float和double占用内存空间
cout << "float 占用的内存空间:" << sizeof(float) << endl;//4
cout << "double 占用的内存空间:" << sizeof(double) << endl;//8
//科学计数法
float f3 = 3e2;//3*10^2
cout << "f3 = " << f3 << endl;//300
float f4 = 3e-2;//3*0.1^2
cout << "f4 = " << f4 << endl;//0.03
system("pause");
return 0;
}
p11.字符型
作用: 字符型变量用于显示单个字符
语法:char ch = 'a';
注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号
注意2:单引号内只能有一个字符,不可以是字符串
- C和C++中字符型变量只占用1个字节。
- 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元
#include<iostream>
using namespace std;
int main()
{
//字符型变量用来表示单个字符,语法 char ch = 'a'
//字符变量并不是把字符本身放在内存中存储,而是将对应的ASCII编码放入到存储单元
//1.字符型变量创建方式
char ch = 'a';
cout << " ch = " << ch << endl;// ch = a
//2.字符型变量所占内存大小
cout << "char字符型变量所占的内存空间:" << sizeof(char) << endl;//char字符型变量所占的内存空间:1
//3.字符型变量常见错误
//注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号
//注意2:单引号内只能有一个字符,不可以是字符串
//char ch2 = "b";//创建字符型变量时候,要用单引号
//char ch3 = 'abcdef';//创建字符型变量时候,单引号内只能有一个字符
//4.字符型变量对应的ASCII编码
cout << " ch对应的ASCII编码:" << int(ch) << endl;//ch对应的ASCII编码:97
//a - 97
//A - 65
system("pause");
return 0;
}
p12.转义字符
作用: 用于表示一些不能显示出来的ASCII字符
现阶段我们常用的转义字符有:
转义字符 | 含义 | ASCII码值(十进制) |
---|---|---|
\a | 警报 | 007 |
\b | 退格(BS) ,将当前位置移到前一列 | 008 |
\f | 换页(FF),将当前位置移到下页开头 | 012 |
\n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
\r | 回车(CR) ,将当前位置移到本行开头 | 013 |
\t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
\v | 垂直制表(VT) | 011 |
\\ | 代表一个反斜线字符"\" | 092 |
\ddd | 8进制转义字符,d范围0~7 | 3位8进制 |
\xhh | 16进制转义字符,h范围09,af,A~F | 3位16进制 |
#include<iostream>
using namespace std;
int main()
{
//转义字符
//换行符 \n
cout << "hello world\n";
//反斜杠 \\
cout << "\\" << endl;//第一个\是指我要输出一个特殊符号,第二个\是指这个特殊符号是\
//水平制表符 \t
cout << "aaa\thelloworld" << endl; //aaa helloworld
cout << "aaaaa\thelloworld" << endl; //aaaaa helloworld
cout << "aaaaaaaa\thelloworld" << endl; //aaaaaaaa helloworld
system("pause");
return 0;
}
p13.字符串型
作用:用于表示一串字符
两种风格:
①C风格字符串:char 变量名[] = “字符串值”
②C++风格字符串:string 变量名 = “字符串值”
注意1:C风格的字符串要用双引号括起来
注意2:C++风格的需要包含string的头文件 #include<string>
#include<iostream>
using namespace std;
#include <string> //用C++风格字符串的时候,要包含这个头文件,据说现在2022版的vs可以不用写这个了
int main()
{
//1.C风格字符串
//注意事项 char 字符串名 []
//注意事项2 等号后面 要用双引号 包含起来字符串
char str1[] = "hello world";
cout << str1 << endl;//hello world
//2.C++风格字符串
//包含一个头文件#include <string>
string str2 = "hello world";
cout << str2 << endl;//hello world
system("pause");
return 0;
}
p14.布尔类型
作用:代表真或假的值
bool类型只有两个值:true——真(1);false——假(0)
占1个字节大小
#include<iostream>
using namespace std;
int main()
{
//1.创建bool数据类型
bool flag1 = true;//true代表真
cout << flag1 << endl;//1
//2.查看bool类型所占内存空间
bool flag2 = false;//false代表假
cout << flag2 << endl;//0
//2.查看bool类型所占内存空间:1个字节
cout << "bool类型所占内存空间:" << sizeof(bool) << endl;//1
system("pause");
return 0;
}
p15.数据的输入
作用:用于从键盘获取数据
关键字:cin
语法:cin >> 变量
#include<iostream>
using namespace std;
int main()
{
//1.整型
int a = 0;
cout << "请给整型变量a赋值: " << endl;
cin >> a;
cout << "整型变量a = " << a << endl;
//2.浮点型
float f = 3.14f;
cout << "请给浮点型变量f赋值:" << endl;
cin >> f;
cout << "浮点型变量f = " << f << endl;
//3.字符型
char ch = 'a';
cout << "请给字符型变量ch赋值:" << endl;
cin >> ch;
cout << "字符型变量ch = " << ch << endl;
//4.字符串型
string str = "hello";
cout << "请给字符串 str赋值:" << endl;
cin >> str;
cout << "字符串型变量str = " << str << endl;
//5.布尔型
bool flag = false;
cout << "请给布尔类型flag赋值:" << endl;
cin >> flag;//布尔类型 只要是非0的值都代表真
//请给布尔类型flag赋值:
//false
//布尔类型flag = 0
//请给布尔类型flag赋值:
//100
//布尔类型flag = 1
cout << "布尔类型flag = " << flag << endl;
system("pause");
return 0;
}