ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:37.67KB ,
资源ID:26598407      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26598407.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言复习.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言复习.docx

1、C语言复习 C语言的特点一. 语言间洁、紧凑、使用方便、灵活。二. 运算符丰富,共有34运算符。三. 数据结构丰富。四. 具有结构化的控制语句。用函数(子程序)作为程序的模块单位,便于实现程序模块化。五. 语法限制不太严格,程序设计自由度大。六. C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。七. 生成目标代码质量高,程序执行效率高。八. 用C语言写的程序可移植性好。 C程序的介绍 例: main ( ) SP=0x80 ; /* sp=80H */ delay05ms ; / 调用函数delay05ms 本程序执行后单片机的(SFR)

2、SP=80H, 再延迟0.5MS。一. 本例说明:1. C程序是由函数构成的。一个C源程序至少包含一个主函数main,除了main外还可包含其它函数。2. 每一个C程序只能有一个主函数main, 后面要带括号( )。3. 函数体要用大括号(花括弧)括起来。4. 每个语句后必须用 ;号结束。分号是C语句的必要组成部分。5. 用/*.*/ 或 / 二种方式表示注释部分。6. 一个C程序总是从main函数开始执行的,且不论main函数在整个程序中的位置如何(即与位置无关)。二.算法 1. 用流程图表示算法。 2. 三种基本结构和改进的流程图 (1)三种基本结构: 顺序结构 选择(分支)结构 循环结构

3、:* 当型(while)循环结构* 直到型(until)循环结构 (2)N_S流程图 1973年由美国学者 I.Nassi 和B.Shnaiderman 提出的一种新型流程图。 数据类型一. 常量和符号常量二. 变量:变量名实际上是一个“符号地址”三. 整型数据:1. 基本整型(int)2. 短整型3. 长整型四. 字符型(char):长度为一个字节分为 sighed char 和 unsighed char , 默认为 sighed char五. 实型数据(浮点型)六. 指针型(*):指针变量的长度为13个字节七. 位标量(bit):C51扩充的数据类型八. 特殊功能寄存器(SFR):占用一

4、个字节,域值为0255(C51扩充的数据类型) 例. sfr SP=0x80 ;九. 16位sfr(sfr16):占用二个字节,域值为065535(C51扩充的数据类型)一十. 可寻址位(sbit):C51扩充的数据类型 例. sfr P1=0x90 ; sbit P1_1=P11 ; 顺序程序设计一. 程序的构成 数据描述- 定义数据结构(用数据类型表示)和数据初值程序: 数据操作 - 由语句来实现,是对巳提供的数据进行加工 二. C语句种类 1. 控制语句: (1)if( ) else (条件语句) (2)for( ) (循环语句) (3)while( ) (循环语句) (4)do whi

5、le( ) (循环语句) (5)continue (结束本次循环语句) (6)break (中止执行switch或循环语句) (7)switch (多分支选择语句) (8)goto (转向语句) (9)return (从函数返回语句) 其中:( ) 表示括号中是一个条件 表示内嵌的语句 例: if (xy) z=x; else z=y ; 2. 函数调用语句例:printf(“ good bye “) ;3. 表达式语句:由一个表达式构成的一个语句例: a=3 是一个表达式 a=3 ; 是一个表达式语句 注意,任何表达式都可以加上分号而成为语句,分号是语句中不可缺少的一部分。4. 空语句: ;

6、 即只有一个分号的语句,它什么也不做。5. 复合语句:可以用 把一些语句括起来成为复合语句,又称分程序 例: z=x+y ; t=z/100 ; printf(”%f”,t); 注意,C语言允许一行有几个语句,复合句中最后一个分号不能忽略。三. 赋值语句 1. C语言中的赋值号“=”是一个运算符。 2. 赋值表达式与赋值语句的概念: 例: if (a=b)0) t=a ; 其中: a=b 是赋值表达式,不能写成 (a=b);0 因为if 的条件中不能包含赋值语句。 注意,要清楚“表达式”与“语句”的区别。四. 顺序结构程序的特点 顺序结构程序的特点是按顺序执行程序,在程序中无判别、分支语句 和

7、循环语句。 选择结构(分支)程序一. 关系运算符和关系表达式1. 关系运算符: (1) 小于 (2) 大于 (4)= 大于或等于 (5)= = 等于 (6)!= 不等于 2. 关系表达式:用关系运算符将二个表达式连接起来的式子就是一个关系表达式。 例:ab a+bb+c (a=3)(b=5) 注意,关系表达式的值是一个“逻辑值”,即“真”或“假” ,以 “1”表示“真” ,以“0”表示“假” 。 二. 逻辑运算符和逻辑表达式1. 逻辑运算符:(1)& 逻辑与(相当于AND) 例:a&b(2)| 逻辑或(相当于OR) 例:a|b(3)! 逻辑非(相当于NOT) 例:!a2. 逻辑表达式 逻辑表达

8、式由逻辑运算符组成 逻辑表达式是一个逻辑值,以 “1”表示“真” ,以“0”表示“假” 。 三. if语句(三种形式)1. if(表达式)语句:例: if (ACC=0) TR0=0; temp1=temp2 ;2. if(表达式)语句1 else语句2: 例: if (P1-1=1) temp6=6 ;goto INIT ; else goto START ;3. if(表达式1) 语句1else if(表达式2) 语句2 else if(表达式3) 语句3 . . . 例: if(acc=1) temp=1; else if(acc=2) temp=2; else if(acc=3) te

9、mp=3; else if(acc=4) temp=4; else temp=0;四. switch 语句:switch语句是多分支选择语句1. 形式: switch (表达式) case 常数表达式1:语句1 case 常数表达式2:语句2 . . . case 常数表达式n:语句n default: 语句n_1 2. 用法:(1) switc后面括号内的“表达式”可以是任何类型。(2) 当“表达式”的值与某一个case后面的常数表达式相符时,执行后面的语句,若无匹配时就执行default后面的语句。(3) 每一个case后面的常数表达式必须各不相同。(4) 各个case和default出现

10、的次序不影响执行的结果。(5) 执行完case后面的语句后,流程控制转移到下一个case继续执行。即”case常数表达式”只是起语句标点作用,并不在该处进行条件判断。 因此,应该在执行一个case分支后,使流程跳出switch结构,即终止switch语句的执行,可以用一个break语句达到此目的。 例: 把上例中用ifelse完成的任务用switch语句来表达,显得更间洁、明了。 switch (ACC) case1: temp=1; break; case2: temp=2; break; case3: temp=3; break; case4: temp=4; break;, defaul

11、t:temp=0; (6). 多个case可以共用一组执行语句 switch (ACC) case1: case2: case3: case4: temp=4;, default:temp=0; 循环控制一. 构成循环控制的方法: 1. 用goto语句和if语句构成循环; 2. 用while 语句; 3. 用do-while语句; 4. 用for语句。 二. goto语句,及循环控制的构成: 1. 形式: goto 语句标号 ; /不能用整数做标号2. 与if语句一起构成循环控制: 例: if(P0_6=0) goto INIT ; else goto START ;三. while语句(当型

12、)1. 形式: while(表达式)语句 当表达式为非“0”值时,执行while语句中的内嵌语句。特点是先判断表达式,后执行语句。2. 用法:(1) 循环体如果包含一个以上的语句,应该用 括起耒。(2) 在循环体中应有使循环趋于结束的语句。例: while(a=100) b=b+1 ; a+ ; 3. 无限循环的方法:用while(1)表示无限循环。 例: while(1) b=b+1 ; a+ ; 四. dowhile语句(直型)形式: do 循环体语句 while(表达式); 特点是先执行一次语句,然后判断表达式。即先执行,后判断。例: do b=b+1 ; a+ ; while(a=10

13、0); while 和 do while 的差别是前者是先判断再执行, 后者是先执行再判断。五. for语句1. 形式: for(表达式1;表达式2;表达式3)语句 2. 执行过程:(1) 先求介表达式1。(2) 求介表达式2:若其值为真(值为非0),则执行for语句中指定的内嵌语句,然后执行(3)。如果其值为假(值为0),则结束循环,转到(5)。(3) 求介表达式3。(4) 转回(2)继续执行。(5) 循环结束,执行for语句下面的一个语句。所以 for语句最容易理解的形式如下: for(循环变量赋初值;循环条件;循环变量增值)语句 例: for( i=1;i0;i-) ; /空操作,每次执

14、行用时2us 用流程图表示: 六break 语句和 continue 语句1. 相同处:两语句都是结束循环。2. 不同处:continue 只是结束本次循环,而不是终止整个循环的执行。 Break 是结实整个循环过程,不再判断执行循环的条件是否成立。 注意,break 语句不能用于循环语句和switch语句之外的任何语句中。 数 组 一. 一维数组的定义: 类型说明符 数组名常量表达式 ; 例: char tab10 ; 说明:1. 数组名后用方括号括起“常量表达式”。2. 常量表达式表示元素的个数,即数组的长度。上例中 tab10 中的10 表示有10个元素但要注意,下标是从“0”开始的,1

15、0个元素是: tab0,tab1,tab2, tab9 不能出现和使用 tab10 3. 常量表达式中只可以是常量,不能是变量。二. 一维数组的引用: 1. 数组必须先定义,后使用。 2. 只能逐个引用数组元素,不能一次引用整个数组。 数组元素的表示形式为:数组名下标 注意,下标为整型常数或整型表达式。 例: tab0=tab1+tab7 ; Tab2*3=I ;三. 一维数组的初始化 1. 在定义数组时对数组元素赋以初值 例: char tab5=12,42,64,62,52 ;2. 可以只给一部份元素赋值 例: char tab5=1,2,3 ;表示只给前面3个元素赋值,后2个元素为“0”

16、3. 如果想使一个数组中全部元素值为同一个数,必须全部写出耒例: char tab5=0,0,0,0,0 ;4. 在对全部元素赋初值时,可以不指定数组长度 例: char tab=1,2,3,4,5 ; 函数 一. 概述1. 在C 语言中,子程序的作用是由函数完成的。2. 一个C语言程序可由一个“主函数”和若干个“函数”构成的。3. 由主函数调用其它函数,其它函数也可以互相调用。4. 所有的函数都是独立的,即函数不能嵌套。5. 函数不能调用主函数“main” 。6. 从用户使用的角度看,函数有二种:(1) 标准函数,即在“函数库”中的函数。(2) 用户自己定义的函数。7. 从函数的形式看,函数

17、分二类:(1) 无参函数:在调用无参函数时,主调函数并不将数据传送给被调函数。(2) 有参函数: 在调用有参函数时,在主调函数和被调函数之间有数据传递。二. 函数定义的一般形式1. 无参函数的定义形式: 类型标识符 函数名( ) 声明部分 语句 注意,“类型标识符”指定函数值的种类,即函数返回“值”的类型。2. 有参函数的定义形式: 类型标识符 函数名(形式参数表列 ) 声明部分 语句 例: int max(int x, int y) int z ; z=xy ?x:y ; return (z) ; 说明:1. 第一行关键字 int 表示函数值是整型的,括号中是二个形式参数x 和y 。2. 花

18、括号内是函数体,包括声明部分和语句部分。3. 在声明中,定义在函数中要用到的“变量” 。4. return(z)的作用是将z 的值作为“函数值”带回到主调函数中,z 被称为“函数返回值” 。5. 若不指定函数类型,系统会“隐含”指定函数类型为int型。3. 可以有空函数 (1) 形式 类型标识符 函数名( ) (2)作用: 不做任何工作,只为以后扩充时用,目前只占用一个位置。 三. 函数参数和函数的值1. 形参和实参:在定义函数时,函数名后面的括号中的变量称为“形式变量” ,间称为“形参” 。在主调函数中调用一个函数时,函数名后面括号中的参数(可以是一个表达式)称为“实际参数” ,间称为“实参

19、” 。2. 函数的返回值:希望通过调用函数,使主调函数能得到一个确定的值,这个值就是“函数返回值” 。 (1)“函数返回值” 是通过函数中的 return 语句得到的。如果不需要返回值,可以不要 return 语句。 (2)函数值的类型函数的返回值应当是定义函数时指定的函数值的类型 。 (3) 为了明确表示“不带回值” ,可以用 void (空)来定义“空类型”(无类型)。 例: void delayo5ms (void) 为了使程序减少出错,保证正确调用函数,凡是不要求带回函数值的函数,一般都应定义为 void 类型。四. 函数的调用1. 函数调用的一般形式: 函数名(实参表列) ; 若调用

20、无参函教,则“实参表列”可以没有,但()不能省略。 例: Delay05ms() ;2. 函数调用的方式:(1) 把函数调用作为一个语句。(2) 作为函数表达式。例: 比如巳有函数 max(x,y) c=2*max(a,b) ;(3) 作为函数参数。把函数调用作为另一个函数的“实参” 例 : m=max(a , max(b ,c) ; 其中,max(b,c)是一次函数调用,它的函数返回值作为另一次函数调用的“实参” 。m 的值是a、b、c 三者中的最大者。五. 局部变量和全局变量1. 局部变量在一个函数内部定义的变量是内部变量,只在本函数范围内有效。2. 全局变量在函数之外定义的变量称为外部变量,外部变量是“全局变量”(也称为全程度量),它的有效范围从定义变量的位置到本源文件结束。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1