




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、笔试题一、填空题(每个空4分,共28分)1) struct tagABCchar n ame 10;char sex ;long sno ;float score 4 ;*pAbc;(四字节对齐)pAbc=NULL ;那么,执行pAbc+=2 ;之后pAbc的值为(64 )2 )如下代码,最终 value的值是(8)int *p1,*p2;int value;p1= (int*)0 X400;p2=(int*)0 X408;value = p2-p1;3) 如下代码,printf的结果为(2 )#include stdio.h #include string.h void mai n(void
2、)char acNew : 20 = “ 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 ) &(n=cd)后,n 的值为(2 )6) struct tagAAAUn sig ned char ucld:1;Un sig ned char ucPara0:2;Un sig ned char ucState:6;
3、Un sig ned char ucTail:4;Un sig ned char ucAvail;Un sig ned char un Tail2:4;Un sig ned long ulData;AAA_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 :黑盒测试针
4、对软件的功能,不考虑功能的实现细节;B :白盒测试针对源代码的测试,从程序功能的具体实现上找错;C:路径覆盖是黑盒测试的一种方法,编写测试用例使程序的每条语句都能走到;D :条件覆盖是百盒测试的一种方法,编写测试用例使程序的每个判断的各种情况都能到3)以下可以用于任务间通信的有(ABCD)A :共享内存B:信-C:消息队列和管道D: socket调用4)有关结构,以下哪些描述是对的? ( BC )A:为了测试方便,尽量把一个结构的功能设计得多一些B :不同结构间的关系不要过于复杂C:结构中的各元素应代表同一事务的不同侧面,而不应把描述没有关系或关系很弱的 不同事务的元素放到同一结构中D:结构中
5、元素的布局与排列顺序可以随意设计5)关于强制类型转化,下面说法正确的是(ABCD)A:当目的结构的空间大于源结构的空间时,要重点关注内存访问超过源结构范围的情形,可能越界;B:当目的结构的空间小于源结构的空间时,要重点关注对目的结构赋值不能完全覆盖源 结构范围的情形,可能遗漏;C:结构体之间的强制类型转换时,其成员字段的数据类型的差异也是要格外小心的;D :与结构体之间的强制类型转换相比,基本数据结构的强制类型转换更容易出现上面 描述的情况,使用的时候,一定要慎之又慎;6)正确的使用assert,软件系统不会对人为原因造成的错误进行处理。它有利于(A BCD)A :缺陷及早暴露,加快定位进程;
6、B :明确表示函数接口或算法逻辑的校验关系,增强软件代码的可读性;C:去除不必要的容错处理,简化代码处理流程,降低软件处理复杂度;D :强化编程接口之间的契约,增强软件的可维护性;7)对于循环体的执行效率,下述说法正确的是(ABCD)A :循环体内工作量最小化B :在多重循环中,应将最忙的循环放在最内层C:尽量减少循环的嵌套层次D :避免在循环体内做无谓的判断语句,将循环语句置于判读语句的代码块之中8)设数组a5=10,20,30,40,50;已知指针p指向a1;则表达式*+p的值是(A )A.20B .21C.30D.319)有以下程序段,执行后,mul的值为(B )int a =1,3,5
7、,7,9;int mul, *data, x;mul=1;data=& a1;for ( x=0; x3; x+) mul *= *(data+x);A.15B .105C.315D.94510)有以下程序段,执行后的结果为( D)int list =6,7,8,9,10;int * p;p=list;*(p+2)=10;printf( ” %d, %dn ” ,*p,*(p+2);A. 8, 10B. 6, 8C. 7, 9D. 6, 1011)以下语句不能正确赋值的是(A)A . char s110; s1= ” China” ;B. char s2 = C , h , i , n, a
8、;C. char s320= ” China” ;D. char *s= ” China ” ;12)C语言中,定义PI为一个符号常量,正确的是( A)A.#defi ne PI 3.14B .defi ne PI 3.14C.#i nclude PI 3.14D.in clude PI 3.1413)有以下程序,该程序输出的结果为(B)#define N 3#define M N+2#define NUM 2*M+1main ()int i ;i=NUM ;printf( ” %dn ” ,i);A. 11、B . 9C. 7D. 514) 有以下程序,程序运行后的输出结果是(D )#in
9、elude #in elude main () char *p= “ abcdeOfghjikO ” ;printf( “%dn ” , strlen(p); A. 12B. 15C. 6D. 515) 为了比较两个字符串s1和s2是否相等,应当使用( C )A . if( s1=s2)B . if (s1=s2 )C . if (strcmp(s1, s2)=0 )D . if (strcmp(&s1, &s2)=0)16) 设有如下结构定义:struct stude nt int num;char n ame20;char sex;int age;char addr30; stud ;若用
10、printf( “ %sn ”,)访问该结构中name值的正确方法是(D )A . stud-n ameB . & stud. nameC . stud.&n ameD . stud. name17) 想对一个文本文件的尾部追加写入,应当在fopen语句中使用的文件操作方式指示符号为(D )A . wB . rC . wbD. a三、指出下列程序的错误(每题 4分,共20分)1) 如下程序用于输岀Welcome Home。请指岀其中的错误:(4分)void Test(void)char pcArray12;strcpy(pcArray,Welcome Home);prin tf(%s!, pc
11、Array);return;答案:数组越界。2) .如下程序用于把blue字符串返回,请指岀其中的错误:(4分)char *GetBLUE(void)char* pcColor ;char* pcNewColor;pcColor = blue;pcNewColor = (char*)malloc(strle n(pColor);if(NULL = pcNewColor)return NULL;strcpy(pcNewColor, pcColor); return pcNewColor;答案:申请内存空间不足,字符串结尾还有0。3) .下面程序期望输岀str = hello world,请指岀其
12、中的错误:(4分)char* GetStr(char*p)p =helloworld;returnp;voidmai n()char*str =NULL;if(NULL != GetStr(str)prin tf(rnstr = %s,str);return;答案:无法返回字符串,参数使用错误。4) .请指岀下面程序错误的地方:(4 分)#defi ne BUFFER_SIZE256void Test(void)char *str =NULL;str =(char*)malloc(BUFFER_SIZE);if(NULL=str)return;strcpy(str,hello);free(st
13、r);if(NULL!=str)strcpy(str, world);prin tf(str);return;答案:引用了已经释放的内存。5) .请指岀下面程序的错误: (4 分)void GetMemory(char *ppcChar, int iLe ngth) if(NULL = ppcChar)return;*ppcChar = (char *)malloc(iLe ngth); return;void Test(void)char *szStr = NULL;GetMemory(&szStr,100);if(NULL != szStr) strcpy(szStr, hello); p
14、rin tf(szStr);return;答案:没有释放内存。四、简答题(每题4分,共8分)1)写宏定义MAX,求出两个数中的较大者。(4分)答案:#defined MAX(A,B)(A)= ( B)?(A):(B)2)画出同下面多叉树等价的二叉树,并作说明。(4分)答案如下:(采用树的孩子兄弟法将树转换成二叉树)五、编程题(共10分)1)给一个单链表,删除某一节点(要求:先找到是否有这个节点,然后再删除,要能保证程序运行正确)(10分)参考解法如下:in clude#i nclude#i nclude#in cludetypedef struct lin kqueuelint data;st
15、ruct lin kqueue1 *n ext;lin kqueue1,li nklist;linklist *creat(void) / 建立链表li nklist*head;intn=1,le n;lin klist *p1,*p2;couti nputn umberof records: le n;head=p1=p2=(li nklist *)malloc(sizeof(li nklist);couti nputrecords: p1-data;head- next=NULL;while (n+ p1-data;p2-n ext=p1;p2=p1;p2-n ext=NULL;retur
16、n (head);void outl in k(l in klist*head)lin klist *p;p=head;while(p)coutdatan ext;1说明有要删除的元素,反之intbianli(linklist*head, int Number) / 遍历链表,lin klist*p;p=head;while(p- next!=NULL)if( p-data= Number)return 1;return 0;lin klist*delete no de(l in klist*head,i nt deleteNumber)lin klist*Poi nter, *Back;Back = head;Pointer= Back - next;while(Po in ter-data!= deleteNumber)Poi nte 叶+;Back= Back- n ext;if(Po in ter-data = deleteNumber)printf(删除首节点! n“);head = Poin ter -n ext;free(Poin ter);break;elseBack- n ext= Poin ter- n ext;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025行政职业能力测试试题及答案
- 2025年领导科学基础试题及答案
- 2025年医学装备管理及应急程序培训考核试题(附答案)
- 2025年公司安全培训考试试题附答案(达标题)
- 2025年放射医学技术副高题库试题附答案
- 2025年科研伦理与责任考试试卷及答案解析
- 毛毛虫啃苹果课件图谱
- 车辆火灾消防知识培训课件
- 特种设备知识培训心得
- 天游峰的扫路人教学课件
- 2025-2026年秋季第一学期学校“蒲公英”广播稿(22周):第1周 从烽火岁月里“穿越”来的青春答案
- 无菌物品有效期课件
- 新媒体礼仪知识培训总结
- 2025 年小升初成都市初一新生分班考试语文试卷(带答案解析)-(部编版)
- 人教版七年级上册数学教学计划
- 护理事业十五五发展规划(2026-2030年)
- 2025云南昆明巫家坝建设发展有限责任公司招聘23人笔试备考试题及答案解析
- 重庆市七校联盟2024-2025学年高一下学期期末考试物理试卷(含解析)
- 2024年河北科技师范学院招聘真题
- 培训班校长述职报告课件
- 传染病信息报告管理规范2025年版培训试题及答案
评论
0/150
提交评论