C51程序设计中在定义变量类型时一般要求定义成什么

发布网友

我来回答

4个回答

热心网友

C语言中,变量一般有两种属性,分别是:存储类别、数据类型。
例如定义一个变量:static unsigned char var = 0; 上述语句中,static(静态的)为变量的存储类别,unsigned char(无符号字符型)为变量的数据类型,var为变量名,初始化值为0。
下面给你说明几点。
存储类别:即变量在代码运行期间的存储方式。c语言提供了4种,分别是:auto(自动的)、static(静态的)、extern(外部的)、register(寄存器的)。
默认情况下,如果不加存储类别,则该变量是auto类的,该关键字可以省略,其它三个不能省。static的用法是,定义一个局部变量,该变量只进行一次初始化,在程序运行期间一直占用着内存,每次调用完毕都保持本次调用完后得到的值(而auto调用完一次即释放内存,下次调用用从新进行初始化)。extern:一个变量被定义成全局变量,加上该关键字,意思是提醒编译器,该变量是在别的C文件中(即你想再一个C文件中调用另外一个C文件的变量,需用该关键字进行引入)。register:定义一个变量为该存储类型,建议编译器将该变量存放在CUP内部寄存器中,以便该变量频繁调用而提高代码运行速度。注意,它是建议型的,一般用在循环次数多的地方,因为变量一般存放在内存中,每次CUP访问它都得跑到内存去提取,次数多了,影响运行速度。放在内部寄存器就快多了(当然放不放我们不知道,只是建议编译器这么做),这种变量也是用完就释放。
数据类型:C语言提供了三种基本数据类型:char型 int型 float型。
默认情况下,char/int/float是指有符号的,即前面都省略了signed关键字,如果需要定义成无符号型的,需在前面加上不可省略的unsigned关键字。char占一个字节,int占2个字节(在有的环境下是4个字节),float占4个。表示的数据范围也比较明确,char一个字节8位,共256种状态,有符号的最高位表示符号,0为正,1为负,其余7位表示数字位,2的7次方。int型16位 的,一样。float型的数据必须要有小数点,一般float能表示6~7位有效数字。上述的数据类型中,如果范围还不够大,还可以定义成long型,即长整型,占4个字节,而浮点型可以定义成double型,可以表示16~17为小数,当然,它也只占四个字节。
其它还有指针型的变量,还有构造型的如结构体、共同体、枚举等等。学单片机的还有bit型的。C语言概念很多,但都很简单。重点是在用。世界上没有纯记忆的技术,只有一边用一边记忆的技术。
看到那么多头疼了吧?没事,小伙子,哥看好你。
木棉城路过。

热心网友

unsigned char 比较好 因为是无符号的 对应一个字节的二进制,不考虑负数位求反和符号位什么的 和单片机内部的I/O扣啊 还有一些流水灯的位置比较对应,方便控制;

热心网友

看你的变量需要什么类型的,普通变量可以设置成unsigned char , 开关量可以是BIT

热心网友

一般是UINT,其实是你需要什么就定义什么啊

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com