C++/C编程质量试题
C++/C试题
本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法,不涉及数据结构、算法以及深奥的语法。考试成绩能反映出考生的编程质量以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。
笔试时间90分钟。请考生认真答题,切勿轻视。
一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。(10分)
提示:这里“零值”可以是0, 0.0 , FALSE或者“空指针”。例如 int 变量 n 与“零值”比较的 if 语句为:
if ( n == 0 )
if ( n != 0 )
以此类推。
请写出 BOOLflag 与“零值”比较的 if 语句: |
请写出 floatx 与“零值”比较的 if 语句: |
请写出 char*p 与“零值”比较的 if 语句: |
二、以下为Windows NT下的32位C++程序,请计算sizeof的值(10分)
charstr[] = “Hello” ; char *p = str ; int n = 10; 请计算 sizeof (str ) = sizeof ( p ) = sizeof ( n ) = |
void Func ( char str[100]) { 请计算 sizeof( str ) = } |
void *p = malloc( 100 ); 请计算 sizeof ( p ) = |
三、简答题(25分)
1、头文件中的 ifndef/define/endif 干什么用?
2、#include<filename.h> 和#include“filename.h” 有什么区别?
3、const 有什么用途?(请至少说明两种)
4、在C++ 程序中调用被 C编译器编译后的函数,为什么要加 extern “C”声明?
5、请简述以下两个for循环的优缺点
// 第一个 for (i=0; i<N; i++) { if (condition) DoSomething(); else DoOtherthing(); } |
// 第二个 if (condition) { for (i=0; i<N; i++) DoSomething(); } else { for (i=0; i<N; i++) DoOtherthing(); } |
优点: 缺点: |
优点: 缺点: |
四、有关内存的思考题(20分)
void GetMemory(char *p) { p = (char *)malloc(100); } void Test(void) { char *str = NULL; GetMemory(str); strcpy(str, "hello world"); printf(str); } 请问运行Test函数会有什么样的结果? 答: |
char *GetMemory(void) { char p[] = "hello world"; return p; } void Test(void) { char *str = NULL; str = GetMemory(); printf(str); } 请问运行Test函数会有什么样的结果? 答: |
Void GetMemory2(char **p, int num) { *p = (char *)malloc(num); } void Test(void) { char *str = NULL; GetMemory(&str, 100); strcpy(str, "hello"); printf(str); } 请问运行Test函数会有什么样的结果? 答: |
void Test(void) { char *str = (char *) malloc(100); strcpy(str, “hello”); free(str); if(str != NULL) { strcpy(str, “world”); printf(str); } } 请问运行Test函数会有什么样的结果? 答: |
五、编写strcpy函数(10分)
已知strcpy函数的原型是
char *strcpy(char *strDest, const char *strSrc);
其中strDest是目的字符串,strSrc是源字符串。
(1)不调用C++/C的字符串库函数,请编写函数 strcpy
(2)strcpy能把strSrc的内容复制到strDest,为什么还要char * 类型的返回值?
六、编写类String的构造函数、析构函数和赋值函数(25分)
已知类String的原型为:
class String
{
public:
String(const char *str = NULL); // 普通构造函数
String(const String &other);// 拷贝构造函数
~ String(void); // 析构函数
String & operate =(const String &other);// 赋值函数
private:
char*m_data;// 用于保存字符串
};
请编写String的上述4个函数。
|
|
2005-3-16 23:09:00 |
|
var actioninfo3='单帖屏蔽';document.write (dvbbs_show_topic('21015','4','backer','','','
[email protected]','||||||||||||||||||','','Images/userface/image1.gif','','','','','&lt;P&gt;(1)如果你只得了几十分,请不要声张,也不要太难过。编程质量差往往是由于不良习惯造成的,与人的智力、能力没有多大关系,还是有药可救的。成绩越差,可以进步的空间就越大,中国不就是在落后中赶超发达资本主义国家吗?只要你能下决心改掉不良的编程习惯,第二次考试就能及格了。&lt;/P&gt;&lt;P&gt;(2)如果你考及格了,表明你的技术基础不错,希望你能虚心学习、不断进步。&lt;/P&gt;&lt;P&gt;(3)如果你考出85分以上的好成绩,你有义务和资格为你所在的团队作“C++/C编程”培训。希望你能和我们多多交流、相互促进。&lt;/P&gt;&lt;P&gt;(4)如果你在没有任何提示的情况下考了满分,希望你能收我做你的徒弟。&lt;/P&gt;','2005-3-16 23:17:00','face1.gif','*.*.*.*','5155',1,0,1980,2,'职业侠客','32','32','316','2004-8-22','1704','813','696','','1',0,'0','level4.gif',4,'2005-3-26 16:18:00','0',1,'tablebody2','0','0')); <!--帖子浏览主体-->
等级:职业侠客 文章:316 积分:813 注册:2004-8-22 |
(1)如果你只得了几十分,请不要声张,也不要太难过。编程质量差往往是由于不良习惯造成的,与人的智力、能力没有多大关系,还是有药可救的。成绩越差,可以进步的空间就越大,中国不就是在落后中赶超发达资本主义国家吗?只要你能下决心改掉不良的编程习惯,第二次考试就能及格了。 (2)如果你考及格了,表明你的技术基础不错,希望你能虚心学习、不断进步。 (3)如果你考出85分以上的好成绩,你有义务和资格为你所在的团队作“C++/C编程”培训。希望你能和我们多多交流、相互促进。 (4)如果你在没有任何提示的情况下考了满分,希望你能收我做你的徒弟。 |
|
2005-3-16 23:17:00 |
|
var actioninfo3='单帖屏蔽';document.write (dvbbs_show_topic('21016','4','sunxin','','','
[email protected]','','','UploadFace/3_200491312414392596.jpg','','','','','&lt;P&gt;难得有机会学习,希望大家踊跃答题,把你的答案贴上来,backer兄在差不多的时候,会给出标准答案。不要错过一次非常好的学习机会。 &lt;/P&gt;','2005-3-16 23:27:00','face1.gif','*.*.*.*','5155',1,0,3,2,'管理员','96','96','866','2004-7-6','2890','1864','1860','','1',0,'0','level10.gif',1,'2005-3-26 12:56:00','0',2,'tablebody1','0','0')); <!--帖子浏览主体-->
等级:管理员 文章:866 积分:1864 注册:2004-7-6 |
难得有机会学习,希望大家踊跃答题,把你的答案贴上来,backer兄在差不多的时候,会给出标准答案。不要错过一次非常好的学习机会。 |
|
2005-3-16 23:27:00 |
|
var actioninfo3='单帖屏蔽';document.write (dvbbs_show_topic('21017','4','backer','','','
[email protected]','||||||||||||||||||','','Images/userface/image1.gif','','','','','&lt;P&gt;这套试卷的作者是上海贝尔的林瑞博士,在很久的时候就流传在网上了,希望有见过或者是做过的朋友不要声张,呵呵,以便让没见过的朋友有个测试自己能力的机会,谢谢&lt;/P&gt;&lt;br&gt;&lt;img SRC="skins/default/filetype/rar.gif" border=0 onmousewheel="return bbimg(this)" onload="javascript:if(this.width&gt;screen.width-500)this.style.width=screen.width-500;"&gt; &lt;a href="viewFile.asp?Boardid=4&amp;ID=417" target=_blank&gt;点击浏览该文件&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;div align=right&gt;&lt;font color=#000066&gt;[此贴子已经被作者于2005-3-16 23:31:11编辑过]&lt;/font&gt;&lt;/div&gt;','2005-3-16 23:29:00','face1.gif','*.*.*.*','5155',1,0,1980,2,'职业侠客','32','32','316','2004-8-22','1704','813','696','','1',0,'0','level4.gif',4,'2005-3-26 16:18:00','0',3,'tablebody2','0','0')); <!--帖子浏览主体-->
等级:职业侠客 文章:316 积分:813 注册:2004-8-22 |
这套试卷的作者是上海贝尔的林瑞博士,在很久的时候就流传在网上了,希望有见过或者是做过的朋友不要声张,呵呵,以便让没见过的朋友有个测试自己能力的机会,谢谢 点击浏览该文件
[此贴子已经被作者于2005-3-16 23:31:11编辑过]
|
|
2005-3-16 23:29:00 |
|
var actioninfo3='单帖屏蔽';document.write (dvbbs_show_topic('21045','4','gamenpc','','','
[email protected]','||||||||||||||||||','','Images/userface/image1.gif','','','','','做好了,现在等的就是backer兄的答案。','2005-3-17 10:16:00','face1.gif','*.*.*.*','5155',1,0,3603,2,'新手上路','32','32','3','2004-9-26','1007','213','37','','1',0,'0','level0.gif',4,'2005-3-21 10:15:00','0',4,'tablebody1','0','0')); <!--帖子浏览主体-->
等级:新手上路 文章:3 积分:213 注册:2004-9-26 |
|
2005-3-17 10:16:00 |
|
var actioninfo3='单帖屏蔽';document.write (dvbbs_show_topic('21099','4','esken','','','
[email protected]','||||||||||||||||||','','Images/userface/image1.gif','','','','','怎么这里出的题目总是没有答案的吗?&lt;img src=Skins/Default/emot/em03.gif border=0 align=middle onmousewheel="return bbimg(this)" onload="javascript:if(this.width&gt;screen.width-500)this.style.width=screen.width-500;"&gt;','2005-3-17 15:26:00','face1.gif','*.*.*.*','5155',1,0,13510,2,'新手上路','32','32','4','2005-3-17','1012','225','40','','1',0,'0','level0.gif',4,'2005-3-18 14:10:00','0',5,'tablebody2','0','0')); <!--帖子浏览主体-->
等级:新手上路 文章:4 积分:225 注册:2005-3-17 |
|
2005-3-17 15:26:00 |
|
var actioninfo3='单帖屏蔽';document.write (dvbbs_show_topic('21164','4','backer','','','
[email protected]','||||||||||||||||||','','Images/userface/image1.gif','','','','','&lt;P&gt;&lt;b&gt;&lt;FONT color=#000066&gt;请做好了的朋友把解答发上来看看&lt;/FONT&gt;&lt;/b&gt;&lt;/P&gt;','2005-3-17 22:24:00','face1.gif','*.*.*.*','5155',1,0,1980,2,'职业侠客','32','32','316','2004-8-22','1704','813','696','','1',0,'0','level4.gif',4,'2005-3-26 16:18:00','0',6,'tablebody1','0','0')); <!--帖子浏览主体-->
等级:职业侠客 文章:316 积分:813 注册:2004-8-22 |
|
2005-3-17 22:24:00 |
|
var actioninfo3='单帖屏蔽';document.write (dvbbs_show_topic('21202','4','esken','','','
[email protected]','||||||||||||||||||','','Images/userface/image1.gif','','','','','强烈要求给出答案!!1&lt;img src=Skins/Default/emot/em05.gif border=0 align=middle onmousewheel="return bbimg(this)" onload="javascript:if(this.width&gt;screen.width-500)this.style.width=screen.width-500;"&gt;','2005-3-18 10:24:00','face1.gif','*.*.*.*','5155',1,0,13510,2,'新手上路','32','32','4','2005-3-17','1012','225','40','','1',0,'0','level0.gif',4,'2005-3-18 14:10:00','0',7,'tablebody2','0','0')); <!--帖子浏览主体-->
等级:新手上路 文章:4 积分:225 注册:2005-3-17 |
|
2005-3-18 10:24:00 |
|
var actioninfo3='单帖屏蔽';document.write (dvbbs_show_topic('21288','4','backer','','','
[email protected]','||||||||||||||||||','','Images/userface/image1.gif','','','','','&lt;P&gt;没人去做我给答案做什么?&lt;/P&gt;','2005-3-18 21:04:00','face1.gif','*.*.*.*','5155',1,0,1980,2,'职业侠客','32','32','316','2004-8-22','1704','813','696','','1',0,'0','level4.gif',4,'2005-3-26 16:18:00','0',8,'tablebody1','0','0')); <!--帖子浏览主体-->
等级:职业侠客 文章:316 积分:813 注册:2004-8-22 |
|
2005-3-18 21:04:00 |
|
var actioninfo3='单帖屏蔽';document.write (dvbbs_show_topic('21461','4','winglee','','','
[email protected]','||||||||||||||||||','','Images/userface/image1.gif','','','','','&lt;P&gt;渴望答案。&lt;/P&gt;&lt;P&gt;请楼主不要推辞了嘛。大家都是抱着学习的态度来的。&lt;/P&gt;&lt;P&gt;本人不是没做,只是很菜,对于内存泄漏等问题了解太少了,而且这些题肯定有很多不是一眼能看出来的。&lt;/P&gt;&lt;P&gt;把我的贴出来就糗大了,呵呵。但真的想学到东西。&lt;/P&gt;','2005-3-20 0:10:00','face1.gif','*.*.*.*','5155',1,0,13741,2,'新手上路','32','32','1','2005-3-19','1003','211','33','','1',0,'0','level0.gif',4,'2005-3-25 13:14:00','0',9,'tablebody2','0','0')); <!--帖子浏览主体-->
等级:新手上路 文章:1 积分:211 注册:2005-3-19 |
渴望答案。 请楼主不要推辞了嘛。大家都是抱着学习的态度来的。 本人不是没做,只是很菜,对于内存泄漏等问题了解太少了,而且这些题肯定有很多不是一眼能看出来的。 把我的贴出来就糗大了,呵呵。但真的想学到东西。 |
|
2005-3-20 0:10:00 |
|
var actioninfo3='单帖屏蔽';document.write (dvbbs_show_topic('21718','4','liupeili','','','
[email protected]','||||||||||||||||||','','Images/userface/image1.gif','','','','','我也希望楼主给出答案!','2005-3-21 22:51:00','face1.gif','*.*.*.*','5155',1,0,4445,2,'论坛游侠','32','32','147','2004-10-11','1384','892','372','','1',0,'0','level2.gif',4,'2005-3-24 13:44:00','0',10,'tablebody1','0','0')); <!--帖子浏览主体-->
等级:论坛游侠 文章:147 积分:892 注册:2004-10-11 |
|
评论