




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 教学内容教学内容p认识认识C语言语言pC语言的基本语句语言的基本语句pC语言数据与运算语言数据与运算pC语言的函数语言的函数项目项目3 3 单片机并行单片机并行I/OI/O端口应用端口应用 认识认识C C语言语言 C语言程序以函数形式组织程序结构,C程序中的函数与其他语言中所描述的“子程序”或“过程”的概念是一样的。 C程序基本结构认识认识C C语言语言p一个C语言源程序是由一个或若干个函数组成,每一个函数完成相对独立的功能。每个C程序都必须有(且仅有)一个主函数main(),程序的执行总是从主函数开始,调用其他函数后返回主函数main(),不管函数的排列顺序如何,最后在主函数中结束整个程序
2、。pC语言程序中可以有预处理命令,预处理命令通常放在源程序的最前面。pC语言程序使用“;”作为语句的结束符,一条语句可以多行书写,也可以一行书写多条语句。认识认识C C语言语言p结构化语言p丰富的数据类型p便于维护管理p与汇编语言相比,C语言的优点如下:不要求编程者详细了解单片机的指令系统,但需了解单片机的存储器结构;寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理;结构清晰,程序可读性强;编译器提供了很多标准库函数,具有较强的数据处理能力。C C语言的基本语句语言的基本语句语言程序的执行部分由语句组成。C语言提供了丰富的程序控制语句,按照结构化程序设计的基本结构:顺序结构、选择结构
3、和循环结构,组成各种复杂程序。这些语句主要包括表达式语句、复合语句、选择语句和循环语句等。 选择语句选择语句 基本if语句的格式如下:if (表达式) 语句组; if语句执行过程:当“表达式”的结果为“真”时,执行其后的“语句组”,否则跳过该语句组,继续执行下面的语句。 选择语句选择语句 pif语句中的“表达式”通常为逻辑表达式或关系表达式,也可以是任何其他的表达式或类型数据,只要表达式的值非0即为“真”。以下语句都是合法的: if(3) if(x=8) if(P3_0)p在if语句中,“表达式”必须用括号括起来。p在if语句中,花括号“ ”里面的语句组如果只有一条语句,可以省略花括号。如“i
4、f (P3_0=0) P1_0=0;”语句,但是为了提高程序的可读性和防止程序书写错误,建议读者在任何情况下,都加上花括号。选择语句选择语句 if-else语句的一般格式如下:if (表达式) 语句组1; else 语句组2; if-else语句执行过程:当“表达式”的结果为“真”时,执行其后的“语句组1”,否则执行“语句组2” 选择语句选择语句 if-else-if语句是由 if else 语句组成的嵌套,用来实现多个条件分支的选择,其一般格式如下:if (表达式1) 语句组1; else if (表达式2) 语句组2; else if (表达式n) 语句组n; else 语句组n+1; 选
5、择语句选择语句 选择语句选择语句 多分支选择的switch语句, 其一般形式如下: switch(表达式) case常量表达式1: 语句组1;break; case常量表达式2: 语句组2;break; case常量表达式n: 语句组n;break; default : 语句组n+1; 该语句的执行过程是:首先计算表达式的值,并逐个与case后的常量表达式的值相比较,当表达式的值与某个常量表达式的值相等时,则执行对应该常量表达式后的语句组,再执行break语句,跳出switch语句的执行,继续执行下一条语句。如果表达式的值与所有case后的常量表达式均不相同,则执行default后的语句组。w
6、hilewhile语句用来实现语句用来实现“当型当型”循环,循环,执行过程:首先判断表达式,执行过程:首先判断表达式, 当表达式的值为真(非当表达式的值为真(非0 0)时,)时,反复执行循环体。为假(反复执行循环体。为假(0 0)时)时执行循环体外面的语句。执行循环体外面的语句。循环体循环体循环继续的条循环继续的条件表达式件表达式下一条语句下一条语句非非0(真)(真)0(假)(假)循环体语句组循环体语句组while执行过程执行过程格式:格式:while(循环继续的条件表达式)(循环继续的条件表达式) 语句组语句组; 花括号不花括号不能丢掉!能丢掉!请问:下述程序实现了什么功能?请问:下述程序实
7、现了什么功能?main( )main( ) int i,sum=0; int i,sum=0; while(i=10) while(i=10) sum=sum+i; sum=sum+i; i+; i+; 循环语句循环语句 do-while语句用来实现语句用来实现“直到型直到型”循环循环执行过程:先无条件执行一次循环体,执行过程:先无条件执行一次循环体,然后判断条件表达式,当表达式的值然后判断条件表达式,当表达式的值为真(非为真(非0)时,返回执行循环体直)时,返回执行循环体直到条件表达式为假(到条件表达式为假(0)为止。)为止。绝对不能少分号!绝对不能少分号!循环体循环体格式:格式:dodo
8、循环体语句组;循环体语句组; while( while(循环继续条件循环继续条件) );花括号不花括号不能丢掉!能丢掉!循环继续的条循环继续的条件表达式件表达式下一条语句下一条语句非非0(真)(真)0(假)(假)循环体语句组循环体语句组请问:下述程序实现了什么功能?请问:下述程序实现了什么功能?main( )main( ) int i,sum=0; int i,sum=0; do do sum=sum+i; sum=sum+i; i+; i+; while(i=100); while(i=100); 循环语句循环语句 总循环次数已确定总循环次数已确定的情况下,可采用的情况下,可采用forfor
9、语句形式为:语句形式为:forfor语句的一般形式:语句的一般形式: for(for(循环变量赋初值循环变量赋初值;循环继续条件循环继续条件;循环变量增循环变量增值值 ) ) 循环体语句组;循环体语句组; 分隔符分隔符为分号为分号请问:下述程序实现了什么功能?请问:下述程序实现了什么功能?main( )main( ) int i,y=0; int i,y=0; for(i=1;i=10;i+) for(i=1;i=10;i+) y=y+i; y=y+i; 循环语句循环语句 循环继续条件循环继续条件for的下一条语句的下一条语句非非0(真)(真)0(假)(假)循环体语句组循环体语句组循环变量赋初
10、值循环变量赋初值循环变量增值循环变量增值forfor语句循环执行过程语句循环执行过程只求解一次只求解一次要执行若干次,要执行若干次,具体次数由具体次数由“循循环继续条件环继续条件”决决定定for(for(循环变量赋初值循环变量赋初值;循环继续条件循环继续条件;循环变量增值循环变量增值 ) ) 循环体语句组;循环体语句组; l在循环体中使用break和continue语句P69页l任务3-1及作业评讲l任务3-2 按键控制多种花样霓虹灯设计(按键软件削抖) 2015年10月12日作业 P47思考与练习题2 2.4(4)P102 思考与练习题3 3.1 3.2 分隔符分隔符为分号为分号C语言数据与
11、运算语言数据与运算 l1. 赋值运算符赋值运算符l2. 算术运算符和算术表达式算术运算符和算术表达式 l3. 关系运算符和关系表达关系运算符和关系表达式式l4. 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式赋值运算符赋值运算符l 赋值语句的作用是把某个常量或变量或赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量。表达式的值赋值给另一个变量。l符号为符号为=。这里并不是等于的意思,。这里并不是等于的意思,只是赋值,等于用只是赋值,等于用=表示。表示。l赋值语句左边必须是赋值语句左边必须是变量或寄存器变量或寄存器,且,且必须必须先定义先定义。l常量不能出现左边。常量不能出现左边。赋值运
12、算符和赋值表达式赋值运算符和赋值表达式简单的赋值运算符:简单的赋值运算符:复合的赋值运算符复合的赋值运算符=+ =、-=、*=、%=、/= i + = 2 等价于等价于 i = i + 2 a * = b + 5 等价于等价于 a = a * (b + 5) x% = 3 等价于等价于 x = x%3算术运算符算术运算符(加法运算)(加法运算) (减法运算)(减法运算) * * (乘法运算符)(乘法运算符) (除法运算符)(除法运算符)% % (求余运算符,或称模运算符)如:(求余运算符,或称模运算符)如: 4 % 24 % 20 0+ (+ (变量自加变量自加1)1)- - (变量自减(变量
13、自减1 1) 注注 意意p两个两个整数整数相除结果为相除结果为整数整数,如,如8/5的结果为的结果为1,舍去小数部分。,舍去小数部分。如果参加运算的两个数中有一个数为如果参加运算的两个数中有一个数为浮点数浮点数,则结果是,则结果是浮浮点数点数。求余运算要求求余运算要求%两侧都是两侧都是整型数据整型数据。自增、自减运算实战演练:请说明程序运行完后实战演练:请说明程序运行完后x,y,z,m,nx,y,z,m,n的值分别是多的值分别是多少?少?main()main() int x=6,y,z,m,n; int x=6,y,z,m,n;y=+x;y=+x;z=x-; z=x-; m=y/z; m=y/
14、z; n=y%z; n=y%z; 自增运算符(自增运算符(+)和自减运算符()和自减运算符(-):):(1 1)前置运算前置运算变量、变量变量、变量 即先增减、后运算。即先增减、后运算。(2 2)后置运算后置运算变量、变量变量、变量 即先运算、后增减。即先运算、后增减。关系运算符关系运算符关系运算符 优先级 = = !=低低高高关系表达式关系表达式p 用用关系运算符关系运算符将两个表达式(可以是算术表达将两个表达式(可以是算术表达式、关系表达式、赋值表达式或逻辑表达式式、关系表达式、赋值表达式或逻辑表达式)连接起来的式子,称为连接起来的式子,称为关系表达式关系表达式。p关系表达式的值为关系表达
15、式的值为逻辑值逻辑值“真真”或或“假假”,以,以1代表代表“真真”,以,以0代表代表“假假”。 例如:例如: (1)关系表达式关系表达式“8=4”的值为的值为 。 (2) 关系表达式关系表达式“50”的值为的值为 。 逻辑运算符及其优先级逻辑运算符及其优先级 逻辑运算符逻辑运算符 优先级优先级 ! (逻辑非逻辑非) & (逻辑与逻辑与) | (逻辑或逻辑或) 注意:逻辑运算符与位操作运算符的区别。注意:逻辑运算符与位操作运算符的区别。 逻辑表达式逻辑表达式p用逻辑运算符将用逻辑运算符将一个或多个表达式一个或多个表达式连接起来,连接起来,进行逻辑运算的式子。进行逻辑运算的式子。p逻辑量的
16、真判断逻辑量的真判断非非0p逻辑量的假判断逻辑量的假判断0 若若a=1,b=2,c=3,x=4,y=3,写出下各个表达式的值:,写出下各个表达式的值:(1)a+bc&b=c(2)!ab&b!=c|x+y=3(3)!(x=a)&(y=b)&0000位运算位运算与操作与操作按位与操作符按位与操作符 :&p格式:格式:x&yp规则:对应位均为规则:对应位均为1时才为时才为1,否则为,否则为0 例如,例如, i=i&0 x0f; 等同于等同于 i&=0 x0f;p主要用途:取主要用途:取(或保留或保留)1个数的某个数的某(些些)位,其余各
17、位位,其余各位置置0。位运算位运算或操作或操作按位或操作符按位或操作符: |p格式:格式:x|yp规则:对应位均为规则:对应位均为0时才为时才为0,否则为,否则为1 例如,例如, i=i|0 x0f; 等同于等同于 i|=0 x0f;p主要用途:将主要用途:将1个数的某个数的某(些些)位置位置1,其余各位不变,其余各位不变位运算位运算异或操作异或操作按位异或操作符按位异或操作符:p格式:格式:xyp规则:对应位相同时为规则:对应位相同时为0,不同时为,不同时为1 例如,例如, i=i0 x0f; 等同于等同于 i=0 x0f;p主要用途:使主要用途:使1个数的某个数的某(些些)位翻转位翻转(即
18、原来为即原来为1的位的位变为变为0,为,为0的变为的变为1),其余各位不变。,其余各位不变。位运算位运算按位取反操作按位取反操作按位取反操作符按位取反操作符:p格式:格式:xp规则:各位翻转,即原来为规则:各位翻转,即原来为1的位变成的位变成0,原来为,原来为0的位变成的位变成1 例如,例如, i=i;p主要用途:间接地构造一个数,以增强程序的可移主要用途:间接地构造一个数,以增强程序的可移植性。植性。l左移运算符左移运算符“”的功能,的功能,是把是把“”左边的操作数左边的操作数的各二进制位全部左移若干位,移动的位数由的各二进制位全部左移若干位,移动的位数由“”右边的常数指定,右边的常数指定,
19、高位丢弃,低位补高位丢弃,低位补0。例如:例如:“a”的功能,的功能,是把是把“”左边的操作数左边的操作数的各二进制位全部右移若干位,移动的位数由的各二进制位全部右移若干位,移动的位数由“”右边的常数指定。进行右移运算时,右边的常数指定。进行右移运算时,如果是无符号数,如果是无符号数,则总是在其左端补则总是在其左端补“0”位运算位运算运算类型运算类型运算符运算符优先级优先级结合性结合性括号运算符括号运算符()()1 1从左至右从左至右逻辑非和按位取反逻辑非和按位取反! 2 2从右至左从右至左算术运算算术运算* * / % / %3 3从左至右从左至右+ -+ -4 4从左至右从左至右左移、右移
20、运算左移、右移运算5 5从左至右从左至右关系运算关系运算 = =6 6从左至右从左至右= != !=7 7从左至右从左至右位运算位运算& &8 8从左至右从左至右 9 9从左至右从左至右| |1010从左至右从左至右逻辑与逻辑与&1111从左至右从左至右逻辑或逻辑或|1212从左至右从左至右赋值运算与复合赋赋值运算与复合赋值运算值运算= = 、* *= =、/=/=、&=&=、=、|=|=、=1414从右至左从右至左例如:例如:(1) xy& mn 等效于等效于 (xy) & (mc 等效于等效于(!a) & (bc)练习练习1
21、.若x = 10, 则!X的值为真或假?2. 若a = 3, b = 2, 则if(a&b)的值为真或假?3. 5 & 0 |8的值为?4.53&4|84的结果为?p在在C C语言程序中,子程序的作用是由函数来实现的,函数是语言程序中,子程序的作用是由函数来实现的,函数是C C语言的语言的基本组成模块,一个基本组成模块,一个C C语言程序就是由若干个模块化的函数组成的。语言程序就是由若干个模块化的函数组成的。pC C程序都是由一个主函数程序都是由一个主函数main( )main( )和若干个子函数构成,有且只有一和若干个子函数构成,有且只有一个主函数,程序由主函数开始执
22、行,主函数根据需要来调用其他函数,个主函数,程序由主函数开始执行,主函数根据需要来调用其他函数,其它函数可以有多个。其它函数可以有多个。C语言的函数 1.1.标准库函数标准库函数 标准库函数是由标准库函数是由C51C51的编译器提供的,用户不必定义这的编译器提供的,用户不必定义这些函数,可以直接调用。些函数,可以直接调用。KEIL C51KEIL C51编译器提供了编译器提供了100100多个多个库函数供我们使用。常用的库函数供我们使用。常用的C51C51库函数包括一般库函数包括一般I/OI/O口函数、口函数、访问访问SFRSFR地址函数等,在地址函数等,在C51C51编译环境中,以头文件的形
23、式编译环境中,以头文件的形式给出。给出。2.2.用户自定义函数用户自定义函数 用户自定义函数是用户根据需要自行编写的函数,它必用户自定义函数是用户根据需要自行编写的函数,它必须先定义之后才能被调用。须先定义之后才能被调用。函数分类和定义 函数定义的一般形式是:函数定义的一般形式是:函数类型函数类型 函数名(形式参数表)函数名(形式参数表) 形式参数说明形式参数说明 局部变量定义局部变量定义函数体语句函数体语句 其中,其中,“函数类型函数类型”说明了自定义函数返回值的类型。说明了自定义函数返回值的类型。 “ “函数名函数名”是自定义函数的名字。是自定义函数的名字。 “ “形式参数表形式参数表”给出函数被调用时传递数据的形式参数,形式参数给出函数被调用时传递数据的形式参数,形式参数的类型必须要加以说明。的类型必须要加以说明。ANSI CANSI C标准允许在形式参数表中对形式参数标准允许在形式参数表中对形式参数的类型进行说明。如果定义的是无参数函数,可以没有形式参数表,的类型进行说明。如果定义的是无参数函数,可以没有形式参数表,但是圆括号不能省略。但是圆括号不能省略。 “ “局部变量定义局部变量定义”是对在函数内部使用的局部变量进行定义。是对在函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 咨询委托服务合同
- 个体餐饮劳动合同
- 智慧校园建设与数字化管理合作协议
- 福建合同本施工合同
- 浴场承包合同协议书
- 智能物流系统开发及实施合同
- 文艺活动策划与执行免责协议书
- 人力资源行业人力资源信息化管理系统建设方案
- 合同人企业章程范本
- 房屋租赁安全协议书
- 小学美术 四年级 人教版《造型•表现-色彩表现与创作》“色彩”单元美术作业设计《色彩的明与暗》《色彩的渐变》《色彩的情感》
- 2015年新版《中华人民共和国职业分类大典》
- 中国心脏重症镇静镇痛专家共识专家讲座
- 企业生产制造部门预算编制模板
- 新概念英语第二册单词默写表
- 教育心理学智慧树知到答案章节测试2023年浙江师范大学
- 川教版七年级生命生态安全下册第1课《森林草原火灾的危害》教案
- 食品检验检测机构能力建设计划方案
- 护理人员心理健康
- 安全技术说明书粗苯
- 共板法兰风管制作安装
评论
0/150
提交评论