一篇博客手把手教会C语言数据类型和变量-----包教包会的那种哦!

小伙伴们刚刚接触C语言编程,遇到的第一个板块就是数据类型和变量了,虽然这个板块在整个C语言中属于比较简单的内容,但是,“千里之行,始于足下”,“千里之堤,溃于蚁穴”,想要学好C语言,每一个板块都不可以存在漏洞,今天,通过这篇帖子,带大家完完全全学透C语言的数据类型和变量。

                                           

 ——————————————————————————————————————————

————————————————————————————————————————————————————————————————————————————————————------

目录

 一.数据类型的介绍

二.signed和unsigned

三.变量

1.变量的创建                                            ​

2.初始化

3.变量的分类

4.作用域和生命周期

5.局部优先原则 

6.确保安全性


 一.数据类型的介绍

·    C语言提供了丰富的数据类型来描述生活中的各种数据。使用整型类型来描述整数,使字符类  型来描述字符,使用浮点型类型来描述小数。所谓“类型”,就是相似的数据所拥有的共同特征,编译器只有知道了数据的类型,才知道怎么操作数据。

·    数据类型的分类包括内置类型和自定义类型

 ·  本文将讲述内置类型。

常见的内置类型有:

· char 字符数据类型----用%c打印 ,大小为一个字节;

· int 整型---用%d打印,大小为4个字节;

· short 短整型---用%d打印,大小为2个字节;

· long 长整型---用%ld打印,大小为4个字节;

· long long 更长的整型---用%lld打印,大小为8个字节;

· float 单精度浮点型---用%f打印,大小为4个字节;

· double 双精度浮点型---用%lf打印,大小为8个字节;

· bool类型,这个类型比较特殊,专门用于判断真假,返回值为true或false,大小为一个字节,且bool类型在使用时,必须包含头文件<stdbool.h>

                                                 

二.signed和unsigned

· C语言使用 signed 和 unsigned 关键字修饰字符型整型类型的。
· signed 关键字,表示该类型带有正负号,包含负值;
· unsigned 关键字,表示该类型不带有正负号,只能表示零和正整数。

即signed和unsigned帮助在C语言中确定了正数和负数。

· 注意,对于int整型来说,默认就是自带signed的,所以写和不写signed没有区别,为了简洁,一般在写int时不写signed,但写了也不算错

· 但如果要表示非负整数时,就必须要带上unsigned。   

· 再注意一次

                                            

 ·  注意,C语言中规定 char 类型默认是否带有正负号,由当前系统决定。
    这就是说, char 不等同于 signed char ,它有可能是 signed char ,也有可能是
    unsigned char 。
    这点与 int 不同, int 就是等同于 signed int 。

三.变量

变量是C语言的大头

1.变量的创建                                            

· 什么是变量呢?C语⾔中把经常变化的值称为变量,不变的值称为常量。 

· 创建变量的结构

data_type name;

data_type即数据类型,name即变量名;

举个例子吧:

int i;
char arr;
short a;

2.初始化

· 变量在创建的时候就给一个初始值,就叫初始化。

再举个例子:

int i = 0;
char arr = { 0 };
short a = 0;

3.变量的分类

· 变量分为全局变量和局部变量;

全局变量在大括号外部定义的变量就是全局变量;

看了全局变量的定义,那么想必局部变量的定义也就顾名思义了,在大括号内部定义的变量就是局部变量。

看到这里,你是不是觉得还是有点懵,嘿嘿,写段代码,康康吧

#include <stdio.h>

int a = 0;

int main()
{

    int b = 0;
 
    return 0;
}

a和b 就是变量,a在大括号外面,所以它就是全局变量啦,而b在大括号内部,所以它就是局部变量。

现在清楚全局变量和局部变量的区别了吧!

4.作用域和生命周期

· 作用域    通常来说,一段程序代码中所用到的名字并不总是有效 / 可用 的。而限定这个名字的可用性的代码范围就是这个名字的作用域。

简单来说,作用域就是这个变量起作用的区域,在作用域里面,这个变量就是有用的,作用域外面,这个变量就是没用的。

· 生命周期    变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。

通俗一点,生命周期就是这个变量的HP,在生命周期里,这个变量就还活着,生命周期结束,这个变量就没用了。

不说了,上代码

                                            

#include <stdio.h>

int a = 0;

int main()
{

    int b = 0;
 
    return 0;
}

 嘿嘿,又是它

· 看这个全局变量a 的作用域就是整个工程,即整个代码,生命周期也是整个工程,从工程开始到工程结束,就是“你活着我就活着,你out了我也out”

· 这个局部变量b的作用域就是局部变量所在的大括号,生命周期是从进入大括号到出大括号,在大括号里面,诶嘿,b就是老大,出了大括号,b就泯没于众生,没了,哈哈哈,大概这么理解吧

5.局部优先原则 

不知道到这里,小伙伴有没有想到一个有意思的事情,我们现实生活中当出现两个人同名的时候,是不是,会经常出现一些尴尬的乌龙呢

那么在写代码是出现相同的变量名,会出现什么现象呢?

这里就得引入局部优先原则啦

· 局部优先原则就是在代码运行的时候,当出现全局变量和局部变量的变量名相同的时候,编译器会优先使用局部变量

                                                    

#include <stdio.h>
int n = 1000;
int main()
{
int n = 10;
printf("%d\n" ,n);//打印的结果是多少呢?
return 0;
}

小伙伴们,猜猜打印结果会是啥呢?

跑一下代码看看

ok,输出结果是10,对吧,这就是局部优先原则。

· 但建议局部变量和全局变量取两个不相同的名称。 

6.确保安全性

· 根据全局变量的特性,作用域和生命周期是整个工程,这个特性就代表着全局变量不具有安全性。

发挥的聪明的小脑袋思考一下这句话!!!

                                         

  当使用全局变量是,在一个庞大的工程中,可能在某个地方,需要对该变量进行改动,一旦,改动,那么整个工程中的这个变量将全部发生改变,于是,程序就报销了,这就是全局变量的不安全性带来的隐患。

· 因此,在编程时,尽量少用全局变量!

ok,今天的分享到这里就结束了,后续会持续更新更多有趣内容。

——————————————————————————————————————————————————————————————————————————————————————

--------------------------新人博主,制作不易,求个关注,求个点赞----------------------------------------------

                                                

  • 20
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: 学习51单片机和C语言编程,可以帮助我们更深入地理解嵌入式系统的原理和工作方式。对于初学者来说,掌握一份适合自己的学习资料非常重要。 要学习51单片机-C语言版,可以阅读《手把手你学51单片机-C语言版pdf》这本电子书,这本书内容丰富,讲解详细,配合实例编程,非常适合初学者自学。以下是学习本书的几个关键点: 第一,掌握基本的硬件知识,括单片机的结构和特性,尤其是各种寄存器的作用和配置方法。 第二,了解C语言编程基础,尤其是语法、数据类型、运算符、控制结构、函数等,这是编写单片机程序的基础。 第三,通过实例编程加强对知识的理解和运用能力。例如,可以尝试写一些简单的IO控制、定时器中断、串口通讯等程序。 第四,可以搭配相应的开发板和开发环境进行实践学习。例如,可以使用STC89C51开发板和Keil或SDCC开发环境。 总之,《手把手你学51单片机-C语言版pdf》这本电子书是一个不错的学习资料,但也需要具备一定的基础知识和耐心,可以结合其他资料和实践不断提高自己的能力。 ### 回答2: 学习51单片机-c语言版, 需要基础的C语言编程知识。在学习前,先要熟悉C语言数据类型、循环、判断及函数等语法结构,并掌握C语言的编写方法。 在学习51单片机-c语言版之前,需要准备好学习环境,如下载并安装Keil软件, 安装并关联好相应的单片机模拟器。Keil软件中有类似于记事本的编辑窗口用来编写C语言代码, 以及编译,调试和下载程序到单片机等功能。 在学习时,可以选择一些简单的例程开始学习,逐步理解其代码逻辑,了解基本的寄存器操作和中断等知识。可以从LED灯等简单的实验开始,逐渐增加难度和功能的复杂度。 同时,可以参考一些权威的学习资料如《单片机原理与应用》、《51单片机学习与应用》等相关书籍,或结合网络资源进行学习。在学习过程中,需要勤加练习,多编写代码进行实践,同时多与他人交流学习体和技术问题。通过坚持不断的学习和练习,便可以逐步掌握51单片机-c语言版编程技巧,提高自己的单片机应用开发能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值