北航软件学院研究生一级工程实践2004届考试试题+答案(3)

2018-12-21 13:46

}

sptr = new char[length+1]; strcpy(sptr, s);

string::string(string &s1) { length = s1.length; sptr = new char[length+1]; strcpy(sptr, s1.sptr); }

string::string(int size) { length = size; sptr = new char[length+1]; *sptr = '\\0'; }

void main() { string str1(\ str1.print(); cout<

三、 查错并说明错误原因,无需改正(每小题6分,共12分) 1. int& fun(int *i)

{ int j = 2 * i;

return j; }

int main() { int j = 10; int &n ; n = j; n = fun(&j);

11

}

cout << “The value of n is: “ << n << endl;

2. class K

{

public: virtual K(){};//构造函数不能为虚函数

virtual K( int i){}; //构造函数不能为虚函数 virtual ~K();

void m( const K& obj ){ this = &obj; };

static void s() { this -> count = 0; };//this用法错误 this 指针只能在类里使用

private: static int count;

}; 四、 编程题:(共18分)

1. 根据下面的要求一步步写出正确的C++语句,注意:各个步骤之间是有先后顺序的。(每小题0.5分,共5分) (1) 定义两个整型变量 value1,value2;

(2) 定义一个指向整型变量的指针pValue,将该指针初始化为指向value1; (3) 将指针pValue改为指向变量value2;

(4) 通过pValue指针来间接地改变变量value2的值为20;

(5) 申请三个连续的整数空间,并将申请到空间的首地址赋值给pValue; (6) 用cout输出所申请到的首地址值; (7) 给第二个地址空间赋值10; (8) 用cout输出第二个地址空间的地址; (9) 释放所申请到的三个整数空间;

(10) 将指针pValue设置为不指向任何地址空间;

2. 中序遍历二叉树(5分)

struct Node {

int Data;

Node *Left, *Right; };

void Through(Node *Root) {

if(root!=NULL) {

12

InOrder(root->LChild); cout<data<RChild); } }

3. 实现二分法查找(8分)

int DicFind( int *Array, int Count, int Value ) {

int left = 0 ; int right = Count-1 ;

int mid = (left + right)/2 ; while(left <= right) {

if(Array[mid] == Value) return mid ;

if(Array[mid] < Value) left = mid + 1 ; else

right = mid - 1 ;

mid = (left + right) / 2 ; }

return -1 ; } 五、 意见和建议(本题不记分!)

本课程中你有没有迟到或缺课,如果有,原因是什么?如果你对“一级实践”的教学有意见和建议,请告诉我们(不要写赞扬的语句)。

13


北航软件学院研究生一级工程实践2004届考试试题+答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017年电大开放英语4形成性考核册答案1

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: