0%

C++数据类型及数据的运用

C++程序初始代码

1
2
3
4
5
6
7
8
9
10
11
#include<iostream>
using namespace std;

int main()
{



return 0;

}

该代码初学者只需背下即可,每个程序都要有。

C++注释

单行注释

用法://描述信息

通常放在一行代码的上方或后面,对该代码进行说明。

1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
using namespace std;

int main()
{

cout<<"hello world"<<endl; //输出hello word


return 0;

}

多行注释

用法:/*描述信息*/

通常放在一段代码上方,对该代码做整体说明。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
using namespace std;

int main()
{
/*

输出hello world

*/
cout<<"hello world"<<endl;

return 0;
}

C++数据量

变量创建的语法

数据类型 变量名 = 变量初始值

例如 int a = 10;

注意:

  • 关键字不能作为变量的名称(标识符)

  • 标识符只能由字母、数字、下划线组成

  • 第一个字符必须为字母或下划线

  • 标识符中字母区分大小写

  • 标识符尽量用有阅读性的英文字母,而不要单纯的a、b、c

常量

作用:用于记录程序中不可更改的数据

C++定义常量的两种方式

#define 宏常量:#define 常量名 常量值

通常在文件上方定义,表示一个常量,比如定义pi=3.1415926

1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
#define pi 3.1415926

using namespace std;
int main()
{

cout<<pi<<endl;

return 0;

}

const 修饰的变量:const 数据类型 常量名 = 常量值

通常在变量定义之前加关键字const,修饰该变量为常量,不可修改

1
2
3
4
5
6
7
8
9
10
11
#include<iostream>
using namespace std;

int main()
{

const int a = 12;
cout<<a<<endl;

return 0;
}

数据类型

C++规定在创建每一个变量或常量时,必须要指定出相应的数据类型,否则无法为其分配内存

整型

作用:整型变量表示的是整数类型的数据

区别:占用空间不同,表示范围不同

数据类型 占用空间 取值范围
short(短整型) 2字节 (-2^15~2^15-1)
int(整型)常用 4字节 (-2^31~2^31-1)
long(长整型) Win为4字节,Linux为4字节(32位),8字节(64位) (-2^31~2^31-1)
long long(长长整型) 8字节 (-2^63~2^63-1)

sizeof可以求出数据类型所占内存大小

语法:sizeof(数据类型/变量)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
suing namespace std;
int main()
{
int a=34;
cout<<"int所占字节"<<sizeof(int)<<endl;
cout<<"int所占字节"<<sizeof(a)<<endl;
/*
以上两种表达方式均可

*/

return 0;
}

实型(浮点型)

作用:用于表示小数

浮点型变量分为两种:

1.单精度float

用法:float 变量名 = 数值f;(没有f会默认为双精度,会多一部转换,转换为单精度)

2.双精度double

用法:double 变量名 = 数值;

两者区别:

数据类型 占用空间 有效数字范围
float 4字节 7位有效数字
double 8字节 15~16位有效数字
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
using namespace std;

int main()
{

float f1 = 3.1415926f;
cout<<f1<<sizeof(f1)<<endl;//f1写为float也可
double d1 = 3.1415926;
cout<<d1<<sizeof(double)<<endl;
/*
C++默认显示6位有效数字

*/

//下面介绍科学计数法
double d2 = 3e2;//此处表示3*10^2
float a2 = 3e-2;//此处表示3*10^-2
cout<<d2<<a2<<endl;

return 0;
}

注意:C++输出小数默认显示6位有效数字,若想多显示,需要其他操作。

字符型

作用:用于表示单个字母

用法:char 变量名 = '单个字母'(注意此处为单引号,) 也可以直接用'单个字母'

注意:

  • C和C++中字符型变量只占用1个字节
  • 字符型变量并不是把字符本身放到内存中存储,而是把其对应的ASCII编码放入到存储单位

例如

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
using namespace std;

int main()
{

char hl1 = 'a';
cout<<sizeof(char)<<endl;//输出其所占字符
cout<<(int)hl1<<endl;//把字符型变量强转成整型,即a所对应ASCII码
char hl2 = 'A';
cout<<(int)hl2<<endl;
cout<<(int)'B'<<endl;
cout<<'C'<<endl;

return 0;
}

转义字符

作用:用于表示一些不能显示出来的ASCII字符

现阶段常用的转义字符有:\n \\ \t

一定注意都是反斜杠

详情见下表

转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) ,将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下页开头 012
\n 换行(LF) ,将当前位置移到下一行开头 010
\r 回车(CR) ,将当前位置移到本行开头 013
\t 水平制表(HT) 009
\v 垂直制表(VT) 011
\' 单引号 039
\" 双引号 034
\\ 反斜杠 092

zyzf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
using namespace std;

int main()
{

cout<<"hello \nworld\n"<<endl;// 换行符/n要在双引号内
cout<<"\\"<<endl;// 两个\\会输出一个\
cout<<"hello\tworld"<<endl;//水平制表符 \t总共8个位置,后面有多少空格取决于前面有多少字符

/*
其优点就是使文字输出更整齐
*/
cout<<"hel\tworld"<<endl;
cout<<"hell\tworld"<<endl;
cout<<"hello\tworld"<<endl;

return 0;

}

字符串

作用:用于表示一串字符

用法:

1.C风格的字符串:char 变量名[] = "变量值"(与字符型变量的区别在于变量名后面有 [],且变量值用双引号)

2.C++风格字符串:string 变量名 = "变量值"(该风格需要包含#include头文件)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
#include<string>

using namespace std;

int main()
{
char hl[] = "shl";
cout<<hl<<endl;

string hla = "shl";
cout<<hla<<endl;

return 0;
}

布尔类型

作用:布尔数据类型代表真或假的值

bool类型只有两个值

  • true 真(本质为1)
  • false 假(本质为0)
  • 除了0之外的数字都是真的,字母是假的。若数字后面有字母,则直接看数字,若字母后面有数字,则就是假

用法:bool 变量名 = true/false

bool类型只占一个字节

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
using namespace std;

int main()
{

bool hl = true;
cout<<hl<<endl;

hl = false;
cout<<hl<<endl;



return 0;
}

数据的输入

作用:用于从键盘获取数据

用法:cin>> 变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
using namespace std;

int main()
{
int a = 0;
cin>>a;
cout<<"你输入的数为"<<a<<endl;

bool b = false;
cin>>b;//除了0之外的数字都是真的,字母是假的。若数字后面有字母,则直接看数字,若字母后面有数字,则就是假
cout<<b<<endl;
//也可这样用
int b,c,d;
cin>>b>>c>>d;
cout<<b<<c<<d;

return 0;
}