上海交通大学 2014-2015 C++期末考卷A卷

更新时间:2024-03-01 06:23:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C++程序设计(A类)

上 海 交 通 大 学 试 卷( A 卷) ( 2014 至 2015 学年第2学期 期末考试) 班级号 _________________ 学号______________ 姓名 课程名称 C++程序设计(A类) 成绩 一、

选择填空:(每题2分,共20分)

1. 已知各变量的类型说明如下:

int a = 0; double x = 1.42; char ch;

则以下不符合C++语言语法的表达式是

A、a += 0x123fd B、x = 12e-8 C、ch = “y” D、ch = ?\\0?

2.函数: void f(int i)

{

int j;

for(j=0; j<20; j++) i++; }

当f执行完退出后,i的值为____ ______

A、 12 B、无定义 C、 40 D、 24

3. 取出无符号整型变量n的个位数的表达式是

A、n % 10 B、n / 10 C、n/10+?\\0? D、n+‘0’

4. 一个文件中的全局变量,如果不允许其他的文件引用,则需要在声明时加上 关键词。

A、auto B、register C、extern D、static

5.在循环单链表中,head指向头结点,设P为指向结点的指针,则判断P为尾结点的条件

是 。 A、P==NULL

6. 关于抽象类,以下哪个说法是正确的? 。 A、有私有的成员函数

C、有纯虚成员函数

A 卷 总10页 第 1 页

B、有虚成员函数 D、可以声明抽象类的对象

B、p->next==NULL C、p->next==head

D、p==head

C++程序设计(A类)

7.下面关于类模板的哪个说法是正确的?

8.假定A为一个类,则执行 “A a[2], *p[4],b=4,c=b;”语句时共调用了 次该类的

构造函数。

A、3 B、5 C、4 D、9

9. 对友元(friend)正确的描述是: 。

A、 友元关系是对称关系。

B、 友元声明只能出现在public部分。

C、 类的友元函数必须在类的作用域以外被定义。 D、 一个类的部分成员函数或者整个类都可以声明为另一个类的友元。

10. 在随机读取文件中,读指针和写指针可以利用函数来调节指向的位置,其中seekg(2)

的含义为: 。

二、在每题右侧空白处写出程序段的运行结果:(每题3分,共18分) 1. #include

#include using namespace std; int main()

{ int *p; char *q; p = new int(10); q = new char[10]; strcpy(q, \ cout << *p << endl; cout << q << endl; delete p; delete []q; return 0;

}

A 卷 总10页 第 2 页

A、将写指针调节到文件倒数第2个字节 C、将读指针调节到文件第2个字节

B、将写指针调节到文件第2个字节 D、将读指针调节到文件倒数第2个字节

A、是模板类的实例化

B、类模板的每个成员函数都是函数模板

C、类模板的每个成员函数都是模板函数 D、类模板一定含有虚函数

我承诺,我将严格遵守考试纪律。 承诺人: 题号 得分 批阅人(流水阅 卷教师签名处)

C++程序设计(A类)

2.

#include using namespace std; int main() { int k; int x[3][3]={9,8,7,6,5,4,3,2,1}; for (k = 0; k < 3; ++k) if (k%2) cout << x[k][k]; return 0; }

3.

#include using namespace std; template T avg(T x[],int n); int main() { int a[] = {3.5,6.7,2,5.2,9.2}; double b[] = {3.5,6.7,2,5.2,9.2}; cout << \ cout << \ return 0;

}

template T avg(T x[],int n) { int i; T maxv = x[0]; for(i=1;i

} 4.

#include using namespace std;

void function(int b[],int size) { if(size>0) {

function(&b[1],size-1); cout<

}

int main() A 卷 总10页 第 3 页

C++程序设计(A类)

{ int a[5]={1,2,3,4,5}; function(a,5); return 0;

} 5.

#include #include using namespace std;

class base_class {

public:

char * infor;

base_class(char *mess):infor(mess){}; virtual void print() {cout<

class cube: public base_class {

public:

cube(char *mess):base_class(mess){}; void print() {cout<<\ void disp() {cout<<\};

class sphere: public base_class {

public:

sphere(char *mess):base_class(mess){}; void print() {cout<<\ void disp() {cout<<\};

int main() {

cube c(\ sphere s(\

base_class b1(\ b1=c; pb1=&c; b1.print(); pb1->print(); b2.disp(); return 0; A 卷 总10页 第 4 页

C++程序设计(A类)

} 6.

#include using namespace std;

class A {

private: int x,y;

static int no; int ID; public:

A(int a=5, int b=10):x(a),y(b) { ID=++no;

cout<<\ };

~A(){cout<<\};

int A::no=0; int main() {

A a1(1,2), a2, a3(a1), *p; p=new A(); return 0; }

三、程序填空(每空2分,共30分) 1.

#include using namespace std;

class A {

private: int x;

const int y; public:

A(int a=0, int b=0):y(b){x=a;}

;

{cout<

void disp(const A &a)

{ cout<

本文来源:https://www.bwwdw.com/article/amia.html

Top