目录
1.前言
上一期我们具体讲了一些准备工作,大家最好去回顾一下上一期所写的内容,上一期我们讲到了一些实用的软件和网址,并且打出了第一个入门代码hello world,今天我们将会讲数据类型以及常量变量的一些基础知识,废话少说,直接上干货!!!(记得点赞♥)
2.数据类型
char //字符数据类型
short //短整型
int //整型
long //长整型
long long //更长的整型
float //单精度浮点数
double //双精度浮点数
这么多的数据类型他们到底有什么用呢?它们的差别又体现在哪里?下面听我娓娓道来!
int main()
{ //定义一个年龄,年龄为整数
int age=20; //使用int这种整型类型创建了一个变量age,并且赋值为20.
//圆周率pai为小数
float pai=3.14f;
//3.14后面最好加上一个f,让编译器知道3.14是float类型数据,否则编译器会默认3.14为double类型数据.
//如果我们想让pai精度更高的话,我们可以按照如下方式定义
double pai=3.14159;
//把字符a存入变量ch中
char ch='a'; //字符是用单引号引起来的。
//使用char字符数据类型创建了一个变量ch,并且赋值为a.
return 0;
}
通过上面的代码我想大家对这些数据类型有了初步的了解,那么为何整型要分为short、int、long、long long、而浮点数据类型要分为float 、double呢?其原因就在于它们所占空间大小的不同,任何变量的创建都要在内存中开辟空间,而计算变量所占空间大小我们就不得不提到关键字:sizeof ,c语言中的sizeof是用来计算变量或者使用类型创建的变量的大小,单位是字节。下面我们来看一下不同数据类型所占内存空间的大小。
计算机中存放的是二进制,二进制中的0或者1数字所占内存为1个比特位(bit)
1 byte= 8 bit
1 kb= 1024 byte
1mb= 1024 kb
1gb =1024 mb
···········
数据类型所占内存越大其创建的变量的数字范围也就越大。这样也能提高内存的利用率。
3.变量、常量
3.1 变量的定义
C语言中为了描述变化的量使用变量,描述不变的量使用常量。
创建变量形式 :数据类型+变量名
例:int age=20;
char ch='a';
变量在创建的时候不初始化是一种不好的代码风格。
当一个局部变量不初始化时,它所产生的值是随机的。
3.2 变量的分类
⭐ {}就是一个代码块
局部变量:代码块内部定义的变量。
全局变量:代码块外部定义的变量。
我们看如下代码:
3.3 变量的使用
⭐下面我们来敲一敲代码实现两个整数的和来感受一下变量的魅力吧😊
🌙注:scanf是C语言提供的一个输入函数
& ———取地址操作符(后续会着重讲)
#include <stdio.h>
int main()
{
//两个整数的相加
int num1=0;
int num2=0;
int sum=0;
//输入两个值
scanf("%d %d",&num1,&num2);
sum=num1+num2;
//输出结果
printf("%d",sum);
return 0;
}
3.4 变量的作用域和生命周期
⭐ 作用域:变量的“势力范围”。
局部变量的作用域:变量所在的局部范围。
全局变量的作用域:整个工程。
下面我们来敲段代码来更好的理解概念:
以上两张图片中第一个局部变量发生报错,而第二个全局变量未发生报错,这也更好的印证了全局变量和局部变量的作用域。
⭐生命周期 :变量的“生命周长”。
生命周期和作用域十分的相似,但生命周期代表的是时间段,而作用域代表的是代码范围。
局部变量的生命周期:进入局部变量所在的范围,生命周期开始,出局部变量所在的范围,生命周期结束。
全局变量的生命周期:就是整个程序的生命周期。
3.5 常量
(1)字面常量:字面上能够理解的常量.
如下:
int main()
{
//字面常量
100;
3.14;
"abc";
'w';
return 0;
}
(2)const 修饰的常变量
下面我们来写代码对比一下有无const修饰的作用效果。
无const修饰效果:
有const修饰效果:
我们可以看到,当我们创建的变量被const修饰后,变量初始化的值就不能再被修改,既然不能被修改,那它不应该是常量吗?为什么名字叫做常变量呢?下面我们来证明一下它为何叫做常变量,看如下代码:
const int n=100;
int arr[n]={0}; (数组初始化时其[ ]内的数值必须为常量,n被const修饰后其本质上还是变量)
⭐:在C99的标准中允许变量来指定数组的大小。
故在C99的标准下上面写的代码也正确。
(3)#define 定义的标识符常量
下面我们看如下代码:
🌙我们用#define定义标识符常量时一般习惯于把标识符常量名字写成大写。
(4)枚举常量 :适用于能一一列举的量,例如:性别可以列举为:男,女,保密。
下面我们看一段代码。
4. 结束语
前面因为太忙导致自己文章断更,现在是寒假时间,相对来说时间也更加的充裕,这一段时间我会不断更新有关C语言的文章,后续还会更新数据结构与算法,请大家持续关注我,期待大家的评论与点赞噢😊