- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言语法基础考试(第2轮)
学员姓名:????????? ?
试卷说明:
1)???? 本试卷共25题,部分来自Intel、微软、TI等公司的面试题,其余出自平时基础课程。
2)???? 本试卷主要目的是考查对C语言本身的理解程序,而非算法测试。
3)???? 所有题目均需相关说明,“yes/no”型回答均不得分。
4)???? 从实际项目开发的角度回答问题,切忌使用应试教育中的答题方式。必要时可自由发挥。
(一)?下面哪一题题目本身有误?
?
(二)?我们常说C语言中的指针表示内存中的一个地址。那么,就目前的PC机而言,这个内存地址指的就是主板DIMM插槽上DDR3 SDRAM内存中的一个地址吗?
?
(三)?函数指针与普通数据类型指针有什么区别?
?
(四)?我们常说main()函数是C程序的入口,所以程序执行时的第一条机器指令位于main地址处,对吗?若不是,请解释main()函数之前还需执行什么?
?
(五)?我们常说C语言是一种基于函数和栈的语言。那么,C语言函数中的栈与普通数据结构上提到的栈有什么区别?(至少回答两点)
?
(六)?32位ARM Linux嵌入式系统,典型Memory空间划分为3G(user) + 1G (kernel)。基于这种划分,请画出Linux内核和用户进程的空间布局图,要求至少包括数据段、代码段、栈和堆四个基本段。
?
(七)?未初始化全局变量是怎样被初始成0的?
?
(八)?你在什么情况下会使用预处理标识#error?
?
(九)?如下定义数组是否合法?并说明理由。
int n = 1024;
char a[n];
?
(十)?定义 Type *a[3][4],当Type为int *或char时数组a占据的内存空间大小分别为多少?
?
(十一)???????? static、const两个常用关键字的作用?
?
(十二)???????? volatile关键字和memory barrier的作用?
?
(十三)???????? switch语句为什么比if语句效率高?
?
(十四)???????? 写一个if语句判断一个32位整数能否表示为2的某次方(不能用循环)。
?
(十五)???????? 有一个32位变量a,将a的bit3~bit5置为2(即0b010),其它几位保持不变。
?
(十六)???????? 用C语言实现将内存地址从0开始的4个字节置为0x1234,并说明你的代码有何问题。
?
(十七)???????? 有如下变量定义,请依次写出后面四条赋值语句的左值:
char cx = (char)0xff;
unsigned char bx = (unsigned char)0xff;
int ix;
unsigned int ux;
?
ix = cx;
ix = bx;
ux = cx;
ux = bx;
?
(十八)???????? 指出下面代码的错误之处:
typedef struct SS
{
?????? int x, y, z;
} *p;
p = malloc(sizeof(*p));
// TODO: add code here
free(p-y);
?
(十九)???????? 已知某一类型Type1,请分别使用#define和typedef语句把Type2定义为Type1,并说明你的代码有什么问题。
?
(二十)???????? 下面代码有什么问题?
char *a = “abc”, b[] = “abc”;
int main()
{
?????? 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;
// 此时*p = ?
??????
p = (int *)b;
// 此时*p = ?
?
(二十二)?已知struct SS中有一成员count,写一表达式求count在SS中的偏移。
?
(二十三)?写一段代码,验证栈往低地址方向增长。
?
(二十四)?Samsung S3C2440基于低端的ARMv4架构,虽已淘汰出主流市场,但功能简单、便于入门,为广大无基础的嵌入式爱好者自学时使用;目前业界ARMv5 及以上架构是主流,如ATMEL AT91SAM9263、Samsung S3C6410、Marvell PXA168均为ARMv5以上架构,我们日常教学及实践以ARMv5以上平台为主。现有一网友向我们report一个bug:开源项目g-bi
您可能关注的文档
最近下载
- 新22J01《工程做法》(新疆图集).pdf VIP
- 2015-2022年河北省专接本(专升本)《英语》真题合集.pdf VIP
- 【GB_T50779-2022 】石油化工建筑物抗爆设计标准.docx VIP
- 蓄电池内阻试验报告.docx VIP
- 《成本与管理会计(第4版)》习题答案 孙茂竹.pdf
- 劳动合同模板正规【5篇】.docx VIP
- 电气控制与PLC技术应用教学教案.docx VIP
- 22K311-5 防排烟系统设备及部件选用与安装.docx VIP
- 2025青海省从优秀村(社区)党组织书记中考录乡镇公务员32人笔试模拟试题及答案解析.docx VIP
- 最新河北省建设工程竣工验收报告6份(市政基础设施工程).pdf VIP
文档评论(0)