ImageVerifierCode 换一换
格式:DOC , 页数:10 ,大小:84.50KB ,
资源ID:1183748      下载积分:5 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-1183748.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言笔试题答案.doc)为本站会员(h****)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

c语言笔试题答案.doc

1、笔试题一、填空题(每个空 4 分,共 28 分)1)struct tagABCchar name10 ;char sex;long sno;float score4 ;*pAbc;(四字节对齐)pAbc=NULL;那么,执行 pAbc+=2;之后 pAbc 的值为( 64 )2)如下代码,最终 value 的值是( 8 )int *p1,*p2;int value;p1=(int*)0400;p2=(int*)0408;value = p2-p1;3)如下代码,printf 的结果为( 2 )#includestdio.h#includestring.hvoid main(void)char

2、acNew20= “00”;printf(“%dn”,strlen(acNew);4) 有如下程序段,运行该程序的输出结果是( 33 )main ()int y=3,x=3,z=1;printf(“%d%dn”,(+x,y+),z+2);5)设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=ab)Unsigned char ucPara0:2;Unsigned char ucState:6;Unsigned char ucTail:4;Unsigned char ucAvail;Unsigned char unTail2:4;Unsigned long ulData;AA

3、A_S问:AAA_S 在字节对齐分别为 1,4 情况下,占用的空间大小分别是多少?( 9 ) ( 12 )二、选择题(每题 2 分,共 34 分)1) 若有说明 int(*p)3;以下叙述正确的是( D )A:p 是指针数组 B:(*p)3和*p3等价C:p 是指向一维数组中任何一个元素的指针D:p 是指向含有 3 个整型元素的一维数组的指针2) 以下关于单元测试的描述,哪些是对的?( D )A:黑盒测试针对软件的功能,不考虑功能的实现细节;B:白盒测试针对源代码的测试,从程序功能的具体实现上找错;C:路径覆盖是黑盒测试的一种方法,编写测试用例使程序的每条语句都能走到;D:条件覆盖是百盒测试的

4、一种方法, 编写测试用例使程序的每个判断的各种情况都能到3) 以下可以用于任务间通信的有( ABCD )A:共享内存 B:信号量C:消息队列和管道 D:socket 调用4) 有关结构,以下哪些描述是对的?( BC )A:为了测试方便,尽量把一个结构的功能设计得多一些B:不同结构间的关系不要过于复杂C:结构中的各元素应代表同一事务的不同侧面,而不应把描述没有关系或关系很弱的不同事务的元素放到同一结构中D:结构中元素的布局与排列顺序可以随意设计5) 关于强制类型转化,下面说法正确的是(ABCD)A:当目的结构的空间大于源结构的空间时,要重点关注内存访问超过源结构范围的情形,可能越界;B:当目的结

5、构的空间小于源结构的空间时,要重点关注对目的结构赋值不能完全覆盖源结构范围的情形,可能遗漏;C:结构体之间的强制类型转换时,其成员字段的数据类型的差异也是要格外小心的;D:与结构体之间的强制类型转换相比,基本数据结构的强制类型转换更容易出现上面描述的情况,使用的时候,一定要慎之又慎;6) 正确的使用 assert,软件系统不会对人为原因造成的错误进行处理。它有利于( A BCD )A:缺陷及早暴露,加快定位进程;B:明确表示函数接口或算法逻辑的校验关系,增强软件代码的可读性;C:去除不必要的容错处理,简化代码处理流程,降低软件处理复杂度;D:强化编程接口之间的契约,增强软件的可维护性;7) 对

6、于循环体的执行效率,下述说法正确的是( ABCD )A:循环体内工作量最小化B:在多重循环中,应将最忙的循环放在最内层C:尽量减少循环的嵌套层次D:避免在循环体内做无谓的判断语句,将循环语句置于判读语句的代码块之中8) 设数组 a5=10,20,30,40,50;已知指针 p 指向 a1;则表达式*+p 的值是( A )A20 B21 C30 D31 9) 有以下程序段, 执行后,mul 的值为( B )int a =1,3,5,7,9; int mul, *data, x; mul=1; data= for(x=0; x #include main() char *p=“abcde0fghj

7、ik0”; printf(“%dn” , strlen(p); A12 B15 C6 D5 15) 为了比较两个字符串 s1 和 s2 是否相等,应当使用( C )Aif(s1=s2 ) Bif(s1=s2) Cif(strcmp(s1, s2)=0) Dif(strcmp( char name20; char sex; int age; char addr30; stud; 若用 printf(“%sn”,)访问该结构中 name 值的正确方法是( D )Astud-name Bstrcpy(pcArray,“Welcome Home“);printf(“%s!“, pcArray);ret

8、urn;答案:数组越界。2).如下程序用于把“blue“ 字符串返回,请指出其中的错误:(4 分)char *GetBLUE(void)char* pcColor ;char* pcNewColor;pcColor = “blue“;pcNewColor = (char*)malloc(strlen(pColor);if(NULL = pcNewColor)return NULL;strcpy(pcNewColor, pcColor);return pcNewColor;答案:申请内存空间不足,字符串结尾还有0。3).下面程序期望输出 str = hello world,请指出其中的错误:(4

9、 分)char * GetStr(char *p)p = “hello world“;return p;void main() char *str = NULL;if(NULL != GetStr(str) printf(“rn str = %s“,str); return;答案:无法返回字符串,参数使用错误。4).请指出下面程序错误的地方:(4 分)#define BUFFER_SIZE 256void Test(void)char *str = NULL;str = (char *)malloc(BUFFER_SIZE);if(NULL = str)return;strcpy(str, “

10、hello“);free(str); if(NULL != str)strcpy(str, “world“);printf(str);return;答案:引用了已经释放的内存。5).请指出下面程序的错误:( 4 分)void GetMemory(char *ppcChar, int iLength)if(NULL = ppcChar)return;*ppcChar = (char *)malloc(iLength);return;void Test(void)char *szStr = NULL;GetMemory(if(NULL != szStr)strcpy(szStr, “hello“)

11、;printf(szStr);return;答案:没有释放内存。四、简答题(每题 4 分,共 8 分)1)写宏定义 MAX,求出两个数中的较大者。 (4 分)答案: #defined MAX(A,B) ((A)=(B)?(A):(B) )2) 画出同下面多叉树等价的二叉树,并作说明。 (4 分)AB C DE F答案如下:(采用树的孩子兄弟法将树转换成二叉树)ACBDEF五、编程题(共 10 分)1) 给一个单链表,删除某一节点(要求:先找到是否有这个节点,然后再删除,要能保证程序运行正确) (10 分)参考解法如下:include #include #include #include typ

12、edef struct linkqueue1 int data; struct linkqueue1 *next; linkqueue1,linklist; linklist *creat(void) /建立链表 linklist *head; int n=1,len; linklist *p1,*p2; coutlen; head=p1=p2=(linklist *)malloc(sizeof(linklist); coutp1-data; head-next=NULL; while(n+p1-data; p2-next=p1; p2=p1; p2-next=NULL; return (he

13、ad); void outlink(linklist *head) linklist *p; p=head; while(p) coutdatanext; int bianli(linklist *head, int Number) /遍历链表,返回 1 说明有要删除的元素,反之。 linklist *p; p=head; while(p-next!=NULL) if( p-data= Number)return 1; return 0; linklist *deletenode(linklist *head,int deleteNumber) linklist *Pointer, *Back

14、; Back = head; Pointer = Backnext;while(Pointer-data!= deleteNumber) Pointer+;Back= Back-next;if(Pointer-data = deleteNumber) printf(“删除首节点!n“); head = Pointer -next; free( Pointer ); break; elseBack-next = Pointer-next; free(Pointer); break; return head;void main() linklist *head; int del,isexit;head=creat(); /创建一个链表outlink(head); /输出一个链表coutdel; isexit= bianli(head,del); /遍历删除的节点是否存在if(isexit) / 如果存在则删除节点head=deletenode(head,del);outlink(head);elseCout “ 你删除的节点不存在 ”endl;

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。