华南理工大学《高级语言程序设计C》期末练习题.docx
- 文档编号:23386755
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:20
- 大小:33.19KB
华南理工大学《高级语言程序设计C》期末练习题.docx
《华南理工大学《高级语言程序设计C》期末练习题.docx》由会员分享,可在线阅读,更多相关《华南理工大学《高级语言程序设计C》期末练习题.docx(20页珍藏版)》请在冰豆网上搜索。
华南理工大学《高级语言程序设计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
6.下列选项中,()不能交换变量a和b的值。
(a)t=b;b=a;a=t;(b)a=a+b;b=a-b;a=a–b;
(c)t=a;a=b;b=t;(d)a=b;b=a;
7.有以下变量说明,下面正确的语句是()。
inta=10,b;int&pa=a,&pb=b;
(a)&pb=a;(b)pb=pa;(c)pb=&pa;(d)*pb=*pa;
8.执行下面语句序列后,a和b的值分别为()。
inta=5,b=3,t;
int&ra=a;
int&rb=b;
t=ra;ra=rb;rb=t;
(a)3和3(b)3和5(c)5和3(d)5和5
9.设X为整型变量,不能正确表达数学关系1<X<5的C++逻辑表达式是()。
(a)1 (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++;}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级语言程序设计C 华南理工大学高级语言程序设计C 期末练习题 华南理工大学 高级 语言程序设计 期末 练习题
![提示](https://static.bdocx.com/images/bang_tan.gif)