时间:2012-07-06 00:11:46
13、 以下程序的功能是输出a数组中的所有字符串,请填空
#include <sthio.h>
mian()
{char *a[]={“ABC”,”DEFGH”,”IJ”,”KLMNOP”};
Int i=0;
For(;i<4;i++) printf(“%sn”, );
}
14、以下程序的输出结果是( )。
#include <sthio.h>
#include <sthio.h>
#include <string.h>
mian()
{ char *p, *q, *r;
p=q=r=(char *)malloc(sizeof(char)*20);
strcpy(p,”attaboy,welcome!”);
printf(“%c%c%cn”,p[11], q[3], r[4]);
free(p);
}
15、设文件test.txt中原已写入字符串Begin,执行以下程序后,文件中的内容为( )。
#include <string.h>
mian()
{ file *fp;
fp=fopen(“test.txt”,”w+”);
fputs(“test”,fp);
fclose(fp);
}
(1)【答案】A
【解析】为了充分利用存储空间,可以把顺序队列看成一个环状空间,即把顺序队列的头尾指针相连,这样的队列称之为循环队列。它是对顺序队列的改进,故循环队列是队列的一种顺序存储结构
(2)【D】
【解析】栈是一种后进先出的线性表,队列是一种先进先出的线性表,二者均是线性结构,故选项A)、B)、C)均不对,答案为选项D)。
(3)【D】
【解析】由二叉树的性质n0=n2+1可知,度为0的结点数(即叶子结点数)=度为2的结点数+1,根据题意得知,度为2的结点数为4个,那么25-5-4=16即为度为1的结点数,选项D)正确
(4)、【答案】A
【解析】内模式也称存储模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述。所以选项A)正确。
(5)【答案】D
【解析】在关系R中如记录完全函数依赖于属性(组)X,则称X为关系R中的一个候选关键字。在一个关系中,候选关键字可以有多个且在任何关系中至少有一个关键字。所以在满足数据完整性约束的条件下,一个关系应该有一个或多个候选关键字,所以选项D)正确。
(6)【答案】C
【解析】R和S的差是由属于R但不属于S的元组组成的集合,运算符为“-”。记为T=R-S。根据本题关系R和关系S运算前后的变化,可以看出此处进行的是关系运算的差运算
(7)【答案】B
【解析】通常把软件产品从提出、实现、使用、维护到停止使用(退役)的过程称为软件生命周期。可以将软件生命周期分为软件定义、软件开发及软件运行维护三个阶段。软件生命周期的主要活动阶段是可行性研究与计划制定、需求分析、软件设计、软件实现、软件测试、运行和维护。软件生命周期不包括市场调研。
(8)【答案】C
【解析】需求分析是对待开发软件提出的需求进行分析并给出详细的定义。主要工作是编写软件需求规格说明书及用户手册。需求分析的任务是导出目标系统的逻辑模型,解决“做什么”的问题。制定软件集成测试计划是软件设计阶段需要完成的任务
(9)【答案】A
【解析】黑盒测试也称功能测试或数据驱动测试,设计测试用例着眼于程序外部结构、不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
(10)【答案】D
【解析】软件设计包括概要设计和详细设计,软件概要设计中,面向数据流的设计方法有变换型系统结构图和事务型数据流两种。软件详细设计,程序流程图(PDF)和PAD(问题分析图)是过程设计的常用工具。数据流图(DFD图)是软件定义阶段结构化分析方法常用的工具。
(11)【答案】A)
【解析】简单程序设计的步骤是首先要确定算法和数据结构,然胡编码、调试,最后整理相关文档。
(12)【答案】A)
【解析】实型数据在内存中存储的二进制位数是有限的,例如float型数据在内存中有24位二进制尾数。而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。
(13)【答案】B)
【解析】一个正确的算法可以有零个或者多个输入,必须有一个或者多个输出。
(14)【答案】C)
【解析】一个C程序有且只有一个主函数 main()。一个C 程序可以包含多个不同名字的子函数。C程序在书写时没有严格的缩进要求。
(15)【答案】B)
【解析】考察C语言中输入格式,因为在输入格式中定义好了”%c%c”,其中没有任何符号,所以中间不能加任何字符,包含不能加逗号、回车和空格,因为这些也算是字符。所以在输入时也不可以有任何间隔符号。
(16)【答案】D)
【解析】字符常量有两种表示方法:
一种是用该字符的图形符号,如'b' ,'y','*'。另外还可以用字符的ASCII码表示,即用反斜符()开头,后跟字符的ASCII码,这种方法也称为转义序列表示法,具体方法是:有两种形式:一种是用字符的八进制ASCII码,表示为:odd.这里,ddd是八进制值(o可以省略)。另一种使用字符的十六进制ASCII码值,表示为 xhh或0Xhh 这里hh是两位十六进制值。
本题中D)选项‘ 19'使用是八进制表示,不应该出现9,所以错误。
(17)【答案】A)
【解析】考察C语言关于赋值的应用,首先执行a-=a-5,即a=a-(a-5),使得a的值为5,然后执行c=(a-=a-5),即将a的值5赋给变量c,使得c的值也为5。然后执行下句逗号表达式中的a=b,把b的值0赋给a,此时a的值为0,然后执行b=b+4,使得b的值为4。最后打印输出。
(18)【答案】D)
【解析】本题考察自增运算符,++x表示先将x值加1后再用,x++表示先使用x值,用后加1,所以本题中ABC选项都会输出x+1的值,只有D选项会输出x值。
(19)【答案】C)
【解析】在C语言中非0的值表示真,0表示假。
(20)【答案】A)
【解析】考察if语句和自增自减运算符,判断条件中if(a++<9)是先用后加,即a的值为9,所以条件不成立,但是a已经进行了自增1操作,a的值此时为10。执行else语句时,因为打印a--,是先用后