C语言语法 基础考试.pdf

C语言语法 基础考试.pdf

ID:57337843

大小:197.84 KB

页数:5页

时间:2020-08-12

C语言语法 基础考试.pdf_第1页
C语言语法 基础考试.pdf_第2页
C语言语法 基础考试.pdf_第3页
C语言语法 基础考试.pdf_第4页
C语言语法 基础考试.pdf_第5页
资源描述:

《C语言语法 基础考试.pdf》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、MaxWit嵌入式Linux魔鬼训练营阶段性测试——C语言语法基础考试(第2轮)学员姓名:试卷说明:1)本试卷共25题,部分来自Intel、微软、TI等公司的面试题,其余出自平时基础课程。2)本试卷主要目的是考查对C语言本身的理解程序,而非算法测试。3)所有题目均需相关说明,“yes/no”型回答均不得分。4)从实际项目开发的角度回答问题,切忌使用应试教育中的答题方式。必要时可自由发挥。(一)下面哪一题题目本身有误?(二)我们常说C语言中的指针表示内存中的一个地址。那么,就目前的PC机而言,这个内

2、存地址指的就是主板DIMM插槽上DDR3SDRAM内存中的一个地址吗?(三)函数指针与普通数据类型指针有什么区别?(四)我们常说main()函数是C程序的入口,所以程序执行时的第一条机器指令位于main地址处,对吗?若不是,请解释main()函数之前还需执行什么?(五)我们常说C语言是一种基于函数和栈的语言。那么,C语言函数中的栈与普通数据结构上提到的栈有什么区别?(至少回答两点)(六)32位ARMLinux嵌入式系统,典型Memory空间划分为3G(user)+1G(kernel)。基于这种划分

3、,请画出Linux内核和用户进程的空间布局图,要求至少包括数据段、代码段、栈和堆四个基本段。(七)未初始化全局变量是怎样被初始成0的?(八)你在什么情况下会使用预处理标识#error?(九)如下定义数组是否合法?并说明理由。intn=1024;chara[n];(十)定义Type*a[3][4],当Type为int*或char时数组a占据的内存空间大小分别为多少?(十一)static、const两个常用关键字的作用?(十二)volatile关键字和memorybarrier的作用?(十三)swit

4、ch语句为什么比if语句效率高?(十四)写一个if语句判断一个32位整数能否表示为2的某次方(不能用循环)。(十五)有一个32位变量a,将a的bit3~bit5置为2(即0b010),其它几位保持不变。(十六)用C语言实现将内存地址从0x87654321的开始的4个字节置为0x1234,并说明你的代码有何问题。(十七)有如下变量定义,请依次写出后面四条赋值语句的左值:charcx=(char)0xff;unsignedcharbx=(unsignedchar)0xff;intix;unsigned

5、intux;ix=cx;ix=bx;ux=cx;ux=bx;(十八)指出下面代码的错误之处:typedefstructSS{intx,y,z;}*p;p=malloc(sizeof(*p));//TODO:addcodeherefree(&p->y);(十九)已知某一类型Type1,请分别使用#define和typedef语句把Type2定义为Type1,并说明你的代码有什么问题。(二十)下面代码有什么问题?char*a=“abc”,b[]=“abc”;intmain(){char*c=“abc”

6、;chard[]=“123”;strncpy(c,d,10);}(二十一)下面代码中*p的值是多少?(用16进制表示)chara[]={1,2,3,4,5,6,7,8},*b=a+2;int*p=(int*)a+1;//此时*p=?p=(int*)b;//此时*p=?(二十二)已知structSS中有一成员count,写一表达式求count在SS中的偏移。(二十三)写一段代码,验证栈往低地址方向增长。(二十四)SamsungS3C2440基于低端的ARMv4架构,虽已淘汰出主流市场,但功能简单、便

7、于入门,为广大无基础的嵌入式爱好者自学时使用;目前业界ARMv5及以上架构是主流,如ATMELAT91SAM9263、SamsungS3C6410、MarvellPXA168均为ARMv5以上架构,我们日常教学及实践以ARMv5以上平台为主。现有一网友向我们report一个bug:开源项目g-bios中的一段代码在他的S3C2440上运行失败,而同样的代码在我们的AT91SAM9263和S3C6410上却能正常运行。经初步分析,怀疑问题出在函数指针上。请结合ARM体系结构及C语言编译器回答下面问题

8、:1)函数和函数指针的本质分别是?2)S3C2440与AT91SAM9263上C语言函数指针的实现有何不同?为何会导致上面的问题?(二十五)谈谈你的收获及不满。

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

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

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