上 C++程序设计考试A卷.docx

上传人:b****4 文档编号:24831443 上传时间:2023-06-01 格式:DOCX 页数:13 大小:31.89KB
下载 相关 举报
上 C++程序设计考试A卷.docx_第1页
第1页 / 共13页
上 C++程序设计考试A卷.docx_第2页
第2页 / 共13页
上 C++程序设计考试A卷.docx_第3页
第3页 / 共13页
上 C++程序设计考试A卷.docx_第4页
第4页 / 共13页
上 C++程序设计考试A卷.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

上 C++程序设计考试A卷.docx

《上 C++程序设计考试A卷.docx》由会员分享,可在线阅读,更多相关《上 C++程序设计考试A卷.docx(13页珍藏版)》请在冰豆网上搜索。

上 C++程序设计考试A卷.docx

上C++程序设计考试A卷

上海交通大学试卷(A卷)

(2012至2013学年第二学期)

班级号F1411002学号5141109028姓名方陈红

课程名称C++程序设计(A)成绩100

一、选择题:

(15分)

1.下面哪些语句是合法的?

简单说明不对处的理由。

A.constintbuf;B.intcnt=0;constintsz=cnt;

C.cnt++;sz++;D.#definesize1000;intarray[size];

 

2.intb[][3]={{1},{3,2},{4,5,6},{0}};中a[2][2]的值是____D_____。

A.0B.5C.6D.2

3.下列给字符数组进行初始化中,___D_____是正确的。

A.chars1[]=”abcd”;

B.chars2[3]=”xyz”;

C.chars3[][]={‘a’,’x’,’y’};

D.chars4[2][3]={“xyz”,”mnp”};

4.如果a=1,b=2,c=3,d=4,则条件表达式(a>b?

a:

c&&d?

c-d:

d-c)的值为___B_____。

A.1B.-1C.2D.-2

5.选择出合法的if语句(设有intx,y;)___________。

A.intx=5,y=10;

if(x!

=y)if(x>y)cout<<"x>y\n";

elsecout<<"x

elsecout<<"x==y\n";

B.intx=5,y=10;

if(x!

=y)if(x>y)cout<<”x>y\n”

elsecout<<”x

elsecout<<”x==y\n”;

C.intx=5,y=10;

if(x!

=y)if(x>y)cout<<"x>y\n";

elsecout<<"x==y\n";

D.intx=5,y=5;

if(x!

=y)if(x>y)cout<<"x>y\n";

elsecout<<"x==y\n";

6.在面向对象的程序中有这样一段代码:

ComplexComplex∷operator+(Complex&c2)

{returnComplex(real+c2.real,imag+c2.imag);}

请判断它是什么性质的函数?

并简单说明之。

A.单个的运算符函数

B.普通函数

C.类的友元函数

D.类的成员函数

7.阅读以下程序,给出正确的答案。

(3分)

#include

usingnamespacestd;

intf(intx)

{inty=1;

staticintz=1;

y/=2;

z++;

returnx+y+z;

}

intmain()

{for(inti=0,w(3);i<3;i++)

cout<

return0;

}

A.345B.456C.567D.678

 

二、填空题(20分)

1.按照要求填写程序代码:

(10分)

a)给出一个已有的结构体类型的定义,要求自定义一个Time结构体类型,有二个分量:

inthour;intminute;

b)将Time类型的变量t嵌入Teacher类型,作为Teacher的一个分量;

structTeacher

{intnum;

charname[20];

charsex;

 

charroom[30];

};

c)定义一个Teacher类型的变量teach并初始化(根据下面的运行结果);

d)程序的运行结果为:

123zhangf1430上院100

填写主函数程序代码,输出个分量的值。

 

2.按要求填写程序代码:

(10分)

a)阅读以下程序,给出程序的运行结果;

#include

usingnamespacestd;

classpoint

{public:

voiddisp1()

{cout<<"x="<

point(intx1=10,inty1=15){x=x1;y=y1;}

protected:

intx;

inty;

};

intmain()

{pointa(100,150),b;

a.disp1();

b.disp1();

return0;

}

程序运行结果:

 

b)以上程序以公有继承方式生成派生类square类,按下面给出的程序运行结果和主函数的执行语句,填写square派生类所缺少的程序代码;

填写后程序的运行结果:

x=100y=150

len=30w=20

x=1y=1

len=1w=1

#include

classpoint

{public:

voiddisp1()

{cout<<"x="<

point(intx1,inty1){x=x1;y=y1;}

protected:

intx,y;

};

classsquare:

publicpoint

{public:

 

private:

intw;

intlen;

};

intmain()

{squarec(100,150,20,30),d;

c.disp2();

d.disp2();

return0;

}

 

三、阅读题(30分)

1.阅读以下程序,给出程序执行结果:

(9分)

#include

usingnamespacestd;

intmain()

{

intx,y,z;

x=y=z=0;

++x||++y||++z;

cout<<"x="<

x=y=z=-1;

++x&&++y&&++z;

cout<<"x="<

x=y=z=-1;y++;

++x||++y&&++z;

cout<<"x="<

return0;

}

 

程序运行结果:

 

2.阅读以下程序,给出程序的执行结果。

(8分)

#include

usingnamespacestd;

intmain()

{

intx=5,y=2,*p=&x,&z=y;

cout<

(y==x/2)<<",";

cout<<(y!

=x%3)<<",";

cout<<(x>0&&y<0)<<",";

cout<<(x!

=y||x>=y)<<",";

cout<

return0;

}

程序运行结果:

 

3.阅读以下程序:

(8分,2,2,2,2)

a)给出程序的功能说明;

b)当输入“-123”时,给出程序的输出结果,并正确输入它调用函数后的数据类型;

c)在关键语句处给出注释(注释写在注释标记处)。

//

#include

usingnamespacestd;

intmain()

{

charstr1[6],type[10];

intmyatoi(char*str);

cout<<"Inputastringwinthin6characters:

"<

cin>>str1;//

cout<

cout<<"请输入数据类型:

";

cin>>type;//

return0;

}

//

intmyatoi(char*str)

{

intret=0;

intsign=1;

if(*str=='-')

sign=-1;

else

ret=ret*10+(*str-'0');//

str++;

while(*str!

='\0')

{

ret=ret*10+(*str-'0');//

str++;

}

returnsign*ret;

}

程序运行结果和答题内容:

 

4.阅读以下程序,给出结果:

(5分,2,3)

#include

usingnamespacestd;

classA

{

public:

A(){cout<<"AConstructor"<

~A(){cout<<"ADestructor"<

};

classB:

publicA

{

public:

B(){cout<<"BConstructor"<

~B(){cout<<"BDestructor"<

};

voidmain()

{

Bb;

}

运行结果:

 

四、改错题(20分)

1.阅读以下程序,要求调用swap函数交换变量的值:

a)指出swap函数中的错误;

b)给出正确的程序代码(①采用指针作函数参数②采用引用作函数参数,并调整主函数中的相应代码)。

#include

intmain()

{voidswap(int*p1,int*p2);

int*pointer1,*pointer2,x,y;

cin>>x>>y;//输入3,6

pointer1=&x;

pointer2=&y;

if(x

cout<<"max="<

return0;

}

voidswap(int*p1,int*p2)

{int*temp;

temp=p1;

p1=p2;

p2=temp;

}

程序运行结果:

36

max=3min=6

a)回答问题:

b)①修改代码:

 

②修改代码:

 

2.阅读以下程序,指出程序中的错误,并给出Point类的正确代码:

a)指出程序中的错误;

b)并给出正确的程序代码:

include

usingnamespacestd;

classPoint

{

public:

Point(intx1,inty1);

private:

intx,y;

};

voidmain()

{

Pointp(6,9),p1;

cout<

cout<

}

正确程序的运行结果:

disp()output:

6

9

disp()output:

0

1

a)指出错误:

 

b)给出正确代码:

 

五、编程题(15分)

1.要求:

编写单一函数的程序,函数中定义两个(<20)字符数组并输入其值,比较二个字符串的大小,输出比较结果和比较到第几位字符。

第一次运行结果:

pleaseinputstringa

abcdefg

pleaseinputstringb

abcdhjk

stringaissmallerthanb,比较到第5位字符

第二次运行结果:

pleaseinputstringa

abcdeghj

pleaseinputstringb

abcdefgh

stringaisgreaterthanb,比较到第6位字符

第三次运行结果:

pleaseinputstringa

abcd

pleaseinputstringb

abcd

stringaisequaltob

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1