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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

c语言笔试题答案Word文档格式.docx

1、6)struct tagAAAUnsigned char ucId:1;Unsigned char ucPara0:2;Unsigned char ucState:6;Unsigned char ucTail:4;Unsigned char ucAvail;Unsigned char unTail2:Unsigned 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是指向一维数

2、组中任何一个元素的指针D:p是指向含有3个整型元素的一维数组的指针2) 以下关于单元测试的描述,哪些是对的?( D ) A:黑盒测试针对软件的功能,不考虑功能的实现细节; B:白盒测试针对源代码的测试,从程序功能的具体实现上找错; C:路径覆盖是黑盒测试的一种方法,编写测试用例使程序的每条语句都能走到; D:条件覆盖是百盒测试的一种方法, 编写测试用例使程序的每个判断的各种情况都能到3) 以下可以用于任务间通信的有( ABCD )共享内存 B:信号量消息队列和管道 D:socket调用4) 有关结构,以下哪些描述是对的?( BC )为了测试方便,尽量把一个结构的功能设计得多一些不同结构间的关系

3、不要过于复杂结构中的各元素应代表同一事务的不同侧面,而不应把描述没有关系或关系很弱的不同事务的元素放到同一结构中结构中元素的布局与排列顺序可以随意设计5) 关于强制类型转化,下面说法正确的是(ABCD) A:当目的结构的空间大于源结构的空间时,要重点关注内存访问超过源结构范围的情形,可能越界; B:当目的结构的空间小于源结构的空间时,要重点关注对目的结构赋值不能完全覆盖源结构范围的情形,可能遗漏;结构体之间的强制类型转换时,其成员字段的数据类型的差异也是要格外小心的;与结构体之间的强制类型转换相比,基本数据结构的强制类型转换更容易出现上面描述的情况,使用的时候,一定要慎之又慎;6) 正确的使用

4、assert,软件系统不会对人为原因造成的错误进行处理。它有利于( A BCD )缺陷及早暴露,加快定位进程;明确表示函数接口或算法逻辑的校验关系,增强软件代码的可读性;去除不必要的容错处理,简化代码处理流程,降低软件处理复杂度;强化编程接口之间的契约,增强软件的可维护性;7) 对于循环体的执行效率,下述说法正确的是( ABCD )循环体内工作量最小化在多重循环中,应将最忙的循环放在最内层尽量减少循环的嵌套层次避免在循环体内做无谓的判断语句,将循环语句置于判读语句的代码块之中8) 设数组a5=10,20,30,40,50;已知指针p指向a1;则表达式*+p的值是( A ) A20 B21 C3

5、0 D31 9) 有以下程序段, 执行后,mul的值为( B ) int a =1,3,5,7,9; int mul, *data, x; mul=1; data=&a1; for(x=0; x3; x+) mul *= *(data+x); A15 B105 C315 D945 10) 有以下程序段,执行后的结果为(D) int list =6,7,8,9,10; int * p;p=list; *(p+2)=10; printf(”%d, %dn”,*p,*(p+2); A8, 10 B6, 8 C7, 9 D6, 10 11) 以下语句不能正确赋值的是(A) Achar s110; s1

6、=”China”; Bchar s2 = C,h,i,n,a; Cchar s320=”China”; Dchar *s=”China”;12) C语言中,定义PI为一个符号常量,正确的是(A) A#define PI 3.14 Bdefine PI 3.14 C#include PI 3.14 Dinclude PI 3.14 13) 有以下程序,该程序输出的结果为(B) #define N 3 #define M N+2 #define NUM 2*M+1 main() int i; i=NUM; printf(”%dn”,i); A11 、 B9 C7 D5 14) 有以下程序,程序运行

7、后的输出结果是( D ) #include stdio.h char *p=“abcde0fghjik0”; printf(“%dn” , strlen(p); A12 B15 C6 15) 为了比较两个字符串s1和s2是否相等,应当使用( C ) Aif(s1=s2) Bif(s1=s2) Cif(strcmp(s1, s2)=0) Dif(strcmp(&s1, &s2)=0)16) 设有如下结构定义: struct student int num; char name20; char sex; int age; char addr30; stud; 若用printf(“%sn”,)访问该

8、结构中name值的正确方法是( D ) Astud-name B&stud.name Cstud.& Dstud.name 17) 想对一个文本文件的尾部追加写入,应当在fopen语句中使用的文件操作方式指示符号为( D ) Aw Br Cwb Da三、指出下列程序的错误(每题4分,共20分)1).如下程序用于输出WelcomeHome。请指出其中的错误:(4分)voidTest(void)charpcArray12;strcpy(pcArray,);printf(%s!,pcArray);return;答案:数组越界。2).如下程序用于把blue字符串返回,请指出其中的错误:*GetBLUE

9、(void)char*pcColor;pcNewColor;=pcNewColor(char*)malloc(strlen(pColor);if(NULL=pcNewColor)returnNULL;strcpy(pcNewColor,pcColor);申请内存空间不足,字符串结尾还有03).下面程序期望输出strhelloworld,请指出其中的错误:*GetStr(char*p)pworldp;main()*str!GetStr(str)rnstr%s,str);无法返回字符串,参数使用错误。4).请指出下面程序错误的地方:#defineBUFFER_SIZE256(char*)mallo

10、c(BUFFER_SIZE);str)strcpy(str,hellofree(str);if(NULLstrcpy(str,printf(str);引用了已经释放的内存。5).请指出下面程序的错误:GetMemory(char*ppcChar,intiLength)ppcChar)*ppcChar*)malloc(iLength);*szStrGetMemory(&szStr,100);szStr)strcpy(szStr,printf(szStr);没有释放内存。四、简答题(每题4分,共8分) 1)写宏定义MAX,求出两个数中的较大者。 答案: #defined MAX(A,B) (A)=

11、(B)?(A):(B) )2) 画出同下面多叉树等价的二叉树,并作说明。答案如下:(采用树的孩子兄弟法将树转换成二叉树)五、编程题(共10分)1) 给一个单链表,删除某一节点(要求:先找到是否有这个节点,然后再删除,要能保证程序运行正确)(10分)参考解法如下:include#includeconio.htypedefstruct linkqueue1 data;linkqueue1*next;linkqueue1,linklist;linklist*creat(void)/建立链表 *head;n=1,len;*p1,*p2;coutlen;head=p1=p2=(linklist*)mal

12、loc(sizeof(linklist);p1-head-next=NULL;while(n+next=p1;p2=p1; (head);outlink(linklist*head) *p;p=head;while(p) p-datanext; bianli(linklist*head, intNumber) /遍历链表,返回1说明有要删除的元素,反之。while(p-next!=NULL) if( p-data= Number)return 1;0;*deletenode(linklist*head,intdeleteNumber)*Pointer,*Back;Back =head;Poin

13、ter = Backwhile(Pointer-data!= deleteNumber)Pointer+; Back= Back-if(Pointer-data删除首节点!nheadPointer -free(break;elseBack-nextPointer-free(Pointer);main() del,isexit;head=creat(); /创建一个链表outlink(head); /输出一个链表endl输入删除数据:del;isexit= bianli(head,del); /遍历删除的节点是否存在if(isexit) / 如果存在则删除节点head=deletenode(head,del);Cout“ 你删除的节点不存在”

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1