C开发最新笔试题2013_第1页
C开发最新笔试题2013_第2页
C开发最新笔试题2013_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、不定项选择:1、以下描述正确的是()A1个字节(byte)由8个比特(bit)组成。Bsizeof(。xAABBCCDD的结果是8。Csignedchar类型的取值范围是-128128。Dunsignedchar类型的取值范围是。256。2、以下代码的结果是()#defineADD(x,y)x+y/*加*/#defineSUB(x,y)x-y/*减*/#defineMUL(x,y)x*y/*乘*/unsignedintuiAuiA=MUL(ADD(9,2),SUB(6,3);uiA=15CuiA=33uiA=18uiA=63以下代码运行的结果是(代码IunsignedintuiAuiA=(

2、0xAA&代码n0xBB)AxCC|0xDD;unsignedintuiBxAA<<24)|(uiB=(。0xBB<<16)|(0xCC<<8)xDDuiA=0x77uiA=0x88uiB=0xFFFFFFFFuiB=0xAABBCCDD4、以下语句中能够判断AifuiNum(unsigned)=uiNum)int)可以被16整除的有()Bififif(uiNum/16*16(uiNum%16)=0)(uiNum&0x0F)=0)(uiNum>>4)<<4)=uiNum)5、关于以下代码,描述正确的是(代码I:cons

3、tchar*pcStr=代码m:typedefunsignedint*pui_t1;*代码n:voidstring_sizeofcharszStr210=printf("u,?"abcdefg"#definepui_t2unsignedintpui_t1puiA,puiB;pui_t2puiC,puiD;(charszStr110)“12345”;,sizeof(szStr1);unsignedintuiA=100printf("%urn",sizeof(szStr2);pintf("srn".uiA);return;A代码

4、Iconst修饰符表明pcStr指向的内容不能修改;B代码n程序的运行结果是”4,10”C代码mpuiA、puiB、puiC和puiD都是unsignedint*类型的变量;D代码IV打印unsignedint时不应该使用”s”,会导致程序访问非法地址6关于结构的大小,以下描述正确的有()structA_SstructC_Uunsignedshortus1;unsignedshortus1;unsignedshortus2;unsignedshortus2;unsignedshortus3;unsignedshortuc3;unionB_SunionD_Uunsignedcharuc1unsi

5、gnedcharuc1;unsignedintui2;unsignedintui2;unsignedshortus3;unsignedshortus3;A.结构structA_S的大小是6B.结构structB_S的大小是12C.联合unionC_U的大小是6D.联合unionDU的大小是47关于链表操作,以下描述正确的有()单链表:pstApstBstructSLLstructSLL*pstNest;/*下一节点*/;双链表:pstApstBstructDLL(structDLL*pstNext;/*下一结点*/structDLL*pstPrev;/*前一结点*/;单链表以下代码可以删除节点

6、BpstA->pstNext=pstA->pstNext->pstNext;free(pstA->pstNext);单链表以下代码可以删除节点BpstA->pstNext=pstB->pstNextfree(pstB);双链表以下代码可以删除节点BpstB->pstpre->pstNext=pstB->pstNext;pstB->pstNext->pstpre=pstB->pstpre;free(pstB);双链表以下代码可以删除节点BpstA->pstNext=pstA->pstNext->pstNex

7、t;pstA->pstNext->pstNext->pstpre=pstA;8.以下代码的运行结果是(代码IunsignedintuiCount=0while(uiCountv=5)(if(uiCountv=5)continue;+Uicount;printf(''uiCount=%urnfree(pstB);)代码munsignedintuiCount=0switch(uiCount)case0:uiCount=5;default:uiCount=1;',uiCount);printf''uiCount=%urnuiCount);代码

8、nunsignedintuiCount=0代码WdounsignedintuiCount=0for(;uiCountv=10;+uiCount)+uiCount;if(uiCount=5)while(uiCount>=5);break;printf('uiCount=%urn',uiCount);printf('uiCount=%urn','uiCount);A.代码I,uiCount=5B.代码n,uiCount=5C.代码m,uiCount=1D.代码IV,uiCount=5以下代码的运行结果是()unsignedcharaucData=0x0

9、§0x11,0x22,0x33,0x44,0x55,0x66,0x77;unsignedchar*pucA=aucData;A.代码I,b.代码n,C.代码m,d.代码w,unsignedint*puiB=(unsignedint*)aucData;printf('%urn':sizeof(aucData);/*代码I*/printf('0x%xrn','*(pucA+1);/*代码n*/printf('0x%xrn','*(puiB+1);/*代码m*/printf('0x%xrn','*(un

10、signedchar*)(puiB+1);/*代码w*/运行结果是7运行结果是成22运行结果不确定,视CPU节序而定运行结果是成44实现一个swap函数,可以帮助调用者交换两个变量的值,以下描述正确的有()例如:intiA=100;intiB=200;printf('%d,%drn','iA,iB);/*使用swap函数进行交换*/printf('%d,%drn'iA,iB);转换前后的结果应该是:A. 100,200200,100函数和调用处应该是如下形式voidswap(intiA,intiB)intiC;iC=iA;函数和调用处应该是如下形式voi

11、dswap(intiA,intiB)int*piA=&iA;int*piB=&iB;iA=旧;旧=iC;return;intiA=100;intiB=200;swap(iA,iB);函数和调用处应该是如下形式voidswap(int*piA,int*piB)(intiC;iC=*piA;*piA=*p旧;*piB=iC;return;intiA=100;intiB=200;swap(&iA,&旧);intiC;iC=*piA;*piA=*piB;*piB=iC;return;intiA=100;intiB=200;swap(iA,iB);函数和调用处应该是如下形

12、式voidswap(int*piA,int*piB)(intiC;iC=*piA;*piA=*p旧;*piB=iC;return;int*piA=NULL;int*PiB=NULL;*piA=100;*piB=200;swap(piA,piB);关于代码缺陷预防,以下描述正确的有()动态申请的内存资源释放后,建议将之前记录内存地址的指针清空,预防野指针。B. 字符串一定要确保有结束符,否则有访问越界的风险。C. 局部变量的空间来自堆栈,建议初始化在使用,否则有访问随机值的风险。D. 对于动态申请的内存资源,使用完毕后建议主动释放。I、n、m、W分别代表四个图形,已知它们的某些组合形式,则以下描

13、述正确的是m和W组合:1. 金银铜三个盒子,金盒子上写着“钻石在金盒子里”。银盒子上写着“钻石不在银盒子里”。铜盒子上写着“钻石不在金盒子里”。其中只有一句话是真的,请问钻石究竟在那个盒子里()钻石在金盒子里钻石在银盒子里钻石在铜盒子里以上答案都不对二、编程题将双向链表从给定的截断点分成两段,两段位置互换成为新链表,如果链表为A-B-C-D-E-F指定节点C,则新链表为C-D-E-F-A-B用C语言编写函数ReGroup实现此功能。/*链表节点*/typedefstructtagNode(structtagNode*pstNextstructtagNode*pstPrevMODE_S;/*De

14、scription:对链表进行重组操作* 将双向链表从给定的截断点分成两段,两段位置互换成为新链表。* Input=NODE_S*pstSep截断点指针* Return=NODE_S*新链表头结点指针* Caution=入参合法性由调用者保证*/NODE_S*ReGroup(NODE_S*pstSep)2. 新的个人所得税对工资收入采用七级累进税率,税率入下表。已知一个人的扣除社保公积金后月收入,请用C语言编写函数IncomeTax计算税后收入全月应纳税所得额此部分收入的税率全月应纳税额不超过1500元3%全月应纳税额超过1500兀至4500兀10%全月应纳税额超过4500兀至9000兀20%全月应纳税额超过90000兀至35000兀25%全月应纳税额超过35000兀至55000兀30%全月应纳税额超过55000兀至80000兀35%全月应纳税额超过80000元45%全月应纳所得税额=扣除社保公积金后月收入-3500注:所谓累进税率,是对收入的不同部分采用不同税率,例如扣除社保公积金后月收入为10000,全月应纳税所得额为100

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论