当前位置:首页 > 单片机 > 单片机
[导读] 五、C语言的标识符和关键字  一个完整的PIC单片机C语言程序,通常由包含文件(即头文件1,变量定义、变量说明、函数定义、函数体和注释等六部分等组成。  1.C语言的标识符  所谓标识符,实际上是一些由程序编

 五、C语言的标识符和关键字

  一个完整的PIC单片机C语言程序,通常由包含文件(即头文件1,变量定义、变量说明、函数定义、函数体和注释等六部分等组成。

  1.C语言的标识符

  所谓标识符,实际上是一些由程序编写者自定义的名称,类似于PIC单片机汇编语言中给寄存器(RAM)的命名。C语言中所用到的变量名、函数名、数组名、文件名等都是由标识符组成的。

  标识符是由一串字母(常指英语字母)、数字和下线符(或称下划线)组成的字符串。标识符的第一个字符必须是字母或下线符。按照惯例,以下线符开头的标识符是系统程序专用的,程序员最好不用。程序员可将下线符作为分段符使用,如SUM_1。

  同一字母的大小写被视为不同的标识符。即同一字母的大小写是不同的标识符。

  不同的C编译器对标识符的长度有不同的限制。为了避免所编写的源文件能被所有C编译器认可,可将标识符的长度限定在8个字符以内(即1个字节)。

  标识符的命名(即自定义),最好简捷、含意清晰、便于阅读,如用deIay表示延时;用sum表示求和;用loop表示循环等。

  2.C语言的关键字

  关键字,又称保留字,是指那些已由系统作了特殊定义、具有特定含义的标识符。,程序员编写C程序时,可用关键字来对所用函数参数进行说明、定义一些物理量,它们是C语言语句的重要组成部分,有的还直接组成简单语句。因此,用户是不能将此类标识符(关键字)作为自定义标识符使用的。

  C语言的关键字分为三类,即数据类、程序控制类和预处理类,如表1所示。

表1

  表1中所列关键字,读者在编写C程序时,将逐步学会其使用。

  六、C语言的数据类型

  在编写C语言程序时,首先要涉及的是数据描述和功能描述。数据是实现功能的过程,功能是数据运算(或处理)的结果,没有数据,C程序就无法实现单片机规定的功能,可见数据在C语言程序中的重要性。

  C语言的数据类型,有基本型、构造型、指针型三类。对此,笔者将在使用时逐一介绍。

  1.标准型

  标准型数据属于基本型数据,是由C语言本身提供的基本数据类型,结构简单、使用频率高。下面以实例对C语言程序中的标准型数据予以说明。

  标准型数据又分为整型数据、实型数据和字符型数据三种,每种数据又有常量和变量之分。笔者将其分类以表格形式列出,既可供初学者编写C语言程序时查找,亦可与本文中实例程序的注释进行对比学习,以加深对标准型数据的理解。

(1)整型常量。

1.while语句

  (1)格式:while(条件表达式)

  (2)功能:程序运行时,先判断条件表达式,当条件表达式的值为非零(即为“真”)时,执行while语句中的内嵌语句,即先判断条件表达式,再执行语句。当条件表达式为零时,退出循环;若表达式一开始就为0,其while语句一次也不执行;若条件表达式恒为1,则程序在while体内一直循环。

  (3)程序实例2

  1)硬件电路和功能硬件电路同《PIC单片机C语言程序设计(1)》一文的图1(见《电子制作》2009年第10期)。图中的RA0口外接的微动开关KO,作为程序的起动开关。KO未按下时。单片机系统处于等待状态,按一次KO,系统依次进行以下工作:RBO口外接的LEDO点亮→延时→LEDO熄灭→RB2外接的LED2点亮→延时→LED2灭→RB4外接LED4点亮→延时→LED4灭→执行间断语句break终止循环→点亮RB6外接的LED6→回到等待状态,直到RA0外接的微动开关KO再次按下,再重复上述过程。

  2)源文件清单。

  本实例2的程序清单如下(源文件名PIC02.C):

  说明:

  ① 上述程序中,关键字break、continue和return等组成的简单语句的使用是略有区别的。具体区别如下:

  间断语句break:程序运行到此就终止循环,跳出while(1)的循环体,执行该循环体紧接在后面的语句:

  · 继续语句continue:如果把该程序中的break语句换成继续语句continue。程序运行到此便立即执行由while(1)开始功能的程序,即程序在该循环体内不断地运行,等效于不用continue;语句;·return语句:当把该程序中的break换成return语句时,程序运行到此就会立即返回主程序运行。

  读者学习C语言时,一定要将实例2源程序中的关键字“break”分别用“coutinue”和“return”代换并运行程序,同时观察使用三种不同的关键字时LED指示灯的不同状态,方能体会出三者的差异。

  ② 关于带形式参数(简称形参)的延时函数。

  实例2所用的延时函数与实例1不同。实例1(见《电子制作》2009年第10期)用的是无参数函数,功能简单,一个函数完成一定的延时。实例2用的是有参数延时函数,一个函数可完成不同的延时(如上述实例2 中的延时1、延时2、延时3、延时4)。这是因为,带形参函数(如实例2中的延时函数v0id delay(K))可以借助参数的传递功能来完成不同时间的设置,这是汇编语言所无法做到的。由此可见,采用C语言可大大简化程序的编写工作。

  鉴于形参对熟悉汇编语言的设计人员来说是一个全新的概念,有关C语言的函数参数传递功能,我们在后续的文章中还将进一步介绍,以加深大家对其的理解。

  整型常量,是指在程序运行过程中数值保持不变的量,在编写C程序时,整型常量用关键字cONST进行定义。表2给出了各种常量的类型、表示方法及示例说明。

表2

  (2)整型变量。

  整型变量。是指在程序运行过程中数值会改变的量。整型(即整数类型)变量的基本型是lnt。

  Int可以保存一个整数,并允许在_nl前加上基本型、短整型、长整型,以及无符号型等四种整型类型。下面分别加以说明1)基本型:标志是int。

  2)短整型:标志是short int。

  3)长整型:标志是long int。

  4)无符号型:存储单元中,全部二进制位均用来存放整数自身。而不包括符号位。无符号型又分为无符号整型、无符号短整型、无符号长整型三种。

  ①无符号整型:标志是unsigned int:

  ②无符号短整型:标志是unsigned short int;

  ③无符号长整型:标志是unsigned Iong int。

  以上C语言变量的要点,是相关的关键字,以及每个整型变量的取值范围,即长度(二进制位个数)。

  PlC单片机C语言的整型变量、数据名称、取值范围如表3所示。表中的内容,在编写C程序时经常使用,初学者应熟练掌握。

表3

  说明:1.表3列出了整型变量的取值范围。例如,从表3中可以看出,无符号长整型变量unsigned long int的最大取值可达10位数,将其用于延时函数,仅用一条循环语句,延时便可达20小时以上(参看下文中的实例2)。2.对于表3中的字符型(char)、浮点型(float)和双精度型doable等整型变量,将在本连载后续文章的程序使用到时进行说明。

  七、C语言的控制循环语句

  在C语言程序中,会用到多种功能语句。控制循环语句(下称循环语句)便是其中之一。

  C语言的循环语句有三种,即while语句、do while语句和for语句。循环语句一般由循环控制条件来控制循环的重复次数。如果控制条件没有完成,要想终止循环,可在循环体中用间断语句break、返回语句retum,或者用继续语句continue来终止当前循环周期中的操作,使控制进入其他程序段。下面逐一进行介绍,并通过程序实例来说明其应用,以利大家加深理解。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭