欢迎来到天天文库
浏览记录
ID:28346744
大小:18.54 KB
页数:5页
时间:2018-12-09
《c语言面试题大汇总之华为面试题3》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、学生会的老师就像这个大家庭里的家长,他(她)们慈爱而又严厉,老师们教会我们做人,教会我们学习,教会我们工作。老师对我们的关心与疼爱我们始终看在眼里,记在心里C语言面试题大汇总之华为面试题3 面试经典试题Author:Vince即使你是个编程高手,你在面试前也应该要看看这套题,她也许会给你带来好运,否则你有可能后悔当初为什么没有看而跳楼自杀,这样我会很内疚的。这套题看似简单,但你未必能得高分,即使你看不懂也要把她背下来!欢迎转载此文,转载时请注明文章来源:文斯测试技术研究中心1编程基础 基本概念1.const的理解:con
2、stchar*,charconst*,char*const的区别问题几乎是C++面试中每次都会有的题目。事实上这个概念谁都有只是三种声明方式非常相似很容易记混。Bjarne在他的TheC++programmingLanguage里面给出过一个助记的方法:把一个声明从右向左读。char*constcp;(*读成pointerto)cpisaconstpointertocharconstchar*p;pisapointertoconstchar;charconst*p;同上因为C++里面没有const*的运算符,所以const
3、只能属于前面的类型。2.c指针int*p;-----指针数组,每个元素均为指向整型数据的指针。int(*p);p为指向一维数组的指针,这个一维数组有n个整型数据。int*p();函数带回指针,指针指向返回的值。int(*p)();p为指向函数的指针。3.数组越界问题(这个题目还是有点小险的)下面这个程序执行后会有什么错误或者效果:#defineMAX255intmain(){unsignedcharA,i;for时间如白驹过隙,弹指间,我已在学生会工作了一年。这其中有酸有甜有苦也有辣,然而这就是生活,过于平淡倒显得无味,酸
4、甜苦辣俱全方能体现出人生的多彩,方能值得回味,方能使人进步!学生会的老师就像这个大家庭里的家长,他(她)们慈爱而又严厉,老师们教会我们做人,教会我们学习,教会我们工作。老师对我们的关心与疼爱我们始终看在眼里,记在心里(i=0;i 功能:把src所指由NULL结束的字符串复制到dest所指的数组中。说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。memcpy原型:externvoid*memcpy(void*dest,void*src,unsignedin
5、tcount);{ASSERT((dest!=NULL)&&(src!=NULL));ASSERT((dest>src+count)
6、
7、(src>dest+count));//防止内存重叠,也可以用restrict修饰指针Byte*bdest=(Byte*)dest;Byte*bsrc=(Byte*)src;While(count-->0)*bdest++=**bsrc++;Returndest;}用法:#include功能:由src所指内存区域复制count个字节到dest所指内存区域。说明:src和dest所指内存区域
8、不能重叠,函数返回指向dest的指针。Memset原型:externvoid*memset(void*buffer,charc,intcount);用法:#include功能:把buffer所指内存区域的前count个字节设置成字符c。说明:返回指向buffer的指针。5.ASSERT()是干什么用的答:ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE(0),程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的
9、数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。例如,变量n在程序中不应该为0,如果为0可能导致错误,你可以这样写程序:......时间如白驹过隙,弹指间,我已在学生会工作了一年。这其中有酸有甜有苦也有辣,然而这就是生活,过于平淡倒显得无味,酸甜苦辣俱全方能体现出人生的多彩,方能值得回味,方能使人进步!学生会的老师就像这个大家庭里的家长,他(她)们慈爱而又严厉,老师们教会我们做人,教会我们学习,教会我们工作。老师对我们的关心与疼爱我们始终看在眼里,记在心里ASSERT(n!=0);k=10/n;......A
10、SSERT只有在Debug版本中才有效,如果编译为Release版本则被忽略。assert()的功能类似,它是ANSIC标准中规定的函数,它与ASSERT的一个重要区别是可以用在Release版本中。6.system("pause");作用?答:系统的暂停程序,按任意键继续,屏幕会打印,"按任意键继续。
此文档下载收益归作者所有