收藏 分销(赏)

C++程序设计模拟试题.doc

上传人:pc****0 文档编号:7180421 上传时间:2024-12-27 格式:DOC 页数:20 大小:124.50KB
下载 相关 举报
C++程序设计模拟试题.doc_第1页
第1页 / 共20页
C++程序设计模拟试题.doc_第2页
第2页 / 共20页
C++程序设计模拟试题.doc_第3页
第3页 / 共20页
C++程序设计模拟试题.doc_第4页
第4页 / 共20页
C++程序设计模拟试题.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、C+程序设计模拟试题一、选择和填空:1.C+程序的基本单位是( ) A. 程序行 B. 语句 C. 函数 D. 字符2.假设所有变量均为整型.则表达式(a=4,b=6,a+,a+b)的值是_3.下列程序段运行后x的值是:_a=b=c=0; x=35; if (!a) x-;else if (b); if ( c) x=3; else x=5;4. 若有定义: float w; int a, b; 则合法的switch语句是A. switch(w) case 1.0: cout*n; case 2.0: cout*n; B. switch(a); case 1 cout*n; case 2 co

2、ut*n; C. switch(b) case 1: cout*n; default: coutn; case 1: cout*n; D. switch(a+b) case 1: cout*n; case 2: cout*n; default: cout0; y-) if(y%3=0) cout- -y;continue;7.关于内嵌函数,以下说法正确的是:A.内嵌函数中可以存在循环结构和SWITCH结构.B.内嵌函数可以在调用之后定义,只要在调用前声明即可.C.使用内嵌函数可节省函数调用与返回时的开销,能够提高程序的运行速度.D.内嵌函数可长可短.8.下列程序的输出结果是: _int rfa

3、ct(int n) int c; if (n=1) c=1; else c=n*rfact(n-1); return ( c );void main( )coutrfact(5);9.以下程序的输出的结果是: _int x=3;void incre( ) static int x=1; x+; coutx;void main( ) int i;for (i=1;i=x;i+) incre( );10. 请选出以下程序的输出结果: _#define MIN(x,y) (x)(y)? (x):(y)void main() int i,j,k;i=10; j=15;k=10*MIN(i,j);cou

4、tk;11.若有下面的说明和定义,则sizeof (ua)和sizeof(aa)的值分别是 _struct aa short r1; double r2; float r3; union uu char u15;long u22; ua;mya;12.合法的数组定义是A. int a =”string” B. int a5=0,1,2,3,4,5C. char a=”string” D. char a =0,1,2,3,4,513.若有以下说明:int w34=0,1,2,4,5,8;int (*p)4=w;则数值为4的表达式是A. *w1+1B. p+, *(p+1) C.w22 D. P1

5、114.设有说明语句int (*ptr)m; 其中的标识符ptr是A.m个指向整型变量的指针B.指向m个整型变量的函数指针C.一个指向具有m个整型元素的一维数组的指针D.具有m个指针元素的一维指针数组,每个元素都只能指向整型变量15.若有以下说明:int a10=1,2,3,4,5,6,7,8,9,10, *p=a;则数值为6的表达式是A . *p+6B. *(p+6) C. *p+=5 D. P+516.有如下程序 include void main()char ch25=“6937”, “8254”, *p2; int i, j, s=0; for (i=0; i2; i+) pi=chi

6、; for (i=0; i0; j+=2) s=10*s+pij-0; coutsendl;该程序的输出结果是_17.下面程序的输出是 include sub1(char a, char b)char c; c=a; a=b; b=c;sub2(char *a, char b)char c; c=*a; *a=b; b=c;sub3(char *a, char *b)char c; c=*a; *a=*b; *b=c;void main() char a,b; a=A; b=B; sub3(&a,&b); coutab;a=A; b=B; sub2(&a,b); coutab;a=A; b=B

7、; sub1(a,b); coutadata.a D.p.data19.以下程序的输出结果是 _ include fun(int n,int *s) int f1,f2; if(n=1|n=2) *s=1; else fun(n-1,&f1); fun(n-2,&f2);*s=f1+f2; void main() int x; fun(6,&x); coutxendl;20.以下程序的输出结果是 _ include main() char *s=12134211; int v4=0,0,0,0,k,i; for(k=0;sk;k+) switch(sk) case 1:i=0; case 2:

8、i=1; case 3:i=2; case 4:i=3; vi+; for(k=0;k4;k+) coutvk;21.在c+类中,一个保护成员是通过关键字_加以说明的A.virtual B.protectedC.public D.protect22. 每个类()构造函数。A.只能有一个 B.只可有公有的 C.可以有多个 D.只可有缺省的23. 假定一个类的构造函数为A(intaa,intbb)a=aa-;b=a*bb-;,则执行A x(8,9);语句后,x.a和x.b的值分别为_24.类的释放函数是在什么时间被自动调用的?A.类创建时 B.创建对象时 C.删除对象时D.不自动调用25.若派生类

9、的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的()A.私有成员 B.公有成员 C.保护成员D.保护成员或私有成员26.在C+中,对于基类的public成员,当以protected方式派生一个新类时,该成员将成为派生类的_成员。A.private B.protected C.public D.非法27.C+对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是()A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念28.继承机制的作用是A.信息隐藏B.数据封装 C.定义新类 D.数据抽象29.下列哪一个不是类

10、的特性()A.多态性 B.继承性 C.封装性 D.虚拟性30若类Y是类X的友元类,则下列哪种访问关系是正确的A. 类Y的成员不能访问类X的私有成员B. 类Y的成员可以访问类X的私有成员C. 类X的成员可以访问类Y的私有成员D. 只有类X的公共成员才能访问类Y的私有成员31、在每个C+程序中都必须包含有这样一个函数,该函数是整个应用程序的入口,该函数的函数名为_。32、设x和y均为bool量,则x&y为假的条件是_。A. 它们均为真B. 其中一个为真C. 它们均为假D. 其中一个为假33、下面的哪个保留字不能作为函数的返回类型?_。A. voidB. intC. newD. long34、假定a

11、为一个整型数组名,则元素a4的字节地址为_。A. a+4B. a+8C. a+16D. a+3235、C+语言是从早期的C语言逐渐发展演变而来的。与C语言相比,它在求解问题方法上进行的最大改进是_。 A. 面向过程B.面向对象C.安全性D.复用性36、C+语言的跳转语句中,对于break和continue说法正确的是_。Abreak语句只应用于循环体中Bcontinue语句只应用于循环体中C. break是无条件跳转语句,continue不是D. break和continue的跳转范围不够明确,容易产生问题37、for(intx=0,y=0;!x&y=A & ch=Z Bch=ZC A=ch=

12、A & ch n;switch(n) case 1: case 2: cout 1; case 3: case 4: cout 2; break;default: cout 3;时,若键盘输入1,则屏幕显示_。51下列单词中,哪个是合法的C+变量名?A . x+y B. _xyz C. 8xyz D. 52 设x、y、z和k都是int型变量,则执行表达式: x=(y=7,z=14,k=21)后,x的值为_。53. 有如下程序void main() float x=2.0,y; if(x0.0) y=0.0;else if(x10.0) y=1.0/x; else y=1.0;couty;该程序

13、的输出结果是_。54 void main() int x=1,a=0,b=0;switch(x)case 0: b+;case 1: a+;case 2: a+;b+;couta”,”8;y=+i) coutx-“ ”y“ ”; 56 以下程序中,while循环的循环次数是 void main()int i=0;while(i10) if(i1) continue; if(i=5) break; i+;A. 1 B. 10 C. 6 D. 死循环,不能确定次数57 关于内嵌函数,以下说法错误的是:A.使用内嵌函数可节省函数调用与返回时的开销,能够提高程序的运行速度.B.内嵌函数必须在调用之前定

14、义.C.内嵌函数中可以存在循环结构.D.内嵌函数必须是短小的.58 以下程序的执行结果是:_。int fun(int n) int s; if(n= =1 | n= =2) s=2; else s=n-fun(n-1); return s;void main() coutfun(3); 59 下列程序的输出结果是:int x=10;int fun ( int x) static int a=3; a+=x;return(a); void main( ) int x=3,n; n=fun(x); coutn”,”; n=fun(x); coutn; 60. 下列程序执行后的输出结果是_。#def

15、ine MA(x) x*(x-1)void main() int a=1,b=2,c;c= MA(1+a+b); coutc;61 若有下面的说明和定义,则sizeof (struct aa)的值是_。struct aa short r1; double r2; float r3; union uu char u15;long u22; ua;mya;62. 给出以下定义:char x =”abcdefgh”;char y =a,b,c,d,e,f,g,h;则正确的叙述为A. 数组x和数组y等价 B.数组x和数组y的长度相同C. 数组x的长度大于数组y的长度 D.数组x的长度小于数组y的长度6

16、3. 以下程序的输出结果是_。 include main() int i, x33=1,2,3,4,5,6,7,8,9; for (i=0; i3; i+) coutxi2-i”,”;64 以下程序执行后,a的值是_。main()int a,k=4,m=6,*p1=&k,*p2=&m; a=p1=&m; coutaendl;65. 若有以下定义:char s20=”programming”, *ps=s;则不能代表字符o的表达式是A. ps+2 B. s2 C . ps2 D. ps+=2, *ps66 有以下程序 include void main() char a =”programmin

17、g”, b =”language” ; char *p1, *p2; int i; p1=a; p2=b;for (i=0; i7; i+)if (*(p1+i)=*(p2+i) cout*(p1+i);输出结果是_。67. 以下程序的输出结果是: include main() char ch34=“123”, “456”, “78”,*p3; int i; for(i=0;i3;i+) pi=chi; for(i=0;i3;i+) coutpi; 68. 有以下程序 include int fun (int x, int y, int *cp, int *dp) *cp=x+y; *dp=x

18、-y; void main() int a, b, c, d; a=30; b=50; fun (a, b, &c, &d) ; coutc”,”dendl;输出结果是_。69. 以下程序的输出结果是_。# include main() char *a= “abcdefghi”; int k; fun(a); couta;fun (char *s) int x,y; char c;for( x=0,y=strlen(s)-1;xy; x+) / strlen()函数返回参数字符串的实际长度 c=sy; sy=sx; sx=c; 70. 下面程序的输出是_。 include sub1(char

19、a, char b)char c; c=a; a=b; b=c;sub2(char *a, char b)char c; c=*a; *a=b; b=c;void main() char a,b;a=A; b=B; sub2(&a,b); coutab;a=A; b=B; sub1(a,b); coutab;71 一个类的构造函数( )。A. 可以有不同的返回类型 B. 只能返回整型C. 只能返回void型 D. 没有任何返回类型72 引入友元的主要目的是为了( )。A. 增强数据安全性 B. 提高程序的可靠性C. 提高程序的效率和灵活性 D. 保证类的封装性73 在c+中,一个虚函数是通过关

20、键字( )放在其基类说明的前面来加以说明。A. virtual B. protected C. operator D. this74. 对基类和派生类的关系描述中,错误的是()A. 派生类是基类的具体化 B. 基类继承了派生类的属性C. 派生类是基类定义的延续 D. 派生类是基类的特殊化75 在派生关系中,( )。A. 构造函数和释放函数是不能继承的B. 构造函数可以继承,但释放函数不可以继承C. 构造函数不可以继承,但释放函数可以继承D. 构造函数和释放函数都能继承76 类的构造函数被自动调用执行的情况是在定义该类的()A. 成员函数时 B. 数据成员时 C. 对象时 D.友元函数时77 假

21、定一个类的构造函数A(intaa,intbb)a=aa;b=a*bb;,则执行A x(4,5);语句后,x.a和x.b的值分别为_。78. 假定AB为一个类,则执行AB x;语句时将自动调用该类的A. 有参构造函数 B. 无参构造函数C. 拷贝构造函数 D. 赋值重载函数79下列不能作为类的成员的是()A. 自身类对象的指针 B.自身类对象C. 另一个类对象的指针 D.另一个类的对象80 在32位系统中,类的定义如下,试问类B的对象占据内存多少字节空间?_。 class A int b;protected: int a; public: A(int n)a=n;class B: public

22、A int c;81 C+语言中的每条基本语句以_作为结束符,每条复合语句以_作为结束符。82、执行“cout char(C+6)endl;”语句后得到的输出结果为_。83、假定一个一维数组的定义为“char * a10 ;”,则该数组所含元素的个数为_,所占存储空间的字节数为_。84、变量分为全局和局部两种,_变量没有赋初值时,其值是不确定的。85、假定a是一个二维数组,则aij的指针访问方式为_。86、假定一个结构类型定义为“struct D int a ; union int b ; double c ; ; D * d2 ; ;” ,则该类型的大小为_字节。87、对一个类中的数据成员的

23、初始化可以通过类中的_函数实现,而释放一个类对象之前自动调用的为_函数。88、字符串以_为结束标志。二、给出下列程序运行后的输出结果1、# include void SB(char ch) switch(ch) case A: case a: cout well!; break; case B: case b: cout good!; break; case C: case c: cout pass!; break; default: cout nad!; break; void main() char a1=b,a2=C,a3=f; SB(a1);SB(a2);SB(a3);SB(A); c

24、out endl;2、# include # include void main() char *a5=student,worker,cadre,soldier,peasant; char *p1,*p2; p1=p2=a0; for (int i=0; i0) p1=ai; if (strcmp(ai,p2)0) p2=ai; cout p1 p2endl;3、# include int a=5;void main() int a=10,b=20; cout a bendl; int a=0,b=0; for (int i=1; i6; i+) a+=i; b+=a; cout a b :a

25、endl; cout a bendl;4、# include int LB(int *a,int n) int s=1; for (int i=0; in; i+) s*=*a+; return s;void main() int a=1,2,3,4,5,6,7,8; int b=LB(a,5)+LB(&a3,3); cout b=bendl;5、# include # include struct Worker char name15; / 姓名 int age; / 年龄 float pay; / 工资;void main() Worker x; char *t=liouting; int

26、 d=38; float f=493; strcpy(x.name,t); x.age=d; x.pay=f; cout x.name x.age x.payendl;6、# include class A int a;public: A(int aa=0) a=aa; A() cout Destructor A!aendl; ;class B:public A int b;public: B(int aa=0,int bb=0):A(aa) b=bb; B() cout Destructor B!bendl; ;void main() B x(5),y(6,7); / 后定义的变量将先被释放

27、7.#include class samplepublic:sample();sample(int);sample();void display();protected:int x;sample:sample()x=0;cout”constructing normallyn”;sample:sample(int m)x=m;cout”constructing with a number:”xendl;sample:sample()cout”destructingn”;void sample:display()cout”display a number:”xendl;void main()sam

28、ple obj1;sample obj2(20);obj1.display();obj2.display();8、#include class complexpublic:complex(double ,double );complex(complex&);complex();complex operator +(complex&);complex& operator =(complex&);void display();protected:double real;double image;complex:complex(double x,double y)real=x,image=y;com

29、plex:complex(complex& x)cout”Runing copy constructorn”real=x.real;image=x.image;complex:complex()real=image=0.0;complex complex:operator +(complex& x)return complex(real+x.real,image+x.image);complex& complex:operator =(complex&x)cout”Runing assign operatorn”;real+=x.real;image+=x.image;return *this

30、;viod complex:display()coutreal”+”image”i”endl;void main()complex c1(2,5);complex c2(c1);complex c3;c3=c1+c2;c3.display();9、源程序:#include long fac(int n) long f; if (n0) coutn0,data error!endl; else if (n=0) f=1; else f=fac(n-1)*n; return(f);void main() long fac(int n); int n; long y; coutn; y=fac(n); coutn!=yendl;程序运行后,从键盘输入5,则输出结果是_三、编程题:见实验三到

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服