C语言基础知识梳理<2>

目录

1.前言

2.数据类型

 3.变量、常量

3.1 变量的定义

 3.2 变量的分类

3.3 变量的使用

3.4 变量的作用域和生命周期

3.5 常量


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语言的文章,后续还会更新数据结构与算法,请大家持续关注我,期待大家的评论与点赞噢😊

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值