C++从入门到放弃
数据类型
c++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存
数据类型存在的意义:给变量分配合适的内存空间
11整型 int
作用:·整型变量表示的是整数类型的数据·
c++中能够表示整型的类型有以下几种方式,区别在于所占内存空间不同:
数据类型 | 占用空间 | 取值范围 |
---|---|---|
short(短整型) | 2字节 | -215~215-1 |
int(整型) | 4字节 | -231~231-1 |
long(长整型) | Windows 4字节 Linux 4字节(32位),8字节(64位) | -231~231-1 |
long long(长长整型) | 8字节 | -263~263-1 |
12sizeof
可以放关键字,也可以放变名名称
cout << "int 型字节大小" << sizeof(int) << endl; //4
cout << "short 型字节大小" << sizeof(short) << endl; //2
cout << "long 型字节大小" << sizeof(long) << endl; //4
cout << "long long 型字节大小" << sizeof(long long) << endl; //8
cout << "char 型字节大小" << sizeof(char) << endl; //1
cout << "string 型字节大小" << sizeof(string) << endl; //40
cout << "float 型字节大小" << sizeof(float) << endl; //4
cout << "double 型字节大小" << sizeof(double) << endl; //8
cout << "bool 型字节大小" << sizeof(bool) << endl; //1
cout << "wide char 型字节大小" << sizeof(wchar_t) << endl; //2
13实性(浮点型)
作用:表示小数
数据类型 | 占用空间 | 有效数字范围 |
---|---|---|
float | 4字节 | 7位有效数字 |
double | 8字节 | 15~16位有效数字 |
*有效数字:3.14 中3,1,4都是有效数字
*float数据结尾默认加f
*默认情况下,输出一个小数,会显示出6位有效数字
科学计数法
float f2 = 3e2; // 3 * 10^2;
float f3 = 3e-2; //3 * 0.1 ^2
14字符型
作用:字符型变量用于显示单个字符
语法:char ch = 'a';
注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号
注意2:单引号内只能有一个字符,不可以是字符串
- C和C++中字符型变量只占用一个字符
- 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元
重要的ASCII编码值
a -- 97
A -- 64
15转义字符
作用:用于表示一些不能显示出来的ASCII字符
\t占8个字符,前面有几个,后面用空格补齐够8个,作用:整齐的输出
16字符串型
作用:用于表示一串字符
两种风格:
C风格字符串:char 变量名[] = "字符串值";
注意:C风格的字符串要用双引号括起来
char str1[] = "hello world";
C++风格字符串:string 变量名 = "字符串值";
注意:string需要头文件 #include
#include <string> //C++的string头文件
string str2 = "hello world";
char a = 'a';
cout << a << endl;
string c = "abc";
cout << c << endl;
char b[] = "abcd";
cout << b << endl;
17布尔类型bool
作用:布尔数据类型代表真或假的值
bool类型只有两个值:
非0值都代表真
- true ---- 真 — 1
- false — 假 — 0
bool类型占1个字节大小
18数据的输入
作用:用于从键盘获取数据
关键字:cin
语法:cin >> 数据名称
1 总结
C++的原始数据类型
参考来源:
https://www.runoob.com/cplusplus/cpp-data-types.html
https://www.geeksforgeeks.org/c-data-types/
基本数据类型 | 占用字节 | 取值范围 |
---|---|---|
Integer | 4字节 | -2147483648~2147483647 |
Character | 1字节 | -128127/0255 |
Boolean | 1字节 | |
Float | 4字节 | 7位有效数字 |
Double | 8字节 | 15~16位有效数字 |
void | ||
Wide Character | 2/4字节 |
与类型修饰符结合使用时内置数据类型
数据类型 | 占用字节 | 取值范围 |
---|---|---|
short int | 2 | -32768-32767 |
unsigned short int | 2 | 0-65535 |
unsigned int | 4 | 0-4294967295 |
int | 4 | -2147483648-2147483647 |
long int | 4 | -2147483648-2147483647 |
unsigned long long int | 8 | 0-18446744073709551615 |
signed char | 1 | -128-127 |
unsigned char | 1 | 0-255 |
float | 4 | |
double | 8 | |
long double | 12 | |
wchar_t | 2/4 |
//输入输出练习:
//1、整型 int
int a = 0;
cout << "a的值是:" << a << endl;
cout << "请给整型变量a赋值:" << endl;
cin >> a;
cout << "a的值是:" << a << endl;
//2、浮点型 float
float f = 3.14f;
cout << "f的值是:" << f << endl;
cout << "请给浮点型变量f赋值:" << endl;
cin >> f;
cout << "f的值是:" << f << endl;
//3、字符型 char
char ch = 'a';
cout << "ch的值是:" << ch << endl;
cout << "请给字符型变量ch赋值:" << endl;
cin >> ch;
cout << "ch的值是:" << ch << endl;
//4、字符串型 string
string str = "abc";
cout << "str的值是:" << str << endl;
cout << "请给字符串型变量str赋值:" << endl;
cin >> str;
cout << "str的值是:" << str << endl;
//5、布尔类型 bool
bool flag = false;
cout << "flag的值是:" << flag << endl;
cout << "请给布尔类型变量flag赋值:" << endl;
cin >> flag; // bool类型 只要是非0的值都代表真
cout << "flag的值是:" << flag << endl;