- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内容摘要1写出判断ABCD四个表达式的是否正确若正确写出经过
PAGE 2
基础笔试内容
第一份
写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值(3分)int a = 4;(A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++);a = ?答:C错误,左侧不是一个有效变量,不能赋值,可改为(++a) += a;改后答案依次为9,10,10,11 (a++为后递增,返回为值传递;++a为前递增,返回为引用,因此a++不能作为左值:(a++)++也为错)
某32位系统下, C++程序,请计算sizeof 的值(5分).char str[] = “/”char *p = str ;int n = 10;请计算sizeof (str ) = ?(1)sizeof ( p ) = ?(2)sizeof ( n ) = ?(3)void Foo ( char str[100]){请计算sizeof( str ) = ?(4)}void *p = malloc( 100 );请计算sizeof ( p ) = ?(5)答:(1)25 (包含一个\0结束符)(2)4 (3) 4 (4)4 (5)4 (指针一般win32系统为32bits(=unsigned long),存储32位寻址数值;其长度只随操作系统不同,如64位系统则指针长度一般也为64bits)
回答下面的问题. (4分)(1).头文件中的 ifndef/define/endif 干什么用?预处理答:防止头文件被重复引用(2). #include filename.h 和 #include “filename.h” 有什么区别?答:前者用来包含开发环境提供的库头文件,后者用来包含自己编写的头文件。(3).在C++ 程序中调用被 C 编译器编译后的函数,为什么要加 extern “C”声明?答:函数和变量被C++编译后在符号库中的名字与C语言的不同,被extern C修饰的变量和函数是按照C语言方式编译和连接的。由于编译后的名字不同,C++程序不能直接调用C 函数。C++提供了一个C 连接交换指定符号extern“C”来解决这个问题。(4). switch()中不允许的数据类型是?答:实型
4. 回答下面的问题(6分)(1).Void GetMemory(char **p, int num){*p = (char *)malloc(num);}void Test(void){char *str = NULL;GetMemory(str, 100);strcpy(str, hello);printf(str);}请问运行Test 函数会有什么样的结果?答:输出“hello”(2). void Test(void){char *str = (char *) malloc(100);strcpy(str, “hello”);free(str);if(str != NULL){strcpy(str, “world”);printf(str);}}请问运行Test 函数会有什么样的结果?答:输出“world”(3). char *GetMemory(void){char p[] = hello world;return p;}void Test(void){char *str = NULL;str = GetMemory();printf(str);}请问运行Test 函数会有什么样的结果?答:无效的指针,输出不确定 (strcpy自动在字符串后补上\0结束符,strlen不会计算\0在内, strcpy/strcat不会进行越界判断,所以有风险)
5. 编写strcat函数(6分)已知strcat函数的原型是char *strcat (char *strDest, const char *strSrc);其中strDest 是目的字符串,strSrc 是源字符串。(1)不调用C++/C 的字符串库函数,请编写函数 strcat答:VC源码:char * __cdecl strcat (char * dst, const char * src){char * cp = dst;while( *cp )cp++; /* find end of dst */while( *cp++ = *src++ ) ; /* Copy src to end of dst */return( dst ); /* return dst */}(2)strcat能把strSrc 的内容连接到strDest,为什么还要char * 类
您可能关注的文档
最近下载
- 一种轨道仿形阵列涡流检测传感器、自动巡检车及其检测方法.pdf VIP
- 工业机器人编程语言:RAPID(ABB):RAPID数据类型与变量.lever.pdf VIP
- 超甜玉米新品种鄂甜玉号的选育及栽培技术.doc VIP
- 高校食堂成本现状及面临的挑战分析.docx
- 合同审查及风险防范.ppt VIP
- 工程质量、安全生产、文明施工的承诺.doc VIP
- 企业合规管理实施方案合规合同管理.pptx VIP
- 企业合同管理与合规管理培训课件.pptx VIP
- 热工基础(张学学主编)第三版思考题及习题答案详解.pdf VIP
- DBJ04T 440-2023 电动自行车停放充电场所防火技术标准.pdf VIP
原创力文档


文档评论(0)