十套模拟试题详细答案及解析_第1页
十套模拟试题详细答案及解析_第2页
十套模拟试题详细答案及解析_第3页
免费预览已结束,剩余8页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十一套模拟试题参考答案及解析1. 算法的设计可以避开具体的计算机程序设计语言, 但算法的实现必须借助程序设计语 言中提供的数据类型及其算法。 数据结构和算法是计算机科学的两个重要支柱。 它们是一个 不可分割的整体。 算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。 算法的 有穷性是指一个算法必须在执行有限的步骤以后结束。本题答案为 C。2. 所谓完全二叉树是指除最后一层外, 每一层上的结点数均达到最大值; 在最后一层上 只缺少右边的若干结点。具有 n 个结点的完全二叉树,其父结点数为 int(n/2) ,而叶子结点数等于总结点数减去父结点数。本题n=699,故父结点数等于int(6

2、99/2)=349,叶子结点数等于 699-349=350。本题答案是 B。3. 要形成良好的程序设计风格, 主要应注重和考虑下述一些因素: 符号名的命名应具有 一定的实际含义, 以便于对程序功能的理解; 正确的注释能够帮助读者理解程序; 程序编写 应优先考虑清晰性,除非对效率有特殊要求,程序编写要做到清晰第一,效率第二。本题答案为 A。4. 关系数据库管理系统能实现的专门关系运算,包括选择运算、投影运算、连接运算。 本题答案为 B。5. 确认测试的任务是验证软件的功能和性能及其他特性是否满足了需求规格说明中的 确定的各种需求,以及软件配置是否完全、正确。本题答案为 A。6. 数据库概念设计的

3、过程中,视图设计一般有三种设计次序,它们是:1 、自顶向下。这种方法是先从抽象级别高且普遍性强的对象开始逐步细化、具体化与 特殊化。2 、由底向上。这种设计方法是先从具体的对象开始,逐步抽象,普遍化与一般化,最 后形成一个完整的视图设计。3 、由内向外。这种设计方法是先从最基本与最明显的对象着手逐步扩充至非基本、不 明显的其它对象。本题答案为 D。7. 数据流相当于一条管道,并有一级数据(信息)流经它。在数据流图中,用标有名字 的箭头表示数据流。 数据流可以从加工流向加工, 也可以从加工流向文件或从文件流向加工, 并且可以从外部实体流向系统或从系统流向外部实体。本题答案为 C。8. 软件设计包

4、括软件结构设计、 数据设计、 接口设计和过程设计。 其中结构设计是定义 软件系统各主要部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义; 接口设计是描述软件内部、 软件和操作系统之间及软件与人之间如何通信; 过程设计则是把 系统结构部件转换成软件的过程性描述。本题答案为 B。9. 当数据表A中每个元素距其最终位置不远,说明数据表A按关键字值基本有序,在待排序序列基本有序的情况下,采用插入排序所用时间最少。本题答案为 B。10.在文件系统中, 相互独立的记录其内部结构的最简单形式是等长同格式记录的集合, 易造成存储空间大量浪费,不方便使用。 而在数据库系统中, 数据是结构化的,这

5、种结构化 要求在描述数据时不仅描述数据本身, 还要描述数据间的关系, 这正是通过采用特定的数据 模型来实现的。本题答案为 D。11. 本题的考查点是 C 语言的特点。C 语言主要有如下一些特点:1 、语言简洁、紧凑,使用方便、灵活;2 、运算符丰富;3 、数据结构丰富,具有现代化语言的各种数据结构;4 、具有结构化的控制语句;5 、语法限制不太严格,程序设计自由度大;6 、C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可 以直接对硬件进行操作。7 、生成目标代码质量高,程序执行效率高;8 、用C语言写的程序可移植性好。但是所有的语言都不可能没有任何缺点,C语言也不例外,

6、C语言是高级语言,需要通过编译才能被计算机识别。本题答案为 C。12. 本题的考查点是程序的基本结构。 结构化程序由若干个基本结构组成。 每一个基本结构可以包含一个或若干个语句。 有三 种基本结构:1 、顺序结构,先执行 A操作,再执行B操作,两者是顺序执行的关系;2 、选择结构,P代表一个条件,当 P条件成立时执行 A,否则执行B。只能执行A或B 之一。3 、循环结构,有两种循环结构:(1) 当型循环结构,当 P条件成立("真”)时,反复执行 A操作。直到P为”假"时才 停止循环。(2) 直到型循环结构,先执行 A操作,再判断P是否为”假",若P为"假

7、”,再执行A, 如此反复,直到 P为"真"为止。故本题答案为 A。13. 本题的考查点是 main 函数。一个C程序中必须有且只能有一个用"main"命名的主函数,其它函数由用户自行命名。main 函数可以在任何地方出现。故本题答案为 B。14. 本题的考查点是C语言中的基本数据类型。程序设计中可以利数据类型是所允许的数据及其操作的集合, 是高级语言的重要特征。 用数据类型发现程序中的某些错误。C 语言提供了三大类数据类型,即基本类型、复合类型和地址类型1 、基本类型只代表单个数据;2 、复合类型由基本类型组合而成,可代表一批数据;3 、地址类型可直接表

8、示内存中的地址。C 语言支持的五种基本数据类型:字符型:表示单个字符; 整型:表示整数,包括基本整型、短整型、长整型和无符号整型; 浮点型:表示实数,精度为 6-7 位有效数字; 双精度型:表示实数,精度为 15-16 位有效数字; 无值类型:表示无返回值的函数或无定向指针。故本题答案为 D。15. 本题的考查点是 C 语言中的标识符。标识符是 C 语言中用来表示变量名、数组名、函数名、指针名、结构名、联合名、枚举 常数名、用户定义的数据类型名、语句标号等用途的字符序列。标识符可以由字母、数字和 下划线组成,字母和下划线可以出现在用户标识符的开头,数字不可以。故本题答案为 B。16. 本题的考

9、查点是不同类型数据的输入输出。printf() 函数的一般格式如下所示:printf(" 格式控制字符串 ", 输出项清单 )格式控制字符串中包括:1 、格式转换说明符: 以 "%"开头后跟一个格式字符, 它用于输出数据格式的转换与控制;2 、转义字符:以 "" 开头, 后跟一个字符,用于输出某些特殊意义的字符和不可显示字 符;3 、其他字符:用于照原样显示的字符。printf() 格式转换说明符:"%d"按实际位数输出十进制整数; "%o"按实际位数输出八进制整数。本题中,因为m定义为整数,即

10、默认的十进制数,n定义为八进制数,所以照原样输出。 故本题答案为 A。17. 本题的考查点是自增、自减运算符。自增、自减运算符的作用是使变量的值增 1 或减 1,只能用于变量,包括 char 型变量、 int 型变量和 float 型变量,而不能用于常量或表达式。故本题答案为 D。18. 本题的考查点是不同类型数据的输入输出。printf() 函数的一般格式如下所示:printf("格式控制字符串 ", 输出项清单 )格式控制字符串中包括:1 、格式转换说明符: 以"%"开头后跟一个格式字符,它用于输出数据格式的转换与控制;2 、转义字符: 以"

11、;" 开头后跟一个字符, 用于输出某些特殊意义的字符和不可显示字符;3 、其他字符:用于照原样显示的字符。printf() 格式转换说明符:"%X"按实际位数输出十六进制整数。本题因为 m, n都定义为十六进制整数,且 m-=n;的意思是将 m与n的差 值重新赋给m,所以m为0。故本题答案为 C。19. 本题主要考查格式输入输出函数 scanf() 和 printf() 。格式控制字符4用来输入/输出十进制整数,%c用来输入/输出单个字符,在给出的程 序中,整型变量 m和n初始化为0,字符变量c初值为字符a,系统按照 m c、n所在的内 存地址将输入的 m c、n

12、的值存进去,即把10赋给m字符变量c重新赋值为A,10赋给n, 所以打印结果是 10,A,10 。故本题答案为 A。20. 本题的考查点是 switch 语句。switch 语句在执行时先计算表达式 i 的值, 当表达式 i 的值与某一个 case 中的常量表 达式的值相等时, 就执行该 case 后面的语句系列, 接着再执行后面各个 case 中的语句序列, 一直到执行完 default 后面的语句序列,然后结束 switch 。如果所有 case 中的常量表达式 的值都没有与表达式 i 的值相匹配, 就只执行 default 后面的语句序列。 break 语句与 switch 语句配合使用

13、,可以强行控制程序流程退出 switch 。由于本题没有与 break 语句配合使用,因此在执行完 "case 1" 以后,还要继续执行 "case2" 和 "defult" 。当 i=0 时,执行 defult 语句,输出 0 ;当 i=1 时,执行 case 1 语句,输出 1 ,因为没有 break 控制程序流程退出,所以继续执行 下面的语句,输出 11,以此类推。故本题答案为 A。21. 本题的考查点是逻辑表达式。形如 ( 表达式 1)&&( 表达式 2)&&. 的逻辑表达式在计算时,先计算表达

14、式1,如果其值是逻辑 "真"或非 0,就接着计算表达式 2,直至计算到第一个为逻辑"假" 的表达式时,就可判定整个逻辑表达式为逻辑"假" ,其后的表达式将不再计算。形如 ( 表达式 1)|( 表达式 2)|.的逻辑表达式在计算时,先计算表达式1,如果其值是逻辑 "假 "或 0,就接着计算表达式 2,直到计算到第一个为逻辑"真"的表达式时,就可判定整个逻辑表达式为逻辑" 真",其后的表达式将不再计算。根据以上的描述可知,本题中j+值为2,为真,k+不被计算,然后计算i+为2,所

15、以 i=2,j=2,k=2。故本题答案为 C。22. 本题的考查点是关系表达式和逻辑表达式。关系表达式用来进行两个数据的比较,比较的结果为逻辑"真"或逻辑”假"。C语言不提供逻辑型数据, 而是用整数 0表示逻辑 "假",即比较不成立; 用整数 1表示逻辑 "真",即比 较成立。和关系表达式一样,逻辑表达式的值也是用整数 1 表示逻辑 "真",用整数 0表示逻辑 " 假"。本题中"a>b>c"即相当于"(a>b)>c",因为

16、a>b成立,所以其值为1,然后比较1与c的 大小, 1>c 不成立, 所以不执行 printf 语句,然后判断 "(c-1>=d)=1" 成立,此时执行 printf 语句,打印 d+1=3。故本题答案为 B。23. 本题的考查点是 while 循环语句。while 语句是先判断后执行。i=0 时, i<7 为真, p0%2=11%2=1 为真, k=k+p0=11 ;i=1 时, i<7 为真, p1%2=13%2=1 为真, k=k+p1=11+13=24 ;i=2时,i<7为真,p2%2=14%2=0为假,结束循环。 所以打印输出

17、24。故本题答案为 D。24. 本题的考查点是 do-while 循环语句。 do-while 的一般格式如下所示: do 语句;while( 测试表达式 );do-while 语句是先执行后判断,其执行流程是:1 、执行循环体;2 、计算测试表达式,若为非0,转向执行do,否则执行while下面的一条语句;3 、执行 do-while 后面的语句,即退出 do-while 循环。本题中,当i=0时,i%2=0,为假不执行i+;continue;,接着往下执行i+,此时i=1, s=s+i=1 ,因为 i=1 符合条件 i<7 继续循环执行, i=1 时以此类推,直到 i>=7 时

18、结束循环。 最后得出 s=16。故本题答案为 A。25. 本题的考查点是自增、自减运算。作用是使变量的值增 1 或减 1,如:+i,-i(在使用 i 之前,先使 i 的值加(减) 1)i+,i-(在使用 i 之后,使 i 的值加(减) 1)故本题答案为 B。26. 本题的考查点是字符常量。C 中的字符常量是用单引号(即撇号)括起来的一个字符。如 'a' 、 'x' 、 'D' 、 '?' 、 '$' 等都是字符常量。除了以上形式的字符常量外, C 还允许用一种特殊形式的字符常量,就是 以一个 ""

19、; 开头的字符序列。 'ddd' 表示 1到 3位 8进制数所代表的字符,不足 3位就在前 面加 0; 'xhh' 表示 1 到2位16进制数所代表的字符。而 a='' 和 c='0xab' 是不正确 的。故本题答案为 D。27. 本题的考查点是条件运算符。条件运算符要求有三个操作对象,称三目 (元) 运算符,它是 C 语言中唯一的一个三目 运算符。条件表达式的一般形式为表达式 1?表达式 2: 表达式 3条件运算符的执行顺序:先求解表达式1 ,若为非 0(真)则求解表达式 2,此时表达式 2 的值就作为整个条件表达式的值。若表达

20、式 1 的值为 0 (假),则求解表达式 3,表达 式 3 的值就是整个条件表达式的值。本题答案为 C。28. 本题的考查点是值的传递。在 main 函数中用 "f(a,b);" ,在函数调用开始时, a 的值传送给 x, b 的值传送给 y。 执行完 f 函数后,如果 x<y ,则 x 和 y 的值互换,否则不进行交换,也就是始终保持 x 的值 大于 y 的值。但 main 函数中的 a 和 b 并未互换,所以此时 x,y 值的改变并不影响主调函数 参数 a,b 的值,即 "值传递 " 方式,形参值的改变无法传给实参。故本题答案为 D。29. 本

21、题的考查点是指针变量的引用。由于指针变量q赋值为NULL,即空地址,如果给空地址所指向的存储空间赋值的话, 系统会出错,提示为: Null point assignment! 。故本题答案为 A。30. 本题的考查点是指针变量作为函数参数。f 是用户定义的函数,它的作用是返回变量值小的那个。 f 函数的两个形参 x,y 是指针 变量。程序开始执行时,先初始化a和b的值,然后将a,b的地址分别赋给指针变量p和q,使p指向a, q指向b。接着执行f函数,注意p和q是指针变量,在函数调用开始时, 实参变量将它的值传送给形参变量。采取的依然是 " 地址传递 "方式。因此虚实结合后形

22、参x的值为&a,y的值为&b。这时x和p都指向变量a,y和q都指向b。接着执行f函数的函数 体,输出*x和*y小的那个值。函数调用结束后,x和y不复存在,最后在 main函数中输出的*r的值,即a和b小的那个值7赋给指针变量r所指向的存储单元,但主函数中输出的 *p , *q 的值未变。故本题答案为 B。31. 本题的考查点是通过指针引用数组元素。p=s1; 是指p的初始值为&s1 ,C规定p+1指向数组的下一个元素(而不是将 p值简 单地加 1),*(p+1) 为 s1 中的第 2个元素,即为 w;s0 指 s 数组中的第 0 个元素,即为 one。故本题答案为 C。

23、32. 本题的考查点是通过指针引用数组元素。s=x+3;是使s的初始值为&x3 , s数组为5,0,0,所以s2为0。故本题答案为 B。33. 本题的考查点是二维数组的初始化。可以用下面方法对二维数组初始化:1 、分行给二维数组赋初值。如static int a34=1,2,3,4,5,6,7,8,9,10,11,12;这种赋初值方法比较直观,把第一个花括弧内的数据赋给第一行的元素, 第二个花括弧内的数据赋给第二行的元 素,即按行赋初值。2 、可以将所有数据写在一个花括弧内,按数组排列的顺序对各元素赋初值。3 、可以对部分元素赋初值。static int a34=1,5,9;它的作用是

24、只对各行第 1 列的元素赋初值,其余元素自动为0。也可以对各行中的某一元素赋初值: static inta34=1,0,6,0,0,11;也可以只对某几行元素赋初值: static int a34=1,5,6;4 、如果对全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的 长度不能省。选项 A 定义了数组但是没有赋值;选项B定义的是一行两列,赋值却是两行一列;选项C在二维数组定义中,行可以不指定,但是列是要指定的。故本题答案为 D。34. 本题的考查点是二维数组的应用。m3即为定义的一个3行3列的二维数组,因为 k=2,所以输出的为第二行的数组元素,即 m20 , m21 ,

25、m22 ,即 3 6 9 。故本题答案为 C。35. 本题的考查点是不同类型数据的输入输出。使用 scanf() 函数可以输入任何类型的多个数据,一般形式为: scanf( 格式控制,地址 表列)。C语言规定,数组名代表数组的首地址,也就是第一个元素的地址,由于该题要求 对数组中所有元素赋值,所以应该包含一个循环变量自加的过程,选项A、B明显不正确;对于选项D, +i是先自加后使用i,因此x0没有赋值,选项 D也不符合题目要求。故本题答案为 C。36. 本题的考查点是字符和转义字符的判断。函数 strlen() 用于计算字符串的长度,所给的字符串 s 中, 'n' 是转义字符,

26、代表一 个”换行”符,''表示一个反斜杠字符'',所以字符串s的长度为5 ; sizeof()函数是用 来计算字符数组所占内存的字节数,5个字符在内存中占5个字节,由于C规定,在每一个字符串末尾加一个字符结束标志 '0' 以便系统判断字符串是否结束, 所以该字符串 s 所占内 存的字节数为 6,最终打印输出 5,6 。故本题答案为 C。37. 本题的考查点是字符串的比较。字符串的比较规则是对两个字符串自左至右逐个字符相比(按ASCII 码值大小比较),直到出现不同的字符或遇到 '0' 为止,若全部字符相同, 则认为相等; 若出现不

27、相同的字符, 则以第一个不相同的字符的比较结果为准,该函数就实现了此功能。故本题答案为 C。38. 本题的考查点是全局变量和局部变量。在函数内定义的变量是局部变量, 而在函数之外定义的变量称为外部变量, 外部变量是 全局变量。它的有效范围为:从定义变量的位置开始到该源文件结束。选项 A 说法不正确, 全局变量的作用域还跟定义变量的位置有关; 选项 C 也不正确, 函数的形参是局部变量, 其 它函数不能调用;若在定义局部变量不赋初值,则对 static 变量来说,编译时自动赋初值 0(对数值型变量)或空字符(对字符变量);而对auto 变量来说,如果不赋初值则它的值是一个不确定的值,所以选项D说

28、法不正确。故本题答案为 B。39. 本题的考查点是类型定义 typedef 的使用。该题定义了一个新结构体类型STD,包含三个结构体成员:整型变量n字符型变量c、双精度型变量x。用STD来定义变量或数组的使用方法是新结构体类型名加上变量名或数组 名,因此选项C、D不正确;字符常量是由一对单引号括起来的单个字符,而字符串常量是 一对双引号括起来的字符序列,所以选项B不正确。故本题答案为 A。40. 本题的考查点是共用体类型数据的特点。共用体类型数据的结构特点是几个不同的变量共占同一段内存,即共用体变量的地址和它的各成员的地址都是同一地址, 共用体变量中起作用的成员是最后一次存放的成员, 在存 入

29、一个新的成员后原有的成员就失去作用。所以该程序中有效的赋值语句是ul.c='A' ,最终打印出来的是字符 A。故本题答案为 C。41. 本题的考查点是指向字符串的指针变量。程序定义了一个字符指针变量ps,并把字符串的首地址赋给它,要注意的是该指针变量只能指向一个字符变量或其它字符类型数据,不能同时指向多个字符数据。程序执行 while 循环后, ps 指向字符串 "xyz" 的结束字符 '0' ,接着执行 for 循环,在循环变量赋初 值时,执行ps-,此时ps便指向了字符z,判断出条件ps-str>=0为真,通过字符串输出 函数put

30、s输出ps,即乙继续循环,ps-;,此时ps指向字符y,然后地址减1,判断出条 件为真,输出字符串yz,继续循环判断,最后输出字符串xyz。故本题答案为 C。42. 本题的考查点是二维数组和指针数组的应用。在所给的程序中,pa指向二维数组首地址 a,接着执行下面的for循环,当i=0或i=1 时,数组元素 pa1i 的值减 1,当 i=2 时,数组元素 pa1i 的值为 1,此时得到新的 二维数组 a3=1,2,3,3,4,1,最终打印结果就是 2+4+1=7。故本题答案为 A。43. 本题的考查点是函数的递归调用。所谓函数的递归调用就是在调用一个函数的过程中又直接或间接地调用该函数本身。程序

31、在执行被调函数的过程中,先判断 i<j 为真,交换 ai 和 aj ,再次调用函数本身, i 自加1, j自减1,判断出i<j为真,交换ai和aj,,最终打印输出 6 5 4 3 2 1。故本题答案为 A。44. 本题的考查点是指针数组 main函数的参数。argc 和argv是main函数的形参。main函数是由系统调用的。 当处于操作命令状态下,输入main所在的文件名(经过编译、链接后得到的可执行文件名),系统就调用main函数。实参是和命令行一起给出的。也就是在一个命令行中包括命令名和需要传给main 函数的参数。命令行的一般形式为:命令名参数1参数2参数n命令名和各参数之

32、间用空格分隔。argc是指命令行中参数的个数,该题中有两个命令行参数 exam和123, while循环实 际是循环次数与第二个参数的字符个数相等,函数 fun 使用了静态变量,是一个计数函数,可以判断3次调用以后n=3,所以最终n*argc=6 。 故本题答案为 A。45. 本题的考查点是指针变量作为函数参数。指针类型的变量作为函数参数,可以实现”参数的双向传递”,在C中参数一般是单向传递的,只有利用传递指针的地址才是 ”双向”的,所以首先排除选项 A和D;在main()函数中 定义一个指向整型变量的指针变量p,它并未指向任何一个整型变量,只是提供一个指针变量,规定它可以指向整型变量,通过调

33、用函数fun,使p指向整型变量s,由于变量s没有被赋值,所以p没有明确的地址,选项B不正确。故本题答案为 C。46. 本题的考查点是类型定义 typedef 。C 语言用类型定义把已有的类型标识符定义成新的类型标识符,经类型定义后,新的类 型标识符即可当做原标识符使用。它的一般形式为:typedef 原类型标识符 新类型标识符定义一个新的类型名的方法是:1 、先按定义变量(对字符指针类型方法相同)的方法写出定义体(如:char *s;);2 、将变量名换成新类型名(如:将s 换成 STP);3 、在最前面加上 typedef (如: typedef char *STP; )。故本题答案为 D。

34、47. 本题的考查点是结构体数组的引用。在C语言中,结构体变量的引用有三种等价方式:1 、结构体变量 . 成员名;2 、( *p). 成员名;3 、 p-> 成员名。其中(*p)表示p指向的结构体变量。结构体数组的引用方法和结构体变量的引用类似, 根据格式输入函数 scanf() 的特点,地址表列是由若干个地址组成的表列。 题目中的 *p=std; 表示p指向结构体数组std,选项A D正确;C语言中规定第一个元素的地址即为该数组的 首地址,所以选项 C也正确。故本题答案为 B。48. 本题主要考查位运算。" 按位异或 "运算的规则是:参与运算的两个相应位同号,则结果

35、为 0;异号则为 1。位 运算符中求反运算( )的优先级最高,将 3先转化为二进制数 00000011,则( 3)的值为 11111100;字符型变量x中的值为10100111,则(2+x)的值为:10101001。所以表达式的 值为 01010101 。故本题答案为 D。49. 本题主要考查C文件的基本概念。C 语言把文件看作是一个字符 (字节) 的序列, 根据数据组织形式可分为 ASCII 文件(又 称文本文件)和二进制文件,即一个C文件可以看成是一个字节流或二进制流,对于流式文件,可以进行顺序读写, 也可以进行随机读写,关键在于控制文件的位置指针,由于文本文 件要发生字符转换, 计算位置

36、时往往会发生混乱, 访问速度受到影响, 所以随机读写方式不 使用于文本文件。故本题答案为 D。50. 本题主要考查对文件的操作。在程序开始运行时, 系统自动打开三个标准文件: 标准输入、 标准输出和标准出错输出。 通常这三个文件都与终端相联系的,该文件指针 stdin 、 stdout 和 stderr 都是系统自动定 义的,分别指向终端输入、终端输出和标准出错输出(也从终端输出),所以程序中指定要 从 stdin 所指的文件输入数据,就是指从终端键盘输入数据,选项 D 不正确; fopen() 函数 的格式是 fopen( 文件名,使用文件方式 ) ,例如: fp=fopen("A

37、1","r"); 。故本题答案为 A。51. 模式也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是 所有用户的公共数据视图。例如数据记录由哪些数据项构成, 数据项的名字、类型、取值范 围等。外模式是模式的子集, 所以也称子模式或用户模式, 是数据库用户能够看见的和使用的、 局部的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示。内模式也称物理模式或存储模式。一个数据库只有一个内模式,它是数据物理结构和存 储方式的描述, 是数据库内部的表示方法。例如, 记录的存储方式是顺序存储、索引按照什 么方式组织;数据是否压缩存储,是否加密等。标准答案

38、为:模式 或 逻辑模式 或 概念模式52. 所谓完全二叉树是指除最后一层外,每一层上的结点数均达到最大值;在最后一层 上只缺少右边的若干结点。具有 n 个结点的完全二叉树, 其父结点数为 int(n/2) ,而叶子结点数等于总结点数减去父结点数。本题 n=500,故父结点数等于 int(500/2)=250 ,叶子结点数等于 500-250=250。 标准答案为: 25053. 继承的优点:相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的 冗余,提高软件的可重用性。标准答案为:可重用性或 重用性 或 复用性 或 可复用性54. 结构化分析方法主要包括:面向数据流的结构化分析方法(S

39、A-Structuredan alysis ),面向数据结构的Jacks on 方法(JSD-Jacks on system developme nt method)禾口面向数据结构的结构化数据系统开发方法(DSSD-Data structured system developmentmethod)。标准答案为:数据结构55. 数据库设计分为以下 6 个设计阶段: 需求分析阶段、 概念设计阶段、 逻辑设计阶段、 物理设计阶段、实施阶段及数据库运行和维护阶段。标准答案为:概念设计阶段或 数据库概念设计阶段56. 本题的考查点是求模运算。算术运算符中, %只能对整型运算量施加运算。在计算两个整数的

40、余数时,余数的符号 与被除数相同。例如, 3%(-2)=1 , -3%2=-1 , 3%2=1, -3%(-2)=-1 。故本题答案为: -3 。57. 本题的考查点是格式输入函数 scanf() 。格式输入函数 scanf() 可以用于所有类型的数据,采用不同的格式转换说明符,将不同 类型的数据从标准输入设备(键盘)读入内存。scanf() 函数的一般格式如下所示: scanf(" 格式控制字符串 ", 输入项清单 ) 格式控制字符串通常只包含格式转换说明符,其含义与 printf() 类似。 输入项清单中至少应有一个输入项,输入项必须是变量的地址。如果在 "

41、格式控制 "字符串中除了格式说明以外还有其它字符, 则在输入数据时应输入与 这些字符相同的字符。故本题答案为: i=10,j=20 。58. 本题的考查点是复杂的混合运算。根据运算符的优先级和结合性, 关系运算的优先级比赋值运算的高, 而且结合方向都是 自右至左,所以p=a!=O'中先运算a!=0',因为a=5,所以a!=0'成立,为真,值为 1,再 将1赋给p,即p=1。故本题答案为: 1。59. 本题的考查点是 if 语句。if 语句中的分支语句可以是单语句,也可以是复合语句。复合语句一定要用花括号括 住,或者用逗号表达式构成的语句代替,否则会引起逻辑错误

42、。例如,在下列两个程序段 if(a>b)t=a;a=b;b=t;printf("a=%d,b=%d",a,b);和if(a>b)t=a;a=b;b=t;printf("a=%d,b=%d",a,b); 中,当条件成立时,执行流程没有区别;条件不成立时,执行结果就不同。本题中, 'a<b' 不成立, 不执行 t=a; 但是会接着往下执行 a=b;b=t; 些时 a=3, b=0, c=5。 'a<c' 成立,执行 t=a;a=c;c=t; 之后 a=5,b=0,c=3 。故本题答案为: 5 0 3 。

43、60. 本题的考查点是在循环语句中使用 break , continue 语句。break 语句有两个用途:一是用在 switch 中,强行控制立即退出 switch ;二是用在循 环中,强行控制立即退出循环。continue 语句只能用在循环中,它的作用是跳过其后面的语句,直接将控制转移到下 一轮循环条件的测试。本题是计算二维数组中的正整数的和,结果为 58。故本题答案为: 58。61. 本题的考查点是字符数据在内存中的存储形式。将一个字符常量放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去, 而是将该字符相应的 ASCII 代码放到存储单元中,由此可以看出字符数据在内存中是以

44、ASCII 码存储的。字符 'A' 的 ASCII 码值为 65, 'H' 的 ASCII 码值为 72, '0' 是一个 ASCII 码值为 0 的字符, 其作用是实现整型和字符型的转换。 "%c" 是用于输出字符的格式符, 所以 最后打印输出 7。故本题答案为: 7。62. 本题的考查点是函数的递归调用。所谓函数的递归调用, 是在调用一个函数的过程中, 又出现直接或间接的调用该函数本 身。主函数 main()中,定义了 4个整型变量a、b、c、d,并分别给a、b、c赋初值3、4 和5,然后调用函数f(f(3,4),f(3,

45、5)并将返回值赋给变量 d,对于被调函数的执行过程,我们可以分解进行, 先计算出 f(3,4) 的返回值是 3,再计算出 f(3,5) 的返回值是 6,最后计 算出 f(3,6) 的返回值是 9,即为最终函数的返回值。故本题答案为: 9。63. 本题的考查点是二维数组的应用。根据杨辉三角形的数据排列的规律可以看出,规律( 1)第 0列元素和主对角线元素均 为 1,程序中是这样处理的: 先初始化 x00=1; ,再通过 for 循环将第 0列元素赋初值 1, 即: xi0=1 ,由于主对角线上的元素的下标和其所在的行号是相同的,所以第一空应该 填写 xii ,这就实现了将主对角线上的元素赋初值 1。再看规律( 2)其余元素为其左上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论