单片机应用技术(C语言版)项目3_第1页
单片机应用技术(C语言版)项目3_第2页
单片机应用技术(C语言版)项目3_第3页
单片机应用技术(C语言版)项目3_第4页
单片机应用技术(C语言版)项目3_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

教学内容认识C语言C语言的基本语句C语言数据与运算C语言的函数项目3单片机并行I/O端口应用

认识C语言

C语言程序以函数形式组织程序结构,C程序中的函数与其他语言中所描述的“子程序”或“过程”的概念是一样的。C程序基本结构认识C语言一个C语言源程序是由一个或若干个函数组成,每一个函数完成相对独立的功能。每个C程序都必须有(且仅有)一个主函数main(),程序的执行总是从主函数开始,调用其他函数后返回主函数main(),不管函数的排列顺序如何,最后在主函数中结束整个程序。C语言程序中可以有预处理命令,预处理命令通常放在源程序的最前面。C语言程序使用“;”作为语句的结束符,一条语句可以多行书写,也可以一行书写多条语句。认识C语言结构化语言丰富的数据类型便于维护管理与汇编语言相比,C语言的优点如下:不要求编程者详细了解单片机的指令系统,但需了解单片机的存储器结构;寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理;结构清晰,程序可读性强;编译器提供了很多标准库函数,具有较强的数据处理能力。C语言的基本语句C语言程序的执行部分由语句组成。C语言提供了丰富的程序控制语句,按照结构化程序设计的基本结构:顺序结构、选择结构和循环结构,组成各种复杂程序。这些语句主要包括表达式语句、复合语句、选择语句和循环语句等。表达式语句和复合语句

表达式语句是最基本的C语言语句。表达式语句由表达式加上分号“;”组成,其一般形式如下:

表达式;执行表达式语句就是计算表达式的值。在C语言中有一个特殊的表达式语句,称为空语句。空语句中只有一个分号“;”,程序执行空语句时需要占用一条指令的执行时间,但是什么也不做。在C51程序中常常把空语句作为循环体,用于消耗CPU时间等待事件发生的场合。表达式语句和复合语句

把多个语句用大括号{}括起来,组合在一起形成具有一定功能的模块,这种由若干条语句组合而成的语句块称为复合语句。在程序中应把复合语句看成是单条语句,而不是多条语句。复合语句在程序运行时,{}中的各行单语句是依次顺序执行的。在C语言的函数中,函数体就是一个复合语句。选择语句

基本if语句的格式如下:if(表达式){ 语句组;}if语句执行过程:当“表达式”的结果为“真”时,执行其后的“语句组”,否则跳过该语句组,继续执行下面的语句。

选择语句

if语句中的“表达式”通常为逻辑表达式或关系表达式,也可以是任何其他的表达式或类型数据,只要表达式的值非0即为“真”。以下语句都是合法的:if(3){……}if(x=8){……}if(P3_0){……}在if语句中,“表达式”必须用括号括起来。在if语句中,花括号“{}”里面的语句组如果只有一条语句,可以省略花括号。如“if(P3_0==0)P1_0=0;”语句,但是为了提高程序的可读性和防止程序书写错误,建议读者在任何情况下,都加上花括号。选择语句

if-else语句的一般格式如下:if(表达式)

{

语句组1;

}else

{

语句组2;

}if-else语句执行过程:当“表达式”的结果为“真”时,执行其后的“语句组1”,否则执行“语句组2”选择语句

if-else-if语句是由ifelse语句组成的嵌套,用来实现多个条件分支的选择,其一般格式如下:if(表达式1) { 语句组1; } elseif(表达式2){ 语句组2; } …elseif(表达式n){ 语句组n; }else{ 语句组n+1; }选择语句

选择语句

多分支选择的switch语句,其一般形式如下:switch(表达式){ case常量表达式1:语句组1;break; case常量表达式2:语句组2;break; …… case常量表达式n:语句组n;break; default:语句组n+1;}该语句的执行过程是:首先计算表达式的值,并逐个与case后的常量表达式的值相比较,当表达式的值与某个常量表达式的值相等时,则执行对应该常量表达式后的语句组,再执行break语句,跳出switch语句的执行,继续执行下一条语句。如果表达式的值与所有case后的常量表达式均不相同,则执行default后的语句组。while语句用来实现“当型”循环,执行过程:首先判断表达式,当表达式的值为真(非0)时,反复执行循环体。为假(0)时执行循环体外面的语句。循环体循环继续的条件表达式下一条语句非0(真)0(假)循环体语句组while执行过程格式:while(循环继续的条件表达式){语句组;}花括号不能丢掉!请问:下述程序实现了什么功能?main(){inti,sum=0;while(i<=10){sum=sum+i;i++;}}循环语句

do-while语句用来实现“直到型”循环执行过程:先无条件执行一次循环体,然后判断条件表达式,当表达式的值为真(非0)时,返回执行循环体直到条件表达式为假(0)为止。绝对不能少分号!循环体格式:do{循环体语句组;}while(循环继续条件);花括号不能丢掉!循环继续的条件表达式下一条语句非0(真)0(假)循环体语句组请问:下述程序实现了什么功能?main(){inti,sum=0;do{sum=sum+i;i++;}while(i<=100);}循环语句

总循环次数已确定的情况下,可采用for语句形式为:for语句的一般形式:

for(循环变量赋初值;循环继续条件;循环变量增值)

{循环体语句组;} 分隔符为分号请问:下述程序实现了什么功能?main(){inti,y=0;for(i=1;i<=10;i++){y=y+i;}}循环语句

循环继续条件for的下一条语句非0(真)0(假)循环体语句组循环变量赋初值循环变量增值for语句循环执行过程只求解一次要执行若干次,具体次数由“循环继续条件”决定for语句不仅可用于循环次数已经确定的情况,也可用于循环次数虽不确定,但给出了循环继续条件的情况,它完全可以代替while语句和do-while语句。for(循环变量赋初值;循环继续条件;循环变量增值)

{循环体语句组;} 在循环体中使用break和continue语句P69页任务3-1及作业评讲任务3-2按键控制多种花样霓虹灯设计(按键软件削抖)2015年10月12日作业P47思考与练习题22.4(4) P102思考与练习题33.13.2分隔符为分号C语言数据与运算

1.赋值运算符2.算术运算符和算术表达式3.关系运算符和关系表达式4.逻辑运算符和逻辑表达式赋值运算符

赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量。符号为‘=’。这里并不是等于的意思,只是赋值,等于用‘==’表示。赋值语句左边必须是变量或寄存器,且必须先定义。常量不能出现左边。赋值运算符和赋值表达式简单的赋值运算符:复合的赋值运算符=+=、-=、*=、%=、/=i+=2等价于i=i+2a*=b+5等价于a=a*(b+5)x%=3等价于x=x%3算术运算符

+(加法运算)-(减法运算)*(乘法运算符)

/(除法运算符)%(求余运算符,或称模运算符)如:4%2=0++(变量自加1)--(变量自减1)

注意两个整数相除结果为整数,如8/5的结果为1,舍去小数部分。如果参加运算的两个数中有一个数为浮点数,则结果是浮点数。求余运算要求%两侧都是整型数据。自增、自减运算实战演练:请说明程序运行完后x,y,z,m,n的值分别是多少?main(){intx=6,y,z,m,n; y=++x; z=x--;m=y/z;n=y%z;}自增运算符(++)和自减运算符(--):(1)前置运算──++变量、--变量 即先增减、后运算。(2)后置运算──变量++、变量--即先运算、后增减。关系运算符关系运算符优先级

<<=>>===!=低高关系表达式用关系运算符将两个表达式(可以是算术表达式、关系表达式、赋值表达式或逻辑表达式)连接起来的式子,称为关系表达式。关系表达式的值为逻辑值“真”或“假”,以1代表“真”,以0代表“假”。

例如:(1)关系表达式“8==4”的值为

。(2)关系表达式“5>0”的值为

逻辑运算符及其优先级

逻辑运算符优先级

!(逻辑非)

&&(逻辑与)||(逻辑或)注意:逻辑运算符与位操作运算符的区别。逻辑表达式

用逻辑运算符将一个或多个表达式连接起来,进行逻辑运算的式子。逻辑量的真判断——非0逻辑量的假判断——0若a=1,b=2,c=3,x=4,y=3,写出下各个表达式的值:(1)a+b>c&&b==c(2)!a<b&&b!=c||x+y<=3(3)!(x==a)&&(y==b)&&0000位运算与操作按位与操作符:&

格式:x&y

规则:对应位均为1时才为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论