C开发最新笔试题-2013-11-20.docx_第1页
C开发最新笔试题-2013-11-20.docx_第2页
C开发最新笔试题-2013-11-20.docx_第3页
C开发最新笔试题-2013-11-20.docx_第4页
C开发最新笔试题-2013-11-20.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

一、不定项选择:1、 以下描述正确的是( )A 1个字节(byte)由8个比特(bit)组成。B sizeof(x AABBCCDD)的结果是8。C signed char类型的取值范围是-128128。D unsigned char类型的取值范围是256。2、 以下代码的结果是( )#define ADD(x,y) x+y /*加*/#define SUB(x,y) x-y /*减*/#define MUL (x,y) x*y /*乘*/unsigned int uiA;uiA = MUL(ADD(9,2),SUB(6,3);A uiA=15 C uiA=33B uiA=18 D uiA=633、 以下代码运行的结果是( )代码unsigned int uiA;uiA = (xAA & 0xBB) (xCC | xDD);代码unsigned int uiB;uiB =(xAA 24)| (xBB 16) | (xCC 4) pstNext= pstA-pstNext -pstNext;free(pstA-pstNext);B. 单链表以下代码可以删除节点BpstA- pstNext= pstB-pstNextfree(pstB);C双链表以下代码可以删除节点BpstB- pstpre-pstNext= pstB-pstNext;pstB- pstNext - pstpre = pstB- pstpre;free(pstB);D. 双链表以下代码可以删除节点BpstA-pstNext=pstA-pstNext-pstNext;pstA-pstNext-pstNext- pstpre= pstA;free(pstB);8. 以下代码的运行结果是( )代码 代码unsigned int uiCount= unsigned int uiCount=while(uiCount=5) switch(uiCount) if(uiCount=5) case : continue; uiCount=5; +Uicount; default: uiCount=1;printf(uiCount=%urn,uiCount); printf(uiCount=%urn,uiCount);代码unsigned int uiCount= 代码do unsigned int uiCount= for(;uiCount=10;+uiCount)+uiCount; if(uiCount=5)while (uiCount=5); break;printf(uiCount=%urn,uiCount); printf(uiCount=%urn,uiCount);A代码, uiCount=5B代码, uiCount=5C代码, uiCount=1D代码, uiCount=59. 以下代码的运行结果是( )unsigned char aucData = x,x11,x22,x33,x44,x55,x66,x77 ;unsigned char *pucA = aucData;unsigned int *puiB = (unsigned int *)aucData;printf(%urn,sizeof(aucData); /*代码 */printf(0x%xrn, *(pucA+1); /*代码 */printf(0x%xrn, *(puiB+1) ; /*代码 */printf(0x%xrn, *(unsigned char *)(puiB+1) ; /*代码 */A代码, 运行结果是7B代码, 运行结果是x22 C代码, 运行结果不确定,视CPU字节序而定D代码, 运行结果是x4410. 实现一个swap函数,可以帮助调用者交换两个变量的值,以下描述正确的有( )例如:int iA=100;int iB=200;printf(%d,%drn,iA,iB);/*使用swap函数进行交换*/printf(%d,%drn,iA,iB);转换前后的结果应该是:100,200200,100A 函数和调用处应该是如下形式 B. 函数和调用处应该是如下形式void swap(int iA,int iB) void swap(int iA,int iB) int iC; int *piA=&iA; iC = iA; int *piB=&iB; iA = iB; int iC; iB = iC; iC = *piA; return; *piA =* piB; * piB =iC; return;int iA=100; int iB=200; int iA=100;swap(iA,iB); int iB=200; swap(iA,iB);C函数和调用处应该是如下形式 D. 函数和调用处应该是如下形式void swap(int *piA,int *piB) void swap(int *piA,int *piB) int iC; int iC; iC = * piA; iC = * piA; *piA =*p iB; *piA =*p iB; *piB = iC; *piB = iC; return; return; int iA=100; int *piA=NULL;int iB=200; int *P iB=NULL;swap(&iA,&iB); *piA=100; *piB=200; swap(piA,piB);11. 关于代码缺陷预防,以下描述正确的有( )A动态申请的内存资源释放后,建议将之前记录内存地址的指针清空,预防野指针。B字符串一定要确保有结束符,否则有访问越界的风险。C局部变量的空间来自堆栈,建议初始化在使用,否则有访问随机值的风险。D对于动态申请的内存资源,使用完毕后建议主动释放。12. 、分别代表四个图形,已知它们的某些组合形式,则以下描述正确的是( )和组合: 和组合: 和组合: A是 B.是 C. 是 D. 是 13. 金银铜三个盒子,金盒子上写着“钻石在金盒子里”。银盒子上写着“钻石不在银盒子里”。铜盒子上写着“钻石不在金盒子里”。其中只有一句话是真的,请问钻石究竟在那个盒子里( )A钻石在金盒子里B钻石在银盒子里C钻石在铜盒子里D以上答案都不对二、编程题1. 将双向链表从给定的截断点分成两段,两段位置互换成为新链表,如果链表为A-B-C-D-E-F,指定节点C,则新链表为C-D-E-F-A-B,用C语言编写函数ReGroup 实现此功能。/*链表节点*/typedef struct tagNode struct tagNode *pstNext struct tagNode * pstPrevMODE_S;/*Description:对链表进行重组操作 * 将双向链表从给定的截断点分成两段,两段位置互换成为新链表。 * Input=NODE_S *pstSep 截断点指针 * Return= NODE_S * 新链表头结点指针 * Caution=入参合法性由调用者保证 */NODE_S *ReGroup(NODE_S *pstSep )2. 新的个人所得税对工资收入采用七级累进税率,税率入下表。已知一个人的扣除社保 公积金后月收入,请用C语言编写函数Income Tax计算税后收入全月应纳税所得额此部分收入的税率全月应纳税额不超过1500元3%全月应纳税额超过1500元至4500元10%全月应纳税额超过4500元至9000元20%全月应纳税额超过90000元至35000元25%全月应纳税额超过35000元至55000元30%全月应纳税额超过55000元至80000元35%全月应纳税额超过80000元45% 全月应纳所得税额=扣除社保公积金后月收入-3500 注:所谓累进税率,是对收入的不同部分采用不同税率,例如扣除社保公积金后月收入为10000,全月应纳税所得额为10000-3500=6500,根据上表,0-1500部分税率为3%,1500至4500部分税率为10%,4500至6500部分

温馨提示

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

评论

0/150

提交评论