目标
这一章讲的都是关于变量哒。然后忘说了,没发布3章会出一章专门拿来练习题目。
变量
分很多类型。
int
int类型是最常用的类型了,是整数类型。举个例子,比如你往一个int类型变量塞入一个1.9,那么变量里存的其实是1。但是不是四舍五入,而是向下取整。
int a,b,c,d;
这就是如何的创建。放在main主函数里的是局部变量,放在main函数外的是全局。
#include<bits/stdc++.h>
using namespace std;
int a,c;//全局
int main(){
int b,d;//局部
return 0;
}
最大值是2147483648,最小是-2147483648。系统变量INT_MIN和INT_MAX存着
float
支持小数!但是精度是小数点后7位。最大值为1.17549e-38,最小为-1.17549e-038。系统变量FLT_MIN和FLT_MAX存着
double
float的升级版!支持小数位后17位。最大值2.22507e-308,最小-2.22507e-308。系统变量DBL_MIN和DBL_MAX存着
char
字符类型。比方说char a='a';然后如果你把a赋值给了int的b,那么b就等于a的ASCII码。
string
有关它的代码多了去了,这章专门设一个板块讲。他就是字符串类型。
long
这玩意很牛叉,可以加在别的类型变量前面(他自己也可以)。比如long int,long long,long double……他就是可以把变量最大值给扩大的一个玩意。(题目中有涉及到幂运算就得考虑用这个了)
变量操作
输入
cin。上一章讲过不过多赘述。
string专用
这玩意最好用getline。
getline(cin,变量)
但是如果getline和int混用要注意在它俩之间加一个cin获取一个废物变量。
getline(cin.a)
cin>>fei_wu;
cin>>b;
为什么?cin不是要用enter结束输入吗?这个enter会被getline获取到导致string变量没有被录入。反过来就是getline抢了cin要输入的数字
输出
小数类型的有专门的。
printf("%0.2f",变量);
0.2代表小数点后2位,0.3后3位以此类推
数值变化
类型转换
这时候隔壁py用户又来了:你们转换类型真麻烦!C++分显式和隐式。我们只讲显式。隐式太简单了c++的对比py的可以说是很复杂了……分3种
1
除string以外的互转
int a;
float b;
b=static_cast<float>(a);
static_cast不变,<>填写当前变量类型。
2
任何类型转string be like
int a;
string str;
str=to_string(a);
比上一种还简单
3
string转别的任何类型。str转int
int a;
string str;
str=stoi(a)
str转float
float a;
string str;
str=stof(a)
str转double
double a;
string str;
str=stod(a)
其实也有规律,都是sto开头,结尾是类型首字母。int就是i,float就是f,double就是d。
运算
a++;//自加
++a;//同上
a--;//自减
--a;//同上
a+=6;//a=a+6
a-=6;//a=a-6
a/=6;//a=a/6
a*=6//a=a*6
a=pow(2,4);a=2*2*2*2
a=6%5;//哟西有得讲。double和float不能用求余。
注意啦!b=a++和b=++a不一样的!自己去试吧。--一样道理。
string专项
长度
有两种写法
str.size()
str.length()
length老写法
某一位
str[第几位]
如果你学过c++就知道这也是数组的获取方式
str.substr(开始,结束)
注意!这个和py的str一样。从0开始索引。意思是比如str是123,那么第0位是1,第1位是2
合并
简单
string a="12",b="34";
cout<<a+b;
和python一样写法。
查找
str.find("内容")
简单吧
替换
str.replace(起始,结束,"要替换成什么")
也是很简单
结尾
好的今天学了变量的一大堆东西,大家要多练!