




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计试题样题及参考答案一选择题1. 若用数组名作为函数调用的实参,传递给形参的是 A 。A 数组的第一个元素的地址。B 数组第一个元素的值。C 数组全部元素的地址。D 数组全部元素的值。2. 在C程序中, main() 的位置 C 。A. 必须作为第一个函数。B. 必须作为最后一个函数。C. 可以任意。D. 必须放在它调用的函数之后。3、下列程序中,编译不会出错的语句是 A 。#include class Basepublic:Base()Base(int i) data = i; private:int data;class Derived: public Basepublic:Derived():Base(0) Derived(int x):Base(x);int main()Derived d1(1);Base *pb,b1;pb = &d1;/Ad1 = b1;/BBase &refB = d1;Derived d2 = *pb;/CDerived &refD = refB;/Dreturn 0;答案:A注释:公有继承时,派生类是基类的子类型,反之则不成立。具有子类型关系的基类和派生类的对象之间满足如下赋值兼容规则:s 派生类对象的地址可以赋值给指向基类的指针;s 派生类的对象可以初始化基类的引用;派生类的对象可以赋值给基类的对象,即用派生类对象中从基类继承来的成员,逐个赋值给基类对象的成员。4、判断fun,Y3:fun,Z2:fun中的各条语句是正确/错误。class Xpublic:int a;class Y1 : public X ;class Y2 : protected X ;class Y3 : private Xprivate:void fun(Y1 *py1,Y2 *py2,Y3 *py3);class Z2 : public Y2private:void fun(Y1 *py1,Y2 *py2,Y3 *py3);void fun(Y1 *py1,Y2 *py2,Y3 *py3)py1-a = 7;/py2-a = 7;/py3-a = 7;/void Y3:fun(Y1 *py1,Y2 *py2,Y3 *py3) py1-a = 7;/py2-a = 7; /py3-a = 7; /void Z2:fun(Y1 *py1,Y2 *py2,Y3 *py3) py1-a = 7;/py2-a = 7; /py3-a = 7; /答案:正确 错误 错误 正确 错误 正确 正确 错误 错误注释:s 派生类Y1从基类X公有继承,基类成员a在Y1中仍然是公有成员,所以Y1类型的指针py1可以可以访问a成员,因此 正确。s 派生类Y2从基类X中保护继承,基类成员a在Y2中变成保护成员;保护成员不能在类外被访问,因此在普通函数f及Y3的成员函数f的函数体内,不能通过Y2类型的指针py2对a成员进行访问,所以 错误。s 派生类Z2从派生类Y2公有继承,基类成员a在Z2中变为保护成员。因此a成员可以在Z2的类体内被直接访问,或通过Z2类体内的Z2类对象被访问,而不能通过类Z2的基类Y2的对象进行访问,因此错误。s 派生类Y3从基类X私有继承,基类成员a在Y3中变为私有成员,只能在Y3的类体内进行访问。在Y3的成员函数f中,Y3类型的指针py3对a成员进行访问,此时仍在Y3的类体内,因此正确。但在普通函数f及Z2的成员函数f的函数体内,不能通过py3对a成员进行访问,因此错误。5、 C语言中合法的字符常量是(B)A、 abcB、 0C、 “a”D、 0x316、 在C语言的算术运算符中只能用于整型数的运算符是(D)A、*B、/C、+D、%7、在下列选项中,没有构成死循环的程序段是(A)A、int i=100;while (1)i=i%100+1;if(i=100)break;B、for(;);C、int k=1000;do+k; while (k=1000)D、int s=36While(s);-s;8 假定在C程序中有如下说明:double image20;那么,下列哪个表达式会得到image数组的最后一个元素的值? (b) (a) *image+19 (b) *(image+19) (c) image+19 (d)image209有如下C程序:#define COURSE_NUM 80void main() int scoreCOURSE_NUM;char *name = Zhang San;/那么,数组score所占的空间在该程序的(b)内存, 字符串“Zhang San” 所占的空间在该程序的(c)内存.(a) 堆(heap) (b) 栈(stack) (c) 数据段(Data Segment)二 写出下列代码的输出结果。1 void magic();main() char A = apple; magic(A); printf(%sn, A); void magic(char *s) while (*s) (*s)+; s+; 答案: bqqmf2f(30) 的返回值是多少?int f(int n) if (n=1) return 1; elsereturn 2 * f(n/2); 答案:163int x=1;long f(int n) if (n=0) return 1; else x=x*n; return(x); main() printf(“%d”,f(0)+f(1)+f(2)+f(3)+f(4); 答案: 344. void function(int b, int size) if (size0) function(&b1, size-1);printf(%d,b0); main() int a5=10,20,30,40,50; function(a,5); 答案:50,40,30,20,105. f(5)的返回值是多少?int f(int n) if (n2)return n; else return f(n-1) * f(n-2);答案:06、 写出程序的运行结果。#include class SubObjpublic:SubObj(int x)data = x;coutSubObj Constructor.endl;SubObj()coutSubObj Destructor.endl; private:int data;class Basepublic:Base(int x)coutBase Constructor.endl;Base() cout Base Destructor.endl; ;class Derived : public Basepublic:Derived(int x):Base(x),s(x) coutDerived Constructor.endl; Derived() coutDerived Destructor.3;j-) if(j%3) j-;-j;-j;printf(%d ,j);答案: 7 48已知字母A的ASCII码为十进制的65,下面程序的输出是 67,Dmain()char ch1,ch2;ch1=A+5-3;ch2=A+6-3;printf(%d,%cn,ch1,ch2);答案 67,D1请写出下面C程序执行后的输出结果#include #include typedef struct char *name;char *serialNo;double price; Product;char *getName(Product *p)static char tmp100;strcpy(tmp, p-name);strcat(tmp, -);strcat(tmp, p-serialNo);return tmp;void f(Product *p)printf(Price of %s is %gn, getName(p), p-price);void main()Product product; = phone;product.serialNo = HX634;product.price = 50.5;f(&product);答案:Price of phone-HX634 is 50.5.三程序填空1 写一个非递归函数digits (int n) 返回一个整数n的位数。如digits(128) 返回3; digits(60026) 返回5。int digits(int n)int count; if ( n= =0 ) count = 1 ;else count = 0 ;while ( n0 ) +count ; n=n/10; return count ; 2写一个递归函数digits (int n) 返回一个整数n的位数。 int digits(int n) if (n/10= =0) return 1 ; else return 1+digits(n/10) ; 3函数 factor(m, fac, cp) 用来计算正整数 m (m2) 的除自身之外的所有不同的因子之和。该函数返回因子和,并把各因子从小到大依次存放在数组 fac 中,其因子个数存放在cp所指的变量中。例如 m=16 ,求得的因子为 (1,2,4,8), 因子和为15,因子个数为4。程序假定正整数的不同的因子个数不会超过100个。#include #define N 100long factor(int m, int fac, int *cp)int c1,c2,i,k; long s; fac0=1; for (c1=1,c2=N-1, i=2 , s=1 ; ;) k=m/i; if ( m%i =0 ) if ( ki )facc1+=i; facc2-=k; s+=i+k; else facc1+=i; s+=i; i+;if (i=k) break; for (c2+;c2=N-1;c2+) facc1+=facc2 ;*cp=c1;return( s );4 完成下面类的定义。class MyClasspublic:MyClass() x = 10; int GetNum( my);private:int x;int GetNum( my)return my.x;答案:friend MyClass 5假定在C程序中有如下说明:int s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高蛋白鸡肉松与肉松饼企业制定与实施新质生产力项目商业计划书
- 高速数据传输PCB设计行业深度调研及发展项目商业计划书
- 高精度零部件行业跨境出海项目商业计划书
- 养胃面店行业深度调研及发展项目商业计划书
- 高效能压路机企业制定与实施新质生产力项目商业计划书
- 祛痘抗炎植物原料筛选行业深度调研及发展项目商业计划书
- 范云及其“清便宛转”诗歌风格论析
- 考虑桩-土相互作用的GFRP-PHC管桩抗震性能研究
- 黑格尔的民族精神思想研究
- 山东省青岛第三中学2023-2024学年高一下学期第一学段模块考试数学试题(解析版)
- 数据中心运维服务投标方案(技术标)
- 2025届高考英语复习读后续写练习:雪山遇险:绝境中盼来的生机+课件
- 2025-2030全球等离子体仿真软件行业调研及趋势分析报告
- 2025年全年日历-含农历、国家法定假日-带周数竖版
- 中学防灾减灾宣传周活动实施方案
- (高清版)DB41∕T 2364-2022 工业企业挥发性有机物泄漏检测与修复技术规范
- 护理不良事件根本原因RCA分析-中医热奄包治疗烫伤
- 人教版九年级数学上册一元二次方程《一元二次方程整 理与复习》示范公开课教学课件
- 平安证券公司融资融券业务方案设计
- 2024秋期国家开放大学专科《液压与气压传动》一平台在线形考(形考任务+实验报告)试题答案
- 推拿店合同范例
评论
0/150
提交评论