- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言笔试试题.doc
C语言笔试试题
预处理器
用预处理指令ttdefine声明一个常数,用以表明1年 中有多少秒
#d efineSECONDS _PER_YEAR (60 *60*24*365) U L
我在这想看到几件事情:
. #define语法的基本知识
.懂得预处理器将为你计算常数表迗式的值,因此, 直接写出你是如何计算一年中有多少秒而不是计算出实际 的值,是更清晰而没有代价的。
.意识到这个表迗式将使一个16位机的整型数溢出_ 因此要用到长整型符号U告诉编译器这个常数是的长整型 数。
.如果你在你的表迗式中用到UL,那么你有了一个好 的起点。记住,第一印象很重要。
写一个“标准”宏MIN,这个宏输入两个参数并返回 较小的一个。
#def ineMIN(A, B) ((A) 3.预处理器标识#error的目的是 什么?
如果你不知道答案,请看 1。这问题对区分一 个正常的伙计和一个书呆子是很有用的。只有书呆子才会读 C语言课本的附录去找出象这种问题的答案。当然如果你不
是在找一个书呆子,那么应试者最好希望自己不要知道答案。 #e rror停止编译并显示错误信息
死循环
嵌入式系统中经常要用到无限循环,你怎么样用C编 写死循环呢?
这个问题用几个解决方案。我首选的方案是: while (1)
{
}
一些程序员更喜欢如下方案: for (;;)
}
这个实现方式让我为难,因为这个语法没有确切表达到 底怎么回事。如果一个应试者给出这个作为方案,我将用这 个作为一个机会去探究他们这样做的基本原理。如果他们的 基本答案是:“我被教着这样做,但从没有想到过为什么。” 这会给我留下一个坏印象。
第三个方案是用goto
L oop:
got oLoop;
应试者如给出上面的方案,这说明或者他是一个汇编语 言程序员或者他是一个想进入新领域的BASIC/FORTRAN程序
数据声明
用变量a给出下面的定义
—个整型数
—个指向整型数的指针
C) 一个指向指针的的指针,它指向的指针是指向一个整 型数
一个有10个整型数的数组
—个有10个指针的数组,该指针是指向一个整型数
一个指向有10个整型数数组的指针
—个指向函数的指针,该函数有一个整型参数并返回 一个整型数
—个有10个指针的数组,该指针指向一个函数,该 函数有一个整型参数并返回一个整型数
答案是:
inta; //Anint eger
int本a ; //Apointert oaninteger
c ) int**a; //Ap ointertoapoi ntertoaninte ger
inta[l 0] ; //Anarray of lOintegers
int*a[10] ; //Anarrayof 1 Opointerstointegers
in t (*a) [10] ; //Apointertoan arrayof lOint egers
int ( *a)(int);//A pointertoafu nctionathatt akesanintege rargumentand returnsanint eger
int(* a[l0]) (int); //Anarrayof1 Opointerstof unctionsthat takeanintege rargumentand returnaninte
ger
人们经常声称这里有几个问题是那种要翻一下书才能
回答的问题,我同意这种说法。当我写这篇文章时,为了确 定语法的正确性,我的确查了一下书。但是当我被面试的时 候,我期望被问到这个问题。因为在被面试的这段时间里, 我确定我知道这个问题的答案。应试者如果不知道所有的答 案,那么也就没有为这次面试做准备,如果该面试者没有为 这次面试做准备,那么他又能为什么出准备呢?
S tatic
关键字s tatic的作用是什么?
这个简单的问题很少有人能回答完全。在C语言中,关
键字static有三个明显的作用:
.在函数体,一个被声明为静态的变量在这一函数被 调用过程中维持其值不变。
.在模块内,一个被声明为静态的变量可以被模块内 所用函数访问,但不能被模块外其它函数访问。它是一个本
地的全局变量。
.在模块内,一个被声明为静态的函数只可被这一模 块内的其它函数调用。那就是,这个函数被限制在声明
它的模块的本地范围内使用。
大多数应试者能正确回答第一部分,一部分能正确回答 第二部分,同是很少的人能懂得第三部分。这是一个应试者 的严重的缺点,因为他显然不懂得本地化数据和代码范围的 好处和重要性。
C onst
关键字co nst是什么含意?
我只要一听到被面试者说:“const意味着常数”,我就 知道我正在和一个业余者打交道。去年DanSak s已经在他的 文章里完全概括了 const的所有用法
原创力文档


文档评论(0)