新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > PIC单片机C语言程序设计(2)

PIC单片机C语言程序设计(2)

作者:时间:2012-07-10来源:网络收藏

 五、C的标识符和关键字

本文引用地址:http://www.eepw.com.cn/article/171168.htm

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

  1.C的标识符

  所谓标识符,实际上是一些由程序编写者自定义的名称,类似于汇编语言中给寄存器(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)硬件电路和功能硬件电路同《单片机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来终止当前循环周期中的操作,使控制进入其他程序段。下面逐一进行介绍,并通过程序实例来说明其应用,以利大家加深理解。

c语言相关文章:c语言教程




评论


相关推荐

技术专区

关闭