
笔试面试题
文章平均质量分 65
seu2hit
这个作者很懒,什么都没留下…
展开
-
C++中类的初始化列表
初始化列表的成员初始化顺序:C++初始化类成员时,是按照声明的顺序初始化的,而不是按照出现在初始化列表中的顺序。Example:class CMyClass{ CMyClass(int x,int y); int m_x; int m_y;};CMyClass::CMyClass(int x,int y) : m_y(y), m_x(m_y)转载 2013-04-01 19:51:11 · 413 阅读 · 0 评论 -
C++中虚函数工作原理和(虚)继承类的内存占用大小计算
一、虚函数的工作原理 虚函数的实现要求对象携带额外的信息,这些信息用于在运行时确定该对象应该调用哪一个虚函数。典型情况下,这一信息具有一种被称为 vptr(virtual table pointer,虚函数表指针)的指针的形式。vptr 指向一个被称为 vtbl(virtual table,虚函数表)的函数指针数组,每一个包含虚函数的类都关联到 vtbl。当一个对象调用了虚函数,实际转载 2013-04-09 16:44:55 · 582 阅读 · 0 评论 -
浙江大华2011.10.10校园招聘会笔试题
请写出下面程序的输出结果:(答案在下面)1、int count = 3;int main(void){ int i, sum, count = 2; for(i=0,sum=0; i<count; i+=2,count++) { static int count = 4; count++; if(i%2 == 0) { extern in转载 2013-04-09 20:21:15 · 897 阅读 · 0 评论 -
全排列问题
问题描述:全排列是将一组数按一定顺序进行排列,如果这组数有n个,那么全排列数为n!个。问题分析:现以{1, 2, 3, 4, 5}为例说明如何编写全排列的递归算法。1、首先看最后两个数4, 5。 它们的全排列为4 5和5 4, 即以4开头的5的全排列和以5开头的4的全排列。由于一个数的全排列就是其本身,从而得到以上结果。2、再看后三个数3, 4, 5。它们的全排列为3 4转载 2013-03-27 09:47:30 · 483 阅读 · 0 评论 -
斐波那契数列时间复杂度分析
题目:定义Fibonacci数列如下: / 0 n=0f(n)= 1 n=1 \ f(n-1)+f(n-2) n=2输入n,用最快的方法求该数列的第n项。分析:在很多C语言教科书中讲到递归函数的时候,都会用Fibonacci作为例子。因转载 2013-03-27 10:02:05 · 1043 阅读 · 0 评论 -
不使用其他变量,交换两个整型a,b的值
方法一(异或):void swap(int &a,int &b){ if(a!=b) { a=a^b; b=b^a; a=a^b; }}方法二(算数方法):void change(int &x,int &y){ x=x+y; y=x-y; x=x-y;}原创 2013-04-19 15:25:00 · 897 阅读 · 0 评论 -
两个数相乘,小数点后位数没有限制,请写一个高精度算法
算法提示: 输入 string a, string b; 计算string c=a*b; 返回 c;1, 纪录小数点在a,b中的位置l1,l2, 则需要小数点后移动位置数为l=length(a)+length(b)-l1-l2-2;2, 去掉a,b中的小数点,(a,b小数点后移,使a,b变为整数)3, 计算c=a*b; (同整数的大转载 2013-04-19 15:33:19 · 1485 阅读 · 0 评论 -
腾讯2011.10.15校园招聘会笔试题
1、下面的排序算法中,初始数据集的排列顺序对算法的性能无影响的是(B)A、插入排序 B、堆排序 C、冒泡排序 D、快速排序2、以下关于Cache的叙述中,正确的是(B)A、CPU中的Cache容量应大于CPU之外的Cache容量B、Cache的设计思想是在合理成本下提高命中率C、Cache的设计目标是容量尽可能与主存容量相等D、在容量确定的情况下,替换算法的时间复杂度是转载 2013-04-08 22:49:52 · 479 阅读 · 0 评论 -
C语言函数的调用语句fun((exp1,exp2),(exp3,exp4,exp5))中含有的实参个数有多少个
C语言函数的调用语句fun((exp1,exp2),(exp3,exp4,exp5))中含有的实参个数有多少个?2个实参,分别是exp2和exp5。逗号表达式,它将以逗号为界,从左到右依次计算每个表达式的值,最后返回最右边的表达式的值1.形参是定义声明函数的时候才有的,像float fun(int a,int b),a 和 b都是形参,前面要注明数据类型。2.实参是函数调用的时候才原创 2013-04-19 15:12:14 · 29941 阅读 · 0 评论 -
搜狗2011笔试题+答案解析
1、下面两段代码中for循环分别执行了多少次?unsigned short i,j; for(i=0, j=2; i!=j; i+=5, j+=7) {} unsigned short i,j; for(i=3,j=7;i!=j;i+=3,j+=7) 2、下面程序应该输出多少?char *c[] = { "ENTER", "NEW", "POINT", "FIR转载 2013-04-09 19:08:28 · 708 阅读 · 0 评论 -
腾讯2012实习生笔试题2+答案解析
1、计算表达式x6+4x4+2x3+x+1最少需要做()次乘法A、3 B、4 C、5 D、62、给定3个int类型的正整数x,y,z,对如下4组表达式判断正确的选项()int a1=x+y-z; int b1=x*y/z;int a2=x-z+y; int b2=x/z*y;int c1=x>z; int d1=x&y|z;int c2=x>>zA、a1一定等于a2转载 2013-04-09 09:57:17 · 850 阅读 · 0 评论 -
#define陷阱题
#include "stdafx.h"#includeusing namespace std;#define N 3#define Y(n) ((N+1)*n)int _tmain(int argc, _TCHAR* argv[]){ int z=2*(N+Y(5+1)); cout<<z<<endl; return 0;}答案:48#d原创 2013-04-09 15:22:35 · 848 阅读 · 0 评论 -
C++类构造函数详解
一、 构造函数是干什么的class Counter{public: // 类Counter的构造函数 // 特点:以类名作为函数名,无返回类型 Counter() { m_value = 0; } private:转载 2013-04-01 20:22:06 · 520 阅读 · 0 评论 -
C++类的虚函数详解
前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不转载 2013-04-01 20:31:49 · 1382 阅读 · 0 评论 -
sizeof--32位和64位操作系统的区别
64位对比32位,最主要的区别就是long和指针的字节变成8了;及其size_t等定义类型也为8字节;运行结果如下:(分别用蓝色和红色标记了两者的差异)——————————————————————————机器平台:X86_64 处理器操作系统:Red Hat 4.1.2-14编译器: gcc version 4.1.2 20070626Size of char转载 2013-04-08 14:20:39 · 4989 阅读 · 0 评论 -
已知rand7(),求rand10().
已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10() 随机1~10。//根据排列组合,连续算两次rand7出现的组合数是7*7=49,这49种组合每一种出现考虑是相同的。//怎么从49平均概率的转换为1到10呢?//方法是://1.rand7执行两次,出来的数为a1.a2.//2.如果a1*7+a2=40,重复第一步)int转载 2013-04-08 22:41:25 · 798 阅读 · 0 评论 -
输入两个整数n和m,从数列1,2,3....n中随意取几个数,使其和等于m
问题描述: 输入两个整数n和m,从数列1,2,3,......n中随意取几个数,使其和等于m,要求将其中所有的可能组合列出来。问题分析: 此题类似于0-1背包问题,设原问题的解为F(n,m),则运用0-1背包思想,原问题可分解为F(n,m)=F(n-1,m)+F(n-1,m-1),即得到的解中含有n和不含有n两种情况,然后递归调用,即可得到所有的解。代码(C++)原创 2013-03-26 13:32:14 · 1886 阅读 · 0 评论 -
求N以内的所有亲和数
亲和数:亲和数问题最早是由毕达哥拉斯学派发现和研究的。他们在研究数字的规律的时候发现有以下性质特点的两个数:220的真因子是:1、2、4、5、10、11、20、22、44、55、110;284的真因子是:1、2、4、71、142。而这两个数恰恰等于对方的真因子各自加起来的和(sum[i]表示数i 的各个真因子的和),即220=1+2+4+71+142=sum[284],28转载 2013-03-26 16:16:58 · 2285 阅读 · 0 评论 -
sizeof 与strlen
#include "stdafx.h"#includeusing namespace std;void Func(char str_arg[100]) { cout<<sizeof(str_arg)<<endl;//4,退化为指针 cout<<strlen(str_arg)<<endl;//5,实际字符串的长度} int main(void)原创 2013-04-08 15:56:07 · 515 阅读 · 0 评论 -
typedef和#define的用法及区别
typedef和#define的用法与区别 一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef int INT;typedef int ARRAY[10];typedef (int*) pINT;typedef可以增强程序的可读性,以及标识符的灵活性,但转载 2013-04-08 21:54:55 · 471 阅读 · 0 评论 -
深入理解const char*p,char const*p,char *const p,const char **p,char const**p,char *const*p,char**const p
一、可能的组合:(1)const char*p(2)char const*p(3)char *const p(4)const char **p(5)char const**p(6)char *const *p(7)char **const p当然还有在(5)、(6)、(7)中再插入一个const的若干情况,不过分析了以上7中,其他的就可类推了!二、理解助记法宝:转载 2013-08-26 10:43:49 · 557 阅读 · 0 评论