嵌入式系统C语言编程基础.ppt

嵌入式系统C语言编程基础.ppt

ID:51555948

大小:1.12 MB

页数:81页

时间:2020-03-23

嵌入式系统C语言编程基础.ppt_第1页
嵌入式系统C语言编程基础.ppt_第2页
嵌入式系统C语言编程基础.ppt_第3页
嵌入式系统C语言编程基础.ppt_第4页
嵌入式系统C语言编程基础.ppt_第5页
资源描述:

《嵌入式系统C语言编程基础.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式系统C语言编程基础杨高波SNBCPage2目录关于本课程C语言复习编程规范开发高效程序的技巧Page3为什么学习本课程会C语法与会用C语言写程序是两个概念C的灵活性以及由此而产生的陷阱非常多TheMostBeautifulLanguageandMostDangerousLanguageintheProgrammingWorld!本课程将嵌入式系统中最基本的(最经常用到的)概念与技巧介绍给大家Page4小测验?Page5Quiz1所有嵌入式系统的主流程最后都进入一个死循环,怎样用C语言实现一个死循环?Page6Qu

2、iz2while(){….}和do{….}while()有什么区别?Page7Quiz3用变量a给出下列定义:一个整型数一个指向整型数的指针一个有10个整型数的的数组一个有10个指针的数组,该指针是指向一个整型数的Page8Quiz4关键字static的作用是什么?Page9Quiz5关键字const的作用是什么?Page10Quiz6定义一个标准宏MIN,这个宏输入两个参数并返回较小的一个。Page11Quiz7嵌入式系统中经常要对变量或寄存器进行位操作。给定一个int型变量a,写两段代码,第一个将a的bit3置为1

3、,第二个将a的bit3置为0。以上两个操作中,要保持其它位不变。Page12Quiz8嵌入式系统具有经常去直接访问物理地址的特点。在某工程中,要求设置一绝对地址为0x5a00的整型变量的值为0xaa55。写代码去完成这一任务。Page13Quiz9下面这段代码的输出是什么?voidfoo(void) { unsignedinta=6; intb=-20; (a+b>6)?puts(">6"):puts("<6"); }Page14Quiz10请评论下面一段程序代码:voidtest() { charstring[10]

4、; char*str=“0123456789”; strcpy(string,str); }Page15Quiz11请评论下面一段程序代码:voidGetMemory(char*p){ p=(char*)malloc(0x20); } voidTest(void){ char*str=NULL; GetMemory(str); strcpy(str,”HelloWorld!”); printf(str); }Page16Quiz12中断是嵌入式系统的重要组成部分。请评论下面一段中断服务子程序代码:__interrupt

5、doublecompute_area(doubleradius) { doublearea=PI*radius*radius; printf("Area=%f",area); returnarea; }Page17Answer!Page18Quiz1Answerwhile(1){….}Page19Quiz2Answerwhile(){….}为入口条件循环,即在每次执行循环之前先检查判断条件;do{….}while()为退出条件循环,即在执行循环之后再检查判断条件。Page20Quiz3Answera)inta; b

6、)int*a; c)inta[10]; d)int*a[10];Page21Quiz4Answer在C语言中,关键字static有三个明显的作用:1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3)在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。Page22Quiz5Answerconst是con

7、stant的缩写,“恒定不变”的意思。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。const常量与#define常量:前者有数据类型,后者只是字符替换(而且可能产生意料不到的错误),所以编译器可以对前者进行安全性检查。Page23Quiz6Answer#defineMIN(A,B)((A)<=(B)?(A):(B))#define宏的副作用,下面的代码执行后会发生什么事:least=MIN(*p++,b);Page24Quiz7AnswerconstintBIT3=0x01<<3; s

8、taticinta; voidSetBit3(void){ a

9、=BIT3; } voidClearBit3(void){ a&=~BIT3; }Page25Quiz8Answerint*ptTemp=(int*)0x5a00; *ptTemp=0xaa55;Page26Quiz9Answer输出为“>6”,原因是当表达式中存在有

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。