C语言2010华为网络面试题汇总.doc
《C语言2010华为网络面试题汇总.doc》由会员分享,可在线阅读,更多相关《C语言2010华为网络面试题汇总.doc(43页珍藏版)》请在咨信网上搜索。
1、学号:2009121001姓名:达选芳本题出自:题目:答案: #include stdio.h#include conio.hvoid uppers(char *s,char *us)for(;*s!=0;s+,us+)if(*s=a&*s=z)*us = *s-32;else*us = *s;*us = 0;int main()char *s,*us;char ss20;printf(Please input a string:n);scanf(%s,ss);s = ss;uppers(s,us);printf(The result is:n%sn,us);getch();学号:200912
2、1003姓名:孙英杰本题出自:华为公司题目:改错题(此代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”) 源代码为: #includestring.h main() char*src=hello,world; char*dest=NULL; intlen=strlen(src); dest=(char*)malloc(len); char*d=dest; char*s=srclen; while(len-!=0) d+=s-; printf(%s,dest); return0; 答案: #includeintmain() char*src=hello,world; intlen=s
3、trlen(src); char*dest=(char*)malloc(len+1); char*d=dest; char*s=&srclen-1; while(len-!=0) *d+=*s-; *d=0;学号:2009121004姓名:胡蝶本题出自:题目:试题: 编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的.答案:解答:char * search(char *cpSource, char ch) char *cpTemp=NULL, *cpDest=NULL; int iTemp, iCount=0; while(*cpSource) if
4、(*cpSource = ch) iTemp = 0; cpTemp = cpSource; while(*cpSource = ch) +iTemp, +cpSource; if(iTemp iCount) iCount = iTemp, cpDest = cpTemp; if(!*cpSource) break; +cpSource; return cpDest;学号:2009121005姓名:张虹本题出自:(无相关信息)题目:找错题/*文件名称:C/C+程序设计面试深入剖析*文件标识:C/C+笔试 面试*摘要:本课程的目的并不在于提供C/C+程序员求职面试指导,而旨在从技术上分析面试题的
5、内涵。*/*作者:张虹,修改日期:2010年4月10日*修改的地方描述:主要是格式、说明内容的补充,代码上没有做任何修改。*/*原作者:马良,完成日期:2009年5月26日*/*试题1*/#include“stdio.h”#include“string.h”void test1() char string10; char *str1=0123456789; strcpy( string, str1 );答案:试题1字符串str1需要11个字节才能存放下(包括末尾的0),而string只有10个字节的空间,strcpy会导致数组越界。/*试题2*/#include“stdio.h”#includ
6、e“string.h”void test2() char string10,str110; int i; for( i=0; i10; i+ ) str1=a; strcpy( string, str1 );答案:对试题2,如果面试者指出字符数组str1不能在数组内结束可以给3分;如果面试者指出strcpy(string, str1)调用使得从str1内存起复制到string内存起所复制的字节数具有不确定性可以给7分,在此基础上指出库函数strcpy工作方式的给10 分。/*试题3*/#include“stdio.h”#include“string.h”void test3(char *str
7、1) char string10; If( strlen(str1) = 10 ) strcpy( string, str1 ); 答案:对试题3,if( strlen(str1) = 10 )应改为if( strlen(str1) 10 ),因为strlen的结果未统计0所占用的1个字节。剖析:考查对基本功的掌握: (1)字符串以0结尾; (2)对数组越界把握的敏感度; (3)库函数strcpy的工作方式,如果编写一个标准strcpy函数的总分值为 10,下面给出几个不同得分的答案:/2分void strcpy( char *strDest, char *strSrc ) while( (*
8、strDest+ = *strSrc+) !=0); /4分void strcpy( char *strDest, const char *strSrc ) /将源字符串加const,表明其为输入参数,加2分 while( (*strDest+ = *strSrc+) !=0); /7分void strcpy( char *strDest, const char *strSrc ) /对源地址和目的地址加非0断言,加3分assert( (strDest != NULL) & (strSrc != NULL) );while( (*strDest+ = *strSrc+) != 0); /10分
9、/为了实现链式操作,将目的地址返回,加3分!char * strcpy(char *strDest, const char *strSrc) assert( (strDest != NULL) & (strSrc != NULL) );char *address=strDest; while( (*strDest+ = *strSrc+) != 0); return address; /The end学号:2009121006姓名:李宛芩本题出自:华为题目:请问以下代码有什么问题:int main()char a;char *str=&a;strcpy(str,hello);printf(st
10、r);return 0;答:没有为str分配内存空间,将会发生异常问题出在将一个字符串复制进一个字符变量指针所指地址。虽然可以正确输出结果,但因为越界进行内在读写而导致程序崩溃。char* s=AAA;printf(%s,s);s0=B;printf(%s,s);有什么错?AAA是字符串常量。s是指针,指向这个字符串常量,所以声明s的时候就有问题。cosnt char* s=AAA;然后又因为是常量,所以对是s0的赋值操作是不合法的。学号:2009121007姓名:白宁本题出自: 题目:1用宏定义写出swap(x,y)#define swap(x,y)x=x+y;y=x-y;x=x-y;2数组
11、aN,存放了1至N-1个数,其中某个数重复一次。写一个函数,找出被重复的数字,时间复杂度必须为o(N)函数原型Int do_duo(int a,int N)3一语句实现x是否为2的若干次幂的判断Int i=512;Coutboolalpha(i&(i-1)?false:true)endl;4 unsigned int intvert(unsigned int x ,int p, int n)实现对x的进行转换,p为起始转换为,n为需要转换的长度,假设起始点在右边,如x=0b0001 0001,p=4,n=3转换后x= 0b0110 0001unsigned intvert(unsigned i
12、nt x ,int p, int n )Unsigned int_t=0;Unsigned int_a=1;For(int i=0;I n;+i)_t|=_a;_a=_a;_t=_tp;X =_t;Return x;学号:2009121008姓名:余晓虹本题出自:华为技术有限公司题目:求1000!的未尾有几个0(用素数相乘的方法来做,如72=2*2*2*3*3);答案:/*华为技术有限公司*/*当前版本:1.0.0*作者:余晓虹*完成日期:2010-4-12/#include#define NUM 1000int find5(int num)int ret=0;while(num%5=0)nu
13、m/=5;ret+;return ret;int main()int result=0;int i;for(i=5;i=NUM;i+=5)result+=find5(i);printf( the total zero number is %dn,result);return 0;学号:2009121009姓名:曾旭东本题出自:题目:答案:学号:2009121010姓名:郭濠瑜本题出自:IBM题目: Output of the following program ismain() int i=0;for(i=0;i20;i+)switch(i)case 0:i+=5;case 1:i+=2;ca
14、se 5:i+=5;default i+=4;break;printf(%d,i);a) 0,5,9,13,17b) 5,9,13,17c) 12,17,22d) 16,21答案:d学号:2009121011姓名:吴英延本题出自:题目:试题:编写类String的构造函数、析构函数和赋值函数,已知类String的原型为:class String public: String(const char *str = NULL); / 普通构造函数 String(const String &other); / 拷贝构造函数 String(void); / 析构函数String & operate =(c
15、onst String &other); / 赋值函数 private: char *m_data; / 用于保存字符串 ;答案:解答:/普通构造函数String:String(const char *str) if(str=NULL) m_data = new char1; / 得分点:对空字符串自动申请存放结束标志0的空 /加分点:对m_data加NULL 判断 *m_data = 0; else int length = strlen(str); m_data = new charlength+1; / 若能加 NULL 判断则更好 strcpy(m_data, str); / Stri
16、ng的析构函数String:String(void) delete m_data; / 或delete m_data;/拷贝构造函数String:String(const String &other) / 得分点:输入参数为const型 int length = strlen(other.m_data); m_data = new charlength+1; /加分点:对m_data加NULL 判断 strcpy(m_data, other.m_data); /赋值函数String & String:operate =(const String &other) / 得分点:输入参数为const
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 2010 华为 网络 试题 汇总
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。