没有合适的资源?快使用搜索试试~ 我知道了~
c程序员面试必读资料,学习c的必备资料,它可以助你早日找到工作,更深入了解c
资源推荐
资源详情
资源评论
经典问题及面试笔试题
编程基础
基本概念
的理解: 的区别问
题几乎是 面试中每次都会有的题目。事实上这个概念谁都有只是三种声明方式非常
相似很容易记混。 在他的 里面给出过一个助记的方法:
把一个声明从右向左读。
读成
同上因为 里面没有 的运算符,所以 只能属于前面的类型。
指针
!!!!!指针数组,每个元素均为指向整型数据的指针。
!!!!!! 为指向一维数组的指针,这个一维数组有 个整型数据。
!!!!!!!!!!函数带回指针,指针指向返回的值。
!!!!!! 为指向函数的指针。
数组越界问题
下面这个程序执行后会有什么错误或者效果"
#$%&'())
*
$'&'(
+,-.,&'(
' ,
/
解答:&'(,))数组 ' 的下标范围为"-&'(!这是其一其二当 循环到 )) 时循环内执
行"')) ,))这句本身没有问题,但是返回 +,-.,&'(语句时由于 $
的取值范围在-))以后 又为 - 了无限循环下去
注: 类型为一个字节,取值范围是!0,1 ,$-))
和 的根本区别?
#2$343
用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为
‘5或‘6-5;例"-- 56-57+
4 用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长
度;例:-- 8)- 487+8注意如用 7+,会造成 8 的内存地址
溢出。
4 就只能拷贝字符串了,它遇到56-5就结束拷贝;例:-- 8)- 48如用
48,要注意 中的字符串长度(第一个‘6-5之前)是否超过 )- 位,如超过,则会造
成 8 的内存地址溢出。
4
原型:94$
用法:#2$
功能:把 所指由 :; 结束的字符串复制到 $ 所指的数组中。
说明: 和 $ 所指内存区域不可以重叠且 $ 必须有足够的空间来容纳 的字符串。
返回指向 $ 的指针。
4
原型:9<$4<$$<$$
用法:#2$
功能:由 所指内存区域复制 个字节到 $ 所指内存区域。
说明: 和 $ 所指内存区域不能重叠,函数返回指向 $ 的指针。
&
原型:9<$<$8=
用法:#2$
功能:把 8= 所指内存区域的前 个字节设置成字符 。
说明:返回指向 8= 的指针。
是干什么用的
'>>?@是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表
达式为 A'>?-程序将报告错误,并终止执行。如果表达式不为 -,则继续执行后面的语
句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导
致严重后果,同时也便于查找错误。例如,变量 在程序中不应该为 -,如果为 - 可能导致
错误,你可以这样写程序:
'>>?@B,-
C,-D
'>>?@ 只有在 E8 版本中才有效,如果编译为 @2 版本则被忽略。
的功能类似,它是 ':>F 标准中规定的函数,它与 '>>?@ 的一个重要区别是可以用
在 @2 版本中。
( 系 统 的 暂 停 程 序 , 按 任 意 键 继 续 , 屏 幕 会 打 印 , 3 按 任 意 键 继
续。。。。。3省去了使用 ();
请问 的类和 里面的 有什么区别?
中的类具有成员保护功能,并且具有继承,多态这类 特点,而 里的 没有
请讲一讲析构函数和虚函数的用法和作用?
析构函数也是特殊的类成员函数,它没有返回类型,没有参数,不能随意调用,也没有重
载。知识在类对象生命期结束的时候,由系统自动调用释放在构造函数中分配的资源。这
种在运行时,能依据其类型确认调用那个函数的能力称为多态性,或称迟后联编。另:析
构函数一般在对象撤消前做收尾工作,比如回收内存等工作,虚拟函数的功能是使子类可
以用同名的函数对父类函数进行重载,并且在调用时自动调用子类重载函数,如果是纯虚
函数,则纯粹是为了在子类重载时有个统一的命名而已。
!全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?
全局变量的生命周期是整个程序运行的时间,而局部变量的生命周期则是局部函数或过程
调用的时间段。其实现是由编译器在编译时采用不同内存分配方法。全局变量在 函数
调用后,就开始分配,如果是静态变量则是在 函数前就已经初始化了。而局部变量则
是在用户栈中动态分配的(还是建议看编译原理中的活动记录这一块)
" " 是多少位的系统?在数据总线上是怎么实现的?0-0G 系统是 G 位系统,其数据
总线是 - 位。
#程序设计
编写用 语言实现的求 $ 阶阶乘问题的递归算法:
2+
*
9
24
+.-
*
H3B3
/
+,,-
9,!
4,+9
4
/
#二分查找算法:
递归方法实现:
>24 2492I
D在下届为 2I,上界为 的数组 中折半查找数据元素 9D
*
$
+2IJ!
$,2ID
+9,,$ $
+9.$ >92I$!
2>9$
/
非递归方法实现:
>24 C44C4
*
2I$
2I,-,!
I22I.,
*
$,2ID
+$ C4,,C4$
2+$ C4.C42I,$
2,$!
/
!
/
交换两个数,不用第三块儿内存:
,KK
8,KK
,8
8,!8
,!8
冒泡排序:
<$882>249
*
24
+,.
+,-.!
*
+9 C4J9 C4
*
,9
9 ,9
9 ,
/
/
/
语言文件读写
#2$3$3
*
AF?+
%2-
+3L3%2
++,+%23I3,,:;
*
H35%263
9-
/
,
I2B,5#5
*
++
,
/
+2+
/
类的知识
++
#2$.J
2
*
82"
*M/
NM
O
*
M!!
/
<$
*
..3"3..M..$2
/
$"
<"
/
""M,-
+9
*
9
9
/
<
*
,+
-
/
输出:
-
-
-
-
----------------------------
分析:
DD调用构造函数!!!M,
DD输出"33
,+DD再调用 +的过程中由于函数参数是按值传递对象调用默认的复制
剩余59页未读,继续阅读
资源评论
cozzw
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功