版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、是外部命令参数的个数,第一个是本int main(int argc,char *argv)/argc程序 ,argv 指向字符串的指针数组,存放的是各参数的内容,第一个为本程序 具体路径 预处理器( Preprocessor )1、用预处理指令#define 声明一个常数,用以表明 1 年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL2、写一个 标准 宏 MIN ,这个宏输入两个参数并返回较小的一个。#define MIN(A,B) ( A) = (B) ? (A) : (B)3、我也用这个问题开始讨论宏的副作用,例如:
2、当你写下面的代码时会发生什么事?least = MIN(*p+, b);/满递减压栈,*b+先引用再增值4、预处理器标识#error 的目的是什么?5、 用变量 a 给出下面的定义a) 一个整型数b) 一个指向整型数的指针c) 一个指向指针的的指针,它指向的指针是指向一个整型数d) 一个有10个整型数的数组e) 一个有 10 个指针的数组,该指针是指向一个整型数的。f) 一个指向有10 个整型数数组的指针g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数h)一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数答案是:a) int a;b) int *a;
3、c) int *a;d) int a10;e) int *a10;f) int (*a)10;g) int (*a)(int);h) int (*a10)(int);Static 6、关键字 static 的作用是什么?这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:1) 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2) 在模块内 (但在函数体外) , 一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3) 在模块内, 一个被声明为静态的函数只可被这一模块内的其它函数调用。 那就 是,这
4、个函数被限制在声明它的模块的本地范围内使用。大多数应试者能正确回答第一部分, 一部分能正确回答第二部分, 同是很少的人能懂得第三部分。 这是一个应试者的严重的缺点, 因为他显然不懂得本地化数据和代码范围的好处和重要性。Const7、关键字const 有什么含意? 只读 就可以了。const int a;int const a;const int *a;int * const a;int const * a const;*前两个的作用是一样, a 是一个常整型数。第三个意味着 a 是一个指向常整型数的指针。 第四个意思a 是一个指向整型数的常指针。 最后一个意味着a 是一个指向常整型数的常指针为
5、什么还要如此看重关键字const 呢?如下的几下理由:1) 关键字 const 的作用是为给读你代码的人传达非常有用的信息, 实际上, 声明一个参数为常量是为了告诉了用户这个参数的应用目的。 如果你曾花很多时间清理其它人留下的垃圾,你就会很快学会感谢这点多余的信息。2) 通过给优化器一些附加的信息,使用关键字 const 也许能产生更紧凑的代码。3) 合理地使用关键字 const 可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改。简而言之,这样可以减少bug 的出现。8、关键字 volatile 有什么含意?并给出三个不同的例子。一个定义为 volatile 的变量是说这
6、变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。 精确地说就是, 优化器在用到这个变量时必须每次都小心地重新读取这个变量的值, 而不是使用保存在寄存器里的备份。 下面是 volatile 变量的几个例子:1) 并行设备的硬件寄存器(如:状态寄存器)2)一个中断服务子程序中会访问到的非自动变量 (Non-automatic variables)3) 多线程应用中被几个任务共享的变量回答不出这个问题的人是不会被雇佣的。 我认为这是区分C程序员和嵌入式系统 程序员的最基本的问题。搞嵌入式的家伙们经常同硬件、中断、RTO潴等打交道, 所有这些都要求用到 volatile 变量。 不
7、懂得 volatile 的内容将会带来灾难。假设被面试者正确地回答了这是问题(嗯,怀疑是否会是这样),我将稍微深究一下,看一下这家伙是不是直正懂得volatile 完全的重要性。1) 一个参数既可以是const 还可以是 volatile 吗?解释为什么。精品文档2) 一个指针可以是volatile 吗?解释为什么。3) 下面的函数有什么错误:int square(volatile int *ptr)return *ptr * *ptr;下面是答案:1) 是的。一个例子是只读的状态寄存器。它是volatile 因为它可能被意想不到地改变。它是const 因为程序不应该试图去修改它。2) 是的。
8、 尽管这并不很常见。 一个例子是当一个中服务子程序修该一个指向一个buffer 的指针时。3) 这段代码有点变态。这段代码的目的是用来返指针 *ptr 指向值的平方,但是,由于 *ptr 指向一个 volatile 型参数,编译器将产生类似下面的代码:int square(volatile int *ptr) int a,b;a = *ptr;b = *ptr;return a * b;由于 *ptr 的值可能被意想不到地该变,因此a 和 b 可能是不同的。结果,这段代码可能返不是你所期望的平方值!正确的代码如下:long square(volatile int *ptr) int a;a =
9、 *ptr;return a * a;位操作( Bit manipulation )9、嵌入式系统总是要用户对变量或寄存器进行位操作。给定一个整型变量a,写两段代码,第一个设置a 的 bit 3 ,第二个清除a 的 bit 3 。在以上两个操作中,要保持其它位不变。对这个问题有三种基本的反应1)不知道如何下手。该被面者从没做过任何嵌入式系统的工作。2)用bit fields 。Bit fields是被扔到C语言死角的东西,它保证你的代码在不同编译器之间是不可移植的, 同时也保证了的你的代码是不可重用的。 我最近不幸看到 Infineon 为其较复杂的通信芯片写的驱动程序, 它用到了 bit f
10、ields因此完全对我无用,因为我的编译器用其它的方式来实现bit fields 的。从道3欢迎下载 。difficult, not hati ng;bl uepri nts, not rhetoric;wordsandsim ple,but fulloflove,truth,passion,entreprene urial passi on.Take thisopport unity,my inspirationalbecause ofyour.Every body in villagechiefsa nd the positions, both thetrust ofthemasses,t
11、heOrga nizations trust ,more abil itytoyou,ful ly affirmed themoraland otherhold withonpe opl e ofdee pfeeling s, heartDepartmentmasses ofleading visitedtea, care massesofemotions thoughts complaine d,alwaysi nsiste d putmassesofinterecometothelibrary,workshops,into the village s,pe opl e learne d f
12、arming techniques,problem-solving methods,parti cipati on i nquotes LiDazhao s classic ironspecia lisei n upliftingblequaliti es.Therefore,wemustalwaysmaintain tsts put in first,consciouslyfromitselfdo up,fromsmalldow ith the article gaveeveryone,with aview on howto do wellunder the new situati onof
13、township a ndv illage leaders inspireand hel p,and also sharewith you.A g ood playto create iron shoul ders strongarms,toassumetheburden bepasse d; onlyspe cific qualities, willitbe possi blein specific area s to cre atea worl d.Inmyview ,villagechiefsi nthe newsituation, wemustfirsthavefivebasic qu
14、ality. Oneam bitionisto pioneer.Who ishandsome. People onlyhigh-mi nde dca nstimulate t he flow of momentum to become bravea nd persiste nt,be come quieta nd pow erful.Townshi p and village partyleaders,withehist oricalmissionandsocialresponsibility,a nd ouri dealtree roote d in the hardw ork ofthes
15、oil,wit hindomitabl e spirit,i ndomitable courage toopen up a newsituati on ofvillagesandtowns.Tohavea feeli ngofcl ose ness t o the se cond. T he pe opl e and countr y.Our business foundati onint he pe opl esbl ood in the pe ople pow erpe ople.Advanced deci sions oft he partyca drestothefeelings of
16、the pe oplei san eter naltheme. Fa n Zhong-ya n,call edfirst, and e njoy comfort aboutothers,Zheng Banqiao salso wr ote aY a Chailayliste ningto t he rustli ng of bamboo,t hesuspectis suffering.Ca oCounty officials,little my,a totaltup,frommasses mostcare, and mostdirectly,and most realityof interes
17、ts problem grabbed, realdo love for peoplebyDepartment,andrig htfor pe ople bywith,a nd Leeforpe opl e by conspira cyto.Thre ewiththefame ofmind.Non-indifferentnotinsistyourdream,withoutserenity notgofar. Ascensionto fameismorality,isthesublimati onofthe soul.As ownshipandvillage,be sureto maintai n
18、 anormalstateofmind,establisha correct viewpoi nt on power, positi on a ndval uesa nd Outlook,asfame is light likewater,depe ndi ng .50km,also re d and likehundredsofthousa nds ofthe KMTm ilitarycom bat, but hewehin theirrespectivejurisdictions, politicalstabil ityand economi candsocial devel opmenti ssues,decisions and orientation deurn off.Oldoffeuda lofficialeven ha s sofeeli ngs,al onew e is to servi ngfor purpose sofpe ople servantdoes? wemnt ont ocollecta varietyofnewspapers and magazineasthestudyof
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高考物理总复习专题二相互作用实验二探究弹力和弹簧伸长量的关系练习含答案
- 江苏省2015-2015学年高中英语 Unit3 Amazing people project教案 牛津译林版必修2
- 八年级历史下册 第12课 欣欣向荣的科教文体事业教案 北师大版
- 2024年九年级语文上册 第二单元 第6课《敬业与乐业》说课稿 新人教版
- 2024-2025学年高中语文 第二单元 珠星碧月彩云中 4 词三首(一)教案 语文版必修3
- 2023四年级数学下册 4 小数的意义和性质 3小数点移动引起小数大小的变化第2课时 小数点移动引起小数大小变化的规律(2)配套教案 新人教版
- 二年级语文上册 课文3 9 黄山奇石教案 新人教版
- 2024-2025学年新教材高中历史 第八单元 中华民族的抗日战争和人民解放战争 第24课 全民族浴血奋战与抗日战争的胜利教案3 新人教版必修《中外历史纲要(上)》
- 变压器报停委托书
- 租房电器超过使用年限合同(2篇)
- 期中测试卷(1-4单元)(试题)2024-2025学年人教版数学六年级上册
- ICU谵妄患者的护理
- 村医卫生室考勤管理制度
- 2024新版英语英语3500个单词分类大全
- 2024至2030年中国软件和信息技术服务产业全景调查及投资咨询报告
- 住宅小区物业快递柜合作合同2024年
- 1《百合花》第一课公开课一等奖创新教学设计统编版高中语文必修上册
- 2024年山西省中考思想品德试卷及答案
- 新课标下的语文教学:五上《中国民间故事》表现性任务设计
- 2024至2030年成都市酒店市场前景调查及投资策略分析报告
- Python第三课-重复与循环(教学设计)
评论
0/150
提交评论