目录
2.1 C++变量
一、变量概念
变量的三个基本要素:数据类型+变量名称+初始值
变量的定义:[数据类型] [变量名称]
二、数据类型
整型、浮点型、字符型、字符串型、布尔型
三、变量细节
- 变量表示内存中一个存储区域,(不同变量,数据类型不同,占用的空间大小不同)
- 存储区域有自己的变量名称和数据类型
- 变量必须先声明后使用
- 存储区域的数据可以在同一类型范围内不断变化
- 变量在同一作用域内不能重名
2.2 整型
一、整型变量
类型 | 存储空间 | 表示范围 |
短整型[short] | 2字节 | |
整型[short] | 4字节 | |
长整型[long] | Windows(4字节)、Linux(4或8字节) | |
长长整型[long long] | 8字节 |
二、使用细节
- 各整数类型有固定的范围和字段长度
- C++程序中变量一般声明为int型
- bit:计算机中最小的存储单位 byte:计算机中基本存储单位 1byte = 8bit
三、程序举例
#include <iostream>
using namespace std;
int main()
{
//短整型
short num1 = 5;
cout << num1 << endl;
//整型
int num2 = 6;
cout << num2 << endl;
//长整型
long num3 = 7;
cout << num3 << endl;
//长长整型
long long num4 = 8;
cout << num4 << endl;
system("pause");
return 0;
}
2.3 浮点型
一、浮点型变量
类型 | 存储空间 | 表示范围 |
float[单精度] | 4字节 | |
double[双精度] | 8字节 |
二、使用细节
- C++浮点型变量具有固定长度
- 浮点型常量默认为double型,声明float型变量,须后加‘f’或‘F’
- 科学计数法:5.12e2[512.0]、5.12e-2[0.0512]
- 通常情况下,应该使用double型,它比float更精确
- 浮点数使用陷阱:2.7和8.1/3不相等
三、程序举例
#include <iostream>
using namespace std;
int main()
{
//浮点型默认为double
float num1 = 3.1415926f;
cout << "num1的值为:"<< num1 << endl; //3.14159
cout << "num1的内存空间为:" << sizeof(num1) << endl; //4
double num2 = 3.1415926;
cout << "num2的值为:" << num2 << endl; //3.14159
cout << "num2的内存空间为:" << sizeof(num2) << endl; //8
//科学计数法
double num3 = 5.12e2;
double num4 = 5.12e-2;
cout << num3 << endl; //512
cout << num4 << endl; //0.0512
//浮点型使用陷阱
double num5 = 2.7;
float num6 = 8.1 / 3;
if (num5 == num6) {
cout << "num5和num6相等" << endl;
}
system("pause");
return 0;
}
2.4 字符型
一、字符型变量
字符类型表示单个字符,字符类型是char,占2个字节,多个字符用字符串String。
二、使用细节
- 字符常量是用单引号引起来的单个字符,不允许使用双引号,例如:char c1=’a’;
- C++中还允许使用转义字符’\’来将其后的字符转变为特殊字符型常量
- C++中,char的本质是一个整数,输出Unicode码对应的字符
- 可以直接给char型变量赋一个整数,输出Unicode码对应的字符
- char类型变量可以进行运算,相当于一个整数
三、程序举例
#include <iostream>
using namespace std;
int main()
{
//字符型
//单引号引起来单个字符
char dwh1 = 'a';
char dwh2 = 97;
cout << dwh1 << endl;
cout << dwh2 << endl;
char dwh3 = dwh2 + 1;
cout << dwh3 << endl;
system("pause");
return 0;
}
四、程序编码
- ASCII码:美国制定的一套字符编码(一个字节),对英语字符与二进制位之间的关系,做了统一规定,称为ASCII码。ASCII一共规定了128个字符的编码,只占用了一个字节的后面7位,最前面的一位统一规定为0。一个字节可表示256个字符,ASCII码只用了128个。
- Unicode编码:一种编码,将世界上所有的符号纳入其中,每个符号都给予一个独一无二的编码,不存在乱码问题。缺点是一个英文字母和汉语字母都占用2个字节。Unicode编码最多编码65536个字符,编码0-127的字符与ASCII码一致。因此,Unicode码兼容ASCII码。
- UTF-8编码:UTF-8编码是在互联网上使用最广的一种Unicode的实现方式,使用1-6个字节表示一个符号,根据不同的符号而变化字节长度。其中,字母占1个字节,汉字占3个字节。
2.5 字符串型
一、字符串型
string 变量名 = “字符串值” |
char 变量名[] = “字符串值” |
二、程序举例
#include <iostream>
#include <string>
using namespace std;
int main5()
{
//字符串型
//1.string字符串
string str1 = "Hello World!";
cout << str1 << endl;
//2.char数组字符串
char str2[] = "ni hao!";
cout << str2 << endl;
system("pause");
return 0;
}
2.6 布尔型
一、布尔型
布尔类型在存储空间中占1个字节,适用于逻辑运算,一般用于程序流控制:if条件控制语句、while循环控制语句、do-while循环控制语句、for循环控制语句。
二、程序举例
#include <iostream>
#include <string>
using namespace std;
int main6()
{
//布尔型
bool ispass = true;
if (ispass == true) {
cout << "考试通过" << endl;
}
else {
cout << "考试不及格,下次加油" << endl;
}
system("pause");
return 0;
}