欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    最新c语言笔试题(答案).doc

    • 资源ID:33829683       资源大小:155.50KB        全文页数:11页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    最新c语言笔试题(答案).doc

    精品资料c语言笔试题(答案).笔试题一、填空题(每个空4分,共28分)1)struct tagABC char name10; char sex; long sno; float score4; *pAbc;(四字节对齐)pAbc=NULL;那么,执行pAbc+=2;之后pAbc的值为( 64 )2)如下代码,最终value的值是( 8 )int *p1,*p2;int value;p1=(int*)0×400;p2=(int*)0×408;value = p2-p1;3)如下代码,printf的结果为( 2 )#includestdio.h#includestring.hvoid main(void) char 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=a>b)&&(n=c>d)后,n的值为( 2 )6)struct tagAAA Unsigned char ucId:1;Unsigned char ucPara0:2;Unsigned char ucState:6;Unsigned char ucTail:4;Unsigned char ucAvail;Unsigned char unTail2:4;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是指向一维数组中任何一个元素的指针D:p是指向含有3个整型元素的一维数组的指针2) 以下关于单元测试的描述,哪些是对的?( D ) A:黑盒测试针对软件的功能,不考虑功能的实现细节; B:白盒测试针对源代码的测试,从程序功能的具体实现上找错; C:路径覆盖是黑盒测试的一种方法,编写测试用例使程序的每条语句都能走到; D:条件覆盖是百盒测试的一种方法, 编写测试用例使程序的每个判断的各种情况都能到3) 以下可以用于任务间通信的有( ABCD ) A:共享内存 B:信号量 C:消息队列和管道 D:socket调用4) 有关结构,以下哪些描述是对的?( BC )A:为了测试方便,尽量把一个结构的功能设计得多一些B:不同结构间的关系不要过于复杂C:结构中的各元素应代表同一事务的不同侧面,而不应把描述没有关系或关系很弱的不同事务的元素放到同一结构中D:结构中元素的布局与排列顺序可以随意设计5) 关于强制类型转化,下面说法正确的是(ABCD) A:当目的结构的空间大于源结构的空间时,要重点关注内存访问超过源结构范围的情形,可能越界; B:当目的结构的空间小于源结构的空间时,要重点关注对目的结构赋值不能完全覆盖源结构范围的情形,可能遗漏; C:结构体之间的强制类型转换时,其成员字段的数据类型的差异也是要格外小心的; D:与结构体之间的强制类型转换相比,基本数据结构的强制类型转换更容易出现上面描述的情况,使用的时候,一定要慎之又慎;6) 正确的使用assert,软件系统不会对人为原因造成的错误进行处理。它有利于( A BCD ) A:缺陷及早暴露,加快定位进程; B:明确表示函数接口或算法逻辑的校验关系,增强软件代码的可读性; C:去除不必要的容错处理,简化代码处理流程,降低软件处理复杂度; D:强化编程接口之间的契约,增强软件的可维护性;7) 对于循环体的执行效率,下述说法正确的是( 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=&a1; for(x=0; x<3; 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=”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) 有以下程序,程序运行后的输出结果是( D ) #include <string.h> #include <stdio.h> main() char *p=“abcde0fghjik0”; 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(&s1, &s2)=0)16) 设有如下结构定义: struct student int num; char name20; char sex; int age; char addr30; stud; 若用printf(“%sn”,)访问该结构中name值的正确方法是( D ) Astud->name B&stud.name Cstud.&name Dstud.name 17) 想对一个文本文件的尾部追加写入,应当在fopen语句中使用的文件操作方式指示符号为( D ) Aw Br Cwb Da三、指出下列程序的错误(每题4分,共20分)1).如下程序用于输出"Welcome Home"。请指出其中的错误:(4分)void Test(void)    char pcArray12;    strcpy(pcArray,"Welcome Home");    printf("%s!", pcArray);    return;答案:数组越界。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分)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, "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(&szStr, 100);        if(NULL != szStr)            strcpy(szStr, "hello");        printf(szStr);        return;答案:没有释放内存。四、简答题(每题4分,共8分) 1)写宏定义MAX,求出两个数中的较大者。(4分) 答案: #defined MAX(A,B) ((A)>=(B)?(A):(B) )2) 画出同下面多叉树等价的二叉树,并作说明。(4分) AB CDEF答案如下:(采用树的孩子兄弟法将树转换成二叉树)ACBDEF五、编程题(共10分)1) 给一个单链表,删除某一节点(要求:先找到是否有这个节点,然后再删除,要能保证程序运行正确)(10分)参考解法如下:include<iostream.h> #include<malloc.h> #include<stdio.h> #include<conio.h> typedef struct  linkqueue1 int data; struct linkqueue1 *next; linkqueue1,linklist;  linklist *creat(void) /建立链表  linklist *head;  int n=1,len;  linklist *p1,*p2;  cout<<"input number of records:"<<endl;  cin>>len;  head=p1=p2=(linklist *)malloc(sizeof(linklist);  cout<<"input records:"<<endl;  cin>>p1->data;  head->next=NULL;  while(n+<=len-1)    p1=(linklist *)malloc(sizeof(linklist);  cin>>p1->data;  p2->next=p1;  p2=p1;  p2->next=NULL;    return (head);  void outlink(linklist *head)    linklist *p;  p=head;  while(p)    cout<<p->data<<" "  p=p->next;     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; Back = head; Pointer  = Back>next;   while(Pointer->data!= deleteNumber)  Pointer+; Back= Back->next;  if(Pointer->data = deleteNumber)     printf("删除首节点!n");       head = Pointer ->next;    free( Pointer );    break;                else   Back->next = Pointer->next;    free(Pointer);    break;     return head;void main() linklist *head; int del,isexit;head=creat(); /创建一个链表outlink(head); /输出一个链表cout<<endl<<"输入删除数据:" cin>>del; isexit= bianli(head,del); /遍历删除的节点是否存在if(isexit) / 如果存在则删除节点head=deletenode(head,del);outlink(head);elseCout<< “ 你删除的节点不存在”<<endl;光临,Word文档下载后可修改编辑.双击可删除页眉页脚.谢谢!希望您提出您宝贵的意见,你的意见是我进步的动力。赠语; 1、如果我们做与不做都会有人笑,如果做不好与做得好还会有人笑,那么我们索性就做得更好,来给人笑吧! 2、现在你不玩命的学,以后命玩你。3、我不知道年少轻狂,我只知道胜者为王。4、不要做金钱、权利的奴隶;应学会做“金钱、权利”的主人。5、什么时候离光明最近?那就是你觉得黑暗太黑的时候。6、最值得欣赏的风景,是自己奋斗的足迹。 7、压力不是有人比你努力,而是那些比你牛×几倍的人依然比你努力。

    注意事项

    本文(最新c语言笔试题(答案).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开