《VC程序设计》期末复习题集学生用Word文件下载.docx

上传人:b****2 文档编号:15117509 上传时间:2022-10-27 格式:DOCX 页数:23 大小:26.41KB
下载 相关 举报
《VC程序设计》期末复习题集学生用Word文件下载.docx_第1页
第1页 / 共23页
《VC程序设计》期末复习题集学生用Word文件下载.docx_第2页
第2页 / 共23页
《VC程序设计》期末复习题集学生用Word文件下载.docx_第3页
第3页 / 共23页
《VC程序设计》期末复习题集学生用Word文件下载.docx_第4页
第4页 / 共23页
《VC程序设计》期末复习题集学生用Word文件下载.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

《VC程序设计》期末复习题集学生用Word文件下载.docx

《《VC程序设计》期末复习题集学生用Word文件下载.docx》由会员分享,可在线阅读,更多相关《《VC程序设计》期末复习题集学生用Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。

《VC程序设计》期末复习题集学生用Word文件下载.docx

’\n’;

}

程序的输出第一行是3,第二行是0。

7.[程序](2分)

intf(char*s)

{char*p=s;

while(*p)p++;

returnp-s;

}

f(“ABCDEF”);

程序的输出是6,函数f的功能是求字符串的长度。

8.[程序](2分)

voidf(int*s)

{staticintj;

do{s[j]+=s[j+1];

}while(++j<

2);

voidmain(void)

{intk,a[10]={1,2,3,4,5};

for(f(a),k=0;

k<

5;

k++)cout<

a[k];

cout<

endl;

for(f(a),k=0;

程序输出的第一行是35345,程序输出的第二行是35745。

9.[程序](3分)

intk=1;

voidf(intm)

{m+=k;

k+=m;

{chark=’B’;

cout<

k-‘A’<

m<

’,’<

k<

{inti=4;

f(i);

i<

程序的输出第一行是1,第二行是5,6,第三行是4,6。

10.[程序](2分)

classA{

protected:

intx;

public:

int&

Access(){returnx;

};

classB{

classC:

publicA,publicB{

inty;

C(inta,intb,intc)

{A:

:

x=a;

B:

x=b;

y=c;

Accessy(){returny;

classD:

publicC{

intz;

D(inta,intb,intc,intd):

C(a,b,c){z=d;

Accessz(){returnz;

voidmain()

{Dd(35,100,300,500);

d.A:

Access()+=20;

d.B:

Access()+=d.B:

Access();

d.A:

Access()<

'

'

d.B:

\n'

d.Accessy()<

d.Accessz()<

程序的输出第一行是55,200,第二行是300,500。

11.[程序](2分)

classShape{

Shape(){}

virtualintArea()=0;

classCircle:

publicShape{

intr;

Circle(intc){r=c;

intArea(){returnint(3.1415*r*r);

classRectangle:

inth,w;

Rectangle(intc,intd){h=c;

w=d;

intArea(){returnh*w;

voidfun(Shape&

s){cout<

s.Area()<

{Circlec(4);

fun(c);

Rectangler(10,2);

fun(r);

程序的输出第一行是50,第二行是20。

●完善程序题,共12分

12.下面的程序是统计学生中A类学生与B类学生各多少。

A类学生的标准

是平均分在80分以上,其余都是B类学生。

[程序](5分)

int&

level(intgrade[]或int*grade,intsize,int&

tA,int&

tB)

{inti,sum;

for(i=0,sum=0;

size;

i++)sum+=grade[i];

sum/=size;

if(sum>

=80)returntA;

elsereturntB;

{inta[][4]={{60,80,90,75},{75,85,65,77},{80,88,90,98},

{89,100,78,81},{62,68,69,75},{86,85,77,91}};

inti,A=0,B=0;

for(i=0;

sizeof(a)/sizeof(a[0]);

i++)

level(a[i],4,A,B)++;

A类学生人数为"

A<

B类学生人数为"

B<

13.以下程序中,数组类DArr通过重载运算符“<

”实现数组元素的顺序查找。

顺序查找法的思路是:

从第一个元素开始,从前向后依次与关键字比较,直到找到此元素或查找到数组尾部时结束。

若找到,返回此元素的下标;

否则返回-1。

classDArr{

int*a,n;

//分别为动态数组的指针和元素个数

DArr(constint*b=0,constintm=0)

{if(b)

{a=newint[n=m];

for(inti=0;

n;

i++)a[i]=b[i];

}elsea=0,n=0;

~DArr(){delete[]a;

Elem(inti){returna[i];

intoperator<

(intf)//在当前对象中顺序查找值为f的元素

{for(inti=0;

if(a[i]==f)returni;

return-1;

voidmain(void)

{inti,a[5]={1,2,5,0,-1};

DArrd(a,5);

if((i=d<

2)!

=-1)//在d中查找值为2的元素

cout<

找到指定元素,其下标为"

,值为"

d.Elem(i)<

elsecout<

未找到指定元素\n"

14.下列程序使用递归算法实现单向链表操作,具有创建、显示、释放链表的功能。

structLnode

{doubledata;

Lnode*next;

voidShowList(Lnode*list)

{if(list)

{cout<

list->

data<

if(list->

next)ShowList(list->

next);

voidAddToEnd(Lnode*New,Lnode*&

head)

{if(head==NULL)head=New;

elseAddToEnd(New,head->

next);

voidDeleteList(Lnode*&

head)

{Lnode*p=head;

if(p)

{head=p->

next;

deletep;

if(head)DeleteList(head);

{Lnode*head=NULL,*temp;

temp=newLnode;

while(temp)

{temp->

next=NULL;

data?

cin>

>

temp->

data;

if(temp->

data>

0)AddToEnd(temp,head);

elsebreak;

temp=newLnode;

ShowList(head);

DeleteList(head);

一、填空题(30x2=60)

1.1、设有inta,b;

执行语句:

b=(a=2+3,a*4),a+5;

后,a+b的值为25

2、设指针p指向单向链表的某节点,p->

next指向p节点的下一个节点。

节点p是链表的倒数第三个节点的条件是:

p->

next->

next==NULL

3、执行下列语句序列后,变量i的值为,变量j的值为。

找不到匹配的答案

chars[20]=”123\0abc”;

inti=strlen(s),j=sizeof(s);

4、下列程序的运行结果是。

#include<

voidsub(int*x,intn,intk)

{if(k<

=n)sub(x,n,3*k);

*x+=k;

}

voidmain()

{intx=0;

sub(&

x,6,2);

x<

5、下列程序输出的第

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

当前位置:首页 > 人文社科 > 文学研究

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

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