编辑: 笨蛋爱傻瓜悦 2013-10-18
C语言面试题大汇总,个人觉得还是比较全地!!! CSDN - 专家门诊 - 主题: C语言面试题大汇总,个人觉得还是比较全地!!! 作者: free131 (白日?做梦!) 信誉值:

100 所属论坛: C/C++ C语言 问题点数:

0 回复次数:

603 发表时间: 2006-4-17 9:58:18 最近因为找工作,收集了很多C语言方面方面的面试题以及答案.

现在新工作搞定了,决定把这些资料发出来,送给有 需要的朋友,免得再象我一样到处搜寻,实在辛苦. 发布之前先申明两点:

1 所有资料来自网络(主要是CSDN),本人只是收集和转发.

2 所有问题解答(尤其是代码)只是参考,不保证正确. 先发基本问题,再发编程问题. 回复人: free131(白日?做梦!) ( ) 信誉:100 2006-4-17 10:00:18 得分:0 4. static有什么用途?(请至少说明两种) 1.限制变量的作用域 2.设置变量的存储域 7. 引用与指针有什么区别? 1) 引用必须被初始化,指针不必. 2) 引用初始化以后不能被改变,指针可以改变所指的对象. 2) 不存在指向空值的引用,但是存在指向空值的指针. 8. 描述实时系统的基本特性 在特定时间内完成特定的任务,实时性与可靠性 9. 全局变量和局部变量在内存中是否有区别?如果有,是什么区别? 全局变量储存在静态数据库,局部变量在堆栈 10. 什么是平衡二叉树? 左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于1 11. 堆栈溢出一般是由什么原因导致的? 没有回收垃圾资源 12. 什么函数不能声明为虚函数? constructor 13. 冒泡排序算法的时间复杂度是什么? O(n^2) 14. 写出float x 与 零值 比较的if语句. if(x>

0.000001&

&

x)%256 } 请问hash(16),hash(256)的值分别是: A.1.16;

B.8.32;

C.4.16;

D.1.32 四.找错题: 1.请问下面程序有什么错误? int a[60][250][1000],i,j,k;

for(k=0;

knext;

pHeader->

front = NULL;

} else { if (pNode->

next != NULL) { pNode->

next->

front = pNode->

front;

} pNode->

front->

next = pNode->

next;

} Node *pNextNode = pNode->

next;

delete pNode;

pNode = pNextNode;

bRet = TRUE;

//不要break或return, 删除所有 } else { pNode = pNode->

next;

} } file:///C|/Documents and Settings/Administrator/桌面/C语言面试题大汇总,个人觉得还是比较全地!!!.htm(第46/133 页)2006-9-25 11:00:01 C语言面试题大汇总,个人觉得还是比较全地!!! return bRet;

} void DE(Node *pHeadA, Node *pHeadB) { if (pHeadA == NULL || pHeadB == NULL) { return;

} Node *pNode = pHeadA;

while (pNode != NULL) { if (DeteleNode(pHeadB, pNode->

data)) { if (pNode->

front == NULL) { pHeadA = pNode->

next;

pHeadA->

front = NULL;

} else { pNode->

front->

next = pNode->

next;

if (pNode->

next != NULL) { pNode->

next->

front = pNode->

front;

} } Node *pNextNode = pNode->

next;

delete pNode;

pNode = pNextNode;

} else { pNode = pNode->

next;

} } } 2. 编程实现:找出两个字符串中最大公共子字符串,如 abccade , dgcadde 的最大子串为 cad int GetCommon(char *s1, char *s2, char **r1, char **r2) { int len1 = strlen(s1);

int len2 = strlen(s2);

int maxlen = 0;

for(int i = 0;

i <

len1;

i++) { for(int j = 0;

j <

len2;

j++) { if(s1[i] == s2[j]) { int as = i, bs = j, count = 1;

while(as +

1 <

len1 &

&

bs +

1 <

len2 &

&

s1[++as] == s2[++bs]) file:///C|/Documents and Settings/Administrator/桌面/C语言面试题大汇总,个人觉得还是比较全地!!!.htm(第47/133 页)2006-9-25 11:00:01 C语言面试题大汇总,个人觉得还是比较全地!!! count++;

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题