南京理工大学C++期末试卷2006
更新时间:2024-01-26 11:22:02 阅读量: 教育文库 文档下载
一.选择题(1题1分,共20分)
1. 以下选项中,哪一个是合法的字符常量 A. \ B. '\\010' C. A D. 65
2. 表达式 \的值是 A. -3 B. 6 C. 8 D. 12
3. 有以下的程序段,其输出结果是 int x, y, z; x=y=z=0; x=++x || ++y &&++z; cout< 4. 以下程序的执行结果是 #include void main( ) { OBJ obj(3); ++obj; obj.Show( ); } A. 3 B. 4 C. 0 D. 1 5. 设有以下程序段: int a[5]={0}, *p, *q; p=a; q=a; 则下列选项中,合法的运算表达式是 A. p-q B. p+q C. p*q D. p%q 6. 假设MyClass为一个类,则该类的拷贝的构造函数的声明语句为 A. MyClass& (MyClass x); B. MyClass (MyClass x); C. MyClass (MyClass &x); D. MyClass (MyClass *x); 7. 以下程序的执行结果是 #include void main( ) { char s[ ]=\ s[3]='\\0'; cout< 8.下面关于纯虚函数与抽象类的描述中,错误的是 A. 纯虚函数是一种特殊的虚函数,它没有具体的实现 B. 抽象类是指具有纯虚函数的类 C. 一个基类中如果具有纯虚函数,该基类的派生类不能再是抽象类 D. 抽象类只能作为基类来用,其纯虚函数的实现由派生类给出 9. 以下程序段的输出结果是: int x=5; do{ x--; }while(!x); cout< 10. 下列虚基类的声明中,正确的是 A. class virtual B: public A B. virtual class B: public A C. class B: public A D. class B: virtual public A 11. 以下四组语句中不符合C++语法规则的是 A. char s[ ]=\ B. char s[20]; s=\C. char *p=\ D. char *p; p=\ 12. 类MyClass 的定义如下: class MyClass { int value; public: MyClass( ) {value=0; } setVariable( int i) { value=i; } }; 则以下各项对下面语句的描述中,正确的是 MyClass *p, my; p=&my; A. 语句 \是把对象my赋值给指针变量p B. 语句 \调用了两次构造函数 C. 语句 \是正确的调用形式 D. 语句 \与语句 \是等价的 13. 下面函数的功能是 int fun( char *x) { char *y=x; while( *y++); return (y-x-1); } A. 求字符串长度 B. 比较两个字符串的大小 C. 将字符串x复制到字符串y D. 将字符串x连接到字符串y后面 14. 有如下程序段 int **p, *s, k=20; s=&k; p=&s; 请指出**p所代表的是 A. &s B. &k C. s D. k 15. 有以下程序: #include 该程序执行后的结果是 A. 赋初值的字符串有错 B. 4,6 C. 0,6 D. 5,6 16.若有定义: int *p; 则下列各选项中,不同于表达式\的是 A. *p++; B. ++*p; C. *p+=1; D. ++(*p); 17. 定义如下枚举类型: enum Day{ Monday, Tuesday, Wednesday, Thursday, Friday=2}; 则下列语句正确的是 A. 表达式Wednesday==Friday的值是1 B. Day day; day=3; C. Day day; day=Monday+3; D. Day day; day=Tuesday+10; 18. 以下程序的执行结果是 #include 19.下列程序段的输出结果是 #include *x=3; *y=4; } void main( ) { int x=1,y=2; fun(&y,&x); cout << x << y< 20. 对于重载的运算符>>,它是一个 A. 用于输入的友元函数 B. 用于输入的成员函数 C. 用于输出的友元函数 D. 用于输出的成员函数 二.基本概念填空题(1题2分) 1.在用class定义一个类时,数据成员和成员函数的默认权限是【1】 。 2.常量'\\t'的数据类型是【2】 。 3.已有声明\,则表达式: x+y/2+'a'-a 的值的类型是【3】 。 4.C++的编译预处理的功能分为三种:宏定义、【4】和文件包含。 5. 若已知a=2,b=0,则表达式 a 6.在Visual C++ 6.0 系统中,常数50存储在内存中,它占用【6】 个字节。 7. C++语言的基本控制结构为顺序结构、 【7】 和循环结构。 8.在C++中,将多态性分为静态多态性和动态多态性两种。函数重载属于【8】 多态性。 9.变量按其作用域分全局变量和局部变量两种。形式参数是【9】 。 10.C++程序是从【10】函数开始执行的。 三、阅读程序,写出以下程序的输出结果(1题3分) 1. #include { int i, j, k; } i=10; j=15; k=10*MIN(i, j); cout< 2. #include static int c=1; a+=b; b+=c; return c=a+b; } void main( void) { cout< 3. #include 4. #include cout< 5. #include void main( ) { int x=1,y=3; x++; { int x=0; x+=y*2; cout << x <<\} cout << x <<\} 6. #include void funB(int u, int &v) { int second; second=x; v=second+4; x=u+v; } void main( ) { int first=0; int second=5; x=6; funA(first,second); funB(first, second); cout< 7. #include void main( ) { char *str=\ int x1=0,x2=0,x3=0,x4=0,i; for(i=0; str[i]!='\\0' ; i++) switch (str[i]) { case '1': x4++; case '2': x3++; case '3': x2++; case '4': x1++; } cout << x1 << \} 8. #include \ class A { public: A( ) { cout << \~A( ) {} }; class B : public A { public: B( ) { cout << \~B( ) {} }; void main( ) { A *p; p = new A; B *q; q = new B; } 9. #include \ class Base { public: virtual void who( ){cout<<\}; class Derived1 : public Base { public: void who( ){cout<<\ }; class Derived2 : public Base { public: void who( ){cout<<\ }; void main( ) { } Base *p; Derived1 obj1; obj1.who (); Derived2 obj2; p=&obj2; p->who (); 10. #include 四、完善程序(1空2分) 1. 将下面语句段(b)补充完整,使其和语句段(a)在功能上完全一样。 (a) double s=1.0; for( int k=1;k<=10; k++) s+=1.0/(k*(k+1)); (b) double s=0.0; 【1】 ; int k=0; do{ s+=d; k++; d=1.0/(k*(k+1)); }while( 【2】 ); 2. 如果一个两位整数是质数,将组成它的两个数字交换位置后形成的整数仍为质数,则称这样的数为绝对质数。例如,13就是一个绝对质数。以下的程序用于找出所有两位绝对质数。 注:质数,又称素数,指只能被自身和1整除的整数,如11,13,17等。 #include \ int prime( int n) //判断整数n是否为质数, 若是返回1,否则返回0 { for( int i=2; i void main() { int m[2]; for(int i=10;i<100;i++) { m[0]=i; m[1]= 【4】 ; if(prime( 【5】 )&&prime(m[1])) cout< 3. 以下程序通过调用函数scat( )将两个字符串连接起来,程序输出是Nanjing,China。请填空。 #include void scat(char *p, char *q) { while(*p++); p=p-1; while(*q) { 【6】 ; } *p=0; } void main() { char str[20]=\ char *s=\ 【7】 ; cout< 4.设已建立了一条链表,链表上结点的数据结构是: struct node{ float English, Math; //表示英语和数学成绩 node *next; }; 以下函数ave( )的功能是求出该链表上的结点个数、英语和数学的总成绩,并在链首增加一个新结点,其分量English和math分别存放这两门课的平均成绩。若链表为空链时,直接返回空指针。请填空 node *ave(node *head, int &count) //head是链首地址,count存放求出的结点个数 { node *p1; float sume=0, summ=0; count=0; if(head==NULL) //空链表 return NULL; p1=head; while( p1 ) { sume+=p1->English ; summ+=p1->Math ; count=count+1; 【8】 ; } p1=new node; p1->English =sume/count; p1->Math = 【9】 ; 【10】 ; head=p1; return head; } 五、编程题(10分) 建立一个数组类ARR,求一个整型数组中正数和负数的个数,具体要求如下: (1)私有数据成员: int n :数组实际元素个数 int a[100] : 存放数组元素 int pos: 存放整型数组中正数的个数 int neg: 存放整型数组中负数的个数 (2)公有成员函数 ARR(int x[ ], int size): 构造函数,用参数size初始化n,用x数组初始化a数组,将pos和neg初始化为0。 void Num( ): 求整型数组中正数和负数的个数。 void Show( ): 将数组以每行5个数的形式输出到屏幕上,同时输出数组中正数和负数的个数。 (3)在主函数中完成对该类的测试,定义一个整型数组b[ ]={3,-4,6,-8,10,-34,2,80,-100},定义一个ARR类的对象,用b数组及其元素个数初始化该对象,统计数组中正数和负数的个数并输出程序的运行结果。 程序运行结果应为: 3 -4 6 -8 10 -34 2 80 -100 pos=5 neg=4
正在阅读:
南京理工大学C++期末试卷200601-26
古典卜卦占星之基督教占星学0105-08
买菜记作文500字07-09
财产物资盘盈盘亏财务处理06-05
村田No.21C自动络筒机分析07-12
智慧的时代作文700字06-15
高切坡临时安全防护措施 - 图文12-15
室外通信光缆施工组织设计01-18
第1章认识创业及其本质04-23
为父母做一件事作文600字04-01
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 南京理工大学
- C++
- 期末
- 试卷
- 2006
- 钓鱼的知识 - 图文
- 商务礼仪试题全套及答案
- 机组启动试运行大纲(DOC)
- 2006年锦州市中考英语试题
- 演员台词
- 乡政府工作情况总结
- 过程流体机械期末复习资料附答案
- 2011年湖南公务员考试行测真题及答案解析 - 图文
- H型钢焊接施工方案
- 郑氏族谱
- 2015届高三物理一轮总复习同步训练:第3章 牛顿运动定律
- 细胞分裂素的信号传导
- 高中物理人教版必修2第七单元第9课《验证机械能守恒定律》优质课公开课教案教师资格证面试试讲教案
- 人力资源考试试题(完整版)
- 美国太空总署NASA 全球辐照查询网站的使用方法
- 甲骨文形声字的研究
- 玉兰中心小学安全工作专项治理行动实施方案
- 《食品原料学》课程的教学探索
- R语言DESeq 包介绍
- 建筑物隔声情况和声环境情况(通用)