2021年面试模拟题答案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面试模仿题1 (C) 面试题1:用find 写出查找/opt/kernel目录下(涉及子目录)文献名为Kconfig命令。 cd /opt/kernel/;find -name Kconfig 或find /opt/kernel -name Kconfig 面试题2:用 Vi 编译器底行命令模式实现字符串替代,把当前文献中“xiaodai”所有替代成“banzhang”。 :%s/xiaodai/banzhang/g 面试题3:变量声明和定义有什么区别? 为变量分派地址和存储空间称为定义,不分派地址称为声明。一种变量可以在各种地方声明,但是只在一种地方定义。加入 extern 修饰是变量声明,阐明此变量将在文献以外或在文献背面某些定义。 阐明:诸多时候一种变量,只是声明不分派内存空间,直到详细使用时才初始化,分派内存空间,如外部变量。 面试题4:sizeof是库函数吗?sizeof 和 strlen 区别? sizeof 是一种操作符,strlen 是库函数。 ? sizeof 参数可以是数据类型,也可以是变量,而 strlen 只能以结尾为‘\ 0‘字符串作参数。? 编译器在编译时就计算出了 sizeof 成果。而 strlen 函数必要在运营时才干计算出来。并且 sizeof计算是数据类型占内存大小,而 strlen 计算是字符串实际长度。 ? 数组做 sizeof 参数不退化,传递给 strlen 就退化为指针了。 注意:有些是操作符看起来像是函数,而有些函数名看起来又像操作符,此类容易混淆名称一定要加以区别,否则遇到数组名此类特殊数据类型作参数时就很容易出错。最容易混淆为函数操作符就是 sizeof。 面试题5:链表和数组有什么区别 数组和链表有如下几点不同: (1)存储形式:数组是一块持续空间,声明时就要拟定长度。链表是一块可不持续动态空间,长度可变,每个结点要保存相邻结点指针。 (2)数据查找:数组线性查找速度快,查找操作直接使用偏移地址。链表需要按顺序检索结点,效率低。 (3)数据插入或删除:链表可以迅速插入和删除结点,而数组则也许需要大量数据移动。 (4)越界问题:链表不存在越界问题,数组有越界问题。 阐明:在选取数组或链表数据构造时,一定要依照实际需要进行选取。数组便于查询,链表便于插入删除。数组节约空间但是长度固定,链表虽然变长但是占了更多存储空间。 面试题6:简述队列和栈异同 队列和栈都是线性存储构造,但是两者插入和删除数据操作不同,队列是“先进先出”,栈是“后进先出”。 注意:区别栈区和堆区。堆区存取是“顺序随意”,而栈区是“后进先出”。栈由编译器自动分派释放 ,存储函数参数值,局部变量值等。其操作方式类似于数据构造中栈。堆普通由程序员分派释放, 若程序员不释放,程序结束时也许由 OS 回收。分派方式类似于链表。它与本题中堆和栈是两回事。堆栈只是一种数据构造,而堆区和栈区是程序不同内存存储区域。 面试题7:有如下语句:char a=3,b=6,c;c = a^b2;则c二进制值是_0___。 面试题8:如何打印出当前源文献文献名以及源文献当前行号? 答案: cout __FILE__ ; cout__LINE__ ; __FILE__和__LINE__是系统预定义宏,这种宏并不是在某个文献中定义,而是由编译器定义。 面试题9:假设某个函数原型为:void foo( int x,int y );该函数分别被C编译器和C++编译器编译后在符号库中名字是什么? 答:该函数被C编译器编译后在符号库中名字为_foo,而C++编译器则会产生像_foo_int_int之类名字(不同编译器也许生成名字不同,但是都采用了相似机制,生成新名字称为“mangled name”)。_foo_int_int 这样名字包括了函数名、函数参数数量及类型信息,C++就是靠这种机制来实现函数重载。 面试题10:在QT程序中可以调用被C 编译器编译后函数吗?如果可以怎么实现? 答:可以,通过加“extern C” 连接声明,被extern C修饰变量和函数是按照C语言方式编译和连接 面试题11:.h头文献中ifndef/define/endif 作用?#i ncludefile.h 与 #i nclude file.h区别? 答:1. 防止该头文献被重复引用。 2. 前者是从Standard Library途径寻找和引用file.h,而后者是从当前工作途径搜寻并引用file.h。 面试题12:构造与联合有和区别? 答:1. 构造和联合都是由各种不同数据类型成员构成,但在任何同一时刻,联合中只存储了一种被选中成员(所有成员共用一块地址空间),而构造所有成员都存在(不同成员存储地址不

文档评论(0)

132****5705 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5104323331000004

1亿VIP精品文档

相关文档