C++入门知识3
大家好,我是Michael_cmr(一位蒟蒻)
这次给大家讲解如何定义变量,变量是所有的编程中最重要的模块,不管什么都离不开变量。好了
首先,让我们先来理解一下,什么是变量——
从字面意义上来看,变量就是会变的量 这不都是废话 。具体要变成什么值,要看正在阅读这篇blog的读者们自己来看咯~~~
干货时间:
1.C++有什么基本的变量:
好,直接列表
数据类型 标识符 取值范围
整形 int -2147483684~2147483684
单精度浮点数 float -3.4E+38~3.4E+38(7位有效数字)
双精度浮点数 double -1.79E+308~1.79E+308(15位有效数字)
字符型 char -128~127
布尔型 bool 0或1
无返回值 void 啥都没有(主要是声明函数无返回值或无类型指针)
注:7位有效数字表示小数点后可保留七位小数,以此类推。
嗯嗯,看上去是不是很少哦?
嘻嘻,骗你的,还有许多呢。慢慢往下看
2.C++的基本类型修饰词
很好,谢谢你们很有耐心的看到了这里。修饰词嘛,就是拿来修饰变量的。
我们常见的修饰词有:
short 短整型,修饰int(修饰时可省略int)
long 长整形,修饰int(修饰时可省略int)和double(不可省略double)
signed 修饰整形,有符号类型
unsigned 修饰整形,无符号类型
让我们来一一解释一下这些修饰词——首先,大家看到有符号类型和无符号类型可能会懵逼
o((⊙﹏⊙))o yi?你在讲什么我不知道
首先,有符号类型(几乎所有的变量类型都有符号,char有点特殊)。而无符号类型,就是说没有了负号吧(简单的可以这么理解)。
3.定义变量的规则
定义变量的规则很简单,就几句话解决,那就是——————
定义变量先写变量类型(以后会知道这个叫做关键字),然后一个空格+变量名。
变量名规则:
数字不当开头,不能出现中文,字符下划线允许使用。
举个例子啊:
我们定义了一个整形变量
int 1a
认真看一下,变量名的开头是1,所以是错的,不能用!
但是,如果我们写为
int a1
这个变量名满足了条件,所以成立
下划线就是
_
认真看看,是不是看到了上一行有一个短短的横线,这个就是下划线
变量名对下划线的位置很随意,你放哪里都行
变量在我们真正的编程中,还要注意内存占用(用sizeof来查看),接下来上代码来总结
#include<iostream>
using namespace std;
int main()
{
int a=1; //声明了int类型的变量a
cout<<"变量a值为"<<a<<" 占用的内存为"<<sizeof(a)<<endl;
a=100; //赋值操作
cout<<"变量a值为"<<a<<" 占用的内存为"<<sizeof(a)<<endl;
system("pause");
return 0;
}
运行结果为:
由此可以看出,int类型占用4个字节。
接着来看
#include<iostream>
using namespace std;
int main()
{
short int a_1=0; //声明了短整型变量
short a_2=20; //同上一句注释
cout<<"变量a_1值为"<<a_1<<" 占用的内存为"<<sizeof(a_1)<<endl
<<"变量a_2值为"<<a_2<<" 占用的内存为"<<sizeof(a_2)<<endl;
a_1=100;
a_2=100;
cout<<"变量a_1值为"<<a_1<<" 占用的内存为"<<sizeof(a_1)<<endl
<<"变量a_2值为"<<a_2<<" 占用的内存为"<<sizeof(a_2)<<endl;
system("pause");
return 0;
}
运行结果:
这说明了短整型short int 跟short是一样的,占用的内存是2个字节。
再往下(这次我们写的代码长一点)
#include<iostream>
using namespace std;
int main()
{
/*======长整型变量======*/
long long int q=5000000; //取值范围是-2^63~2^63-1
long long q_1=1000000000;
cout<<"q的值为"<<q<<" 所占字节为"<<sizeof(q)<<endl
<<"q_1的值为"<<q_1<<" 所占字节为"<<sizeof(q_1)<<endl;
/*======无符号长整型变量======*/
unsigned long long L=0; //取值范围是0~2^64-1
cout<<"l的值为"<<L<<" 所占字节为"<<sizeof(L)<<endl;
system("pause");
return 0;
}
运行结果:
所以,不难看出——long long int 跟long long 是一样的,取值范围是-2^63 ~2^63-1
然后。无符号型长整型 unsigned long long 的取值范围是0~2^64-1
…………之后还有好多好多,接下来直接写一个被修饰后的表格集合一下
数据类型 标识符 取值范围
无符号短整形 unsigned short 0~65535
无符号整形 unsigned int 0~4294967295
无符号短整形 unsigned long long 0~2^64-1
高精度浮点数 long double 3.4E-4932~1.1E+4932(19为有效数字)
字符型 signed char 0~255
它们所占的空间分别是:
数据类型 标识符 所占空间(字节)
无符号短整形 unsigned short 2
无符号整形 unsigned int 4
无符号短整形 unsigned long long 8
高精度浮点数 long double 12
字符型 signed char 1
差不多就是这些,在C++(兼容C语言)里面,还有一些复杂的数据类型,比如struct(自定义数据类型),enum(枚举)………………好多好多,我们后面会慢慢学到。
请期待下一节——如何使用变量(赋值与类型转换)
如有出错,多多包涵(如能指出,感激不尽)!谢谢大家!欢迎各位大神指点!
(转载请标注出处与楼主姓名)
(QQ:2437844684)
(欢迎各位大神评论)