c_c++语言程序设计笔试面试题31

c_c++语言程序设计笔试面试题31

ID:13751614

大小:99.00 KB

页数:16页

时间:2018-07-24

c_c++语言程序设计笔试面试题31_第1页
c_c++语言程序设计笔试面试题31_第2页
c_c++语言程序设计笔试面试题31_第3页
c_c++语言程序设计笔试面试题31_第4页
c_c++语言程序设计笔试面试题31_第5页
资源描述:

《c_c++语言程序设计笔试面试题31》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、判断一个字符串是不是回文intIsReverseStr(char*aStr){inti,j;intfound=1;if(aStr==NULL)return-1;j=strlen(aStr);for(i=0;i

2、列。数组实现:#include#includeintJosephu(intn,intm){intflag,i,j=0;int*arr=(int*)malloc(n*sizeof(int));for(i=0;i

3、n,m;scanf("%d%d",&n,&m);printf("最后胜利的是%d号!",Josephu(n,m));system("pause");return0;}链表实现:#include#includetypedefstructNode{intindex;structNode*next;}JosephuNode;intJosephu(intn,intm){inti,j;JosephuNode*head,*tail;head=tail=(JosephuNode*)malloc(sizeof(JosephuNode));fo

4、r(i=1;iindex=i;tail->next=(JosephuNode*)malloc(sizeof(JosephuNode));tail=tail->next;}tail->index=i;tail->next=head;for(i=1;tail!=head;++i){for(j=1;jnext;}tail->next=head->next;printf("第%4d个出局的人是:%4d号",i,head->index);free(head);head=tail->next

5、;}i=head->index;free(head);returni;}intmain(){intn,m;scanf("%d%d",&n,&m);printf("最后胜利的是%d号!",Josephu(n,m));system("pause");return0;}已知strcpy函数的原型是:char*strcpy(char*strDest,constchar*strSrc);1.不调用库函数,实现strcpy函数。2.解释为什么要返回char*。解说:1.strcpy的实现代码char*strcpy(char*strDest,constchar*strSrc){

6、if((strDest==NULL)

7、

8、(strSrc==NULL))file://[/1]throw"Invalidargument(s)";//[2]char*strDestCopy=strDest;file://[/3]while((*strDest++=*strSrc++)!='');file://[/4]returnstrDestCopy;}错误的做法:[1](A)不检查指针的有效性,说明答题者不注重代码的健壮性。(B)检查指针的有效性时使用((!strDest)

9、

10、(!strSrc))或(!(strDest&&strSrc)),说明答题者对C语言中类型

11、 的隐式转换没有深刻认识。在本例中char*转换为bool即是类型隐式转换,这种功能虽然灵活,但更多的是导致 出错概率增大和维护成本升高。所以C++专门增加了bool、true、false三个关键字以提供更安全的条件表达式。(C)检查指针的有效性时使用((strDest==0)

12、

13、(strSrc==0)),说明答题者不知道使用常量的好处。直接使用 字面常量(如本例中的0)会减少程序的可维护性。0虽然简单,但程序中可能出现很多处对指针的检查,万一出 现笔误,编译器不能发现,生成的程序内含逻辑错误,很难排除。而使用NULL代替0,如果出现拼写错误,编译器

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。