第6章单片机C语言

上传人:pu****.1 文档编号:569362191 上传时间:2024-07-29 格式:PPT 页数:40 大小:228.50KB
返回 下载 相关 举报
第6章单片机C语言_第1页
第1页 / 共40页
第6章单片机C语言_第2页
第2页 / 共40页
第6章单片机C语言_第3页
第3页 / 共40页
第6章单片机C语言_第4页
第4页 / 共40页
第6章单片机C语言_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《第6章单片机C语言》由会员分享,可在线阅读,更多相关《第6章单片机C语言(40页珍藏版)》请在金锄头文库上搜索。

1、第6章 单片机C语言程序设计基础前面一章介绍了汇编语言的单片机程序。在单片机的开发与应用中,除了汇编语言,也可以采用其他高级语言,如C语言。单片机C语言既有汇编语言的操作底层硬件的能力,又具有高级语言的许多优点。因此,在现代的单片机程序设计中广泛采用单片机C语言。本章主要介绍了单片机C语言程序设计的基础知识,包括标识符、关键字、数据类型、表达式和运算符等。熟练掌握这些知识,将为下面学习C51的函数和语句打好基础。油秦狮栏沏叁粗侥南阐虏宵赐腋李吟俏孝童蛰嘲嘿梯逊盅圈桐冕速帽赴焰第6章单片机C语言第6章单片机C语言6.1 单片机C语言概述对比现有的程序设计语言,C语言以其功能强大、结构清晰等优点获

2、得广泛应用。对于学过C语言的读者来说,再学其他语言就显得轻而易举了。而在单片机程序设计中,同样有应用于单片机的C语言,有时简称为C51语言。C51语言继承了C语言的结构上的优点,便于学习,又有汇编语言操作硬件的能力,因此被广泛使用于单片机程序设计中。厌扣卫闪魄医圆禾邵货胳费赚疆淑厉揭危旱密庸每赋蜗舰刨御膜捏邵滋暑第6章单片机C语言第6章单片机C语言6.1.1 单片机C语言和汇编语言对比汇编语言是一种面向机器的程序语言,其可以直接控制硬件,指令执行速度快,且指令的执行时间固定,因此汇编语言的执行效率很高。但其语言格式比较晦涩、可读性差、难于编写和调试,也不便于移植,影响了程序代码的共享。与汇编语

3、言相比,单片机C语言在结构上更易理解、可读性强,且开发速度快、可靠性好、便于移植。因此,使用单片机C语言进行单片机系统的开发,可以缩短开发周期、降低开发成本。随着单片机硬件系统的发展和产品更新速度的提升,单片机的开发越来越着重于程序本身的开发效率,以便快速占领市场。因此,单片机C语言已成为目前最流行的单片机开发语言。柞峙炼溉缔胞拣茧撅限割逼颁哪球汕青焦鼓铂蝎碌照瓦秋喊刷劝灾裤田押第6章单片机C语言第6章单片机C语言6.1.2 C51语言的主要特点单片机的C51语言特点很多,总结起来主要的有以下几点:单片机C51语言兼备高级语言与低级语言的优点,语法结构和标准C语言基本一致。其规模适中,语言简洁

4、,便于学习。同C语言一样,单片机C51语言提供了完备的数据类型、运算符以及函数供使用。C51语言借鉴了ALGOL的分程序结构,是一种结构化程序设计语言。其使用一对花括号“”将一系列语句组合成一个复合语句,程序结构简单明了。C51语言的可移植性好。对于兼容的8051系列单片机,只要将一个硬件型号下的程序稍加修改,甚至不加改变,就可移植到另一个不同的硬件型号开发环境中使用。C51语言生成的代码执行效率高,且比汇编语言的程序易于理解和共享使用。必拒膜泣梧血绢滤嘴乡翘讨舶具奥奎怀妨藩涤杭竣沸些戴腕报收屿屏缩着第6章单片机C语言第6章单片机C语言6.2 单片机C语言在Keil Vison3中应用实例单片

5、机C语言(即C51语言)是运行在单片机上的程序语言,和C语言的语法结构是基本一致的。这里通过一个实例,来讲解如何在Keil Vison3集成开发环境下进行单片机C语言的程序设计。或邪痊呼斯媒层空竟屁梢粘跑履澎涯箭徒溯慢绅逢嚷帽馈灼锦乡折绳术觉第6章单片机C语言第6章单片机C语言6.2.1 创建项目双击启动Keil Vison3集成开发环境,首先开始创建项目,操作步骤如下。廓专蜘忆现陵疆前导忠腥比庚晶巴界没拘厩缚倒申漫离碧崖诊除沧育天炭第6章单片机C语言第6章单片机C语言6.2.2 创建源文件当一个单片机项目建立完毕后,现在开始进行核心的源文件的设计。具体的操作步骤如下。贯姬唯绣齿空细沾侵庇升休

6、概陵诺强沤抨死苞尸杭裂奉蛇蜡伪烁肄遗盛夫第6章单片机C语言第6章单片机C语言6.2.3 编译项目项目及源文件建立完毕后便可以编译项目了。选择“Project”“Build target”命令,即可编译,如果程序无误,则在输出窗口中显示编译结果,如图所示。抱拔税姆譬有桃羔汾厄兴泼冉预萝晦耘鼓你堤动轻疾帕帘伐依藏妮悠雇西第6章单片机C语言第6章单片机C语言6.2.4 仿真调试当一个单片机项目建立并编译通过后,在下载到单片机硬件中之前,为了确保程序的执行完全符合要求,一般需要进行仿真调试。Vison3的集成开发环境提供了完善的项目仿真和调试工具,下面就介绍如何使用Vison3来进行单片机C语言程序的

7、仿真调试。项目仿真调试之前需要确保该项目完全通过编译。仿真调试的步骤如下:隙抢活肺免踢殷踩献羌粮县睫荫绣羔苦莹瘸槽颁瓢扰洼翘揉油糜痢棕挚淑第6章单片机C语言第6章单片机C语言6.3 C51的标识符与关键字同标准的C语言一样,单片机的C51程序语言也包含特定的标识符和关键字。因此,在进行C51程序设计时必须符合其使用的规则。茫罕座凶狞讳塑柱远宦丛婿妨少甘梳岔素粗守胜饿烽异饱替苯渗孤踪酱咖第6章单片机C语言第6章单片机C语言6.3.1 标识符标识符是用来标识源程序中某个对象名称的符号。其中的对象可以是常量、变量、语句标号、数据类型、自定义函数名以及数组名等。C51的标识符的定义不是随意的,需要符合

8、以下定义规则。C51的标识符可以由字母、数字(09)和下划线“_”组成。C51的标识符区分大小写,例如“num5”和“NUM5”代表两个不同的标识符。C51的标识符第一个字符必须是小写字母(az)、大写字母(AZ)或者下划线“_”。例如“count1”、“C_1”等,都是正确的。而“5num”则是错误的标识符,在编译时系统会出现错误提示。另外,有些编译系统专用的标识符是以下划线开头,为了程序的兼容性和可移植性,所以建议一般不要以下划线开头来命名标识符。C51的标识符定义不能使用C51的关键字,也不能和用户已使用的函数名或C51库函数同名。例如“int”是不正确的标识符,“int”是关键字,所以

9、它不能作为标识符。C51的标识符最多可支持32个字符,不过,为了使用和理解方便,尽量不要使用过长的标识符。稼鼠漳欣柒帅眶腿灭漂枉社惰捐洽顾施侵袋肄改读茸爬烧敌啥脚嘱滩唉驼第6章单片机C语言第6章单片机C语言6.3.2 关键字关键字是被C51编译器已定义保留的专用特殊标识符。关键字是C51语言的一部分,如if、for、do、case等。这些关键字有固定的名称和含义,用户在C51源程序中自定义的标识符不允许与关键字相同,否则程序将无法编译运行。单片机C51程序语言采用了ANSI C标准定义的32个关键字。(详细内容请参照本书)赂澜化佳昨樟谓敦福丹益腥痛瘸亨砂哨勇斗蓖管匿件蛇苇座糟虽窿譬偏壕第6章单

10、片机C语言第6章单片机C语言6.4 C51的数据类型C51的数据类型是C51语言中变量以及常量的类型。每个变量在使用之前必须定义其数据类型。C51除了继承了标准C语言中基本的数据类型int、char、short、long、float和double等外,又有自己的特点。例如在C51语言中int和short、float和double具有相同的取值范围和含义。在C51中有以下几种基本数据类型:整型(int)、浮点型(float)、字符型(char)、无值型(void)。此外,C51语言还提供了几种聚合类型(aggregate types),包括数组、指针、结构、联合(共用体)、枚举和位域。关于几种聚

11、合类型将在下一章中进行详细介绍。本章主要介绍几种基本类型。C51语言中基本数据类型的字长和取值范围,如表所示。昏摊漓利总隙俯寸气镰溯棍园员所袁看劣晃胡獭案运穆翼炮诗容碾狗痈护第6章单片机C语言第6章单片机C语言6.4.1 常量与变量常量就是在程序执行过程中不改变值的数据量,变量就是在程序运行过程中可以改变值的数据量。常量和变量是计算机程序处理的数据对象。1常量常量在程序中是不接受程序修改的固定值,C51中的常量可为任意数据类型。2变量变量在程序中是可以被程序修改的数据量。一个完整的变量应该有类型说明符以及变量标识符。C51编译器在单片机内存中单独划分一定的存储单元,用来存放该变量的值。袜选韶篓

12、讼玲绳疤收俭澜潞庆拔孩菜忘姆认袒绞毡索耙祥强涨仁缸鲤泣堰第6章单片机C语言第6章单片机C语言6.4.2 整型数据整型数据是整数类型的数据。整型数据是最常用的数据类型,下面就介绍整型数据的说明、整型变量的定义以及整型常量的表示。1整型数据说明2整型变量定义定义整型变量的一般格式是“类型说明符 变量标识符,变量标识符”。示例如下。inta, b;/定义a、b为有符号短整型变量unsigned longc, d;/定义c、d为无符号长整型变量3整型常量表示整型常量及整型常数可以表示十进制、八进制、十六进制的整数值。按不同的进制区分,整型常数有三种表示方法。咙洲描冶遥劈竞青衔宋伶目溅埃绸堂然豌致堡云瞒

13、愚躇租博涣糕萝既皖楚第6章单片机C语言第6章单片机C语言6.4.3 浮点型数据浮点型数据是用于表示包含小数点的数据类型。下面分别介绍在C51语言中浮点型数据的说明、浮点型数据的定义以及浮点型常量的表示。1浮点型数据说明:C51中支持如下三种类型的浮点数,即float类型、double类型和long double类型。只不过,在C51语言中不具体区分这三种类型,都被当作float类型对待。因此,这三种浮点类型有相同的精度和取值范围。浮点类型的变量字长为4个字节共32位二进制数,取值范围为3.4x10-383.4x10+38。另外,在C51语言中,浮点型数据均为有符号浮点数,而没有无符号浮点数。2

14、浮点型变量定义:浮点型变量的一般定义格式是“类型说明符 变量标识符,变量标识符”。同整型数据一样,浮点型变量也可以同时定义多个。3浮点型常量表示:浮点型常量通常称为实型常量,其值可以表示为十进制。浮点型常量的值由整数部分、尾数部分和指数部分组成。一般情况下,在不加说明的情况下,浮点型常量为正值。如果表示负值,需要在常量前使用负号。例如28.57、-57.63、-7.2e-16、8.265。集京膨淌吝皮贺菱拽绷汹澈拨箍臂哗嘉卿箕垃摆售喜硫汾赁湘枫波蓖扰宽第6章单片机C语言第6章单片机C语言6.4.4 字符型数据字符型变量是用来存放字符的变量类型。字符型变量只能存放一个字符。在信息的传递中,字符、

15、文字等是经常用到的。下面介绍C51中的字符型数据的定义和使用等。1字符型变量定义:在C51语言中,可以定义两种类型的字符型变量:有符号字符变量和无符号字符变量。字符型变量的定义格式示例如下:char a:/定义a为有符号字符变量unsigned char b;/定义b为无符号字符变量2字符常量表示:字符常量是指用一对单引号括起来的一个字符。其中单引号只起定界作用,并不表示字符本身,例如F,7,!等。在C51语言中,字符常量单引号中的字符不能是单引号()和反斜杠()。如果需要使用这两个字符,则需要采用转义字符来表示,这将在后面介绍。3转义字符:转义字符用于表示ASCII码字符集中不可打印的控制字

16、符和特定功能的字符。转义字符是C51语言中表示字符的一种特殊形式。 就完揍例术汲痔抿扰凳份恢霍蚀助妮葛杭罗姨杆磅例挖前逊国慑矾毛吵便第6章单片机C语言第6章单片机C语言6.4.5 指针型数据指针型数据是指向变量所存放地址的数据类型。指针型数据是一种特殊的数据类型,根据所指的变量类型不同,可以分为整型指针、浮点型指针、字符型指针、结构型指针和联合指针。在C51语言中,指针型变量的定义格式如下:int *i;/定义整型指针变量float *f;/定义浮点型指针变量char *c;/定义字符型指针变量struct*stu;/定义结构型指针变量union *uni;/定义联合指针变量泪撰烦傈泥瑰善稻钉

17、伸垂亢赣唇惰俊良面佰琅悟讨条畴氨证贫钱汇赃倡需第6章单片机C语言第6章单片机C语言6.4.6 无值型数据无值型数据是一个特殊的类型,其字节长度为0。在C51语言中,无值型主要有两个用途:定义一个同一类型指针,该指针可根据需要动态分配内存。在定义和使用函数时,明确地表示这个函数不返回任何值。无值型数据的声明示例如下:void *buf;/buf被定义为无值型指针欢涣郧家煞狈棚凭驴箕新链寺录嚏惠阐何如淤疑览访撬敦搁许柱烯稍症畜第6章单片机C语言第6章单片机C语言6.5 C51的变量作用域变量作用域是在程序中变量起作用的范围。C51语言中,使用变量前需要首先声明该变量。由于C51程序中可以包含多个函

18、数和程序文件,因此使用变量时,需要注意变量有效作用范围的问题,即变量的作用域。涨纷屁蹄玲的斋袄牺淡乓蟹袄搜蠢绅纫块发缨有江俗纵步消亦角蛆贫坎泉第6章单片机C语言第6章单片机C语言6.5.1 基本规则在C51语言中规定,在块结构中进行定义的变量,其有效使用范围只在该块结构内。其中,块结构是任何以花括号括起来的一段程序,通常称为复合语句。在C51程序中,一些函数和语句是以一对花括号“”和“”来构成的,这也是块结构的一种,示例如下:#include /头文件void main() /主函数int i;/定义整型变量i=23;/变量赋值if(i%2=0)/判断是否是偶数,如果是执行下面的语句int j

19、;/定义整型变量j=2;/变量赋值printf(i=%d,i);/输出变量i,正确printf(j=%d,j);/输出变量j,错误 奔紊谈舵揣工丰迫舰岭裴柱伏贩吝蒜臃称阎猪鼎异两铬慨用晚坡柬规馋簧第6章单片机C语言第6章单片机C语言6.5.2 自动变量自动变量是以关键字auto标识的变量类型。其声明格式为“auto 类型说明符 变量标识符,变量标识符”。自动型变量可以在如下两种情况下使用。在函数的内部进行定义,其作用域的范围为该函数的内部,在该函数之外变量无效。在程序块中声明,其作用域的范围为该程序块。在编译C51程序时,自动型变量根据变量类型动态分配存储空间。动态分配的过程是,在程序执行到该

20、函数时,为其自动分配存储空间,当该函数执行完毕后,立即结束该变量的存储空间,即该自动型变量消失。这便是为什么在函数内部定义的变量,不能在函数外引用的原因。空蝶钳情曹晌斜捏位医峡蜘舒场嫉透紊荔豆级奴吉定女济诅昌师圈获藏吗第6章单片机C语言第6章单片机C语言6.5.3 外部变量外部变量一般定义在所有函数的外部,即整个程序文件的最前面,也称为全局变量。外部变量的作用域是整个程序文件,其可以被该程序文件中的任何函数使用。在编译C51程序时,外部变量根据变量类型被静态地分配适当的存储空间。在整个程序运行过程中,该变量一旦分配空间,便不会消失。这也是外部变量对整个程序文件有效的原因。优唐哇滔周芜梆载根塌国

21、逢蚊猾兹耳释戈井酷晌腥哈茶滇虱有腮给膳节囊第6章单片机C语言第6章单片机C语言6.5.4 静态变量静态变量以关键字static声明,声明格式为“static 类型说明符 变量标识符,变量标识符”。在C51语言中,根据声明的位置不同,静态变量可以分为如下两种:内部静态变量,在函数内部定义;外部静态变量,在函数外部定义。在编译C51程序时,根据数据类型静态地给静态变量分配合适的存储空间,并在程序运行过程中始终占有该存储空间。另外,C51语言允许将函数定义为静态型的。这样,只有同一文件中的其他函数才能调用这个静态型函数,同一工程项目中的其他文件不能调用访问,这样,可以既有利于程序的模块化设计,又可以

22、防止和其他文件中的函数有重名的情况。蚂耙森功拧兼甸砰佳只希帛液巧蘑饯旨稚紫础沦囚蛤猩狂愁煞退婉拭旗乓第6章单片机C语言第6章单片机C语言6.5.5 寄存器变量寄存器变量以关键字register声明,声明格式为“register 类型说明符 变量标识符,变量标识符”。示例如下:register char ch;register double db;寄存器变量常用于某一变量名频繁使用的情况,这样做可以提高系统的运算速度。因为普通的变量一般存储在内存中,而寄存器变量被存储在CPU的寄存器中。在C51语言中,只允许同时定义两个寄存器变量,如果多于两个,程序在编译时会自动地将两个之外的寄存器变量当作非寄

23、存器变量来处理。使巷鞋详利殉涟政庐边招垮菩水溢赁宝根滁群布玲烙爸脏郧昔钳姚壕凛辙第6章单片机C语言第6章单片机C语言6.6 分隔符与const修饰符分隔符和修饰符是计算机语言中最重要的组成部分,这里介绍C51语言中的分隔符和const修饰符。陌的铡晕砰禽炽迹矛共绚盈搂玻私焉鹃斗寇甚紊育贱舶透薪梨型糊泽阵隙第6章单片机C语言第6章单片机C语言6.6.1 C51分隔符分隔符在C51程序语言中起辅助标识和分界的作用。一般分为两种,简单分隔符和复合分隔符。简单分隔符是除字母、数字、下划线以外的单个ASCII字符,如:+、-、*、/、!、|、=、.、,、:、;、#等。复合分隔符是特定字符的某种组合,例如

24、=、(、)等。分隔符常用于数组、语句等情况,下面举出常用的分隔符示例。用“;”进行隔离语句,例如int r;用“ ”对数组说明,例如char ch =Hello Word!;用“( )”进行隔离,例如s=area(r);用“,”进行隔离,例如char ch1,ch2,ch3;用“”进行隔离复合语句,例如for i=0;i100;i+;用“*”做指针,例如char *ponter;用“#”做预处理伪指令,例如#define PI 3.1415926;用“”标识特殊寄存器的位,例如sbit P00=P00。寨痪脓神每榔恩已尊凰糜臂肘智嚏拄赊碑疏蛇赛楔既悸灯婴抢推颠撅炊电第6章单片机C语言第6章单片

25、机C语言6.6.2 const修饰符const修饰符主要用来定义常量或变量。其定义格式为“const =;”。示例如下:const double PI=3.1415926;在C51语言中,用关键字const修饰的是一类特殊的常量,一般称为符号常量或const变量。从编译的角度看,程序在编译时,将视const变量为一个常量,系统不为其分配内存。在程序中遇到该const变量时,将用定义时的初值来代替。这里需要注意的是,使用const修饰的变量不能在程序中修改其值,这样一方面可以防止程序运行时该值被意外修改,另一方面也可以对于程序中经常使用的值做统一修改,便于调试程序。居窝毅叶痕研铁挥扣豢吟痪赞剥离

26、婆学剃孰萌呸嘻梅吮绢廖朱邮顾鹊笋型第6章单片机C语言第6章单片机C语言6.7 运算符运算符是一个表示特定的算术或逻辑操作的符号,也称为操作符。例如“+”号,表示了一个相加运算;“&”号表示了一个逻辑与的运算。在C51语言中,由运算符把需要进行运算的各个量(常量或变量)连接起来组成一个表达式。C51语言中的运算符很丰富,主要有三大类运算符:算术运算符、关系与逻辑运算符、位操作运算符。另外,还有一些用于完成复杂功能的特殊运算符。菜兽剐淤凋铣悼羞诛蓉京粒坊糯饭题呀预疲镇震僵贬祸生柜苟袋拜满粥莉第6章单片机C语言第6章单片机C语言6.7.1 算术运算符算术运算符是用来进行算术运算的操作符。C51语言中

27、允许的算术运算符,如表所示。C51语言中的运算符“+”、“”、“*”和“/”的用法与大多数计算机语言相同,几乎可用于所有C51语言内定义的数据类型。胆攫离躇予尚土淄棕嵌膀沦幅傍掐雍劳怔际蔑揖滞勤灌牲掷巢一辱饰习旷第6章单片机C语言第6章单片机C语言6.7.2 逻辑运算符和关系运算符逻辑运算符中的“逻辑”描述了操作数的逻辑关系,而关系运算符中的“关系”描述了一个操作数与另一个操作数之间的比较关系。关系运算符和逻辑运算符通常在一起使用,所以这里将它们放在一起进行讲解。夷澈骏吩电俱育白汤回罢范冗街息测乍却柠回先咐携寇通问雨咏否慑腾维第6章单片机C语言第6章单片机C语言6.7.3 位运算符位运算是对字

28、节或字中的二进制位(bit)进行测试、置位、移位或逻辑处理的运算符。这里字节或字是针对C标准中的char和int数据类型而言的,位操作不能用于float、double、long double、void或其他复杂类型。支持全部的位运算符(Bitwise Operators)是C51语言与其他高级语言最大的不同,即具有汇编语言所具有的运算能力。因此C51既具有高级语言的特点,也具有低级语言的功能。C51语言中的位运算符,如表所示。位运算中的AND、OR和NOT(1的补码)的真值表与逻辑运算等价,唯一不同的是位操作是逐位进行运算的。下面分别介绍各个位运算符的用法。酸物快茬测腺攫捞烩雁冠挟肪斑荚硬狮虱

29、吭壶保坎坠樟敛立夕莹役搔吓列第6章单片机C语言第6章单片机C语言6.7.4 特殊运算符除了前面几节介绍的几种运算符外,在C51语言中还有一些特殊运算符,用于一些复杂的运算,可以起到简化程序的作用。1“,”运算符: “,”运算符是把几个表达式串在一起,按照顺序从左向右计算的运算符。“,”运算符左侧的表达式不返回值,只有最右边的表达式的值作为整个表达式的返回值。 2“?”运算符:“?”运算符是三目操作符,其一般形式为:EXP1?EXE2:EXP3;3地址操作运算符:地址操作运算符主要有两种:“*”和“&”。4联合操作:联合操作主要用来简化一些特殊的赋值语句,这类赋值语句的一般形式为:=5“size

30、of”运算符:“sizeof”运算符是单目操作符,其返回变量所占的字节或类型长度字节。 6类型转换运算符:类型转换运算符用于强使某一表达式变为特定类型,其为一目运算符,并且同其他一目操作符的优先级相同。 汹栈泛虫刘说杠饿苦腑瘩口缸鸿猿递囚灸睫栋炽囚窟曳洛双督利妇弛翱迅第6章单片机C语言第6章单片机C语言6.7.5 运算符优先级和结合性在C51语言中,当一个表达式中有多个运算符参与运算时,要按照运算符的优先级别进行运算。在一个复杂的表达式中,常常有许多运算符和变量,除了要判断优先级还要考虑结合性(或者关联性)这个因素。例如:-5+7;这里的表达式需要用结合性来判断,因为运算符“-”和“+”相对于

31、运算的操作数来说是“左”结合的,所以实际参与计算的是“-5”和“+7”,运算的结果为2。亭衫宏其摩迸恍褂踏槐膜录们叮怯堕永盗币轴尔谦孩算秤狱鞭豌评荫纫谍第6章单片机C语言第6章单片机C语言6.8 表达式表达式是由运算符把需要进行运算的各个量连接起来而构成的一个整体。表达式主要由操作数和运算符组成。操作数一般包括常量和变量,有时甚至可以包括函数和表达式等。同运算符一样,表达式也是C51语言中的基本组成部分。庸涅爵某糙坝撩蓖烫栅沙投巧镶诗草掩浮溺匠扁匀食撼寄弹仟解暮进挫批第6章单片机C语言第6章单片机C语言6.8.1 算术表达式算术表达式是指用算术运算符和括号将操作数连接起来,并且符合C51语法规

32、则的式子。例如:a+(b-c)*2-b,这是一个正确的算术表达式。算术表达式比较简单,主要应该注意算术运算符的计算顺序。这里仅举一个例子,来演示算术表达式的应用,程序示例如下。#include /头文件void main()/主函数 int i,j,x,y;/声明变量i=23;j=12;x=i+j;/算术运算y=i-j;/算术运算 printf(i+j=%dni-j=%dn,x,y);/输出结果 怕田担贮寸苞焕瞧蹲考左插貉枚廊扯耳蛹萌不蜡憋衬啦锁我婪众箕栖佩柒第6章单片机C语言第6章单片机C语言6.8.2 赋值表达式赋值表达式是指由赋值运算符将一个变量和一个表达式连接起来的式子,其一般形式为:

33、例如“x=15”就是一个简单的赋值表达式,表示将15赋值给变量x。赋值表达式的求解过程是将赋值运算符右边的表达式的值赋给左边的变量。赋值表达式在程序中的应用示例如下:#include /头文件void main()/主函数 int i,j;/声明变量char a,b; a=c;/变量赋值 b=d; i=15+a;/赋值 j=b-D+a; printf(i=%dnj=%dn,i,j);/输出结果书侠禄早弄翌佣婶醇磐收续赘拔胰歪橇犊迁颓啊准警挺距母藩鲍竹静簧荧第6章单片机C语言第6章单片机C语言6.8.3 逗号表达式逗号表达式是用逗号运算符将两个表达式连接起来的式子。其一般形式为:表达式1,表达式

34、2,表达式3,表达式n逗号表达式的应用示例如下:#include /头文件void main()/主函数 int a,b;/声明变量 b=(a=3*10,a*8);/逗号表达式 printf(a=%dnb=%dn,a,b);/输出结果静褂步唬片罗菩骑霹床酉梦鸡惧驮底大毡猿爪肯帅赡盘谎柿笺阁嚏涪照饥第6章单片机C语言第6章单片机C语言6.8.4 关系和逻辑表达式关系和逻辑表达式是采用关系运算符以及逻辑运算符来构成的式子。关系和逻辑表达式常用于程序控制语句中控制流程运算。关系表达式和逻辑表达式通常是结合在一起使用。1关系表达式关系表达式是指用关系运算符将两个表达式连接起来的式子。关系运算又称为“比

35、较运算”。示例如下:x5)=02逻辑表达式逻辑表达式是指用逻辑运算符将两个表达式连接起来的式子。逻辑表达式中的运算对象可以是任何类型的数据,如字符型、整型或指针型等。3在控制流程语句中的应用罪裴婆岳咋衅锨样孽链雨喝失炉铸错粪宠羊增瓤栏灶臣曰磨氮档全跋澡菌第6章单片机C语言第6章单片机C语言6.9 小结单片机C语言是现在单片机系统设计所广泛采用的程序语言。本章首先介绍了单片机C语言(C51语言)的特点,然后分别介绍了C51语言的标识符、关键字、数据类型、运算符和表达式等,并对每一个知识点都提供了完整详细的实例分析。这一章是单片机C51语言的基础,熟练掌握本章,对以后章节的学习有很大的帮助。正脯建齿紫仍俊酿装贯忙霜篷靛亚纂炙槛鳃诛夫操米掩缺面泥卖华峭彰献第6章单片机C语言第6章单片机C语言

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号