![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
文章平均质量分 54
GG_wang
这个作者很懒,什么都没留下…
展开
-
IT公司C++笔试面试题系列(一)
1.多态类中的虚函数表是Compile-Time,还是Run-Time时建立的?答案:虚拟函数表是在编译期就建立了,各个虚拟函数这时被组织成了一个虚拟函数的入口地址的数组.而对象的隐藏成员--虚拟函数表指针是在运行期--也就是构造函数被调用时进行初始化的,这是实现多态的关键.2.一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态?在子类的空间里原创 2013-03-28 16:54:06 · 524 阅读 · 0 评论 -
腾讯笔试题
1.static有什么用途?(请至少说明两种) 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范原创 2013-03-28 16:42:19 · 671 阅读 · 0 评论 -
[VC] 一个微软面试题--关于位结构体
写出下列程序在X86上的运行结果。struct mybitfields{unsigned short a : 4;unsigned short b : 5;unsigned short c : 7;}test;void main(void) {int i;test.a=2;test.b=3;test.c=0;i=*((short *)&tes转载 2013-03-27 19:19:19 · 526 阅读 · 0 评论 -
C语言面试题
1.gets()函数问:请找出下面代码里的问题: #include int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets(buff); printf("\n The buffer enter转载 2013-03-27 20:53:57 · 999 阅读 · 0 评论 -
对给定的n个数的序列,返回序列中的最大和最小的数
对于该算法的实现,最容易想到的就是逐个比较,返回最大的数和最小的数。此时需要进行2n次的比较。#include #include #define MAX 100 /*最多100个数*/int getMax(int arr[],int n) /*得到最大值*/{ int max,i; max=arr[0]; for(i=1;i原创 2013-03-25 17:35:35 · 2774 阅读 · 0 评论 -
判断一个LONG整形的数A是2^n(2的n次方)
#include #include int isTrue(long x){ if(0==(x&(x-1))) //相与若为0,则说明x为2^n return 1; else return 0;}int main(){ long A; scanf("%ld",&A); if原创 2013-03-25 16:25:34 · 889 阅读 · 0 评论 -
链表就地逆转
思路:我们知道,链表的头插法是倒序保存的。所以,用一个额外的链表结点遍历链表,然后利用头结点重新利用头插法建立链表。此时,链表已逆转。时间复杂度O(n),空间复杂度为O(1)。#include #include typedef struct Node{ int data; struct Node * next;}Node,*LinkList;原创 2013-04-07 16:59:52 · 766 阅读 · 0 评论 -
翻转句子中单词的顺序。
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student. a am I”。解题思想:用额外的空间来存储被空格隔开的字符串,然后倒序输出即为所求。。。。#include #include int main(){原创 2013-04-02 22:08:33 · 650 阅读 · 0 评论 -
算法面试题总结---以后留着慢慢研究
1.把二元查找树转变成排序的双向链表 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14 / \ / \4 8 12 16 转换成双向链表4=6=8=10=12=14=16。 首先我们定义的二元查找树 节点的数据结构如下: struct BSTree转载 2013-04-02 19:45:47 · 1314 阅读 · 0 评论 -
如何获得一个整数的二进制表达中有多少个1?
任何一个数均可用2的幂的和表示,eg:5=2^2+2^0=101(B),利用此思想,可以将整数用2的幂的和表示,有几个加数就有几个1.由此得到结果。。。#include #include using namespace std;int getone(int m)//递归实现。。。{ int i=0; while(m>pow(2.0,i)) i++; if(m==pow(原创 2013-04-02 11:23:17 · 930 阅读 · 0 评论 -
求子数组的最大和
输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。#include #include int main()原创 2013-03-29 21:41:57 · 685 阅读 · 1 评论 -
712^N(712的N次方),0<N<12345,问,结果尾数为696的个数为多少?
代码为:#include #include int getrslt(int val){ return val*712%1000;}int main(){ int i; long now=clock(); int result=1,count=0; for(i=1;i<12345;i++) { resul原创 2013-03-28 19:50:36 · 790 阅读 · 0 评论 -
螺旋矩阵C语言实现
#include int main(){ int i,j,N; int arr[15][15]; int s=0,t=0,tmp=0,x,m=1;//tmp=0 → ,tmp=1 ↓ ,tmp=2 ←,tmp=3 ↑ scanf("%d",&N); for(i=0;i<N*N;i++) { x=tmp/4;//x表示第几圈 switch(tmp%4) { case原创 2013-03-29 17:25:22 · 1340 阅读 · 0 评论 -
几道经典面试题
几道经典C语言面试题一、预处理器(Preprocessor)1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 考点: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式转载 2013-03-28 16:58:16 · 439 阅读 · 0 评论