全真模拟十一

上传人:mar****e6 文档编号:159446438 上传时间:2022-10-09 格式:DOCX 页数:11 大小:39.62KB
返回 下载 相关 举报
全真模拟十一_第1页
第1页 / 共11页
全真模拟十一_第2页
第2页 / 共11页
全真模拟十一_第3页
第3页 / 共11页
点击查看更多>>
资源描述
一、选择题(1) D【解析】 软件是程序、数据与相关文档的集合,相对于计算机硬件而言,软件是逻辑产品而 不是物理产品,是计算机的无形部分。(2) B【解析】 软件测试与软件调试是两个不同的概念:软件测试的目的是发现错误,而软件调试 的目的是发现错误或导致程序失效的原因,并修改程序以修正错误,调试是测试之后的活动。(3) C【解析】 封装是一种信息屏蔽技术,目的在于将对象的使用者和对象的设计者分开。用户 只能见到对象封装界面上的信息,不必知道实现的细节。封装一方面通过数据抽象,把相关的信息 结合在一起,另一方面也简化了接口。(4) A【解析】 当今主导的程序设计风格是清晰第一,效率第二的观点。结构化程序设计思想提 出之前,在程序设计中曾强调程序的效率,而实际应用中,人们更重视程序的可理解性。(5) A【解析】 程序执行的效率与很多因素有关,如数据的存储结构、程序所处理的数据量、程 序所采用的算法等。顺序存储结构和链式存储结构在数据插入和删除操作上的效率就存在差别, 其中链式存储结构的效率要高一些。(6) D【解析】 数据的逻辑结构与数据在计算机中的存储方式无关,它用来抽象地反映数据元素 之间的逻辑关系,故A)选项错误。存储结构分为顺序存储结构与链式存储结构,其中顺序存储结构 是将逻辑上相邻的数据元素存储在物理上相邻的存储单元里,节点之间的关系由存储单元的相 邻关系来决定,它主要用于存储线性结构的数据,故B)选项错误。数组的存储方式连续是指其在计 算机中的存储方式,它可以用来处理非线性结构,故C)选项错误。(7) C【解析】 冒泡排序的基本思想是对当前未排序的全部结点自上而下依次进行比较和调整, 让键值较大的结点下沉,键值较小的结点往上冒。也就是说,每当两相邻结点比较后发现它们的排 列与排序要求相反时,就将它们互换。对n个结点的线性表采用冒泡排序,冒泡排序的外循环最多 执行n-1遍。第一遍最多执行n-1次比较,第二遍最多执行n-2次比较,依次类推,第n-1遍最多执行1 次比较。因此,整个排序过程最多执行n(n-1)/2次比较。(8) A【解析】在任意一棵二叉树中,若终端结点(叶子)的个数为n1,则度为2的结点数n2=n1-1。本 题中度为0的节点即叶子节点,故总节点数=度为0的节点数+度为1的节点数+度为2的节点数 =70+80+69=219。(9) B【解析】 数据库技术的根本目的是要解决数据的共享问题;数据库需要操作系统的支持;数 据库管理系统(Database Management System)简称DBMS,对数据库进行统一的管理和控制,以保 证数据库的安全性和完整性。它是数据库系统的核心软件。(10) A【解析】 在一个二维表中,水平方向的行称为元组,每一行为一个元组,元组中的每一个分量 不能再进行分割,故选项B)错误;对关系的描述称为关系模式,一个关系模式对应一个关系的结构, 格式为:关系名(属性名1,属性名2,厖属性名n),故选项C)错误;一个关系就是一个二维表,故选项D) 错误。(11) B【解析】C语言中,源程序文件的后缀为.c,经过编译生成后缀为.obj的目标文件,再经过 与C语言提供的各种库函数连接,生成后缀为” .exe的可执行文件。故本题答案为B)。(12) B 【解析】本题考查的是各个进制数值常量的表示方法,八进制数据是以0开头的常量,其数字 包括07,选项A)错误。浮点数据的指数表示中,e的右侧必须为整数,选项C)错误。在选项D) 中,10,000显然错误的。故本题的答案为B)。(13) C【解析】main是主函数的函数名,表示这是一个主函数。每一个C源程序都必须有,且只能 有一个主函数。程序要从main函数开始执行,最后在main函数中结束。本题选C)。(14) C【解析】本题考查了 scanf函数的用法,该函数的一般形式为scanf(”格式控制字符串,地址 表列),其中的地址表列应当是存放输入数据变量的地址。在选项C)中,指针p就是变量c的地址。 故本题答案为C)。(15) D【解析】在ANSI标准中,long、int和short分别占用4、2和2个字节。但实际上对于某些C编 译系统,int和short却都实际占用4个字节。所以说各种类型数据占用内存大小是由选择何种C编译 系统决定的。故本题答案为D)。(16) A【解析】赋值运算符左侧的操作数必须是一个变量,而不能是表达式或者常量,选项C)和D) 错误。运算符两侧都应当是整型数据,选项B)错误。故本题答案为A)。(17) B【解析】本题考查通过scanf函数输入数据时的格式控制问题。变量j的格式控制为2d, 即只接收输入数据的前两位,从第三位开始直到空格之间的输入都会被保存到变量y中,因为y为 浮点型数据,所以输出结果为选项B)。(18) B【解析】对于do厀hile循环,程序会先执行一次循环体,再判断循环是否继续。本题先输出一 次i的值0,再接着判断表达式i+的值,其值为0,所以循环结束。此时变量i的值经过自加已经变 为1,程序再次输出i的值1。故本题答案为B)。(19) B【解析】对于选项B)来说,若x的值小于0,则有两次调用sqrt()函数,这很明显不符合题意。 通过分析可知,本题答案为B)。(20) B【解析】当表达式EXP为非0值时条件成立,即执行语句i+;,当EXP等于0时执行语句j-;。这就等同于条件表达式”(EXP!=O)?i+:j-;”。故本题答案为B)。(21) C【解析】本题考察变量的自加+和自减-问题。当y的值为9、6或3时,if语句的条件成 立,执行输出语句,输出表达式-y的值,y的自减要先于输出语句的执行,故输出结果为8 5 2。因此, 本题答案为C)。(22) B【解析】在本题中,选项B)实际是先计算关系表达式”Av=c的值是0还是1,再比较该值与字 符Z之间的大小关系。显然不能实现题目所要求的功能而选项A)、C)、D)都可以。故本题答案 为B)。(23) B【解析】 本题考查循环语句的嵌套以及条件的判断问题。在程序中,内层循环判断条件为 j=i,而j的初值为3,故当i的值为1和2时,内层循环体都不会被执行。只有当i和j都等于3时才 会执行一次。m的值为55对3取模,计算结果为1。故本题答案为B)。(24) D【解析】在内存中,实参单元与形参单元是不同的单元。在C语言中,仅在调用函数时,给形 参分配存储单元,并将实参对应的值传递给形参,调用结束后,形参单元被释放,实参单元仍保留并 维持原值。故本题答案为D)。(25) C【解析】在C语言中,字符型数据在内存中的存储形式是其ASCII码值。当需要以整型格式 输出字符时,输出的也是其ASCII码值。字符A 和D的ASCII码值分别为65和68。故本题答案为 C)。(26) A【解析】循环开始前,指针t和s都指向字符串的起始位置,然后通过while循环判断t指向的位 置是否为空,同时让t向右移一位。while循环结束时,t自减1,此时t指向的位置是字符串的结束标志 0处,故t-s的值是字符串的长度,并不包括结束标志。故本题答案选A)。(27) B【解析】数组a的第二维为6,又因为C语言中数组的下标是从0开始的。故其第10个元素就 是第二行的第4个元素,该元素为a13。故本题答案为B)。(28) A【解析】在本题的程序中,a和p都是指向字符串的指针数组。调用fun()函数时,p指向的是 数组a的第一个指针元素,此时*p指向的是a的第1个字符串。p自加1之后,*p便指向了数组a的第2 个字符串Afternoon。故本题答案为A)。(29) C【解析】本题考查的是整型指针的数组。p的每个元素都是指向整型数据的指针,而a和&a 都不是整型数据的地址。选项A)、B)和D)错误。选项C)中,p0是指向整型数据的指针,&a12 是整型变量的地址,可以进行赋值运算。故本题答案为C)。(30) D【解析】在本题中,主函数在调用fun()函数进行排序时,传递的参数是c+4和6,fun函数实现 的功能是将从数组c的第5个元素开始的6个元素进行从大到小排列。排序之后,数组c的内容变为 123,4,9,8,7,6,5,0。故本题答案为 D)。(31) D【解析】本题中fun函数实现了字符串函数strcat的功能,将字符串aa连接到字符串ss的末尾。 调用fun函数时,形参t和s分别指向了字符串ss和aa,然后通过一个while循环使t指向字符串ss的结 束符的位置,第二个while循环将字符串aa中的字符(包括结束符ckslash O)逐个复制到字符串ss的 末尾处。故本题答案为D)。(32) D【解析】程序通过for循环的嵌套,对5个字符串的首字符进行从小到大的排序,结果不影响 各个字符串另外的字符。排序结束后,5个字符串的第一个字符依次变为a、a、b、b和x;最后输出 第1个和第4个字符串,故本题答案为D)。(33) D【解析】 全局变量是在函数外部定义的,它的作用域是从变量的定义位置开始,到本程序文 件的末尾。对于多文件构成的程序,若使用extern来声明全局变量,则可以在一个文件中引用另一 个文件中的全局变量。故本题答案为D)。(34) A【解析】本题考查的是函数的递归问题。函数fun的第二个参数是地址,所以通过指针p可以 改变其对应实参的值。本题中,主函数调用fun函数时传递给参数n的值为3,fun函数又递归调用了 两次自身。fl和f2的值都变为1,通过指针p的引用,变量s的值最终变为2。故本题答案为A)。(35) A【解析】在C语言中,typedef被用来声明新的类型名来代替已有的类型名,这样可以增加程 序的可读性,被声明的新类型名只是原有类型的一个新的名称,而不是一种新的类型。故本题的答 案为A)。(36) D【解析】本题考查的是结构体数组的赋值以及链表的问题。程序在定义结构体数组a的同 时对其进行了初始化。其元素a0的成员y被赋值为元素a1的地址,a1.y被赋值为a2啲地 址,a2.y指向了 a3,而a3.y又指向了 a0的存储单元。这就形成了一个单向的循环链表,每个元 素的指针成员都指向下一个元素的地址,随后通过一个for循环控制输出该链表前2个节点数值成 员的值,即a0.x和a1.x。故本题答案为D)。(37) D【解析】 本题考查共用体数据类型。共用体的特点是该类型变量与所有成员的起始地址都 相同,且在每一个时刻所有的成员中只有一个有效,即当一个成员被赋值,其余的成员就都不起作 用了,选项D)错误。故本题答案为D)。(38) D【解析】本题考查的是位运算符的使用。1、2、3的二进制形式分别为00000001、00000010、 00000011。首先计算1人2的值为00000011,再将其与3进行与运算,得到的结果为00000011, 即十进制数3。故本题答案为D)。(39) C【解析】fread函数中的参数buffer是一个指针,其值为fread函数读入数据后在内存中的存放 地址。故本题答案为C)。(40) D【解析】本题考查文件读写函数fread和fwrite的用法。fwrite函数将数组a的前5个元素输出 到文件fp中两次,共10个字节,再调用fread函数从文件fp中读取这10个字节的数据到数组a中,此时 数组a的内容就变为123,0,0,1,2,3,0,0,最后的输出结果为”1,2,3,0,0,1,2,3,0,0,”。故本题答案为 D)。二、选择题(1) 【1】 无歧义性【解析】 软件需求规格说明书是需求分析阶段的最后成果,是软件开发中的重要文档之一。 包括正确性、无歧义性、完整性、可验证性、一致性、可理解性、可修改性和可追踪性等。其 中最重要的特性是无歧义性,即需求规格说明书应该是精确的、无二义的,需求说明书越精确,则 以后出现错误、混淆、反复的可能性越小。(2) 【2】 白盒【解析】 白盒测试的基本原则是:保证所测模块中每一独立路径至少执行一次;保证所测模 块所有判断的每一分支至少执行一次;保证所测模块每一循环都在边界条件和一般条件下至少 各执行一次;验证所有内部数据结构的有效性。按照白盒测试的基本原则,白盒法是穷举路径测 试。(3) 【3】 链式【解析】数据结构包括数据的逻辑结构和存储(物理)结构,其中逻辑结构分为线性结构和非 线性结构,存储结构包括顺序结构和链式结构。在循环队列中,队尾的指针指向对首元素,是队列 的链式存储结构。(4) 【4】 ACBDFEHGP【解析】 二叉树中序遍历的含义是:首先按中序遍历根结点的左子树,然后访问根结点,最后 按中序遍历根结点的右子树,中序遍历二叉树的过程是一个递归的过程。根据题目中给出的二叉 树的结构可知中序遍历的结果是:ACBDFEHGP。(5) 【5】 实体【解析】在E-R图中用矩形表示实体,椭圆形表示属性,菱形表示联系。(6) 【6】 12 34【解析】本题scanf函数的输出格式说明中,变量a和b的格式控制都为%2d,即a和b都只获取 两个字符的输入。输入的前4个字符被分别赋给了a和b,其值分别为12和34。(7) 【7】 a:b 【8】 c:t1【解析】本题考查的是条件表达式问题。先判断a是否小于b,若小于则t1=a,否则t1=b,这样t1 就是a和b中较小的值,同理再比较t1同c的大小,小的存入t2中,t2就是a、b、c中的最小值。(8) 【9】 54321【解析】 将一个正整数对10进行取模运算的结果就是该整数的个位数字,被10整除的结果 则是除去个位的其余数位。本题通过一个while循环反复取n的个位并将其输出,依次输出为 54321。(9) 【10】 ACE【解析】在本题中,for循环体每执行完一次,变量i的值自加两次。i的初值为a,执行一次循 环后变为口。口,之后再变成0,当其变为g时,循环条件便不满足,循环终止。故本题共输出3个字 符。表达式i-a+DA 即表示输出i对应的大写字母,结果为ACE。(10) 【11】 efgh【解析】在本题中,指针p和t都指向字符串str的起始位置。表达式(p+strlen(t ”2)的值为字 符串str的中间字符。函数fun()返回后,输出结果只是原字符串的后半部分。故输出结果为efgh。(11) 【12】 c=getchar()【13】 1【解析】由题意可知,while循环的控制条件是从终端输入的数据,从输入设备逐个获取字符 应当使用函数getchar(),将函数获取的字符存入字符型变量c中,接着判断获取的字符是否是大写 字母,若是,则利用字符数据之间的差作为下标直接对大写字母进行数量统计。(12) 【14】 55【解析】 程序在编译前的预处理过程中,只是很机械的将宏表达式替换为其对应的值。在 本题中,表达式k=N*N*5 经过预处理,被改变成k=5+5*5+5*5,而不是预想的k=(5+5)*(5+5)*5, 经计算,k的值为55。(13) 【15】 p-next【解析】本题考查的是对链表节点的访问问题。利用结构指针p依次指向每个节点,继而访 问各个节点的数据,最终找出其中最小的数据。答案:一、选择题(1) B 解析:根据时间复杂度和空间复杂度的定义可知,算法的时间复杂度与空间复杂度并不相关。数据的逻辑结构就是数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间关系的,是独立 于计算机中的,数据的存储结构是研究数据元素和数据元素之间的关系如何在计算机中表示,它 们并非一一对应。算法的执行效率不仅与问题的规模有关,还与数据的存储结构有关。(2) D 解析:在结构化程序设计中,一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提 高软件模块的独立性,这也是模块划分的原则。(3) A 解析:软件测试是为了发现错误而执行程序的过程,且为了达到好的测试效果,应该由独立的 第三方来构造测试,程序员应尽量避免检查自己的程序。(4) C 解析:面向对象程序设计的3个主要特征是:封装性、继承性和多态性。(5) D 解析:队列是一种操作受限的线性表。它只允许在线性表的一端进行插入操作,另一端进行删 除操作。其中,允许插入的一端称为队尾(rear),允许删除的一端称为队首(front)。队列具有先进先 出的特点,它是按先进先出的原则组织数据的,故本题答案为D)。(6) C 解析:二叉树前序遍历的含义是:首先访问根结点,然后按前序遍历根结点的左子树,最后按前 序遍历根结点的右子树,前序遍历二叉树的过程是一个递归的过程。根据题目中给出的二叉树的 结构可知前序遍历的结果是:ABDYECFX Z。(7) A解析:对于任何一棵二叉树T,如果其终端结点(叶子)数为nl,度为2的结点数为n2,则nl=n2+l。 所以该二叉树的叶子结点数等于n+1。(8) B解析:在关系运算中,交的定义如下:设R1和R2为参加运算的两个关系,它们具有相同的度n, 且相对应的属性值取自同一个域,则R1 n R2为交运算,结果仍为度等于n的关系,其中的元组既属于 R1又属于R2。根据定义可知,不改变关系表的属性个数但能减少元组个数的是交运算,故本题答案为B)。(9) C解析:E-R模型可用E-R图来表示,它具有3个要素:实体(型)用矩形框表示,框内为实体名称。 属性用椭圆型来表示,并用线与实体连接。属性较多时也可以将实体及其属性单独列表。实 体间的联系用菱形框表示。用线将菱形框与实体相连,并在线上标注联系的类型。(10) A解析:数据库设计(Database Design )是指根据用户的需求,在某一具体的数据库管理系统上设 计数据库的结构并建立数据库的过程;数据库技术的根本目标是要解决数据共享的问题;数据库 需要操作系统的支持;数据的物理结构又称数据的存储结构,就是数据元素在计算机存储器中的 表示及其配置。数据的逻辑结构是指数据元素之间的逻辑关系,它是数据在用户或程序员面前表 现的方式,在数据库系统中,数据的物理结构不一定与逻辑结构一致。(11) D解析:一个C语言的源程序(后缀名为.c)在经过编译器编译后,先生成一个汇编语言程序,然后 由编译程序再将汇编语言程序翻译成机器指令程序,即目标程序(后缀名为.o bj),目标程序不可以 直接运行,它要和库函数或其它目标程序连接成可执行文件(后缀名为.exe)后方可运行。故本题答 案为D)。(12) B解析:在C语言中,用户标识符命令规则规定:变量名只能由字母、数字或下划线3种字符组成, 且第一个字符必须为字母或下划线。在C语言中,大写字母和小写字母被认为是两个不同的字符。 据此规定A)、D)、C)三个选项是正确的,而B)选项是连字符,不在C语言规定的命名变量标识符的 范围内。(13) A解析:一个C程序总是从main函数开始执行,而不论其在程序中的位置。在main函数中可以调 用程序中的其他函数,而其他函数却不可以调用main函数。程序最后再从mai n函数中结束。(14) D解析:本题中,scanf函数的格式控制没有空格,所以,对于选项A)、B)、C),输入的第一个空格会 作为字符赋值给变量c1,而不会被解释成分隔符。(15) C解析:本题主要考查C语言的库函数。abs求整数的绝对值,fabs求双字节型的绝对值,pow函数 的原形是 double pow(double X,double Y),计算x 的 y 次方;exp 函数的原形是 double exp(double X),求 10的X次方;sqrt函数的原形是double sqrt(double x),为x的平方根。故本题答案为C)。(16) A解析:因为”int k=0;,所以B)、C)、D)三个选项的表达式的值都等于1,而A)选项的表达式的值 等于0。这是因为k+这个表达式先进行取k值的运算,然后是k值自加1。故本题答案为A)。(17) B解析:u格式符用来以十进制形式输出无符号整型变量,其取值范围是0 65535。本题中无 符号整型变量x=0xFFFF(十六进制)表示的是无符号整型变量的最大值65535。(18) C解析:C语言规定,在if (表达式)语句1; else语句2;这种形式的if语句中,在每一个else前面 有一个分号,整个语句结束处有一分号。在本题的C)选项中,else前面少了一个分号,这样程序在编 译时,会出现语法错误。(19) C解析:break语句的功能是跳出正在执行的条件语句或循环语句。它可以出现在switch语句中, 也可以出现在循环语句中。continue语句只是结束本次循环,即跳过本次循环体中余下尚未执行 的语句,接着再一次进行循环的条件判断。(20) A解析:因为变量的初始值分别为k=5,n=0,所以程序第一次进入循环时,执行default语句,这时 k=4,执行case 4:这个分支,结果是n=2,k=3,打印出2;程序然后进行第二次循环,这时n=2,k=3, 执行case 3:这个分支,结果是n=3,k=2,打印出3;程序进行第三次循环,这时n=3,k=2,执行case 2: case 4:这两个分支,结果是n=5,k=1,打印出5,这时因为n=5不满足nv5的循环条件,因此退出循 环,程序运行结束。因此输出结果是235。(21) B解析:本题主要考查了for循环的嵌套。外层for循环的自变量i从1开始,每次循环后增1,至到 i等于3结束。内层循环的自变量j每次从i开始,每次循环后增1,至到j等于3结束。在每次外循环开 始后,内层循环在一行上先打印i*j=两个乘数的积,然后换行,下次循环从下一行开始打印。(22) A解析:C语言的字符常量是用单引号(即撇号)括起来的一个字符。除此之外,在C语言中还允许 用以一个开头的字符序列来表示字符常量。其中,形式ddd表示1到3位8进制数所代表的字 符;形式xhh表示1到2位16进制数所代表的字符。在本题中x13表示回车符,是一个字符常 量; 081用8进制数所代表的字符,但形式不正确,因为8进制数所表示的字符中不会出现数 字8; 65不是一个字符,而是一个十进制数字;n是用双引号括起来的一个字符,表示一 个字符串,而不是字符常量。(23) A解析:在C语言中,应当在定义函数时指定函数值的类型,凡不加类型说明的函数,一律自动按 整型处理。在定义函数时对函数值说明的类型一般应该和return语句中的表达式类型一致。如果 函数值的类型和return语句中的表达式类型不一致,则以函数类型为主。即函数类型决定返回值的 类型。(24) B解析:循环语句while(*t+);执行完时,指针变量t就指向了字符串结束符0之后的位置,所 以语句return(t-s);返回的就是字符串s所用内存的字节个数。(25) A解析:指针变量在定义时需要加星号,而在赋值时则不用,故选项B)错误。本题中,scanf()函数 和printf()函数都是要对指针变量p指向的地址处的数据进行访问,不是变量本身。选项C)中多了取 地址运算符,选项D)中少了指针运算符。(26) B解析:在m ain ()中,”f(&a2,5,0);语句的功能是对数组a10中从a2倒a6的数字(即3,2,1,6,7) 进行从大到小排序,这时数组a10中的数字序列变为5,4,7,6,3,2,1,8,9,10。f(a,5,1);语句的功能 是对数字序列5,4,7,6,3,2,1,8,9,10中的5,4,7,6,3进行从小到大的排序,所以数组a10中的数字序 列最终变为3,4,5,6,7,2,1,8,9,10。(27) A解析:本题利用多重for循环的嵌套来实现对二维数组元素的按列排序。利用最外层循环来 实现对列的控制。内部循环利用选择法对数组元素按照从小到大的顺序进行排列。最后输出对 角线上的元素值。故本题答案为A)。(28) B 解析:本题使用选择法对二维数组对角线上的元素按从大到小的顺序进行排列。最后输出数 组第一行的数据。故本题答案为B)。(29) B解析:调用函数f()时,将数组a的地址传递给了指针q,此时q指向的就是数组a的第一个元素 a0。在5次循环过程中耳始终指向a0,因此a0的值增加了5。最后的输出结果为”6,2,3,4,5”。(30) C解析:函数strlen()返回的是数组的实际长度,而sizeof返回的是数组定义的总长度。因为字符 数组p20定义为20字节长度,所以sizeof(p)的值为20。strcpy(p+strlen(q),r);语句的功能把字符数 组r拷贝到字符数组p从p3开始到p7啲位置中,这时字符数组p的有效字符长度为8。然后再执行 strcat(p,q);语句(字符串连接),即把字符数组q连接到字符数组p后面,这时字符数组p的有效长度 为11。(31) B解析:strcpy ()函数的功能是将字符串q复制到从p3 H立置开始的存储单元,同时复制字符串结 束标志0到p 6中。函数strlen()返回的是字符串中不包括0在内的实际长度,故本题答 案为B)。(32) A解析:本题考查了函数的递归调用。在f函数中,当m=7时,程序执行f(-n,& r1);语句,递归调用 f(6, &r1),程序执行”r1=n/3;”语句,即r1=6/3=2,然后执行”*r=r1;语句,所以输出结果为2。(33) D解析:运行时输入该命令后,参数argc的值为4,字符串数组argv1、argv2、argv3分别为 12、 345、 678,然后取这3个参数的第一个字符,将其转化成原来的数字并组合成一个新的三 位数。(34) D 解析:本题考查的是带参数的宏定义。不仅要进行简单的字符替换,还要进行参数替换。根据 宏替换的规则,本题在进行替换宏HDY时,没有像所希望的那样将HDY(a+c,b+d)替换成 (a+c)/(b+d),而是替换成了 a+c/b+d,因此结果k为6。(35) A解析:将字符串的地址赋值给字符指针变量后,指针就指向了该字符串的第一个字符,即*p=u,所以*(p+5)指向的字符是z。(36) A解析:本题中,在调用函数f()时,实参是结构体变量s的地址,所以在函数中对形参的改变会影 响到实参的数值。函数f()实现的功能是把结构体的成员数组中的值按从小到大顺序进行排列。(37) A解析:本题中,在调用函数时将结构体变量的两个成员作为实参,其中的成员数组a实际向函 数f()传递的是该数组的地址,因此在函数f()中所对应的形参发生改变时,该数组内的数据也会发 生改变。函数()实现的功能是将成员数组中的前9个元素分别加上该元素的下标,作为新的元素。(38) B解析:本题考查的内容是按位与和按位或运算符的使用,由运算规则可知,d的最终结果为4。(39) D解析:将有6个元素的整型数组分两行输出到一个文件中,因为输出的都是数字并且每行都没 有分隔符,所以当再对其进行读取操作时,每一行都会被认为是一个完整的数,而换行符则作为它 们的分隔符。故本题答案为D)。(40) A解析:首先利用fwrite函数将数组a中的数据写到文件中,接着fseek函数的功能是读文件的位 置,指针从文件头向后移动3个int型数据,这时文件位置指针指向的是文件中的第4个int数据4。 然后fread函数将文件fp中的后3个数据4,5,6读到数组a中,这样就覆盖了数组中原来的前3项数 据。最后数组中的数据就成了 4,5,6,4,5,6,故本题答案为A)。二、选择题(1) 【1】 63解析:根据二叉树的性质,一棵深度为k的满二叉树有2k-1个结点,所以深度为7的满二叉树有 27-1=127个节点;又因为在任意一棵二叉树中,若终端结点的个数为n0,度为2的结点数为n2,则 n0=n2+1,即所以总节点数为n0+n2=2n2+1=127,所以出=63,即度为2的结点个数为63,所以【1】应填 入63。(2) 【2】 黑箱或黑盒解析:黑箱测试是根据程序规格说明所规定的功能来设计测试用例,它不考虑程序的内部结 构和处理过程。常用的黑箱测试技术分为等价类划分、边界分析、错误猜测以及因果图等。(3) 【3】数据库管理系统(DBMS)一解析:数据库管理系统(Database Management System)简称DBMS,对数据库进行统一的管理 和控制,以保证数据库的安全性和完整性。它是数据库系统的核心软件。(4) 【 4 】 开发解析:软件生命周期(SDLC,软件生存周期)是软件的产生直到报废的生命周期,周期内有问题 定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃 等阶段,其中的编码和测试属于开发阶段。(5) 【 5】 数据字典解析:数据字典(Data Dictionary,简称DD)就是用来定义数据流图中的各个成分的具体含义。 数据字典的任务是对于数据流图中出现的所有被命名的图形元素在数据字典中作为一个词条加 以定义,使得每一个图形元素的名字都有一个确切的解释。(6) 【6】 a=14解析:本题考查的是的表达式的优先级问题。先计算表达式3*5=15,再计算a+4=14,将数据14 赋值给a,根据printf()函数内的输出格式控制串,最后的输出结果应为a=14。(7) 【7】 0解析:通过getchar()函数来取得从键盘输入的数据,再判断其是否是字符0,如果是,则执行一 次循环,因为从键盘输入的1234567890都是整型数,不是字符,所以while循环执行的条件始终不成 立,循环体执行的次数为0。(8) 【8】 m=4 k=4 I=5 k=5解析:由于在main()函数中,变量i=4,所以就调用fun则输出”m=4 k=4。然后变量k增1等于 5,变量 i增 1 等于 5,所以 m ain()函数的” printf(I=%d k=%dn,I,k);语句输出 ”I=5 k=5。(9) 【9】 #&解析:表达式c=5的值为真,所以表达式的值等于1,因此输出符号捫,然后执行break ,继而 去执行default:printf(”&);,语句,输出符号&。(10) 【10】 9解析:本题的字符串中共有9个字符,它们分别是T,B,M,n,0, T,2,1,,其中n表示换行,表示反斜杠字符。所以本题的最后输出结果为9。(11) 【11】 0解析:本题考查的是二维数组初始化问题。题中对数组的a00,a10,a20 3个元素分别 赋值为0,1,2,其余的元素都自动赋0。所以a12啲值为0。(12) 【12】 *pmax=*px解析:首先将变量x的值放到max中,然后依次和变量y、z进行比较。若有比max大的数,将该 数存放到max中,这样最后在max中的值就是x、y、z中的最大值。(13) 【13】 10解析:本题考查的是函数的递归调用。在调用一个函数的过程中又直接或间接的调用该函数 本身。第一次调用时,指针x指向的是a0,n的值为3,每调用一次n自减1,x加1,指向数组a中的下一 个元素,当n为0时函数开始返回,最后的返回值等于a0+a1+a2+a3=10。(14) 【14】 40解析:本题中指针s1和s2都指向同一个内存中的地址。因此语句*s2=20;执行 后,*s1=*s2=20。所以m最后的值为40。(15) 【15】 struct DATE d=2006,10,1;解析:本题考查结构体变量初始化的问题。正确的语句应为struct DATE d=2006,10,1;。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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