会员注册 | 登录 | 微信快捷登录 支付宝快捷登录 QQ登录 微博登录 | 帮助中心 人人文库renrendoc.com美如初恋!
站内搜索 百度文库

热门搜索: 直缝焊接机 矿井提升机 循环球式转向器图纸 机器人手爪发展史 管道机器人dwg 动平衡试验台设计

   首页 人人文库网 > 资源分类 > DOC文档下载

嵌入式C语言教案.doc

  • 资源星级:
  • 资源大小:2.08MB   全文页数:156页
  • 资源格式: DOC        下载权限:注册会员/VIP会员
您还没有登陆,请先登录。登陆后即可下载此文档。
  合作网站登录: 微信快捷登录 支付宝快捷登录   QQ登录   微博登录
友情提示
2:本站资源不支持迅雷下载,请使用浏览器直接下载(不支持QQ浏览器)
3:本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

嵌入式C语言教案.doc

1一、LinuxC环境说明....................................................................................................61.C语言简介......................................................................................................62.嵌入式C与PC机C........................................................................................63.Linux下C语言编程的环境概述....................................................................6a.编辑器vi................................................................................................6b.编译连接器gcc.....................................................................................6c.调试器gdb...........................................................................................11d.项目管理器makefile...........................................................................14二、编码规范..............................................................................................................191.基本原则........................................................................................................192.文件布局........................................................................................................193.基本格式........................................................................................................214.对齐................................................................................................................215.空行空格........................................................................................................226.注释规则........................................................................................................227.其它................................................................................................................22三、第一个程序..........................................................................................................25四、数据类型..............................................................................................................261.常量与变量....................................................................................................261)常量........................................................................................................262)变量........................................................................................................273)const定义的常量............................................................................272.整型变量........................................................................................................281)分类....................................................................................................282)占内存................................................................................................283)类型自动转换........................................................................................294)const定义的常量..................................................................................303.实型变量........................................................................................................304.字符变量........................................................................................................305.字符串常量....................................................................................................311)字符串常量的概念和字符串长度........................................................312)字符串的存储........................................................................................31五、运算符..................................................................................................................321)算术运算符,,,/,..........................................................................322)关系运算符,,..........................................................................336)赋值运算符,,,/,..................................................................337)条件运算符.....................................................................................338)逗号运算符返回最右边表达式的值。............................................339)sizeof运算符.........................................................................................33六、顺序程序结构设计..............................................................................................371.格式化输出printf函数........................................................................3722.格式化输入scanf函数.........................................................................37七、选择结构程序设计..............................................................................................391.关系运算符及其表达式................................................................................391)关系运算符............................................................................................392)逻辑运算符............................................................................................393)逻辑运算规则........................................................................................392.if语句............................................................................................................403.条件运算符....................................................................................................414.switch.............................................................................................................415.goto语句.......................................................................................................42八、循环结构程序设计..............................................................................................461.for语句..........................................................................................................462.while语句......................................................................................................473.dowhile语句................................................................................................484.break语句与continue语句.........................................................................49九、数组......................................................................................................................561.定义................................................................................................................562.一维数组的初始化........................................................................................561)格式....................................................................................................562)注意....................................................................................................563)使用....................................................................................................573.二维数组的初始化........................................................................................571)初始化格式........................................................................................572)引用格式............................................................................................573)地址级别............................................................................................584)地址类型..............................................................................................594.字符数组........................................................................................................591)定义....................................................................................................602)一些字符操作的函数............................................................................603)字符串................................................................................................613)一些字符串的操作函数........................................................................61十、函数......................................................................................................................691.函数的声明....................................................................................................692.函数的定义....................................................................................................701)无参函数的一般形式........................................................................702)有参函数的一般形式............................................................................703.函数的返回值与函数类型............................................................................71a.函数返回值与return语句....................................................................71b.函数类型.................................................................................................71c.说明.........................................................................................................714.函数中形参与定义的变量............................................................................725.函数的嵌套调用和递归调用........................................................................72a函数的嵌套调用.....................................................................................72b函数的递归调用.....................................................................................7236.函数中的变量................................................................................................73a)变量的作用域........................................................................................73b)变量的生存期........................................................................................73c)局部变量................................................................................................74d)全局变量................................................................................................74e)自动变量................................................................................................75f)静态变量................................................................................................75g)寄存器变量............................................................................................76h)volatile变量...........................................................................................76i)变量的初始化.........................................................................................76j)栈帧结构与程序内存空间.....................................................................77十一、编译欲处理......................................................................................................851.宏定义.............................................................................................................85a)无参数宏定义..................................................................................85b)带参数的宏定义..............................................................................85c)宏定义的优点........................................................................................862.预编译条件编译...........................................................................................86a)ifdefendif和ifndefendif命令................................................86b)ifendif.............................................................................................863.防止头文件xxx.h被重复包含.....................................................................874.与在宏定义中的使用..............................................................................87十二、指针..................................................................................................................901.指针概念........................................................................................................902.指针的运算....................................................................................................923.数组和指针....................................................................................................934.指针数组与数组指针....................................................................................93a)指针数组..........................................................................................93b)数组指针..........................................................................................955.野指针............................................................................................................966.指针的步长....................................................................................................977.定义字符串常量............................................................................................988.内存的动态分配与释放................................................................................98a)malloc............................................................................................98b)free.................................................................................................99c)动态分配内存的特点......................................................................999.常量修饰符const..........................................................................................99a)函数体内修饰局部变量..................................................................99b)在函数声明时修饰参数..................................................................9910.二级指针...............................................................................................10011.函数指针...............................................................................................101a)定义......................................................................................................101b)赋值......................................................................................................101c)调用......................................................................................................101d)与指针函数的区别..............................................................................1014e)函数指针数组的定义..........................................................................10112.理解复杂的声明...................................................................................102十三、结构体............................................................................................................1181.结构体变量的定义......................................................................................1182.结构体变量的成员引用规则和初始化......................................................1193.结构体数组..................................................................................................1204.共用体..........................................................................................................1205.枚举类型......................................................................................................121a)什么事枚举类型..................................................................................121b)枚举类型的定义..................................................................................121c)枚举变量的定义..................................................................................121d)枚举类型是有序的类型......................................................................1226.结构体和共用体在实际工作中的巨大作用..............................................122十四、位运算............................................................................................................1421.数值源码表示..............................................................................................1422.数值的反码表示..........................................................................................1423.数值的补码表示..........................................................................................1424.位运算..........................................................................................................143a.按位与──........................................................................................143b.按位或──|.........................................................................................143c.按位异或──.....................................................................................143d.按位取反──.....................................................................................144e.按位左移──..................................................................................144g.实现、|、、运算主要用途的方法..............................................1445.位段结构......................................................................................................145a.定义.......................................................................................................145b.位段数据的引用...............................................................................146十五、文件................................................................................................................1501.文件的分类..................................................................................................1502.文件类型FILE..............................................................................................1503.文件的打开与关闭......................................................................................150a.打开文件fopen函数..........................................................................150b.关闭文件fclose..................................................................................1524.读/写文件中的一个字符............................................................................152a.读一个字符fgetc...............................................................................152b.写一个字符fputc...............................................................................152c.EOF........................................................................................................153d.feof......................................................................................................1535.读/写文件中的一个字符串........................................................................153a.读一个字符串fgets...........................................................................153b.写一个字符串fputs...........................................................................1536.读/写一个数据块........................................................................................154a.读一个数据块fread...........................................................................1545b.写一个数据块fwrite.........................................................................1547.文件定位......................................................................................................155a.位置指针重定位fseek.......................................................................155b.获得位置指针的位置ftell.................................................................155c.文件指针定位到文件流的开始rewind..............................................1558.格式化输出函数..........................................................................................155a.printf函数...........................................................................................155b.格式化字符串输出到文件fprintf.....................................................155c.格式化字符串输出到buffer内sprintf............................................1556一、LinuxC环境说明1.C语言简介最早是由贝尔实验室的丹尼斯利奇(DennisRitchie)为了UNIX的辅助开发而编写的。他的硬件无关性和可移植性,使C语言逐步成为世界上使用最广泛的计算机语言。1987年,美国国家标准协会(ANSI)制定了C语言的标准,称为ANSIC,目前流行的C语言编译系统都是以它为基础的。特点是中级语言,把高级语言的基本结构和语句与低级语言的实用结合起来,可以像汇编一样对位、字节和地址进行操作,而这三者是计算机的最基本单元结构化语言,层次清晰,便于使用、维护以及调试C语言功能齐全、可移植性强。2.嵌入式C与PC机C(正确性、效率、移植)嵌入式的c语言与pc机的c语言编写程序绝对不能简单等同,pc机资源十分丰富,运算能里强大,因此程序员在写pc机的应用程序时几乎不用关心编译后的可执行在运行过程中需要占用多少系统资源,也基本不用担心运行效率有多高。嵌入式c在程序编写和编译时都要考虑运行的速度和效率。在程序设计时都要考虑。嵌入式有很多时候会受到硬件的限制,同时,在编写嵌入式的程序时,对于实时性要求可能会很高,同时,由于嵌入式系统一般内存,cpu等资源有限,编程时需要特别考虑系统的高效性。为什么不选择汇编移植性3.Linux下C语言编程的环境概述a.编辑器vib.编译连接器gccgcc是GNU推出的功能强大、性能优越的多平台编译器。编译是指源代码转化生成可执行代码的过程。编译过程十分复杂包括词法、语法和语义的分析、中间代码的生成和优化、符号表的管理和出错处理等。7GNUCC(简称为gcc)是GNU项目中符合ANSIC标准的编译系统,能编译C、C、ObjiecC、JAVA、Fortran、Pascal、Ada等多种语言,并且是个交叉平台编译器,适合于嵌入式领域的开发编译。gcc所支持的后缀名解释gcc编译流程预处理(PreProcessing)调用cpp命令。对包含的头文件(include)和宏定义(define、ifdef等)进行处理。可以使用gcc的选项E进行查看,该选项的作用是让gcc在预处理结束后停止编译过程。后缀为.i的文件为已经预处理过的C程序。gccEhello.cohello,i编译(Compiling)调用cc1命令。首先检查代码的完整性、是否有语法错误等,以确定代码实际要做的工作,在检查无误后,gcc把代码翻译成汇编语言。可用S选项进行查看,该选项只进行编译不进行汇编。后缀为.s的文件为已经编译过的汇编代码。gccShello.iohello.s汇编(Assembling)as命令。把编译阶段生成的.s文件转成目标文件,读者在此选项c就可以看到汇编代码已转化为.o的二进制目标代码了。gccchello.sohello.o链接(Linking)ld命令。所有的目标文件被安排在可执行程序中的恰当位置,同时该程序所调用的库函数也从各自所在的库目录中连到合适的位置。

注意事项

本文(嵌入式C语言教案.doc)为本站会员(liyun)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网([email protected]),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

copyright@ 2015-2017 人人文库网网站版权所有
苏ICP备12009002号-5