




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、使用前注意保密江苏科技大学非计算机专业学生Visual C+ 程序设计语言期末考试试卷代号:VC02说明:1、 本试卷为笔试题,含选择、填空、及编程三部分。2、 本试卷满分为100分,考试时间为120分钟。3、 所有答案必须写在答题纸上,否则不计成绩。3、 填空题,请注意空格号(不是题号)与答题纸上的编号对应。4、 答题纸上必须写明学号(含班级号)、姓名。计算机基础教研室一、选择题(10220分)1、设CH为字符型变量,则语句CH=CH+e-E;的作用可能是: (1) 。A将大写字母转换成对应的小写字母B将字母CH转换成eC将小写字母转换成对应的大写字母D将字母CH转换成E2、设有说明语句“i
2、nt a=4,b=5,c=6,d=7,m=1,n=1;”,则执行语句“c=(m=ab)&(n=cd);”后,m和n的值分别为 (2) 。A 1、1 B 1、0 C 0、1 D 0、03、下列数组的定义和使用中,正确的是 (3) 。Achar a20;a20=”Hello”;Bchar a20;a=”Hello”;Cint n=20;char an;Dchar a=”Hello”;4、设类A为类的基类,类为类的基类,并有如下定义:a1,*pa;B b1,*pb;C c1,*pc;则以赋值存在语法错误的是 (4) 。Apa=&b1Bpb=&c1;CA a2=&c1;Dpc=&b1;5、设有变量说明
3、“int a=1,b=2;float x=1.5,y=1.2;”,下列语句正确的是 (5) 。Ay=x%a;Bint(y)=a;Cx+y=a+b;Da=x+y;6、对于下面的一组函数:void fun (int a, float x);/ 函数1void fun (int a, int x);/ 函数2void fun (float a, float x );/ 函数3void fun (float a, int x );/ 函数4void fun (int a, int n);/ 函数5void fun (int *p, int n); / 函数6以下说法不正确的是: (6) 。A函数1和函
4、数2可以构成重载函数;B函数1和函数4可以构成重载函数;C函数3和函数4可以构成重载函数;D函数5和函数6可以构成重载函数;7、对于下列函数说明及变量定义:int fun1 (int a, int x);void fun2 (int a, int x); void fun3(int a, int n);void fun4(int *p, int n);int a=5, b=10, c5=0;float x=1.5;下列语句序列各自独立编译时产生错误信息的是 (7) 。A. fun2(fun1(a,b),a);B. fun1(x,a);C. fun3(c4,5); Dfun4(c,5);8、设有
5、指针变量定义:int *p1, *p2; float x; float *p3=&x, *p4=&x; 下列语句序列各自独立编译时产生错误或警告信息的是 (8) 。A. *p1=*p2=2;B. p3=p4=NULL;C. p3=p4+1; Dint a=p3p4;9、对于任意一个类,下列说法正确的是 (9) 。A. 不一定有析构函数B. 可以有多个析构函数C. 析构函数没有参数 D. 析构函数允许重载10、若有定义“int a5,*p=a;”,则对a数组元素的引用正确的是 (10) 。A. *&a5B. a+2C. *(p+5)D. *(a+2)二、填空题(30260分)基本概念题1、数学表
6、达式(b2-4ac)1/2在C+的程序中就写成(1) 。2、执行完下列C+语句序列后,a的值为 (2) 。int x=1,y=0,a=3;a=(-x=y+)?y?x:y:a+=-y;3、设有宏定义:#define F(x,y,z) x/y*z执行语句:int b=F(3+4,2+2,4+4);后变量b的值为 (3) 。4、设已定义了一个类A,执行语句A s1,*s2,s32,*s42;时,调用类A的构造函数的次数是 (4) 。5、运算符重载函数的关键字是 (5) 。6、C+语言规定,函数的缺省返回值的类型为 (6) 。7、类的三大特性是: (7) 、 (8) 和 (9) 。阅读程序题8、程序
7、#include void main(void) int a=0,b=0,i=0,j=0; while(i5) a+;while(j5) if(j+1)%2) b+; break;a+; j+; i+;cout a= a endl;cout b= b endl;程序输出的第一行是 (10) ,第二行是 (11) 。 9、程序#includeint a=10;void fun(void)int a=15; :a-=-a; cout:atan;void main(void) int a=15; for(int i=-10;ia+:a;i+) fun();执行上述程序时,第1行输出为 (12) ,第
8、2行输出为 (13) ,第3行输出为 (14) 。10、程序 #include int fun(int a, int b)static int m;int n=0, k=0;m+; n+;if(a&b)k+=fun(a-n, b+m); else m+=2;n+=2; coutm,n,kendl; return k;void main(void) coutfun(4, -6)endl;程序输出的第一行是 (15) ,第二行是 (16) ,第三行是 (17) 。 11、程序 #include class Aprotected: int a, b;public:A(int t1,int t2) a
9、=t1; b=t2; virtual int fun1 ( ) return (a*b); virtual int fun2 ( ) return (a-b); int fun3( ) return (a+b); ;class B: public A int c, d;public:B(int t):A(4*t,2*t) c=2*t; d=t; int fun2 ( ) return (a+b-c-d); int fun3( ) return (a+b+c+d); ;void main ( void ) A a1(0,0), *pa;B b1(2);a1=b1; couta1.fun1()ta
10、1.fun2() ta1.fun3( )endl; pa=&b1; coutfun1()tfun2() tfun3()endl;程序输出的第一行是 (18) ,第二行是 (19) 。12、程序#include class A int a;public: A(int x) a=x;coutA; int geta( )return a; A( ) cout An; ;class B protected: int b;public: B(int x) b=x;coutB; B( ) coutBn; ;class C:public B int c; A a1;public: C(int x,int y
11、,int z):a1(y),B(z) c=x;coutC; void show() couta1.geta()tbtcn; C( ) coutCn; ;void main( ) C c1(2,5,7); coutendl; c1.show( ); coutendl; 执行上述程序时,第1行输出为 (20) ,第2行输出为 (21) 。完善程序题13、以下程序打印所有符合下列条件的3位正整数:是某一个数的平方,其中有两位数字相同。如100、121等,请完善程序。#include void main()int a,b,c,n,k;for(k=10;k+) (22) ; if(n999) break
12、;a=n/100;b= (23) c=n%10;if( (24) )coutn kn;14、以下程序中的sort函数,采用间接选择排序法,对具有n个元素的一维数组a进行降序排列,第i趟排序时,首先找到当前最大元素的位置k,然后将ak放到ai处。请完善程序。#include(25) ;void main(void )int b15=4,8,7,3,15,11,14,12,1,13,6,2,9,10,5,i=0;sort( (26));while(i15)coutbi t;i+;if(i%5=0)coutn;coutn;void sort(int a,int n)int i,j,k;for(i=0
13、;in-1;i+)k=i;for(j=i+1;jnext!=NULL)p1=p;p2=p-next;while(p2!=NULL)if( (28) )p1=p2;p2=p2-next;if(p!=p1)int t;t=p-data;p-data= (29) ;p1-data=t; (30) ;return head;三、编程题(20分)定义一个字符串类STR,将字符串中的数字字符移至字符串前部,其他非数字字符符移至字符串后部,同时保证数字字符之间以及非数字字符之间的相对位置不变。如,字符串“ab12cd56AC78”处理后变为“125678abcdAC”。具体要求如下:(1)私有成员数据:ch
14、ar *s; 指向成员字符串;(2)公有成员函数:l STR(char *p);构造函数,用字符串p初始化成员字符串数据。注意申请动态内存;l STR();析构函数,释放对象所占用的动态内存。l int ischar(char t); 判断字符t是否为数字字符,如果是,则返回值为1,否则返回值为0。l void fun(); 按题意处理成员字符串s。使用如下算法:a) 通过指针p逐位判断每个字符;b) 如果p所指向的字符不是数字字符,则通过指针p1寻找其后的第一个数字字符;c) 将p1和p之间的字符逐位后移,并将原先p1所指向的字符放到p所指向的位置;d) 指针p指向下一个字符。重复步聚a到d
15、,直至所有字符处理完毕。l void print(); 输出成员字符串。(3)在主函数中定义一个字符数组,使用getline函数从键盘输入一个长度小于20的字符串,并使用该字符串对类STR进行测试。Visual C+ 程序设计语言期末考试试卷代号:VC02VC+试题(02#) 共 9 页,第 1 页 参考答案:一、选择(10220分)15:ACDDD610:DCACD二、填空:(30260分)1、sqrt(b*b-4*a*c)16、6, 1, 02、017、6, 1, 03、1718、32 4 124、319、32 6 125、operator20、BAC6、int21、5 7 27、封装22、n=k*k8、继承23、n/10%10 或 n%100/109、多态24、a=b|b=c|c=a10、a=525、void sort(int , int)11、b=526、b, 1512、-4 1427、ajak13、-18 1428、p1-datap2-data14、-32 1429、p1-data15、6, 3, 030、p=p-next三、编程题(20分)#include#include /1class STRchar *
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 买卖合同担保人协议书
- 逾期仲裁调节协议书
- 装修合同毁约协议书
- 餐饮招收学员协议书
- 音乐机构合伙协议书
- 高考志愿招生协议书
- 鱼塘投股合同协议书
- 食堂劳务外包协议书
- 食品转让合同协议书
- 赌博自愿离婚协议书
- mq135空气质量检测传感器说明书空气污染控制用
- 国家开放大学《监督学》形考任务( 1-4)试题和答案解析
- 试卷交接签字单
- 高考化学答题技巧与规范课件
- 2022届高考英语复习:最后一节英语课(13张PPT)
- 加强评标专家管理实施方案
- 股票实战技巧(一)薛斯通道_CCI_DMI经典指标组合
- 小学生德育教育ppt课件
- 配电箱系统图
- 精选静电感应现象的应用练习题(有答案)
- 初中音乐--人声的分类--(1)pptppt课件
评论
0/150
提交评论