一些c++的基础面试题,全部都会应付一般的面试就没有什么问题了。

演地 2011-04-27 11:26:42
一 简答题
1.static有什么用途?(请至少说明两种)


2.引用与指针有什么区别?


3.描述实时系统的基本特性


4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别?


5.什么是平衡二叉树?


6.堆栈溢出一般是由什么原因导致的?


7.什么函数不能声明为虚函数?


8.冒泡排序算法的时间复杂度是什么?


9.写出float x 与“零值”比较的if语句。


10.Internet采用哪种网络协议?该协议的主要层次结构?


11.Internet物理地址和IP地址转换采用什么协议?


12.IP地址的编码分为哪俩部分?


13.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。
循环链表,用取余操作做




14.写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值(3分)
int a = 4;
(A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++);
a = ?


15.某32位系统下, C++程序,请计算sizeof 的值(5分).
char str[] = “http://www.ibegroup.com/”
char *p = str ;
int n = 10;
请计算
sizeof (str ) = ?(1)
sizeof ( p ) = ?(2)
sizeof ( n ) = ?(3)


void Foo ( char str[100])
{
请计算
sizeof( str ) = ?(4)
}

void *p = malloc( 100 );
请计算
sizeof ( p ) = ?(5)

16.头文件中的 ifndef/define/endif 干什么用?


17. #include< filename> 和 #include “filename.h” 有什么区别?


18.在C++ 程序中调用被 C 编译器编译后的函数,为什么要加 extern “C”声明?


19. switch()中不允许的数据类型是?


20.Void GetMemory(char **p, int num){
*p = (char *)malloc(num);
}
void Test(void){
char *str = NULL;
GetMemory(&str, 100);
strcpy(str, "hello");
printf(str);
}
请问运行Test 函数会有什么样的结果?


21. void Test(void){
char *str = (char *) malloc(100);
strcpy(str, “hello”);
free(str);
if(str != NULL){
strcpy(str, “world”);
printf(str);
}
}
请问运行Test 函数会有什么样的结果?


22. char *GetMemory(void){
char p[] = "hello world";
return p;
}
void Test(void){
char *str = NULL;
str = GetMemory();
printf(str);
}


23. 编写strcat函数
已知strcat函数的原型是char *strcat (char *strDest, const char *strSrc);
其中strDest 是目的字符串,strSrc 是源字符串。

(1)不调用C++/C 的字符串库函数,请编写函数 strcat

(2)strcat能把strSrc 的内容连接到strDest,为什么还要char * 类型的返回值?


24.MFC中CString是类型安全类么?





25.C++中为什么用模板类。


26.CSingleLock是干什么的。


27.NEWTEXTMETRIC 是什么。


28.程序什么时候应该使用线程,什么时候单线程效率高。


29.Windows是内核级线程么。


30.Linux有内核级线程么。


31.C++中什么数据分配在栈或堆中,New分配数据是在近堆还是远堆中?


32.使用线程是如何防止出现大的波峰。


33.函数模板与类模板有什么区别?


34.一般数据库若出现日志满了,会出现什么情况,是否还能使用?


35.如果数据库满了会出现什么情况,是否还能使用?


36.SQL Server是否支持行级锁,有什么好处?


37.关于内存对齐的问题以及sizof()的输出



38.int i=20, j=10, k=2; k*=i+j; k最后的值是?


39.对数据库的一张表进行操作,同时要对另一张表进行操作,如何实现?


40.TCP/IP 建立连接的过程?(3-way shake)


41.ICMP是什么协议,处于哪一层?


42.触发器怎么工作的?


43.winsock建立连接的主要实现步骤?


44.动态连接库的两种方式?


45.IP组播有那些好处?


46.软件的开发流程?


47.char str[] = “hello”,sizeof (str ) = ________ strlen ( str ) = __________


48.类和结构的区别?


49.简述下虚拟函数的含义?


50.类中访问权限private,protested,prublic,可以被何种访问?


51.解释下面的含义:
int *pTemp = new int ( 5 );
int *pTemp = new int[5];




二 编程题
题目:有n 个人,他们围成一个圈,从第一个人开始数数(第一个人默认为1号,一直到n 号),数1,2,3,当数到3的人则退出这个圈,后面的继续数,一直进行,问到最后是否只剩一个人,如果是,这个人的编号是多少?


题目:写一个memcpy函数。


题目:写一个双向链表的插入函数。
原型如下:
struct node
{
node *head;
node *end;
int value;
}

void createnode(node **head, node **end, int val);

int main()
{
node *head = NULL;
node *end = NULL;
createnode(head, end, 1);
createnode(head, end, 1);
createnode(head, end, 1);
return 0;
}
...全文
4932 1 收藏 95
写回复
95 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yaolengjing 2012-07-09
标记一下,以后好找点
回复
sghdls 2012-03-22

嗯, 这个帖子很有用的!
回复
tt2com 2011-05-15
这帖子好,换工作用的上,不换工作也可以复习基础
回复
shuzailiangcang 2011-05-15
很好,
回复
tulipcaicai 2011-05-05
学习一下,为了一般性的面试。
回复
futurepi 2011-05-05
基本都不会
回复
zzz小菜鸟zzz 2011-05-05
[Quote=引用 88 楼 tulipcaicai 的回复:]

学习一下,为了一般性的面试。
[/Quote]

刚开始学 留着
回复
shiqing23 2011-05-02
[Quote=引用 58 楼 djl_008 的回复:]
21. void Test(void){
char *str = (char *) malloc(100);
strcpy(str, “hello”);
free(str);
if(str != NULL){
strcpy(str, “world”);
printf(str);
}
}
请问运行Test 函数会有什么样的结果?
输出world (后面内容不确定)


22……
[/Quote]
21题结果正确,输出world.因为虽然free(str)了,但是只是将str指向的空间释放了,而且不是真正释放.因而下次又能将world字符串再次写入str所指向的堆区;
22题结果错误,因为char p[] = "hello world";属于在栈区将代码区的hello world复制了一份,如果返回p,而函数结束栈区释放,再str = GetMemory();
printf(str);
结果当然不会输出hello world.


回复
DontKissBossAss 2011-05-01
回答的都是皮毛,没到本质。楼主也还是学生吧
回复
nwpucoder 2011-05-01
[Quote=引用 39 楼 maoxing63570 的回复:]

难道静态函数可以为虚?嘻嘻
[/Quote]
++1

还有就是栈溢出应该一般都是strcpy造成的吧。

回复
mao5413 2011-05-01
题目也太多了吧,看的都看花了。前面的题答案不一,都是概念知识没有标准答案。所以很期待编程的标准答案。不过那几个编程题目都看过
回复
wtrd1234 2011-04-30
膜拜楼主 铭记楼主
回复
天外来客-007 2011-04-30
楼主可以一个一个题目地公布答案!
回复
wesweeky 2011-04-30
LZ给力啊 谢谢楼主
回复
浩南_哥 2011-04-29
占个座 慢慢看
回复
Eleven 2011-04-29
回复
看书百度百科去,哈哈
回复
还可以,基本都会。。。。。
回复
野男孩 2011-04-29
过于简单了。。。。用来面试应届毕业生的吧。。。
回复
qk0923 2011-04-29
太好了,谢谢楼主的分享。
回复
发动态
发帖子
C++ 语言
创建于2007-09-28

5.9w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
申请成为版主
社区公告
暂无公告