- 一、请计算sizeof表达式和strlen表达式的值。(10分)
- 二、请填写bool、float、指针变量与“零值”比较的if语句。(10分)
- 三、简答题。(20分)
- 四、有关内存的思考题。(20分)
- 五、类型转换。(5分)
- 六、编写strcpy函数。(10分)
- 七、编写类String的普通与拷贝构造函数、析构函数以及赋值函数。(25分)
假设本试题均为Windows NT下的32位C++ 程序。本试题仅用于考查C++/C程序员的基本编程技能,不涉及数据结构、算法,以及深奥的语法。考试成绩能反映出考生的编程质量,以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。笔试时间为90分钟。请考生认真答题,切勿轻视。
一、请计算sizeof表达式和strlen表达式的值。(10分)
解答:
二、请填写bool、float、指针变量与“零值”比较的if语句。(10分)1
13
4
4
4
5
4
不确定
0
4
提示:这里“零值”可以是0、0.0、FALSE或者“空指针”。
例如,int变量n与“零值”比较的if语句为“if ( n == 0 ); if ( n != 0 );”。依次类推。
请写出bool flag与“零值”比较的if语句:
请写出float x与“零值”比较的if语句:
请写出char *p与“零值”比较的if语句:
解答:
三、简答题。(20分)if(flag) if(!flag)
const float epc = 1e-6; if(abs(flag - 0)<=epc)
if( p == NULL) if(p1!=NULL)
1.(1)头文件中的ifndef/define/endif的作用是什么?
(2)#include
2.const有什么用途?(请至少说明两种)
3.在C++程序中调用被C编译器编译后的函数,为什么要加extern "C"声明?
4.请简述以下两个for循环的优缺点。
四、有关内存的思考题。(20分) 五、类型转换。(5分)1.1 : 防止头文件被重复引入
1.2 :优先在系统目录先寻找,'filename.h’优先在当前目录下寻找在文件
2 :const可以定义常量;const定义常函数;
3 :因为C++和C对函数的命名修饰方法不同,加上 extern “C”是为了便于和C++的命名修饰相匹配
4.1 :代码简洁,但是运行效率不高;
4.2 :运行效率高,但代码显得臃肿;
double d = 100.25; int x = d; int *PInt = (int*)&d
请问以下两个输出语句的结果是否相同?为什么?
cout <六、编写strcpy函数。(10分) 已知strcpy函数的原型是:char* strcpy(char* strDest,const char* strSrc);其中,strDest是目的字符串,strSrc是源字符串。
七、编写类String的普通与拷贝构造函数、析构函数以及赋值函数。(25分)
(1)不调用C++/C的字符串库函数,请编写函数strcpy:
(2)strcpy能把strSrc的内容复制到strDest,为什么还要char * 类型的返回值?已知类String的原型为:
暑期编程PK赛 得CSDN机械键盘等精美礼品!
请编写String的上述4个基本函数。



