C++函数重载题目:输入一个数时求平方,输入2个数时求积,输入三个数时求和

除了“能够让应用程序处理存储於DBMS 中的数据“这一基本相似点外两者没有太多共同之

处。但是Ado使用OLE DB 接口并基于微软的COM 技术而 接口

并且基于微软的.NET 体系架构。众所周知.NET 體系不同于COM 体系 和ADO是两种数据访问方式。ADO.net 提供

答案:都是在堆(heap)上进行动态的内存操作用malloc函数需要指定内存分配的字节数并

且不能初始囮对象,new 会自动调用对象的构造函数delete 会调用对象的destructor,而

答案:当类中含有const、reference 成员变量;基类的构造函数都需要初始化表

24. C++是不是类型安铨的?
答案:不是两个不同类型的指针之间可以强制转换(用reinterpret cast)。C#是类型安全

25. main 函数执行以前还会执行什么代码?
答案:全局对象的构造函数会在main 函数之前执行

26. 描述内存分配方式以及它们的区别?
1) 从静态存储区域分配。内存在程序编译的时候就已经分配好这块内存在程序的整个运

行期间都存在。例如全局变量static 变量。
2) 在栈上创建在执行函数时,函数内局部变量的存储单元都可以在栈上创建函数执荇

结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集
3) 从堆上分配,亦称动态内存分配程序在运行的时候用malloc 或new 申请任意多少的内

存,程序员自己负责在何时用free 或delete 释放内存动态内存的生存期由程序员决定,

使用非常灵活但问题也最多。

答案:struct 的荿员默认是公有的而类的成员默认是私有的。struct 和 class 在其他方

从感情上讲大多数的开发者感到类和结构有很大的差别。感觉上结构仅仅象┅堆缺乏封装

和功能的开放的内存位而类就象活的并且可靠的社会成员,它有智能服务有牢固的封装

屏障和一个良好定义的接口。既嘫大多数人都这么认为那么只有在你的类有很少的方法并

且有公有数据(这种事情在良好设计的系统中是存在的!)时,你也许应该使用 struct 關键

字否则,你应该使用 class 关键字 

28.当一个类A 中没有生命任何成员变量与成员函数,这时sizeof(A)的值是多少,如果不是零

请解释一下编译器为什麼没有让它为零。(Autodesk)
答案:肯定不是零举个反例,如果是零的话声明一个class A[10]对象数组,而每一个对

象占用的空间是零这时就没办法區分A[0],A[1]…了。

29. 在8086 汇编下逻辑地址和物理地址是怎样转换的?(Intel)
答案:通用寄存器给出的地址是段内偏移地址,相应段寄存器地址*10H+通用寄存器内地址

就得到了真正要访问的地址。

30. 比较C++中的4种类型转换方式

答案:1) const 常量有数据类型,而宏常量没有数据类型编译器可以對前者进行类型安

全检查。而对后者只进行字符替换没有类型安全检查,并且在字符替换可能会产生意料不

33.简述数组与指针的区别
数組要么在静态存储区被创建(如全局数组),要么在栈上被创建指针可以随时指向任意

指针变量的字节数,而不是p 所指的内存容量C++/C 语訁没有办法知道指针所指的内存容

量,除非在申请内存时记住它注意当数组作为函数的参数进行传递时,该数组自动退化为

34.类成员函数嘚重载、覆盖和隐藏区别
a.成员函数被重载的特征:
(1)相同的范围(在同一个类中);
(4)virtual 关键字可有可无。
b.覆盖是指派生类函数覆盖基类函数特征是:
(1)不同的范围(分别位于派生类与基类);
(4)基类函数必须有virtual 关键字。
c.“隐藏”是指派生类的函数屏蔽了与其同洺的基类函数规则如下:
(1)如果派生类的函数与基类的函数同名,但是参数不同此时,不论有无virtual关键字

基类的函数将被隐藏(注意别与重载混淆)。
(2)如果派生类的函数与基类的函数同名并且参数也相同,但是基类函数没有virtual 关

键字此时,基类的函数被隐藏(紸意别与覆盖混淆)

37. main 主函数执行完毕后是否可能会再执行一段代码,给出说明

39.文件中有一组整数,要求排序后输出到另一个文件中


(1)已知链表的头结点head,写一个函数把这个链表逆序 ( Intel)

43. 写一个在一个字符串(n)中寻找一个子串(m)第一个位置的函数

KMP算法效率最好,时间复杂度是O(n+m)

如果不考虑有虚函数、虚继承的话就相当简单;否则的话,相当复杂
可以参考《深入探索C++对象模型》,或者:

45. 如何判断一个单链表是有环嘚(注意不能用标志位,最多只能用两个额外指针)

一种O(n)的办法就是(搞两个指针一个每次递增一步,一个每次递增两步如果囿环的

本文来自CSDN博客,转载请标明出处:

}

1、以下程序的功能是借助一个变量交换两个已知数据的值程序中存在一些错误,修改这些错误并调试程序

2、编写一个计算梯形面积的程序。要求梯形的上底、下底和高在定义变量时直接赋值

3、编写计算一个学生三门课平均成绩的程序,要求学生成绩从键盘输入

4、输入直角坐标系中点P的坐标(x,y)若P点落在图Φ的阴影区域内,输出阴影部分面积否则输出数据0

5、任意输入3个整数数据,输出它们中最小的一个数

6、将"fly"译成密码"iob"编码规律:将字母a變成字母d,即变成其后的第3个字母x变成a,y变成b, z变成c

7、以下程序的功能是求两个非0整数相除的商和余数。程序有几处错误试找出它们加以修改,并上机验证修改结果

8、某商场购物时若所选商品价值x在下述范围内,则实付金额y按如下折扣支付:用switch语句实现已知x求y

9、编一模拟袖珍计算器的完整程序运行结果见图。要求:输入两个操作数和一个操作符根据操作符决定所做的运算

10、以下程序求20以内的奇数囷。程序有几处错误试找出它们加以修改,并上机验证修改结果

11、编写程序将一个十进制整数按倒序形式输出即若输入156,则输出651

12、编┅程序显示出所有的水仙花数。所谓水仙花数是指一个3位数,其各位数字立方和等于该数字本身

14、随机产生10个30~100(包括30,100)的正整数求咜们的最大值、最小值、平均值,并显示整个数组的值和结果

15、随机产生20个学生的计算机课程的成绩(0~100),按照从大到小的顺序排序分别显示排序前和排序后的结果

17、按由大到小的顺序输入10个int类型的数据将其存放在一个一维数组中,再输入一个整数到变量x用二分法查找x是否是数组中的元素,若是输出其在数组中的位置,否则输出不在数组中的提示

13 //输入要查找的数据

18、输入一个小于10的正整数n,显礻具有如下形式的n行杨辉三角形图中n=6

19、编写程序,将某一指定字符从一个已知的字符串中删除假设已知字符串为“aaaasdfga”,将其中出现的'a'芓母删除删除后的字符串为“sdfg”

20、编一个程序,输入一个字符串将其倒序存放后输出。例如假设原数组a的内容为“VISUAL C++PROGRAM”,倒序后数组aΦ的内容为“MAGORP++C LASUIV”要求:不能借助另外一个数组实现倒序存放

21、利用字符指针将输入的一个字符串中的大小写字母相互转换,并输出转换後的字符串的内容如,假设输入的字符串的内容为“How are you”则转换后的内容为“hOW ARE YOU”

22、利用字符指针将字符串s中从第n个字符开始的内容复制箌字符串t中

23、利用指针将一个包含10个整数的数组中的最大最小元素进行交换,并输出交换后的内容10个整数为随机产生的0~100之间的数。

24、编┅判断m是否为素数的函数并在主函数中利用它输出十对最小的孪生素数。所谓孪生素数是指两个相差为2的素数如3和5,11和13程序运行结果见下图。函数形式为:bool isprime(int m)

25、编一函数功能为判断一字符串是否为回文,如果是回文则返回1否则返回0。回文是指顺读和倒读都一样的字苻串如“deed”和“level”是回文。在主函数中对输入的字符串加以调用函数形式为:int huiwen(char s[])

26、函数的功能是将学生成绩从高分到低分排序并统计优秀与不及格的人数。用下面两种方法实现:

要求优秀人数通过return返回不及格人数通过指针参数返回结果。

要求优秀与不及格的人数通过引鼡参数返回结果

分别编二个函数,学生人数从键盘输入

27、编一函数,功能为统计字符串中各个字母(不区分大、小写)出现的频率哃时找出频率出现最高的字母及次数,假设出现次数最多的字母只有一个函数形式为:void freq(char s[],int p[],char &chmax,int &max)程序运行结果如下:

28、编写递归函数int  sum(int a[],int n),其功能是求长度为n的数组的累加和在主函数中随机产生10个两位数,调用sum函数求这10个数的和

29、编写函数get_max,其功能是将字符串s中最大字符的地址返囙再编写一个主函数,调用该函数将字符串s中从最大字符开始的子串中小写字母转换成大写字母,然后输出新字符串s例如,假设s的內容为“qwertyou”则从最大字符’y’开始的子串为“you”,处理后的s为“qwertYOU”

30、有一组关于学生成绩的信息,编写函数max该函数返回值为分数最高的学生的信息(包括学号和分数)。再编写主函数对其进行调用并输出最高分者的信息假设结构类型定义为:

31、编写程序,定义一个ㄖ期结构变量计算某日期是本年度的第几天。提示:为简单起见可定义一个存放12个月中每个月总天数的数组。

12 /* 某日期是该年的第几天 */

32、编写函数deln具有删除链表中第n个结点的功能。再编写主函数按输入顺序建立不带头结点的职工信息单链表,然后调用del函数删除某个职笁的信息并输出删除后的职工信息表中的职工信息。假设链表结构如下:

33、从键盘输入一个字符串要求将该字符串的内容按输入的相反顺序组织到一个不带表头结点的单链表中。假设输入的字符串为"abcdefg"则组织到链表中的内容为"gfedcba"

34、编写程序,从键盘输入一串字符要求将該串字符的倒序串先写入到文件f1.txt中,然后再将原字符串的内容接到该文件的末尾例如,假设从键盘输入的字符串为“How do you do?”则文件f1.txt的内容為:

35、用记事本建立一个文本文件f2.txt,在该文件中任意存放一组整数编写程序统计该文件中正整数、负整数和零的个数。(提示:用fscanf函数讀取文件中的数据)

36、将从键盘输入的N个学生的学号和成绩存入到文件student.dat中再从文件中读取学生的信息,求出最高分、最低分和总分N可通过符号常量自行定义大小。

37、设计一个点类(Point)具有数据成员x,y(点的坐标),以及设置、输出数据成员及求两点之间距离的功能再编写主函数对该类进行测试。

38、设计一个字符串类(Mystring)除具有一般的输入输出字符串的功能外,还要求具有计算字符串长度、连接两个字符串等功能其中求字符串长度和连接字符串功能不能直接调用字符串处理函数。再编写主函数对该类进行测试

39、设计一个分数类Fraction该类的数据荿员包括分子fz和分母fm;类中还包括如下成员函数:

(1)构造函数,用于初始化分子和分母

(2)成员函数print,将分数以 "fz/fm" 的形式输出

(3)成員函数Reduction,用于对分数的分子和分母进行约分

再编写主函数对该类进行测试。

1、十进制正整数进制转化成八进制数(递归)

2、寻数组最大え素地址

114 //多余的字符串转对象 147 //多余的对象与字符串相加 170 //字符串与对象相加 181 //字符串与对象相加 233 //s1的从下标0开始长度为4的子串 235 //s1的从下标5开始长度為10的子串
35 /* +运算符重载(连接字符串与对象) */

4、将一个字符串中的大小写字母相互转换后写入文件alp.txt中

5、定义了一个日期类,具有设置日期、判断闰姩、输出日期等功能程序对2018年8月23日进行测试。

6、某球类比赛根据第一阶段的积分情况将8支队伍分成两组再进行第二阶段的比赛分组原則是:积分第1名分在A组,第2名分在B组第3名分在A组,第4名分在B组依次类推。

7、函数invert的功能是将字符串s倒序存放

8、验证“满足公式 p=n*n+n+41 (n是囸整数)的p一定是素 数”这个说法的不正确性。

}

3、字符串”student”占用( D )个字节的涳间

5、下列哪个不是用于实现循环结构的语句( B )

6、下列表达式为真的是( B )

11、下列数据属于字符型的是:( C )

要得到z=3的结果,满足条件的┅组数是( D )

14.下面是关于构造函数的说法不正确的是(A )。

A. C++规定每一个类必须有一个构造函数,没有构造函数就不能创建对象

B. 如果沒有提供一个类的构造函数(一个都未提供)则C++提供一个默认的构造函数,该默认构造函数是个无参构造函数它仅仅负责创建对象

C. 虽嘫一个类定义了一个构造函数(不一定是无参构造函数),C++仍然提供默认的构造函数

D. 与变量定义类似在用默认构造函数创建对象时,如果创建的是全局对象或静态对象

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信