C++教程-----C++变量类型和变量的定义

C++教程正在更新中,具体请查看教程目录

C++数据类型和变量的定义

C++完全可以理解成C的增强版,增加了许多不同的数据类型,并且同时对C向下兼容,同时对C语言数据的结构等等进行了扩展,C++在定义变量的同时不需要再结构名,联合名,枚举名前加上struct,union,enum。

C++中有许多不同的数据类型,以下的内容主要参考和重新创作根据cppreference

在这里只介绍一些常见和常用的数据类型

1.void

void值为空集的类型,不存在void类型的数组,也不存在到void的引用,并且允许void指针和返回void类型的函数,这个部分将再之后的C++函数的部分进行讲解。

2.bool

在电路中,我们可以用0/1分别表示电路的关闭和开启,同时,在计算机中我们用True和False来表示电路的开和闭,因此在C++中新增了一个新的类型–bool。bool类型的对象只存在两个数值:0/1或者true/false,并且在定义对象的同时,bool类型的对象占用的空间更小。

3.int

在C++中int定义的是16位整数,也就是16位二进制位表示的整数,其范围为:-2147483648 ~ 2147483647。在进行程序设计的时候,需要根据环境适当选择不同的类型。

4.long long

在C++中long long定义的是64为整数,也就是64位二进制位表示对整数 -9223372036854775808 ~ 9223372036854775807也就是数字长度19位的数字

5.char

字符类型

6.string

string可以定义一个字符串,同时和数组结合也可以定义字符串的数组,可以看作char类型的增强版,string类型的字符串可以理解成长度无穷的字符串实际长度和计算机性能和内存有关。

7.float/double

在C++中存在浮点数,也就是数学中的小数,float和double都表示小数,并且表示数字的范围不同。

C++还有很多数据类型,在之后的文章中会逐步介绍

下面来说明C++变量的定义

C++变量的定义可以理解成如下公式:类型 对象名 (初始值),在定义变量的过程中首先变量的类型必不可少,必须在定义变量之前声明变量的类型int,char,string等等,其次,定义变量的名字,在定义变量的同时我们可以对变量给予一个初始的值也可以不进行初始化。

在C++中定义变量的操作如下:

#include<map>
#include<list>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<iomanip> 
#include<cstring>
#include<iostream>
#include<algorithm>
#define R register 
#define LL long long 
using namespace std;

int main(){
	int number_1;
	int number_2 = 0;
	bool check = true;
	string name;
	return 0; 
}

同时在C++中存在全局变量和局部变量,全局变量可以认为可以在整个程序中使用,在整个程序中调用,定义的时候需要在函数位定义;局部变量需要在函数内定义,只能在所定义该变量的函数内使用,在实际使用的过程中,全局变量所能开辟的大小相对于局部变量能开辟的内存大小要大很多,局部变量在定义时,数字类型默认为0,字符默认为空,bool类型默认为Flase,在局部变量定义的时候变量初始值和内存有关,初始值随机,有时候需要将变量初始化。

常量

如果说变量是在程序运行的过程中可以改变的内存单元的名字(变量保存在内存上),那么常量就是值固定不变的内存单元,因为在程序设计的过程中有时我们不希望一些变量被随意修改,比如我们在计算一个球的体积的时候,我们需要用到Π,并且在使用的过程中并不希望Π因为某些原因被修改,因为不小心修改了Π可能会对以后的计算造成影响,这时候我们就引进了常量,常量一旦被定义,在之后的程序设计的过程中将不会再被修改,在C++中通常用const和constexpr来定义常量,具体的定义公式如下:

​ const 常量类型 常量名 = 常量的表达式

​ constexpr 常量类型 常量名 = 常量的表达式

常量必须在定义的时候就进行初始化,不能在使用的过程中进行初始化,并且定义的常量一经初始化就不能再被修改,定义常量的示范如下:

const int name = "Lpy_Now";
const int number_1 = 10;
const double number_2 = 1.0;

int main(){
	int number_3 = 1;
	const int number_4 = number_1 + number_3;
	return 0;	
} 

constexpr和const在大多数情况下作用是相同的,唯一的区别是数据初始化的时间不同,constexpr定义的常量必须在定义的同时就对变量初始化完成但是const定义的常量使用范围就叫为宽泛,这样的常量可以在使用这个常量之前初始化即可。

查看上一篇:面向过程程序设计和面向对象程序设计的区别和C++语言的基础输入输出以及string的使用
查看下一篇:C++指针(上)-----基础篇
查看目录:C++教程目录

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值