华南理工大学《高级语言程序设计C》期末练习题.docx

上传人:b****2 文档编号:999567 上传时间:2023-04-30 格式:DOCX 页数:21 大小:62.86KB
下载 相关 举报
华南理工大学《高级语言程序设计C》期末练习题.docx_第1页
第1页 / 共21页
华南理工大学《高级语言程序设计C》期末练习题.docx_第2页
第2页 / 共21页
华南理工大学《高级语言程序设计C》期末练习题.docx_第3页
第3页 / 共21页
华南理工大学《高级语言程序设计C》期末练习题.docx_第4页
第4页 / 共21页
华南理工大学《高级语言程序设计C》期末练习题.docx_第5页
第5页 / 共21页
华南理工大学《高级语言程序设计C》期末练习题.docx_第6页
第6页 / 共21页
华南理工大学《高级语言程序设计C》期末练习题.docx_第7页
第7页 / 共21页
华南理工大学《高级语言程序设计C》期末练习题.docx_第8页
第8页 / 共21页
华南理工大学《高级语言程序设计C》期末练习题.docx_第9页
第9页 / 共21页
华南理工大学《高级语言程序设计C》期末练习题.docx_第10页
第10页 / 共21页
华南理工大学《高级语言程序设计C》期末练习题.docx_第11页
第11页 / 共21页
华南理工大学《高级语言程序设计C》期末练习题.docx_第12页
第12页 / 共21页
华南理工大学《高级语言程序设计C》期末练习题.docx_第13页
第13页 / 共21页
华南理工大学《高级语言程序设计C》期末练习题.docx_第14页
第14页 / 共21页
华南理工大学《高级语言程序设计C》期末练习题.docx_第15页
第15页 / 共21页
华南理工大学《高级语言程序设计C》期末练习题.docx_第16页
第16页 / 共21页
华南理工大学《高级语言程序设计C》期末练习题.docx_第17页
第17页 / 共21页
华南理工大学《高级语言程序设计C》期末练习题.docx_第18页
第18页 / 共21页
华南理工大学《高级语言程序设计C》期末练习题.docx_第19页
第19页 / 共21页
华南理工大学《高级语言程序设计C》期末练习题.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

华南理工大学《高级语言程序设计C》期末练习题.docx

《华南理工大学《高级语言程序设计C》期末练习题.docx》由会员分享,可在线阅读,更多相关《华南理工大学《高级语言程序设计C》期末练习题.docx(21页珍藏版)》请在冰点文库上搜索。

华南理工大学《高级语言程序设计C》期末练习题.docx

华南理工大学《高级语言程序设计C》期末练习题

华南理工大学《高级语言程序设计(C--)》期末练习题

《高级语言程序设计(C++)》练习题

一.单项选择题

1.用C++语言编制的源程序要变为目标程序必须要经过()。

(a)解释(b)汇编(c)编辑(d)编译

2.执行C++程序时出现的“溢出”错误属于()错误。

(a)编译(b)连接(c)运行(d)逻辑

3.按C++标识符的语法规定,合法的标识符是()。

(a)abc(b)new(c)π(d)"age"

4.计算表达式x=a=4,b=x++后,变量x,a,b的值分别是:

()

(a)4,4,4(b)4,4,5(c)4,5,5(d)5,4,4

5.表达式1/2*2.0的值是:

()

(a)2(b)1(c)0.5(d)0

X==2||X==3||X==4

(c)1

(X<=1)&&!

(X>=5)

10.设inta=1,b=2,c=3,d=4;则以下条件表达式的值为()。

a

a:

c

c:

d

(a)1(b)2(c)3(d)4

11.以下逗号表达式的值为()。

(a=5/2,a*5),a*5

(a)2(b)10(c)15(d)50

12.设intx=1,y=3,能正确表示代数式3x|x-y|的C++表达式是()。

(a)abs(x-y)*3*x(b)3x(abs(x-y))

(c)3x||(x-y)(d)3*x*(x-y)||3*x*(y-x)

13.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是()。

(a)if(x&&y)i++;(b)if(x=y)i++;

(c)if(x||y)i++;(d)if(!

x)i++;

14.已知inti=0,x=0;下面while语句执行时循环次数为()。

while(!

x&&i<3){x++;i++;}

(a)4(b)3(c)2(d)1

15.已知inti=3;下面do_while语句执行时循环次数为()。

do{i--;cout<

=1);

(a)1(b)2(c)3(d)无限

16.下面for语句执行时循环次数为()。

for(inti=0,j=5;i=j;)

{cout<

i++;j--;

}

(a)0(b)5(c)10(d)无限

17.执行以下程序段后,屏幕的显示结果是()。

i=10;s=0;do{s=s+i;i++;}while(i<=10);cout<

(a)10(b)11(c)12(d)21

18.已知intx=1,y=0,w;执行下面程序段后,w的值为()。

if(x)if(y)w=x&&y;elsew=y;

(a)0(b)-1(c)1(d)不确定

19.执行语句x=1;while(++x<7)cout<<’*’;后输出结果是:

()

(a)*****(b)******(c)*******(d)********

20.执行以下程序段后,屏幕的显示结果是()。

inti=0;do{i++;}while(i<=0);cout<

(a)0(b)1(c)2(d)3

21.以下正确的函数原型为()。

(a)f1(intx;inty);(b)voidf1(x,y);

(c)voidf1(intx,y);(d)voidf1(int,int);

22.有函数原型voidfun2(int);下面选项中,不正确的调用是()。

(a)intx=21;fun2(x);(b)inta=15;fun2(a*3);

(c)intb=100;fun2(&b);(d)fun2(256);

23.有函数原型voidfun3(int*);下面选项中,正确的调用是()。

(a)doublex=2.17;fun3(&x);(b)inta=15;fun3(a*3.14);

(c)intb=100;fun3(&b);(d)fun3(256);

24.有函数原型voidfun4(int&);下面选项中,正确的调用是()。

(a)intx=2.17;fun4(&x);(b)inta=15;fun4(a*3.14);

(c)intb=100;fun4(b);(d)fun4(256);

25.有声明intfun5(int);int(*pf)(int)=fun5;

下面选项中,正确的调用是()。

(a)inta=15;intn=fun5(&a);(b)inta=15;cout<<(&pf)(a);

(c)cout<<(*pf)(256);(d)cout<<*pf(256);

26.以下对一维数组a的正确定义是()。

(a)intn=5,a[n];(b)inta(5);

(c)constintn=5;inta[n];(d)intn;cin>>n;inta[n];

27.下列数组定义语句中,不合法的是()。

(a)inta[3]={0,1,2,3};(b)inta[]={0,1,2};

(c)inta[3]={0,1,2};(d)inta[3]={0};

28.已知inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则不能表示数组a中元素的式子是()。

(a)*a(b)*p(c)a(d)a[p-a]

29.以下不能对二维数组a进行正确初始化的语句是()。

(a)inta[2][3]={0};

(b)inta[][3]={{0,1},{0}};

(c)inta[2][3]={{0,1},{2,3},{4,5}};

(d)inta[][3]={0,1,2,3,4,5};

30.已知inta[][3]={{0,1},{2,3,4},{5,6},{7}};则a[2][1]的值是()。

(a)0(b)2(c)6(d)7

31.已知inta[3][3]={1,2,3,4,5,6,7,8,9};则不能表示数组元素a[2][1]的地址是()。

(a)&a[2][1](b)*(a[2]+1)(c)a[2]+1(d)*(a+2)+1

32.已知char*a[]={"fortran","basic","pascal","java","c++";则cout<

(a)t(b)一个地址值(c)java(d)javac++

33.若用数组名作为调用函数的实参,则传递给形参的是()。

(a)数组存贮首地址(b)数组的第一个元素值

(c)数组中全部元素的值(d)数组元素的个数

34.设有变量定义inta[]={3,5,7,9,11},*p=a+2,y;执行语句y=*p;后,变量y的值是:

()

(a)6(b)7(c)8(d)9

35.设有变量定义inta[3][4];能够表示元素a[2][1]的值有:

()

(a)*a[2]+1(b)&a[2][1](c)*a[2][1](d)*(a[2]+1)

36.设有说明语句char*s=”ABCD”;下列选项中,输出字符”CD”的代码是:

()

(a)cout<<*s+2;(b)cout<

(c)cout<

37.一个5个元素的一维数组,其元素类型是整型指针。

正确定义是:

()

(a)intp*[5](b)*intp[5]

(c)*pint[5](d)int*p[5]

38.有变量说明

structptype{intx;inty;};

ptypepoint,*p=&point;

以下正确的引用是:

()

(a)*p.y(b)p->x(c)point->x(d)(*point).y

39.已知inta[][3]={{0,1},{2,3,4},{5,6},{7}};则a[2][2]的值是()。

(a)1(b)3(c)6(d)0

40.有intary[5]={1,2,3,4,5};以下表达式值等于3的是()。

(a)ary[ary[1]](b)ary[3](c)*(ary+3)(d)*ary+3

41.有关类和对象的说法不正确的是()

(a)对象是类的一个实例

(b)一个类只能有一个对象

(c)任何一个对象只能属于一个具体的类

(d)类与对象的关系和数据类型与变量的关系相似

42.若有以下说明,在类外使用对象objX成员的正确语句是()。

classX

{inta;

voidfun1();

public:

voidfun2();

};

XobjX;

(a)objX.a=0;(b)objX.fun1();(c)objX.fun2();(d)X:

:

fun1();

43.在类定义的外部,可以被访问的成员有()。

(a)所有类成员(b)private或protected的类成员

(c)public的类成员(d)public或private的类成员

44.说明一个类的对象时,系统自动调用();撤消对象时,系统自动调用()。

(a)成员函数(b)构造函数(c)析构函数(d)友员函数

45.下面对构造函数的不正确描述是()。

(a)系统提供默认的构造函数(b)构造函数可以有参数,所以也可以有返回值

(c)构造函数可以重载(d)构造函数可以设置默认参数

46.下面对析构函数的正确描述是()。

(a)系统不提供默认的析构函数(b)析构函数必须由用户定义

(c)析构函数没有参数,也没有返回值(d)析构函数可以设置默认参数

47.关于类的静态成员的不正确描述是()。

(a)静态成员不属于对象,是类的共享成员

(b)静态数据成员要在类外定义和初始化

(c)静态成员函数不拥有this指针,需要通过类参数访问对象成员

(d)只有静态成员函数可以操作静态数据成员

48.当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的()。

(a)public成员(b)private成员(c)protected成员(d)友员

49.当一个派生类私有继承一个基类时,基类中的所有公有成员和保护成员成为派生类的()。

(a)public成员(b)private成员(c)protected成员(d)友员

50.当一个派生类保护继承一个基类时,基类中的所有公有成员和保护成员成为派生类的()。

(a)public成员(b)private成员(c)protected成员(d)友员

51.不论派生类以何种方式继承基类,都不能直接使用基类的()。

(a)public成员(b)private成员

(c)protected成员(d)public成员和protected成员

52.在c++中,可以被派生类继承的函数是()。

(a)成员函数(b)构造函数(c)析构函数(d)友员函数

53.在C++中,要实现动态联编,必须使用()调用虚函数。

(a)类名(b)派生类指针(c)对象名(d)基类指针

54.下列函数中,不能说明为虚函数的是()。

(a)私有成员函数(b)公有成员函数(c)构造函数d)析构函数

55.在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值()。

(a)相同(b)不同(c)相容(d)部分相同

56.下面函数原型中,()声明了fun为纯虚函数。

(a)voidfun()=0;(b)virtualvoidfun()=0;

(c)virtualvoidfun();(d)virtualvoidfun(){};

57.若一个类中含有纯虚函数,则该类称为()。

(a)基类(b) 纯基类(c)抽象类(d)派生类

58.下列流类中可以用于处理文件的是()。

(a)ios(b)iostream(c)strstream(d)fstream

59.在下列选项中()是istream类的对象。

(a)cerr(b)cin(c)clog(d)cout

60.要求打开文件D:

\file.dat,并能够写入数据,正确的语句是()。

(a)ifstreaminfile(“D:

\\file.dat”,ios:

:

in);

(b)ifstreaminfile(“D:

\\file.dat”,ios:

:

out);

(c)ofstreamoutfile(“D:

\\file.dat”,ios:

:

in);

(d)fstreaminfile(“D:

\\file.dat”,ios:

:

in|ios:

:

out);

二.写出下列程序的执行结果

1.#include

usingnamespacestd;

intmain()

{inti=1;

switch(i)

{case1:

i++;

case2:

i++;

case3:

i++;break;

default:

i++;}

cout<<"i="<

}

2.#include

usingnamespacestd;

intmain()

{inti=1;

while(i<=10)

if(++i%3!

=1)

continue;

elsecout<

}

3.#include

usingnamespacestd;

intmain()

{inti=1;

while(i<=10)

{if(i%2)

cout<

i++;}

cout<

}

4.#include

usingnamespacestd;

intmain()

{inta=0;

for(inti=1;i<=3;i++)

{switch(i)

{case1:

a=i;break;

case2:

a+=i;break;

case3:

a*=i;

}

cout<<"a="<

}

}

5.#include

usingnamespacestd;

intmain()

{inti,j,k;

for(i=1;i<=5;i++)

{for(k=1;k<=5-i;k++)cout<<"";

for(j=1;j<=2*i-1;j++)cout<<"*";

cout<

}

6.#include

usingnamespacestd;

#include

intf(int);

intmain()

{inti;

for(i=0;i<3;i++)

cout<

}

intf(inta)

{intb=0,c=1;

b++;c++;

returnint(a+pow(double(b),2)+c);

}

7.#include

usingnamespacestd;

intf(int);

intmain()

{inta=1,i;

for(i=0;i<3;i++)

cout<

intf(intx)

{inty=1;staticintz=3;

y=y+10;z=z+20;

return(x*y+z);}

8.#include

usingnamespacestd;

intmain()

voidf(intm)

{cout<

if(m>1)

f(m-1);}

intmain()

{f(4);cout<

9.#include

usingnamespacestd;

intmain()

{inti,count=0,sum=0;

doubleaverage;

inta[]={1,2,3,4,5,6,7,8,9,10};

for(i=0;i<10;i++)

{if(a[i]%2==0)continue;

sum+=a[i];

count++;

}

average=sum/count;

cout<<"count="<

}

10.#include

usingnamespacestd;

intmain()

{inta[]={4,3,1,-7,10,12,-2,6,9,25};

inti,m;

m=a[0];

for(i=1;i<10;i++)

if(a[i]

cout<<"datais"<

}

11.#include

usingnamespacestd;

intf(intb[],intm,intn)

{inti,s=0;

for(i=m;i

returns;}

intmain()

{intx,a[]={1,2,3,4,5,6,7,8,9};

x=f(a,3,6);

cout<

x=f(a,6,9);

cout<

}

12.#include

usingnamespacestd;

classA

{public:

intf1();intf2();

voidsetx(intm){x=m;cout<

voidsety(intn){y=n;cout<

intgetx(){returnx;}

intgety(){returny;}

private:

intx,y;

};

intA:

:

f1(){returnx+y;}

intA:

:

f2(){returnx-y;}

intmain()

{Aa;a.setx(10);a.sety(5);

cout<

cout<

}

13.#include

usingnamespacestd;

classB1

{public:

B1(inti){cout<<"调用基类B1的构造函数:

"<

classB2

{public:

B2(intj){cout<<"调用基类B2的构造函数:

"<

classD:

publicB1,publicB2

{public:

D(inta,intb,intc):

B2(b),B1(c),b1(a)

{cout<<"调用派生类D的构造函数:

"<

private:

B1b1;};

intmain()

{Dobj(3,2,1);}

三.程序填空题

1.给定函数

下列程序从键盘上输入x的值,求y的值,在横线上填上适当的内容。

#include

usingnamespacestd;

intmain()

{intx,y,k;

cin>>x;

k=__

(1)_;

switch(k)

{case1:

y=2*x;__

(2)_;

case0:

y=x+10;

}

cout<<"y="<

}

2.下面程序的功能是输入一串字符,以“?

”号结束,统计其中字母个数和数字个数,在横线上填上适当内容。

#include

usingnamespacestd;

intmain()

{intnl=0,ng=0;

charch;

cin.get(ch);

while(ch!

='?

')

{if(________(3)_______)

++nl;

else

i

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

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

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2