C语言语法基础考试_第1页
C语言语法基础考试_第2页
C语言语法基础考试_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言语法基础考试(第 2轮)学员姓名:试卷说明:1)本试卷共25题,部分来自In tel、微软、TI等公司的面试题,其余出自平时基础课程。2)本试卷主要目的是考查对C语言本身的理解程序,而非算法测试。3)所有题目均需相关说明,“ yes/no ”型回答均不得分。4)从实际项目开发的角度回答问题,切忌使用应试教育中的答题方式。必要时可自由发挥。(一)下面哪一题题目本身有误?(二) 我们常说C语言中的指针表示内存中的一个地址。那么,就目前的PC机而言,这个 内存地址指的就是主板 DIMM插槽上DDR3 SDRA内存中的一个地址吗?(三)函数指针与普通数据类型指针有什么区别?(四) 我们常说mai

2、n()函数是C程序的入口,所以程序执行时的第一条机器指令位于main地址处,对吗?若不是,请解释main()函数之前还需执行什么?(五) 我们常说C语言是一种基于函数和栈的语言。那么,C语言函数中的栈与普通数据结构上提到的栈有什么区别?(至少回答两点)(六) 32位ARMLinux嵌入式系统,典型 Memory空间划分为 3G(user) + 1G (kernel)。基 于这种划分,请画出Linux内核和用户进程的空间布局图,要求至少包括数据段、代码段、栈和堆四个基本段。(七) 未初始化全局变量是怎样被初始成0的?(八) 你在什么情况下会使用预处理标识#error ?(九)如下定义数组是否合法

3、?并说明理由。int n = 1024;char an;(十) 定义Type *a34,当Type为int *或char时数组a占据的内存空间大小分别为 多少?(十一-)static 、con st两个常用关键字的作用?(十二)volatile关键字和 memory barrier的作用?(十四)写一个if语句判断一个32位整数能否表示为 2的某次方(不能用循环)。(十五)有一个32位变量a,将a的bit3bit5 置为2 (即ObO1O),其它几位保持不变。(十六)用C语言实现将内存地址从0x87654321的开始的4个字节置为0x1234,并说明你的代码有何问题。(十七)有如下变量定义,请

4、依次写出后面四条赋值语句的左值:char cx = (char)Oxff;un sig ned char bx = (un sig ned char)0xff;int ix;un sig ned int ux;ix = cx;ix = bx;ux = cx;ux = bx;(十八)指出下面代码的错误之处:typedef struct SSint x, y, z; *P;p = malloc(sizeof(*p);/ TODO: add code herefree(&p->y);(十九)已知某一类型Type1,请分别使用#define和typedef语句把Type2定义为Type1

5、,并说明你的代码有什么问题。(二十)下面代码有什么问题?char *a =“ abc” , b =“ abc”;int mai n()char *c =“abc”;char d =“123”;strncpy(c, d, 10);(二一 )下面代码中*p的值是多少?(用16进制表示)char a = 1,2, 3, 4, 5, 6, 7, 8, *b = a + 2;int *p = (int *)a + 1;II此时*p = ?p = (int *)b;II此时*p = ?(二十二) 已知struct SS 中有一成员 count,写一表达式求 count在SS中的偏移。(二十三)写一段代码,

6、验证栈往低地址方向增长。(二十四)Samsung S3C2440基于低端的ARMv4架构,虽已淘汰出主流市场,但功能简单、便于入门,为广大无基础的嵌入式爱好者自学时使用;目前业界ARMV5及以上架构是主流,如 ATMEL AT91SAM9263 Samsung S3C6410 Marvell PXA168 均为 ARMv5以上架构,我们日常教学及实践以ARMv5以上平台为主。现有一网友向我们report 一个bug :开源项目g-bios中的一段代码在他的 S3C2440上运行失败,而同样的代码在我们的AT91SAM9263和S3C6410上却能正常运行。经初步分析,怀疑问题出在函数指针上。请结合ARM体系结构

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论