- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- T_WAA 013-2025 园区办公场景 WLAN 性能及体验技术要求(基于 IEEE 802.11be).docx
- 甲状旁腺功能亢进外科治疗.pptx
- 潍柴WP4D66E200发动机零件图册dhp04d0112-cn.pdf VIP
- 华为TaiShan200-5280服务器技术白皮书.pdf
- 最新统编教材(部编人教版)小学语文四年级上册全册教案教学设计【8】.doc VIP
- 2025-2030轴承项目商业计划书.docx
- 设计说明书 红外声控报警系统的设计.pdf VIP
- 空客320PPT:GPWS概述课件.ppt VIP
- T CIECCPA 039—2023 垃圾焚烧电力碳足迹量化与评价方法.pdf VIP
- 学校德育的创新艺术-(精选·公开·课件).ppt VIP
文档评论(0)