C++零基础自学-第二课 变量与常量

往期教学

第一课 C++的基本语法

前言

我的洛谷

正文

书接上回,我们接着来学习C++

变量

变量的定义

变量是一个有类型,用来储存数据,可以改变里面数据的容器

在C++中定义变量

变量数据类型+变量名=数据;

常见的数据类型有

int整型变量
float浮点型变量
bool布尔型变量
double双浮点型变量
char字符型变量
string字符串型变量
unsigned int无符号整型变量
long 长整型变量
short短整型变量
long long超长整型变量
int a;//整型变量
float b;//浮点型变量
bool c;//布尔型变量
double d;//双浮点型变量
char e;//字符型变量
string f;//字符串型变量
unsigned int g;//无符号整型变量
long h;//长整型变量
short i;//短整型变量
long long j;//超长整型变量

提示:在定义和使用string变量时最好加上头文件<cstring>或<string>或<string.h>

在C++中使用变量

Code1
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
    string s="Hello,World!";
    cout<<"变量:"<<s<<endl;
    cout<<"直接输出:"<<"Hello,World!"<<endl;
    return 0;
}
运行结果1
变量:Hello,World!
直接输出:Hello,World!

可以看到,变量存放的值和直接输出是完全一样的

Code2
#include<iostream>
using namespace std;
int main()
{
    int a=2,b=3;
    cout<<"a+b="<<a+b<<endl;
    return 0;
}
运行结果2
a+b=5

可以看到,变量之间是可以进行操作的

全局变量与局部变量

全局变量,顾名思义,就是全局都可以使用的变量,通常定义在命名空间下,main函数上,由于堆和栈的特殊性,全局变量往往能获得更大的空间

局部变量,就是我们上文定义的变量,它只在一段代码中生效,但优先级大于全局变量

Code
#include<iostream>
using namespace std;
int n=5;
int main()
{
    cout<<n<<endl;
    return 0;
}
运行结果
5

全局变量的优先级小于局部变量,也就是说,当两个变量同名时,编译器会优先采用局部变量

Python和C++输入方式的差异

Python中的输入
Code
a=input("请输入 ")
print(a)
运行结果
请输入 5
5
C++中的输入
Code
#include<iostream>
using namespace std;
int main()
{
    int a;
    cout<<"请输入 "<<endl;
    cin>>a;
    cout<<a<<endl;
    return 0;
}
运行结果
请输入 5
5

由于Python可以随意改变变量的值和类型,所以在Python中不需要给变量指定类型,然而在C++中,这样的设定并不存在,所以我们需要手动地去定义变量的类型

cin是什么

cin是C++里面的输入操作,包含在头文件<iostream>里,和Python里的input()不太一样,详细看上方的代码

cin的使用方式
cin>>变量名;

注意尖括号和cout输出的方向是不一致的,不要忘记了

常量

常量的定义

常量是一个有类型,用来储存数据,且不可以改变里面数据的容器

在C++中定义常量

方式1
const 数据类型 变量名=数据;
方式2
#define 数据类型 常量名(通常大写) 数据

注意:方式2定义的位置在头文件下,命名空间前,常量的值是无法改变的

在C++中使用常量

Code1
#include<iostream>
using namespace std;
int main()
{
    const int a=5;
    cout<<a<<endl;
    return 0;
}
运行结果1
5
Code2
#include<iostream>
#define int A 5
using namespace std;
int main()
{
    cout<<A<<endl;
    return 0;
}
运行结果2
5

我们可以看到,虽然两篇代码的常量定义方式不一样,但输出结果是一样的,说明这两种定义方式可以进行互换的

后记

本人创作不易,后续有时间的时候我将第一时间更新,不知可否要到您的一个赞和关注,感激不尽!

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值