目录
个人学习笔记
1、整型
short
:短整型,通常用于存储较小的整数。int
:整型,是C++中最常用的整数类型。long
:长整型,用于存储比int
更大的整数。long long
:长长整型,用于存储比long
更大的整数。数据类型 占用空间 取值范围 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
代码定义了四个整数类型的变量,并分别初始化为10。这些整数类型有不同的范围和存储大小:
#include <iostream>
using namespace std;
int main()
{
//整型
short num_1 = 10;//1、短整型
int num_2 = 10;//2、整型
long num_3 = 10;//3、长整型
long long num_4 = 10;//4、长长整型
cout << "num_1 = " << num_1 << endl;
cout << "num_2 = " << num_2 << endl;
cout << "num_3 = " << num_3 << endl;
cout << "num_4 = " << num_4 << endl;
return 0;
}
这部分代码使用
cout
对象将四个变量的值输出到控制台。endl
是一个操作符,用于插入一个换行符,并刷新输出流。
当你运行这段代码时,它会在控制台上输出以下内容:
num_1 = 10
num_2 = 10
num_3 = 10
num_4 = 10
每个变量都被赋予相同的值(10),但由于它们的类型不同,它们可能在内存中占用不同的空间。
2、sizeof关键字
sizeof关键字可统计数据类型所占用的内存大小
这段代码的主要目的是输出不同整数类型在特定编译器和平台下所占用的内存大小。代码中定义了四种类型的整数变量(
short
,int
,long
,long long
),但并未输出这些变量的值,而是输出了它们各自类型以及具体变量所占用的字节数。
#include <iostream>
using namespace std;
int main()
{
//整型
short num_1 = 10;//1、短整型
int num_2 = 10;//2、整型
long num_3 = 10;//3、长整型
long long num_4 = 10;//4、长长整型
cout << "short占用空间内存为:" << sizeof(short) << endl;
cout << "short占用空间内存为:" << sizeof(num_1) << endl;
cout << "int占用空间内存为:" << sizeof(int) << endl;
cout << "long占用空间内存为:" << sizeof(long) << endl;
cout << "long long占用空间内存为:" << sizeof(long long) << endl;
return 0;
}
输出各类型及变量所占用的内存大小,以字节为单位:
sizeof(short)与sizeof(num_1)实际上所占用的内存大小相同;
当你运行这段代码时,它将输出类似以下的结果(具体数值可能因编译器和平台而异):
short占用空间内存为:2
short占用空间内存为:2
int占用空间内存为:4
long占用空间内存为:8
long long占用空间内存为:8
注意:sizeof
操作符返回的是该类型或对象所占用的字节数。
3、实型(浮点型)
浮点型变量表示小数类型的数据
浮点型变量分为两种,区别在于表示的有效数字范围不同
。
#include<iostream>
using namespace std;
int main() {
//输出多位小数时,默认会显示6位有效数字
//在数字末尾显式地使用字母“f”表示单精度,否则编译器会默认将小数视为双精度浮点型
float f = 3.14f;
cout << "f = " << f << endl;
double d = 3.14;
cout << "d = " << d << endl;
//统计float和double占用内存空间
cout << "float占用空间内存为:" << sizeof(float) << endl;//4字节
cout << "float占用空间内存为:" << sizeof(double) << endl;//8字节
//科学计数法
float f2 = 3e2;//3*10^2
cout << "f2 = " << f2 << endl;//300
float f3 = 3e-2;//3*0.1^2
cout << "f3 = " << f3 << endl;//0.03
system("pause");
return 0;
}
注意:
1、有效数字包括整数部分和小数部分。
2、C++输出多位小数时默认会显示6位有效数字,需进行额外配置以完整显示全部有效数字。
3、float类型表示小数时,在数字末尾显式地使用字母“f”表示单精度,否则编译器会默认将小数视为双精度浮点型(double),再进行类型转换(由double型转换为float型)。
4、字符型
字符型变量只占用1个字节
字符型变量是将对应的ASCII编码
存放至内存,而不是字符本身
字符型变量可表示单个字符;char ch = 'a'
注意:
1、使用单引号表示字符,且单引号内有且仅有1个字符,不可以是字符串。
2、使用(int) ch
查询字符对应的ASCII编码。'a’对应97,'A’对应65。
#include <iostream>
using namespace std;
#include <string> //string头文件
int main() {
//字符型变量创建方式
char ch = 'a';
cout << ch << endl;
//字符型变量所占内存大小
cout << "char字符型变量占用的内存大小:" << sizeof(char) << endl;
cout << "char字符型变量占用的内存大小:" << sizeof(ch) << endl;
//字符型变量常见错误
//char ch2 = "b"; //错误:表示字符时需使用单引号
//char ch2 = 'abcdef'; //错误:单引号内只能有一个字符
//字符型变量对应ASCII编码(a:97; A:65)
cout << (int)ch << endl;
return 0;
}
5、转义字符
表示一些特殊的无法直接显示的ASCII字符
常用的转义字符有:\n \\ \t
注意:
1、C语言中使用转义字符
\n
换行,C++中使用endl
换行。
2、表示水平制表符的转义符\t
占据8个字符宽度。
#include <iostream>
using namespace std;
#include <string> //string头文件
int main() {
cout << "\\" << endl;
cout << "\tHello" << endl;
cout << "\n" << endl;
return 0;
}
6、字符串型
表示一串字符
注意:
1、C风格字符串:
char 变量名[] = "字符串值";
使用C风格字符串时,需使用双引号将字符串值括起来。
2、C++风格字符串:string 变量名 = "字符串值";
使用C++风格字符串时,需包含头文件
#include <string>
。
#include <iostream>
using namespace std;
#include <string> //string头文件
int main() {
//C风格字符串
char cStr[] = "hello c str";
cout << cStr << endl;
//C++风格字符串
string cppStr = "hello cpp str";
cout << cppStr << endl;
return 0;
}
7、布尔类型
布尔数据类型表示真或假的值
bool类型占1个字节大小,且只有两个值:
(1)true: 真(本质是1)
(2)false:假(本质是0)
注:C++的bool类型中,
true
或任意非0值
均代表“真”;false
或0值
代表“假”。
#include <iostream>
using namespace std;
#include <string> //string头文件
int main() {
bool flag = true;
cout << flag << endl; // 1(真)
/* C++的bool类型中,true 或 任意非0值 均代表“真” */
flag = 6.66f;
cout << flag << endl; // 1(真)
flag = false;
cout << flag << endl; // 0(假)
/* C++的bool类型中,false 或 0值 代表“假” */
flag = 0;
cout << flag << endl; // 0(假)
cout << "bool类型占用的内存大小:" << sizeof(bool) << endl;
cout << "bool类型占用的内存大小:" << sizeof(flag) << endl;
return 0;
}
8、数据输入
这段代码演示了如何使用输入输出流来从用户处获取不同数据类型的值,并输出这些值。
这里引入了iostream
和string
两个头文件。iostream
用于输入输出操作,而string
用于支持字符串类型。
作用:从键盘获取数据,并赋值给cin对应的变量。
关键字:cin
语法: cin >> 变量
#include <iostream>
using namespace std;
#include <string> //string头文件
int main()
{
//整型
int a = 0;
cout << "给a赋值:" << endl;
cin >> a;
cout << "a = " << a << endl;
//浮点型
float f = 3.14f;
cout << "给f赋值:" << endl;
cin >> f;
cout << "f = " << f << endl;
//字符型
char c = 'a';
cout << "给c赋值:" << endl;
cin >> c;
cout << "c = " << c << endl;
//字符串型(string需要调用头文件)
string str = "hello";
cout << "给str赋值:" << endl;
cin >> str;
cout << "c = " << str << endl;
//布尔型
bool flag = false;
cout << "给flag赋值:" << endl;
cin >> flag; //bool类型 只要是非0的值都代表真
cout << "flag = " << flag << endl;
system("pause");
return 0;
}
这行代码在Windows平台上会暂停程序,并显示“按任意键继续...”的消息,等待用户按键。
system("pause");