资源描述:
《c语言程序设计复习题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、一、填空题1.对下列二叉树进行中序遍历的结果是DBXEAYFZC。2.按照软件测试的一般步骤,集成测试应在单元测试之后进行。3.软件工程三要素包括方法、工具和过程,其中,过程支持软件开发的各个环节的控制和管理。4.数据库设计包括概念设计、逻辑设计和物理设计。5.在二维表中,元组的分量不能再分成更小的数据项。6.设变量a和b已正确定义并赋初值。请写出与a-=a+b等价的赋值表达式a=-b。7.若整型变量a和b中的值分别为7和9,要求按以下格式输出a和b的值:a=7b=9请完成输出语句〞printf(〞a=%db=%d〞,a,b);
2、8.以下程序的输出结果是1。#includemain(){inti,j,sum;for(i=3;i>=1;i--){sum=0;for(j=1;j<=i;j++)sum+=i*j;}printf(〞%d〞,sum);}9.以下程序的输出结果是9911。#includemain(){intj,a[]={1,3,5,7,9,11,13,15},*p=a+5;for(j=3;j;j--){switch(j){case1:case2:printf(〞%d〞,*p++);break;case3:printf
3、(〞%d〞,*(--p));}}}解:和for(j=3;j!=0;j--)是一样的的意思。因为在c语言中的逻辑运算中,0与j!=0的结果都是false。循环从3开始,每次j减1,当j=0时,循环条件不满足,因此只巡检3次;这种写法很不好,不推荐使用。10.以下程序的输出结果是3。#include#defineN5intfun(int*s,inta,intn){intj;*s=a;j=n;while(a!=s[j])j--;returnj;}main(){ints[N+1];intk;for(k=1;k<=N;k++)s
4、[k]=k+1;printf(〞%d〞,fun(s,4,N));}11.以下程序的输出结果是15。#includeintfun(intx){staticintt=0;return(t+=x);}main(){ints,i;for(i=1;i<=5;i++)s=fun(i);printf(〃%d〃,s);}12.以下程序按下面指定的数据给x数组的下三角置数,并按如下形式输出,请填空。43726915810#includemain(){intx[4][4],n=0,i,j;for(j=0;j<4,
5、j++)for(i=3;i>=j;i--){n++;x[i][j]=n;}for(i=0;i<4;i++){for(j=0;j<=i;j++)printf(〃%3d〃,x[i][j]);print(〃〃);}}13.以下程序的功能是:通过函数func输入字符并统计字符的个数。输入时用字符@作为输入结束标志。请填空。#includelongfunc();/*函数说明语句*/main(){longn;n=func();printf(〃n=%ld〃,n);}longfunc(){longm;for(m=0;getch
6、ar()!=′@′;m++);returnm;}答题处,请把以上各小题的答案填写如下:1.DBXEAYFZC2.单元3.过程4.逻辑设计5.分量6.a=-b7.a=%db=%d8.19.991110.311.1512.i--、n13.func()、m++二、填空题1.测试用例包括输入值集和输出值集。2.深度为5的满二叉树有16个叶子结点。3.设某循环队列的容量为50,头指针front=5(指向队头元素的前一位置),尾指针rear=29(指向队尾元素),则该循环队列中共有24个元素。4.在关系数据库中,用来表示实体之间联系的是关系
7、。5.在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,数据定义语言负责数据的模式定义与数据的物理存取构建。6.已有定义:charc=’‘;inta=1,b;(此处c的初值为空格字符),执行b=!c&&a;后b的值为0。解析:b=(!c)&&a7.设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为3。8.若有定义:intk;,以下程序段的输出结果是##2##4。for(k=2;k<6;k++,k++)printf(“##%d”,k);9.以下程序段的定义语句中,x[1]的初值是2,程序运行后输出的内容是24
8、68。#includemain(){intx[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;for(i=0;i<4;i++){p[i