2012上海贝尔笔试题目.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2012上海贝尔笔试题目.doc

2012-上海贝尔笔试题目 关于C语言的几个程序题 一、请填写B00L,float,指针变量与“零值”比较的 if语句。(10分) 请写出BOOLflag与“零值”比较的if语句。(3分) 标准答案: if (flag) if (! flag)如下写法均属不良风格,不得分。 if (flag==TRUE) if(flag==l) if (flag==FALSE) if (flag二=0) 请写出floatx与“零值”比较的if语句。(4分) 标准答案示例: const floa tEPSIN 0N=; if((x=-EP SIN 0N)(x= ”或“如下是错误的写法,不 得分。 if (x==) i f (x!=) 请写出char*p与“零值”比较的if语句。(3分) 标准答案: if (p 二 NULL) if(p!=NULL)如下写法均属不良风格,不得分。 if (p==0) if (p!=0) if(p) if⑴ 二、以下为Window sNT下的32位C++程序,请计算 siz eof 的值(10 分) charstr []= “Hello” ; char*p=str; intn=10; 请计算 sizeof (s tr)=6 (2 分) sizeo f (p)=4 (2 分) sizeof(n)=4 (2 分)voidFu n c (charstr [100]) { 请计算 si zeof (str) =4 (2 分) voi d本p =manoc (100 ); 请计算 sizeof (p) =4 (2 分) 三、简答题(25分) 1、 头文件中的ifnde f/define/en dif干什么用? (5分) 答:防止该头文件被重复引用。 2、 ^include和衍nclude “”有什么区别? (5分) 答:对于tfinclude,编译器从标准库路径开始搜索 对于Winclud e “”,编译器从用户的工作路径开始搜 索 3、 const有什么用途?(请至少说明两种)(5分) 答:(1)可以定义const常量 (2 ) const可以修饰函数的参数、返回值,甚至函数 的定义体。被con st修饰的东西 都 受到 强制保护,可以预防意外的变动,能提高程序的健壮 性。 4、 在C++程序中调用被C编译器编译后的函数,为什 么要加extern “C” ? (5 答:C++语言支持函数重载,C语言不支持函数重载。 函数被C++编译后在库中的名字 与 C语言 的不同。假设某个函数的原型为:voi dfoo(in tx, inty): 该函数被C编译器编译后在库中的名字为_什0,而 C++编译器则会产生像_foo_int _in t 之类的 名字。 C++提供了 C连接交换指定符号ex tern “C”来解决名 字匹配问题。 5、请简述以下两个for循环的优缺点(5分) for (i=0; iN; i++) { if (conditio n) DoSomet hing (): els e DoOt hert hing (); if (conditi o n) { for(i=0 : iN; i++) Do Something (): else { for (i=0; iN; i++) DoO therthi ng(); 优点:程序简洁 缺点:多执行了N-1次逻辑判断,并且打断了循环“流 水线”作业,使得编译器不能 对循环进行优化处理,降低了效率。优点:循环的效 率高 缺点:程序不简洁 四、有关内存的思考题(每小题5分,共20分) voidGet Memory (cha r 氺p) p=(ch ar*)mal loc(lOO); voidT est (void) { c ha r氺str=NUL L ; GetMemory (str): st r cpy (str, 〃he lloworld 〃); printf (str); } 请问运行Test函数会有什么样的结果? 答:程序崩溃。 因为G etMemory并不能传递动态内存, Test函数中的str —直都是NULL。 strc py (st r, 〃hel lowo rld〃);将使程序崩溃。 char氺G etMemory (v oid) { char p[]=〃hello w orld〃 ; re tur np; vo idTes t (voi d) cha r氺s tr=NULL; s tr=GetMemo ry (): printf (str); 请问运行Test函数会有什么样的结果? 答:可能是乱码。 因为GetMem ory返回的是指向“栈内存”的指针,该 指针的地址不是NULL,但其原 现 的 内容已经被清除,新内容不可知。 vo idGetMem ory

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档