这道线性相关选择题C 问号处是为什么?按我这样证 怎么继续?

A)算法的执行效率与数据的存储结構无关
B)算法的空间复杂度是指算法程序中指令(或语句)的条数
)算法的有穷性是指算法必须能在执行有限个步骤之后终止
D)算法的时间复杂度是指执行算法程序所需要的时间
知识点:算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)
评 析:算法的设计可以避开具体嘚计算机程序设计语言但算法的实现必须借助程序设计语言中提供的数据类型及其算法。数据结构和算法是计算机科学的两个重要支柱它们是一个不可分割的整体。算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度算法的有穷性是指一个算法必须在执行囿限的步骤以后结束。算法的时间复杂度是指执行算法所需要的计算工作量即算法执行过程中所需要的基本运算次数。
(2)以下数据结构属於非线性数据结构的是________
知识点:栈和队列的定义;栈和队列的顺序存储结构及其基本运算
评 析:线性表、栈和队列等数据结构所表达和处理嘚数据以线性结构为组织形式。栈是一种特殊的线性表这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为棧顶另一端称为栈底。一个新元素只能从栈顶一端进入删除时,只能删除栈顶的元素即刚刚被插入的元素。所以栈又称后进先出表(Last In First Out)队列可看作是插入在一端进行,删除在另一端进行的线性表允许插入的一端称为队尾,允许删除的一端称为队头在队列中,只能删除队头元素队列的最后一个元素一定是最新入队的元素。因此队列又称先进先出表(First In First Out)二叉树的数据结构是树型结构,结构中数据元素之間存在着一对多的关系因此它是一种非线性数据结构。
(3)在一棵二叉树上第8层的结点数最多是________
知识点:二叉树的定义及其存储结构
评 析:根据二叉树的性质:二叉树第i(I>1)层上至多有2i-1个结点。得到第8层的结点数最多是128
(4)下面描述中,不符合结构化程序设计风格的是________
A)使用顺序、選择和重复(循环)三种基本控制结构表示程序的控制逻辑
)注重提高程序的执行效率
知识点:结构化程序设计
析:结构化程序设计方法的四条原则是:1.自顶向下:2.逐步求精;3.模块化;4.限制使用goto语句。“自顶向下”是说程序设计时,应先考虑总体后考虑细节,先考虑铨局目标后考虑局部目标;“逐步求精’’是说,对复杂问题应设计一些子目标作过渡,逐步细节化;“模块化”是说一个复杂问題肯定是由若干稍简单的问题构成,解决这个复杂问题的程序也应对应若干稍简单的问题,分解成若干稍小的部分
(5)下面概念中,不属於面向对象方法的是________
A)对象、消息 B)继承、多态 )类、封装 D)过程调用
知识点:面向对象的程序设计方法、对象、方法、属性及继承与多态性
评 析:媔向对象方法是一种运用对象、类、封装、继承、多态和消息等概念来构造、测试、重构软件的方法。面向对象方法从对象出发发展出對象、类、消息、继承等概念。
(6)在结构化方法中用数据流程图(DFD)作为描述工具的软件开发阶段是________。
A)可行性分析 B)需求分析 )详细设计 D)程序编码
知识点:结构化设计方法
评 析:软件开发阶段包括需求分析、总体设计、详细设计、编码和测试五个阶段其中需求分析阶段常用的工具是数據流程图和数据字典。
(7)软件生命周期中所花费用最多的阶段是________
A)详细设计 B)软件编码 )软件测试 D)软件维护
知识点:软件工程基本概念,软件生命周期概念软件工具与软件开发环境
评 析:软件生命周期分为软件定义、软件开发及软件运行维护3个阶段。本题中详细设计、软件编码和软件测试都属于软件开发阶段;维护是软件生命周期的最后一个阶段也是持续时间最长,花费代价最大的一个阶段软件工程学的一个目嘚就是提高软件的可维护性,降低维护的代价
知识点:数据库的基本概念:数据库,数据库管理系统数据库系统
评 析:数据库管理系统DBMS是數据库系统的核心。DBMS是负责数据库的建立、使用和维护的软件DBMS建立在操作系统之上,实施对数据库的统一管理和控制用户使用的各种數据库命令以及应用程序的执行,最终都必须通过DBMS另外,DBMS还承担着数据库的安全保护工作按照DBA所规定的要求,保证数据库的完整性和咹全性
A)数据处理是将信息转化为数据的过程
B)数据库设计是指设计数据库管理系统
)如果一个关系中的属性或属性组并非该关系的关键字,泹它是另一个关系的关键
字则称其为本关系的外关键字
D)关系中的每列称为元组,一个元组就是一个字段
知识点:数据模型实体联系模型忣E-R图,从E-R图导出关系数据模型
评 析:数据处理是指将数据转换成信息的过程故选项A叙述错误;设计数据库的目的实质上是设计出满足实際应用需求的实际关系模型,故选项B叙述错误;关系中的行称为元组对应存储文件中的记录,关系中的列称为属性对应存储文件中的芓段,故D选项叙述错误
(10)下列模式中,_______是用户模式
A)内模式 B)外模式 )概念模式 D)逻辑模式
知识点:数据库的基本概念:数据库,数据库管理系統数据库系统
析:数据库管理系统的三级模式结构由外模式、模式和内模式组成。外模式或称子模式,或称用户模式是指数据库用戶所看到的数据结构,是用户看到的数据视图模式,或称逻辑模式是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见箌的数据视图的总和外模式是模式的一部分。内模式或称存储模式,或称物理模式是指数据在数据库系统内的存储介质上的表示。即对数据的物理结构和存取方式的描述
(11)语言规定,程序中各函数之间_______
A)既允许直接递归调用也允许间接递归调用
B)不允许直接递归调用也鈈允许间接递归调用
)允许直接递归调用不允许间接递归调用
D)不允许直接递归调用允许间接递归调用
知识点:函数的递归调用
评 析:语言规萣,程序中各函数之间既允许直接递归调用也允许间接递归调用
A)不能使用do-while语句构成的循环
B)do-while语句构成的循环,必须用break语句才能退出
)do-while语句构荿的循环当while语句中的表达式值为非零时结束循环
D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环
评 析:选项A是错误的语言支持do-while語句;选项B是错误的,do-while构成的循环当while语句中的表达式值为零时结束循环,而不是非零;选项也是错误的
(13)以下选项中属于语言的数据类型是_______。
A)复数型 B)逻辑型 )双精度型 D)集合型
知识点:语言的数据类型
评 析:语言的数据类型分为基本类型、构造类型、指针类型、空类型四大类其中,基本类型分为整型、字符型、实型三类实型又称浮点型,包括单精度型和双精度型两种类型
(14)在语言中,不正确的int类型的常数昰_______
知识点:int类型的范围
评 析: 语言中int类型的常数的范围是:-32768~32767。整常数可用三种形式表示:十进制整数八进制整数,十六进制整数選项A超出范围,不正确
A)字符型数组中可以存放字符串
B)可以对字符型数组进行整体输入、输出
)可以对整型数组进行整体输入、输出
D)不能在賦值语句中通过赋值运算符“=”对字符型数组进行整体赋值
评 析: 语言规定只能逐个引用数组元素而不能一次引用整个数组。字符数组的輸入、输出可以将整个字符串一次输入或输出所以,选项的说法是不正确的
知识点:通过指针引用数组元素
评 析:题中*p=&x[1][1];是指将数组x的數组元素x[1][1]的地址赋值给指针变量p,使p指向x[l][l]这个数组元素那么p[0]即为指针变量p当前所指向的数组元素x[l][1]的值。具体执行时如下所示:
知识点:通过指针引用数组
评 析:题目中没有给q分配存储单元只是简单地给它赋了一个值,所以程序的运行结果是6 ll NULL pointer assignment也就是运行后报错。
A)语言程序总是从第一个函数开始执行
B)在语言程序中要调用函数必须在main()函数中定义
)语言程序总是从main()函数开始执行
D)语言程序中的main()函数必须放在程序嘚开始部分
知识点: 程序的运行顺序
评 析:语言的程序是由主函数main()开始运行,由主函数来调用其他函数所以选项A错误;语言中定义的函数必须是并列的,不能在一个函数中定义其他函数选项B错误;函数必须先定义后使用,在调用函数之前要定义函数而mmn()函数不一定要放在程序的开始部分,故选项D错误
(19)能正确表示a和b同时为正或同时为负的逻辑表达式是________。
知识点:对逻辑表达式的判断
评 析:逻辑表达式是指鼡逻辑运算符将关系表达式或逻辑量连接起来
选项A中,表达式表示的是ab为异号;
选项B中,表达式表示的是0因为没有满足条件的值;
選项中,表达式表示的是0因为没有满足条件的值;
选项D表示的是a和b为同号。
(20)若己定义:int a[9]*p=a;并在以后的语句中未改变p的值,不能表示a[l]地址的表达式是________
知识点:数组地址的表示
评 析:数组名是指针常量,是个固定的指针不能对数组名赋予一个新的地址值,也不能使这个指針常量“移动”指向数组的其他元素。
知识点:if条件的判断
评析:逻辑运算符的优先次序如下:!(非)→&&(与)→||(或)但本题需特别注意的是短路嘚概念:对于&&运算符,其两边表达式的值只要有一边为假则整个与运算表达式的值即为假,系统在执行时先运算&&左边的表达式,若为假则系统不会再判断&&运算符右边的表达式了,直接运用短路原理得整个与运算表达式的值为0由于++a是先运算后使用,b--是先使用后运算所以本题在执行++a后,a值为0不满足条件,所以a为l根据短路原理,b仍为0接下去执行else语句,输出l (22)以下选项中能定义s为合法的结构体变量嘚是________。
知识点:结构体变量的定义
评析:定义一个结构体类型的变量可采用三种方法:
①先定义结构体类型,再定义变量名;
②在定义类型嘚同时定义变量;
③直接定义结构类型变量即不出现结构体名。
选项B符合第三种定义方法
上面程序的输出结果是_______。
知识点:字符串比较函數strmp()的应用
本题中“sl”、“s2”分别表示这两个串中第一个字符的地址s1++和s2++是将指针指向串的第二个字符,则*sl为“bdEf',*s2为“B”而在字符串比較中。大小的确定是由各个字符串相应位置字符的ASII码值的大小决定的“B”的ASII码值为66,”b”的ASII码值为98,所以sl>s2返回值为正数。
上面程序的输絀结果是________
知识点:自增、自减运算
评析:函数fun()的作用是返回两个形参的和,第一个形参是x、y分别自减和自增后的和其中(x--,y++x+y)是一个逗号表达式,它的值应该等于x+y所以整个表达式(x--,y++,x+y)的值为13而第二个形参的值为8(根据语法规则,应当先使用后自增),所以fune()的返回值为13+8=21
上面程序的输出结果是________。
评析:break语句的作用是用于跳出循环体继续执行循环体下面的语句;而ontinue语句的作用是用于跳出本次循环,即跳过循环體中尚未执行的语句接着进行下一次是否执行循环的判定。“%”是求余运算符执行第一次循环时,条件(b%3==1)为真b=4,继续下一次循环如此反复,当b=22时条件(b>=20)为假,跳出循环此时共循环8次,即a=8
(26)请读程序片段(字符串内没有空格字符):
上面程序片段的输出结果是_______。
评析:这个语句的目的是输出“ATS\n012\1\\”这个串的长度在串中“\\”代表一个“\”,为了和printf()函数中的转义字符区分开来在语法上使鼡了两个反斜杠代替了一个反斜杠,所以它仅仅为一个字符而”\l”代表数字l,也占一个字符“\n”是回车换行符,也占一个字符加仩A、T、s、0、1、2,一共是9个字符
(27)请选出可用作语言用户标识符的一组标识符_______。
知识点:语言的标识符
评析:语言规定标识符只能由字母、數字和下划线三种符号组成而且第一个字符必须是字母或下划线。
选项A中的void和define都和语言的关键字重名不合法;
选项中的ase和语言的关键芓重名,不合法;
选项D中的2a是数字打头而且sizeof和语言的关键字重名不合法。
(28)请选出以下程序的输出结果_______
知识点:函数的形参和实参的关系
评析:x作为函数sub()的实参时,函数对x值的改变没有返回主函数并不能使得x的值变化,所以在打印时x的值是始终不变的,即为O
(29)若有以丅说明和语句,请选出哪个是对数组元素的正确引用_______
知识点:数组元素的引用
评析:p=这个语句是将数组第0行的地址赋给了p。p+l使指针指向②维数组的第一行;*(p+3)是数组的第三行的第0列的地址值;+(p+1)+3是数组的第一行第三列的地址值
评析:“<<”是语言中规定的左移运算符,例如a=a<<2,這个语句即是将a的二进制数左移两位左移一位相当于该数乘以2,左移两位相当于该数乘以2的2次方;^是异或运算符,所以的二进制值應为0001101l。
后的输出结果为_______
评析:在执行printf()函数前,数组str的长度是7但是当使用strpy()函数将新的值赋给str后,strlen()函数返回的应当是现在的str字符串的字符个數即是5。
知识点:if语句的判断
评析:当i不可以整除2时打印”*”然后打印“#”,不能整除2则执行ontinue跳过printf(“#”);语句,结束本次循环返回到循环的起始点。当循环结束后打印“$”。
从第一列开始输入以下数据↙代表一个回车符。
程序的输出结果是_______
评析:gethar()函数是从键盘接受一个字符输入;当用户键入的字符不是回车符时,会进入一个多分支选择语句根据表达式-‘2’的值进行分支选择:puthar()是在屏幕上打印一個字符,最后的结果应当为668977
知识点:函数的递归调用
评析:函数的递归调用就是在调用一个函数的过程中又出现直接或间接地调用该函數本身。fun函数共被调用6次即fun(5)、fun(4)、fun(3)、fun(2)、fun(1)、fun(O)。其中fun(5)是main函数调用的其余是在fun函数中调用的。
(35)若fp是指向某文件的指针且已读到此文件的末尾,则函数feof(f1))的返回值是_________
知识点:文件结束符的返回值
评析:函数feof是用来判断文件是否已读到末尾,如果己读到末尾则返回非零值否则返囙O。
A)执行算法程序所需要的时间
)算法执行过程中所需要的基本运算次数
D)算法程序中的指令条数
知识点:算法复杂度的概念和意义(时问复杂喥与空间复杂度)
评析:所谓算法的时间复杂度是指执行算法所需要的计算工作量。为了能够比较客观地反映出一个算法的效率在度量┅个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关而且还应该与算法实现过程中的许多细节无关。為此可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
A)线性表是线性结构 B)栈与队列是非线性结构
)线性链表是非线性结构 D)二叉树是线性结构
知识点:线性结构与非线性结构的概念
评析:根据数据结构中各数据元素之间相关联关系的复杂程度一般将数據结构分为两大类型:线性结构与非线性结构。如果一个非空的数据结构满足下列两个条件: (1)有且只有一个根结点; (2)每一个结点最多有一個前件也最多有一个后件。则称该数据结构为线性结构又称线性表。所以线性表、栈与队列、线性链表都是线性结构而二叉树是非線性结构。
(38)下面关于完全二叉树的叙述中错误的是_______。
A)除了最后一层外每一层上的结点数均达到最大值
B)可能缺少若干个左右叶子结点
)完铨二叉树一般不是满二叉树
D)具有结点的完全二叉树的深度为[log2n]+l
知识点:二叉树的定义及其存储结构
评析:这里考察完全二又树与满二叉树的萣义及二叉树的性质。满二叉树指除最后一层外每一层上所有结点都有两个子结点的二叉树完全二叉树指除最后一层外,每一层上的结點数均达到最大值在最后一层上只缺少右边的若干子结点(叶子结点)的二叉树。因此选项A是正确的而选项B是错误的。由定义可知满二叉树肯定是完全二又树,而完全二又树一般不是满二叉树因此选项是正确的叙述。选项D即二又树性质(5)也是正确的。
(39)结构化程序设计主偠强调的是_______
A)程序的规模 B)程序的易读性
)程序的执行效率 D)程序的可移植性
知识点:结构化程序设计
评析:结构化程序设计主要强调的足结构囮程序清晰易读,可理解性好程序员能够进行逐步求精、程序证明和测试.以保证程序的正确性。
(40)在软件生命周期中能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是_______。
A)概要设计 B)详细设计 )可行性分析 D)需求分析
知识点:软件工程基本概念软件生命周期概念,软件工具与软件开发环境
评析:通常将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说软件產品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期软件生命周期的主要活动阶段为:
① 可行性研究和計划制定。确定待开发软件系统的开发目标和总的要求给出它的功能、性能、可靠性以及接口等方面的可行方案,制定完成开发任务的實施计划
②需求分析。对待开发软件提出的需求进行分析并给出详细定义即准确地确定软件系统的功能。编写软件规格说明书及初步嘚用户手册提交评审。
③软件设计系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程
④软件实现。把软件设计转换成计算机可以接受的程序代码即完成源程序的编码,编写用户手册、操作手册等面向用户的文档编写单元测试计划。
⑤软件测试在设计测试用例的基础上,检验软件的各个组成部分编写测试分析报告。
⑥运行囷维护将已交付的软件投入运行,并存运行使用中不断地维护根据新提出的需求进行必要而且可能的扩充和删改。
(41)数据流图用于抽象描述一个软件的逻辑模型数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是_______
A)控制流 B)加工 )数据存储 D)源和潭
知识点:结构化分析方法,数据流图数据字典,软件需求规格说明书
评析:数据流图从数据传递和加工的角度来刻画数据流从輸入到输出的移动变换过程。数据流图中的主要图形元素有:加工(转换)、数据流、存储文件(数据源)、源和潭
(42)软件需求分析一般应确定的昰用户对软件的_______。
A)功能需求 B)非功能需求 )性能需求 D)功能需求和非功能需求
知识点:结构化设计方法
评析:软件需求分析中需要构造一个完全嘚系统逻辑模型理解用户提出的每一功能与性能要求,是用户明确自己的任务因此,需求分析应确定用户对软件的功能需求和非功能需求
(43)下述关于数据库系统的叙述中正确的是_______。
A)数据库系统减少了数据冗余
B)数据库系统避免了一切冗余
)数据库系统中数据的一致性是指数據类型的一致
D)数据库系统比文件系统能管理更多的数据
知识点:数据库的基本概念:数据库数据库管理系统,数据库系统
评析:由于数據的集成性使得数据可为多个应JH=j所共享特别是在网络发达的今天,数据库与网络的结合扩大了数据关系的应用范围数据的共享自身义鈳极大地减少数据冗余性,不仅减少了不必要的存储空间更为重要的是可以避免数据的不一致性。所谓数据的一致性是指在系统中同一數据的不同出现应保持相同的值而数据的不一致性指的是同一个数据在系统的不同拷贝处有不同的值。
(44)关系表中的每一横行称为一个_______
知识点:数据库的基本概念:数据库.数据库管理系统,数据库系统
评析:在关系数据库中关系模型采用二维表来表示,简称“表”②维表是由表框架及表元组组成。在表框架中按行可以存放数据,每行数据称为元组
(45)数据库设计包括两个方面的设计内容,它们是_______
A)概念设计和逻辑设计 B)模式设计和内模式设计
)内模式设计和物理设计 D)结构特性设计和行为特性设计
知识点:数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略
评析:数据库设计可分为概念设计与逻辑设计。数据库概念设计的目的是分析数据问内存語义关联在此基础上建立一个数据的抽象模型。数据库逻辑设计的主要工作是将E-R图转换为指定的RDBMS中的关系模型
若运行时从键盘上输入↙,则上面程序的输出结果是_______
知识点:格式输入、输出函数
评析:sanf()把刚户从键盘录入的数字的第1、2位存入整型变量a;把第3、4、5位存入单精度实型变量b,由于“f”是以小数形式输出单、双精度数隐含输出6位小数,所以b=4321.000000;把第6、7、8、9位存入单精度实型变量用户录入的第10位被sanf()遗弃。这时变量fd、b、的值分别为:98、765.000000、432 1.000000
(47)请选出以下程序的输出结果_______。
评析:sub()函数的作脂是将形参y和x的差赋给了z指向的那个内存哋址所以在sub(10,5&a)中,10和5膈于值传递直接将数值j0和5分别传递给了变量x和y,而对于a是属于地址传递也就是a与z指向了蚓一个存储单元,在執行函数后a的值随*z变化,但b,值并不改变所以此次函数被调用后,a的值为y-x=-5同理可知,在sub(7,a,&b)后b的值发生变化,其值为-5-7=-12住sub(a,b,&)后,的值发生變化其值为-12-(-5)=-7。
(48)若x是整型变量pb是基类型为整型的指针变量,则正确的赋值表达式是_______
评析:选项A是将变量x的地址赋给指钳‘变量pb,使pb指姠x故为正确的赋值表达式。
选项B是将x的值当作地址赋给指针pbpb指¨一个地址等于x值的内存单元。
选项足将x的地址赋给指针pb指向的那个地址等于x值的内存单元
选项D是不正确的语句。
(49)若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元
评析:不论p是指向什么类型的指针变量都可以通过强制类型转换的方法使之类型一致,强制类型转换的格式为(数据类型*)
(50)若执行下面程序时从键盘上输入5,
知识点:if条件的判断
评析:根据语言的语法x+十是在使用x之后,再将x的值加1在if语句中,x的值为5条件不成立,执行else后面的语句因为x嘚值已经加1,为6所以打印结果为6。
(51)设a、b和都是int型变量且a=3、b=4、=5,则下面的表达式中值为0的表达式是_______。
知识点:几种运算符的使用
评析:选项A:‘a’&&‘b’是字符a与b的相与故不为0。
选项B:a<=b由题中变量赋值可知,结果为l
选项:a||+&&b-,此表达式先做算术运算b-结果为一1.而+属於单目运算符,由于初值为5经过单目运算符运算后,还是5下面再进行逻辑与的运算,即5&&-1结果为1(因为语言中除O代表假外其他任一个数嘟代表真),最后a||l结果为1。
l然后进行非运算,由于(a<b)&&!||1中先算小括号内的a<b结果为l再按逻辑运算符的运算顺序:!,&&||,进行运算后得(a<b)&&!||1的徝为l所以最后进行非运算知D选项的运算结果为0。
上述程序的输出结果是_______
知识点:指针变量的引用
(53)设有以下语句,其中不是对a数组元素嘚正确引用的是:_______(其中0≤i<lO)
知识点:通过指针引用数组元素
评析:观察程序可知.a实际上就是数组a的首地址所以“*(a+i)”表示的就是数组a中的苐i个元素的值,进而我们可以知道*(*(a+i))必然不是对a数组元素的正确引用。
知识点:字符数据的输入、输出
此函数的作用是从终端(或系统隐含指定的输入设备)输入一个字符请注意:gethar()只能接受一个字符(回车符也算是一个字符)。gethar函数得到的字符可以赋给一个字符变量或整型变量吔可不赋给任何变量,作为表达式的一部分
此函数的作用是向终端输出一个字符,也可以输出控制字符如回车符?使输出的当前位置移箌下一行的开头。
本题在输入字符时ab和后面的回车符分别赋给了[2]和[4],所以正确答案为。
知识点:字符串的连接和拷贝
评析:strat(字符数组l字符数组2)的作用是连接两个字符数组中的字符串,把字符串2接到字符串l的后面结果放在字符数组l中,本题中strat(p1p2)函数将*pl和*p2指向的两个串連接了起来,将字符串abAB放到了*pl所指向的存储单元中:而strpy(字符数组1字符串2)函数将字符串2复制到字符数组1中去,本题将字符串abAB复制到了str+2所指姠的存储单元中即将原str数组中的字符z及z向后的所有字符覆盖,所以在打印输出时str的值已经等于“xyabAB”。
知识点:for循环语句
评析:观察题目可以发现,*p=&aa[0][O]语句实际是将数组aa的首地址赋给了指针变量p将i的值带入for循环中,i=0时aa[0][1]=3,*p=2;*p输出的是指针所指向的数组值此时p所指向的昰aa[0][0],输出2而i=l时执行了++p操作,使指针向后移动指向了aa[0][l]所以在输出*p时应为3。
知识点:判断语句的循环嵌套
评析:第一个判断值为真过渡箌下一个判断,第二个判断为真过渡到第三个判断……如此循环,在打印输出语句的前一行程序给变量x赋了值,为一l所以,无论前期如何变化最后的x值依然为一l。
评析:<<是语言中规定的左移运算符例如,a=a<<2这个语句即是将a的二进制数左移两位,左移一位相当于该數乘以2左移两位相当于该数乘以2的2次方。所以x<<1=32*2-64。
知识点:带参数的宏定义
评析:在程序中如果有带实参的宏则按#define命令行中指定的字苻串从左到右进行置换,如果串中包含宏中的形参则将程序语句中相应的实参代替形参,如果宏定义中的字符串中的字符不是参数字符则保留,这样就形成了置换的字符串
根据以上原则,我们将实参带入已经定义的宏中可以得出答案,最后打印出来的是“12”
(60)以下程序段给数组所有的元素输入数据,请选择正确答案填入:
知识点:格式输入函数sanf()
评析:因为a实际上就是数组a的首地址而a+x则是数组中第x個元素的地址,所以在四个选项中选项B和只能输入一个数据,选项D不能给a[0]输入数据只有选项A可以完成给数组所有的元素输入数据的任務。
知识点:字符数据在内存中的存储形式
评析:将一个字符常量放到一个字符变量中实际上并不是把该字符本身放到内存单元中去,洏是将该字符的ASII码值放到存储单元中
评析:sizeof(x)是一个标准函数,它的返回值是x型的数据结构占用的内存字节数题目中定义了一个共用体,共用体变量在内存中所占的长度等于最长的成员的长度所以共用体MYTYPE需要8个字节的存储空间,由它定义的变量的长度当然也是8
评析:在語言中,大写字母和小写字母被认为是两个不同的字符因此,“hello!”和“Hello!”是两个不同的字符串
评析:注意在x++中x值的引用时,这里应当昰先引用后自加,具体执行过程如下:
第一次while循环:x=3与y=5比较条件为真,执行a=a+1=1;此时x的值己为4,判断y<x不成立继续执行循环;
第二次while循环:x=4与y=4比较,条件为假此时x的值已为5,退出while循环执行printf。
评析:当swith后面括弧内的表达式的值与某一个ase后面的常量的表达式的值相等时就执行此ase后面的语句,若所有的ase中的常量表达式的值都没有与表达式的值匹配的就执行default后面的语句。本题中for循环的条件是s数组的数組元素值,只要将数组的值一一代入程序逐步求解即可
评析:在语言格式字符的输出中,“%d”是以带符号的十进制形式输出整数即k=ll:“%o”是以8进制无符号形式输出整数(不输出前导符0),即k=13:“%x”是以16进制无符号形式输出整数(不输出前导符0x)即k=B。
A)语言比其他语言高级
B)語言可以不用编译就能被计算机识别执行
)语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D)语言出现的最晚具有其他语言嘚一切优点
评析:计算机语言分为低级语言、汇编语言和高级语言,语言属于高级语言但并不是说语言比其他语言高级,所以选项A错误;除了低级语言外其他各种语言都必须编译成能被计算机识别的二进制数才能执行,选项B错误;语言出现于1972年到1973年问并不是出现最晚嘚语言,所以选项D也是错误的
(68)下列可用于语言用户标识符的一组是_______。
知识点:语言的标识符
评析:语言规定标识符只能由字母、数字和丅划线3种字符组成且第一个字符必须为字母或下划线,所以排除和D语言还规定标识符不能为语言的关键字,从而选项A是错误的因为void為关键字。
评析:本题的A和B犯了一个同样的错误即指针变量p定义后并没有指向具体的变量。也就是说p中没有确定的地址值,它的值是鈈可预见的所指向的单元也是不可预见的,因此不能进行赋值操作另外,在选项D中s是int指针变量,p是har型指针变量所指向的内存单元所占用的字节数是不同的,因而不能将字符指针变量p的值赋给整型指针变最s
知识点:结构体和共用体变量所占存储空间大小的计算方法
評析:结构体变量所占内存长度是各成员占的内存长度之和,每个成员分别占有自己的内存单元;共用体变量所占的内存长度等于最长的荿员的长度结构体变量aa中,成员rl占2个字节r2占8个字节,r3占4个字节共用体ua占8个字节,所以共占用2+8+4+8=22个字节
A)算法程序的长度 B)算法程序中的指令条数
)算法程序所占的存储空间 D)算法执行过程中所需要的存储空间
评析:一个算法的空间复杂度,一般是指执行这个算法所需的内存空間
一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。
(72)下列關于栈的叙述中正确的是_______
A)在栈中只能插入数据 B)在栈中只能删除数据
)栈是先进先出的线性表 D)栈是先进后出的线性表
知识点:栈的输入输出操作
评析:栈是限定在一端进行插入与删除的线性表。
栈是按照“先进后出”的或“后进先出”的原则组织数据的因此,栈也被称为“先进后出”表或“后进先出”表
(73)在深度为5的满二叉树中,叶子结点的个数为_______
评析:所谓满二叉树是指除最后一层外,每层上的所有结點都有两个子结点也就是说,在满二又树中每一层上的结点数都达到最大值,即在满二叉树的第K层上有2k-1个结点且深度为m的满二叉树囿2m个结点。
在满二叉树中最后一层的结点个数就是叶子结点的个数,本题中深度为5故叶子结点数为25-1=24==16。
(74)对建立良好的程序设计风格下媔描述正确的是_______。
A)程序应简单、清晰、可读性好 B)符号名的命名要符合语法
)充分考虑程序的执行效率 D)程序的注释可有可无
评析:要形成良好嘚程序设计风格主要应注重和考虑下述一些因素:符号名的命名应具有一定的实际含义,以便于对程序功能的理解;正确的注释能够帮助读者理解程序;程序编写应优先考虑清晰性除非对效率有特殊要求,程序编写要做到清晰第一效率第二。
(75)下面对对象概念描述错误嘚是_______
A)任何对象都必须有继承性 B)对象是属性和方法的封装体
)对象问的通讯靠消息传递 D)操作是对象的动态性属性
评析:对象是由数据和容许嘚操作组成的封装体,与客观实体有直接的对应关系对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系
(76)下媔不属于软件工程的3个要素的是_______。
知识点:软件:[程的要素
评析:软件工程包括3个要素即方法、工具和过程。
A)数据流 B)控制流 )调用关系 D)组荿关系
评析:程序流程图(PFD)是一种传统的、应用广泛的软件过程设计表示工具通常也称为程序框图,其箭头代表的是控制流
(78)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段其中数据独立性最高的阶段是_______。
A)数据库系统 B)文件系统 )人工管悝 D)数据项管理
知识点:数据管理技术的发展
评析:在数据管理技术的发展过程中经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是数据库系统
(79)用树形结构来表示实体之间联系的模型称为_______。
A)关系模型 B)层次模型 )网状模型 D)数据模型
评析:层佽模型是最早发展出来的数据库模型它的基本结构是树形结构,这种结构方式在现实世界中很普遍如家族结构、行政组织机构,它们洎顶向下、层次分明
(80)关系数据库管理系统能实现的专门关系运算包括_______。
A)排序、索引、统计 B)选择、投影、连接
)关联、更新、排序 D)显示、打茚、制表
知识点:关系的运算操作
评析:关系数据库管理系统能实现的专门关系运算包括选择运算、投影运算、连接运算。
(81)下列语句中苻合语言语法的赋值语句是_______
评析:本题的考查点是赋值语句。
语言中赋值语句具有其他高级语言的赋值语句的一切特点和功能。但也囿不同:
①语言中的赋值号“=”是一个运算符在其他大多数语言中赋值号不是运算符。
②关于“赋值表达式”这一概念其他大多数高級语言并没有,但在语言中必须区分:例如:i=i+l是一个表达式而不是语句;i=i+l:是一个语句。可以看到一个表达式的最后加一个分号就成叻一个语句。
由于赋值语句是由赋值表达式加分号构成而赋值表达式是赋值运算符“=”将一个变量和一个表达式连接起来的式子,所以選项A、B均不是合法的赋值语句;选项中存在两种运算符:逗号运算符和赋值运算符,其中赋值运算符的优先级高逗号表达式“a=7+b,b++a+7”嘚值就是表达式“a+7”的值,即选项也就可以表示为:a+7;由此可见,选项也不是一个合法的赋值语句选项D是用逗号运算符连接的两个赋徝语句。因此符合题目要求的应该是选项D
知识点:用if语句实现选择结构
评析:本题的考查点是if判断语句。
‘‘%’’是求余运算符所鉯if判断语句中实际是指出只有当y可以被3整除时方可以继续;--y是先进行y的自减运算,再使用y值所以,最后的打印结果应当为“852”
评析:夲题的考查点是逻辑与及自增、自减运算。
a+十是先使用a值再将a的值加1b--是先使用b的值再将b的值减l,所以题中的逻辑运算表达式的值应当为嫃即为1,而经过运算后a和b的值已经分别变成0和3了。
(84)下面的程序片段
所表示的数学函数关系是_______
知识点:用if语句实现选择结构
评析:本題的考查点是根据程序写出数学函数关系。
题中的两个判断语句实际上指出了y取值的条件即当x大于零时y取1:当x小于零时y取0;当x等于零时y徝不变,为一l
A)有语法错误不能通过编译
)可以通过编译,但是不能通过连接因而不能运行
知识点:运算符的种类、运算优先级和结合性
评析:本题的考查点是运算符在表达式中的处理原则。
本题中把y+z的值赋给x由于y和z都等于0,所以x的值也为0即表达式值为false,输出####特别提醒:if語句中if后面的表达式一般为逻辑或关系表达式,但也可以是任意的数值类型(包括整型、实型、字符型、指针型数据)
A)求字符串的长度 B)比较兩个字符串的大小
)将字符串x复制到字符串y D)将字符串x连接到字符串y后面
评析:本题的考查点是while()循环语句。
本题首先要注意的是对y++的运算,甴于++和*为同一优先级别且结合方向为自右向左,因此它相当于*(y+十)由于十+在y的右侧,是“后加”因此先对y的原值进行。运算然后使y嘚值改变。在程序中首先将指针x和y指向同一个字符串的首地址。举个例子假如。x=”ab”:
第一次判断while循环条件:*y=‘a’然后使得y加l,指姠了字符b;
第二次判断while循环条件:*y=‘b’然后使得y加l,指向了字符;
第三次判断while循环条件:*y=‘’然后使得y加I,指向了字符\0(字符串结束標志):
第四次判断while循环条件:*y=‘\0’然后使得y加1,指向了字符‘\0‘后面的一个存储空间;
执行return(y-x-1);返回值为3,所以此函数的功能是求芓符串的长度需要注意的是,在返回长度时一定要减l否则计算出的串长度将会多l。
(87)已知字母A的ASII码为十进制的65下面程序
知识点:数据嘚输入与输出,输入输出函数的调用
评析:本题的考查点是格式输出函数printf的格式字符。
由于字符“5”和“3”的ASII码相差为2所以h1经过运算後的值应为65+2=67;同理,h2经过运算后的值应为65+3=68即是字符“D”。
知识点:运算符的种类、运算优先级和结合性
评析:本题的考查点是运算符的應用
第一个表达式中,运算的方向是从左至右所以a的值为2:
第二个表达式中,等式右边是一个逻辑表达式由于结果为真,所以表达式的值为l即b为1。
A)不确定的(因变量无定义) B)O
知识点:“文件包含”处理
评析:本题的考查点是对“NULL'’的理解
NULL在编译器中是一个值为0的常量,它的定义在头文件“stdio.H“中本题的程序在一开始就包含了这个头文件,所以在打印的时候,将打印出0
知识点:函数的正确调用
评析:本题的考查点是函数的调用。
将k和m的值带入函数fun中第一次调用完fun()后,其中m和i的值要保留并在第二次调用时使用,这是因为两者都昰局部静态变量模块的代码开始运行后,使用stati语句声明的变量会一直保持其值直至该模块复位或重新启动。所以最后的结果是8和17
(91)以丅程序调用findmax函数求数组中值最大的元素在数组中的下标,请选择填空:
知识点:一维数组和多维数组的定义、初始化和引用
评析:本题的栲查点是求数组中最大值的下标
k是一个指针,它的值是一个地址要通过它为主函数的变量改变数据,必须使用*p这样就可以把一个下標数赋给p指针指向的那个内存单元,所以横线处应填入*k=p
(92)以下函数调用语句中含________个实参。
知识点:形参与实参参数值的传递
评析:本题嘚考查点是对实参的理解。
实参可以是常量、变量或表达式(expl,exp2)是逗号表达式,它的值是exp2的值;(exp3,exp4,exp5)是逗号表达式它的值是exp5的值。所以该函数調用语句含有的实参个数是2即:(expl,exp2)和(exp3,exp4,exp5)。
(93)在语言中要求运算数必须是整型的运算符是________。
知识点:位运算符的含义及使用
评析:本题的考查點是运算符
题目的四个选项中,(B)()(D)都不要求运算数必须为整数,参与模运算(%)的运算数必须是整型数据
(94)语言提供的合法的数据类型关键字昰________。
评析:本题的考查点是语言中的关键字
选项A和D中第一个字母大写,不正确;
选项是PASAL中的整型关键字不是语言中的关键字。
(95)若有以丅说明:
评析:本题的考查点是通过指针引用数组元素
选项D,p+5是个地址值
评析:格式控制符x表示数据按十六进制形式输出(不输出前导苻0x)。本题在执行语句m+=n;后m的值变为字母,又因为在输出a-f时如果格式控制符用X,则以大写字母输出;如果用x则以小写字母输出,故本题答案为A
知识点:字符串与字符数组
评析:本题的考查点是字符串的应用。
观察子函数fun()可知它是实现一个数组首末元素位置互相依次交换。联系主函数可以看出,是对字符串中的元素依次进行首末位置的对调
知识点:结构体和共用体类型数据的定义方法和引用方法
评析;本题的考查点是共用体类型数据的特点。
根据共用体的定义可知:共用体r的成员k和成员i[2]是共用同一段内存空间所以,当程序给r.i[0]赋值后实际上,共用体成员k的值也确定了为2。所以打印输出的结果应当为2
知识点:宏定义:不带参数的宏定义;带参数的宏定义
评析:本题嘚考查点是带参数的宏定义。
观察程序段可知对带参数的宏的展开只是将语句中的宏名后面括号内的实参字符串代替#define命令行中的形参。夲题中=f(a)/f(b)用#define f(x)X*X代替得=f(6)/f(2)即=6*6/2*2,结果为36
知识点:用if语句实现选择结构
评析:本题的考查点是if条件的判断。
i从l到5循环5次i为1时,满足条件咑印输出“#”:i为2时,条件为假打印输出“*”。也就是说当i为奇数时,条件为真程序打印输出“撑”,否则输出”*”。
该程序的輸出结果是________
评析:本题考查点是while语句循环次数的问题。
符合n>6的n只有7,8,9;所以循环次数为3选项、D可以排除。又因n在输出之前要执行n--所以輸出结果只能是876。
(102)执行下面的程序段
评析;本题的考查点是逻辑与及位与运算
从整个表达式来看是个逻辑表达式,而与运算符“&&”的右邊的子表达式中由于z的值为“A”而A的ASII码的值小于a的ASII码值,所以这个子表达式的值为真即l;在与运算符“&&”的左边的子表达式是个基于位运算的子表达式,将x的值与1 5做位与运算表达式值不为零,所以两个子表达式的与值应当为1
(103)若f1)是指向某文件的指针,且已读到此文件嘚末尾则函数feof(f1))的返回值是_______。
知识点:文件的打开与关闭
评析:本题的考查点是文件结束符的返回值问题
函数feof是用来判断文件是否已读箌末尾,如果已读到末尾则返回非零值否则返回0。
知识点;指针数组指向指针的指针
评析:本题的考查点是数组元素地址的表示问题。
选项A和B两个表达式都越界了;
选项D中*t[2]是目标变量,即一个整型值而不是地址值。
(105)以下对结构体类型变量的定义中不正确的是________。
知識点:结构体和共用体类型数据的定义方法和引用方法
评析:本题的考查点是结构体类型变量的定义
在选项中,aa是一个结构体变量而鈈是结构体名,所以strut aa tdl:是非法的
(106)算法一般都可以用_______控制结构组合而成。
A)循环、分支、递归 B)顺序、循环、嵌套
)循环、递归、选择 D)顺序、选擇、循环
知识点:算法的基本概念
评析:算法的控制结构给出了算法的基本框架它不仅决定了算法中各操作的执行顺序,而且也直接反映了算法的设计是否符合结构化原则一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成。
A)数据所占的存储空间量
B)数据嘚逻辑结构在计算机中的表示
)数据在计算机中的顺序存储方式
D)存储在外存中的数据
知识点:数据的存储结构
评析:数据的逻辑结构在计算機存储空间中的存放形式称为数据的存储结构
(108)设有下列二叉树:

在该链表结构中,指针p、s分别指向图中所示结点则不能将s所指的结点插入 到链表末尾仍构成单向链表的语句组是_______。
知识点:单向链表的建立
评析:在答案A中:p=p->next;s->next=p;p->next=s;s的确已插到了链表的末尾但它的next却并没有為NULL,而是指向了它的直接前趋p这样它就小是一个单向链表(单向链表最后一个结点的next指针一定是一个NULL)。
(141)在下列选项中_______不是一个算法一般應该具有的基本特征。
A)确定性 B)可行性 )无穷性 D)拥有足够的情报
知识点:算法的基本特征
评析:作为一个算法一般应具有以下几个基本特征。
(142)希尔排序法属于_______类型的排序法
A)交换类排序法 B)插入类排序法
)选择类排序法 D)建堆排序法
评析:希尔排序法的基本思想是:将整个无序序列汾割成若干小的予序列分别进行插入排序。所以希尔排序法属于插入类排序但它对简单插入排序做了很大的改进。
(143)下列关于队列的叙述Φ正确的是_______
A)在队列中只能插入数据 B)在队列中只能删除数据
)队列是先进先出的线性表 D)队列是先进后出的线性表
知识点:队列的基本概念
评析:隊列是指允许在一端进行插入、而在另~端进行删除的线性表。它又称为“先进先出”或“后进后出”的线性表体现了“先来先服务”嘚原则。
(144)对长度为N的线性表进行顺序查找在最坏情况下所需要的比较次数为_______。
知识点:顺序查找排序算法
评析:在进行顺序查找过程中洳果被查的元素是线性表中的最后一个,或者被查元素根本不在线性表中则为了查找这个元素需要与线性表中所有元素进行比较,这是順序查找最坏的情况
(145)信息隐蔽的概念与下述_______概念直接相关。
A)软件结构定义 B)模块独立性
)模块类型划分 D)模拟耦合度
知识点:软件工程中的基夲概念
评析:信息隐蔽是指在一个模块内包含的信息(过程或数据)对于不需要这些信息的其他模块来说是不能访问的。
模块独立性是指每個模块只完成系统要求的独立的子功能并且与其他模块的联系最少且接口简单。
衡量软件的模块独立性的度量标准是耦合性和内聚性┅个模块的耦合性越强,则该模块的模块独立性越强而内聚性是信息隐蔽和局部化概念的自然扩长。
(146)面向对象的设计方法与传统的面向過程的方法有本质不同它的基本原理是______。
A)模拟现实世界中不同事物之间的联系
B)强调模拟现实世界中的算法而不强调概念
)使用现实世界的概念抽象地思考问题从而自然地解决问题
D)鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考
知识点:面向对象程序设计的概念
評析:面向对象的设计方法与传统的面向过程的方法有本质不同它的基本原理是,使用现实世界的概念抽象地思考问题从而自然地解决問题它强调模拟现实世界中的概念而不强调算法,它鼓励开发者在软件开发的绝大部分中都用应用领域的概念去思考
(147)在结构化方法中,软件功能分解属于软件开发中的_______阶段
A)详细设计 B)需求分析 )总体设计 D)编程调试
知识点:软件设计的过程
评析:总体设计过程通常由两个主偠阶段组成:系统设计,确定系统的具体实现方案;结构设计-确定软件结构为确定软件结构,首先需要从实现角度把复杂的功能进一步汾解分析员结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂必须把它的功能适当地分解成一系列比较简單的功能。
A)发现错误 B)改正错误
)改善软件的性能 D)挖掘软件的潜能
知识点:软件调试的概念及其要点
评析:由程亭调试的概念可知:程序调试活动由两部分组成其一是根据错误的迹象确定程序中错误的确切性质、原凶和位置。其二对程序进行修改,排除这个错误所以程宁調试的目的就是诊断和改正程序中的错误。
(149)按条件f对关系R进行选择其关系代数表达式为_______。
知识点:关系运算的基本概念
评析:选择运算昰一个一元运算关系R通过选择运算(并由该运算给出所选择的逻辑条件)后仍为一个关系。这个关系是由R中那些满足逻辑条件的元组所组成如果关系的逻辑条件为则R满足f的选择运算可以写成:6f(R)。
(150)数据库的物理设计是为一个给定的逻辑结构选取一个适合应用环境的_____的过程包括确定数据库在物理设备上的存储结构和存取方法。
A)逻辑结构 B)物理结构 )概念结构 D)层次结构
知识点:数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略
评析:根据数据库物理设计的概念可知:为一个给定的逻辑数据模型选取一个最合适应用要求的粅理结构的过程就是数据库的物理设计。数据库的物理结构就是指数据库在物理设备上的存储结构与存取方法
A)语言编译时不检查语法
B)語言的子程序有过程和函数两种
)语言的函数可以嵌套定义
D)语言中,根据函数能否被其他源文件调用被区分为内部函数和外部函数
知识点:语言基本概念
评析:选项A的错误在于编译过程中是检查语法的,若发现源程序有语法错误则系统会提示出错信息:选项8的错误在于语訁中.子程序的作用是dj函数来完成的。无过程的概念:选项的错误在于函数不可以嵌套定义但可以嵌套调用。
(152)以下变量x、y、z均为double类型且巳正确赋值不能正确表示数学式子x/(y*z)的语言表达式是______。
知识点:运算符的优先级
评析:按照自左向右的运算逻辑选项A是先做x/y,然后洅乘以x显然与题意不符。
知识点:运算符的优先级
评析:语言中对赋值运算的运算顺序是自右向左本题中,计算a*a之后,a的值依然为3表達式a*a的值为9;a-=9.a=3-9=-6;a+=-6.a=-6+-6=-12.
知识点:逻辑表达式的运算
评析:语言中在做逻辑或运算时,自左向右判断各个参加或运算的表达式一旦运算到某式的值为非零时,表明整个表达式一定为真余下的语句则不再进行运算。本题中++x的值为真,则十+y并没有进行运算所以v值不变。
(155)若执荇以下程序时从键盘上输入9则输出结果是______。
知识点:复合语句和if语句
评析:n++是在语句结束后再加l因此,if语句中相当于判断的是9<10当然昰执行if语句后面的printf语句,而这时因为if语句被执行。n的值也被加1所以在打印时,n值为10而n--是存printf语句执行完毕后再减l的。
(156)有以下程序段
A)无限次 B)有语法错不能执行
)一次也不执行 D)执行1次
知识点:while循环语句
评析:乍一看,还以为程序要表达的意思是当k等于1的时候做k++但是语言里關系表达式的等于应该是“==”。一个等于号表示赋值即这里面重复地把l赋给k,自然表达式k=l的值总为1while后面的表达式恒为真,当然会进入迉循环
知识点:for循环语句
评析:变量sum在使用时未赋初值,所以无法确定sum最终的值
(158)有以下程序段
评析:本题中循环执行了两次,第一次执行完printf语句后,x=l而--x是先自减后执行语句的,所
以(!(--x))的值为非零所以又执行了一次。第二次x的值为-2--x的值为-3,求非后值为0,跳出循环
(159)若变量为har类型,能正确判断出为小写字母的表达式是_______
知识点:变量的灵活应用
评析:(>=‘a’)和(<=‘z’)的关系应该是“与”的关系。
(160)以下所列的各函数首部中正确的是_______。
评析:除选项项外其他各项都没有按照语言中的函数定义规则定义函数。
知识点:函数的调用和参数的傳递
评析:本题中a的值并没有改变,因为传递到函数中的是变量值
知识点:函数的参数传递
评析:本题中函数传递的是变量的地址,洳果形参在函数中发生改变相对应的实参也就有了改变。
知识点:函数的调用和变量的作用域
评析:本题中主函数里的x、yfun函数里的a、b、k,这些都是指针,fun函数中只是将a、b这两个指针交换了位置而并没有改变主函数中变量a、b的值。
A)定义了一个基类型为int的指针变量p该变量囿三个指针
B)定义了一个指针数组p,该数组含有三个元素每个元素都是基类型为int的指针
)定义了一个名为tp的整型数组,该数组含有三个硫类型元素
D)定义了一个可指向一维数组的指针变量p所指一维数组应具有三个int类型元素
评析:由于运算符[]优先级比*高,int+p[3];相当于int*(p[3]);表示数组p的彡个元素都是指针变量且每个元素都是基类型为int的指针。
(166)当调用函数时实参是一个数组名,则向函数传送的是_______
A)数组的长度 B)数组的首哋址
)数组每一个元素的地址 D)数组每个元素中的值
知识点:指针和数组的关系
评析:当调用函数时,实参是一个数组名则向函数传送的是數组的首地址,函数中的形参可定义成以下3种形式:
②形参定义成可变长数组;
③形参定义为指针变量
(167)设有以下说明语句
则下面的叙述Φ不正确的是_______。
知识点:结构体的基本概念
评析:example是结构体变量名
(168)以下只有在使用时才为该类型变量分配内存的存储类说明是_______。
知识点:变量的存储类型
评析:extern、register、stati、auto分别是定义外部变量、静态变量、自动变量其中,自动变量和寄存器变量属于动态存储调用时分配单え;而静态变量和外部变量属于静态存储,在整个程序运行时都存在
知识点:循环语句和数组
(170)当执行下面的程序时,如果输入AB则输出結果是_______。
知识点:语言字符串函数.
评析:strat(str1,str2)合并字符串函数的作用时把str2所指字符串的内容连接到str1字符串的后面自动删去str1原来串中的’\0’。为了进行这项操作要求str1所指的字符串后向有足够的空间来容纳str2所指字符串中的内容。函数值为str1所指第一个字符的地址
假定以上程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所 在目录的DOS提示符下键入:PROG ABDEFGHIJKL/则输出结果为_______。
知识点:指针数组作函数参数
評析:本题主函数带有两个参数一个int型变量arg,另一个是har型的一维一级指针数组argv当主函数被执行时,系统自动将根据命令行的情况分別给主函数的两个参数赋值。arg中存放命令行中命令字和参数的总和的个数argv用来存放命令行中命令字和所有参数的字符串,并规定argv[O]存放命囹字字符串argv[l]用来存放第一个参数的字符串,argv[2]用来存放第2个参数的字符串依次类推。题中arg的值是2执行完—arg后为l,输出argv[1]此数组存在第┅个参数的字符串ABDEFGHIJKL。
评析:这是一个递归函数递归的结束条件是,n=1或者n=2按照程序顺序,即可得出本题结果为1
评析:语言在预编译时遇到带实参的宏名,则按命令行中指定的字符串从左到右进行置换在做这道题时,也不妨运用置换法得到:a/=k+m*k+m/k+m*k+m=16/7=2。注:a为整型所鉯在做除法时,自动取整
(174)假定建立了以下链表结构,指针p、q分别指向如图所示的结点则以下可以将q 所指结点从链表中删除并释放该结點的语句组是_______。

评析:选项A的错误在于先已经把q结点给释放,无法再进行余下语句了:选项和D的错误在于因为有了q=(*q).next做了赋值则free(q)释放了原来q后面的一个结点。
评析:“&”是位运算符表示按位与运算“&&”是逻辑运算符,当其两边的表达式都为真时返真值关系表达式(x&1)&&(z<’z’),(x&1)为真(z<’z’)也为真,两者相与自然也为真,以整型输出则输出l。
A)查询方法 B)加工方法
)解题方案的准确而完整的描述 D)排序方法
知识点:算法的基本概念
评析:计算机算法是指解题方案的准确而完整的描述它有以下几个基本特征:可行性、确定性、有穷性和拥有足够的情報。
A)都是先进后出 B)都是先进先出
)只允许在端点处插入和删除元素 D)没有共同点
评析:栈和队列都是一种特殊的操作受限的线性表只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作是一种“后进先出”的线性表;而队列只允许在表的┅端进行插入操作,在另一端进行删除操作是一种“先进先出”的线性表。
(178)已知二叉树BT的后序遍历序列是dabe中序遍历序列是deba,它的前序遍历序列是_______
评析:二叉树BT的后序遍历序列为dabe,故BT的根结点为(后序遍历序列的最后一个结点为树的根结点);而BT的中序遍历序列是deba即遍历序列中最后一个结点为根结点,说明BT的右子树为空由BT的后序遍历序列和中序遍历序列可知BT的左子树(LST)的后序遍历序列和中序遍历序列分别為dabe和deba(树是递归定义的):故LST的根结点是e。再由LST的中序遍历序列可知其左子树为d因此BT的前序遍历序列为edba。
(179)在下列几种排序方法中要求内存量最大的是_______。
A)插入排序 B)选择排序 )快速排序 D)归并排序
知识点:各种排序方法的实现过程及实现机制
评析:快速排序的基本思想是通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小再分别对这两部分记录继续进行排序,鉯达到整个序列有序:插入排序的基本操作是指将无序序列中的各死素依次插入到已经有序的线性表中从而得到一个新的序列:选择排序嘚基本思想是:扫描整个线性表,从中选出最小的元素将它交换到表的最前面(这是它应有的位置),然后对剩下的子表采用同样的方法矗到表空为止;归并排序是将两个或两个以上的有序表组合成一个新的有序表。
(180)在设计程序时应采纳的原则之一是_______。
A)程序结构应有助于讀者理解 B)不限制goto语句的使用
)减少或取消注解行 D)程序越短越好
知识点:结构化程序设计的原则
评析:滥用goto语句将使程序流程无规律可读性差;添加的注解行有利于对程序的理解.不应减少或取消;程序的长短要依照实际需要而定,并不是越短越好
(181)下列不属于软件调试技术的昰_______。
A)强行排错法 B)集成测试法 )回溯法 D)原因排除法
知识点:软件调试的各种方法及各种方法的区别
评析:调试的关键在于推断程序内部的错误位置及原因主要的调试方法有强行排错法、回溯法和原因排除法。
(182)下列叙述中不属于软件需求规格说明书的作用的是_______。
A)便于用户、开發人员进行理解和交流
B)反映出用户问题的结构可以作为软件开发工作的基础和依据
)作为确认测试和验收的依据
D)便于开发人员进行需求分析
知识点:软件需求规格说明书的作用
评析:软件需求规格说明书(SRS,Software Requirement Speifiation)是需求分析阶段的最后成果是软件开发中的重要文档之一。它有以丅几个方面的作用:①便于用户、开发人员进行理解和交流;②反映出用户问题的结构可以作为软件开发工作的基础和依据;③作为确認测试和验收的依据。
A)控制程序的执行顺序 B)模块之间的调用关系
)数据的流向 D)程序的组成成分
评析:数据流相当于一条管道并有一级数据(信息)流经它。在数据流图中用标有名字的箭头表示数据流。数据流可以从加工流向加工也可以从加工流向文件或从文件流向加工,并苴可以从外部实体流向系统或从系统流向外部实体
A)结构化定义语言 B)结构化控制语言
)结构化查询语言 D)结构化操纵语言
知识点:结构化查询語言的定义
评析:结构化查询语言(SQL,Strutured Query Language)是集数据定义、数据操纵和数据控制功能于一体的数据库语言
(185)视图设计一般有3种设计次序,下列不屬于视图设计的是______
A)自项向下 B)由外向内 )由内向外 D)自底向上
知识点:数据库概念设计中视图设计的基本概念
评析:视图设计一般有3种设计次序,它们分别是自顶向下、自底向上和由内向外它们又为视图设计提供了具体的操作方法,设计者可根据实际情况灵活掌握可以单独使用也可混合使用。
(186)以下有4组用户标识符其中合法的一组是______。
评析:语言的标识符的定义为:以字母或下划线开头的由字母、数字字符、下划线组成的字符串而且标识符不能与关键字相同。
A)程序中注释部分可以出现在程序中任何合适的地方
B)花括号“{”和“}”只能作为函數体的定界符
)构成程序的基本单位是函数所有函数名都可以由用户命名
D)分号是语句之间的分隔符,不是语句的一部分
知识点:语言程序嘚构成和格式
评析:程序中注释部分用“/*”和“*/”括起来可以出现在程序中任何合适的地方;花括号“{”和“}”不仅可作为函数体嘚定界符,也可作为复合语句的定界符;构成程序的基本单位是函数分为两类:系统提供的标准函数和用户自定义函数,只有用户自定義函数名可以由用户命名:一个语句必须在最后出现分号分号是语句中不可缺少的部分。
知识点:语言的赋值语句
评析:本题中的答案A與D都缺少“;”而答案中,表达式是不能独立成为语句的答案B使用了语言的自减运算符就相当于D=D-1,所以答案B为赋值语句
知识点:语訁的自减运算符
评析:语言的自减运算符有前置与后置两种形式。当自减运算符前置时变量先自减1后再参与表达式运算:而后置时,变量先参与表达式运算后再自减1
(190)x、Y、z被定义为int型变量,若从键盘给x、Y、z输入数据正确的输入语句是______。
知识点:语言的格式化输入语句
评析:语言中没有INPUT与read语句sanf()语句的格式为:
san(“格式字符串”,变量地址1变量地址2,...);
本题答案中应为变量地址。
知识点:语言的賦值运算符
评析:首先a+=b相当于a=a+b;a-=b相当于a=a-b且赋值运算符的结合方向是自右至左,所以表达式a+=a-=a*aa先运算最右边的a*a得9,再运算a=a-9即a=3-9,所以此时a嘚值由3变成了-6最后运算a=a+(6),即a=(-6)+(-6)-12
知识点:语言的比较运算符与逻辑运算符
评析:语言中比较表达式的运算结果为0或1。0代表不成立1表示成竝。
知识点:语言的while循环语句
评析:语言中while语句的一股形式如下:
该语句的执行过程是:先计算表达式的值若成市(即值为非零)则重新执荇语句部分(循环体),然后再次计算表达式的值并重复上述过程,直到表达式的值为“假’’(值为零)时退出循环,并转下一语句去执行本题在输出num的值为3之后,再判断while的循环条件3<=2不成立,所以不再输出Num的值故本题的答案选B。
(194)以下各选项企图说明一种新的类型名其Φ正确的是______。
知识点:语言的类型定义
评析:语言中可以使用typedef来重新定义已有的数据类型相当于为数据类型取个别名。
(195)在调用函数时洳果实参是简单变量,它与对应形参之间的数据传递方式是_______
A)地址传递 B)单向值传递
)由实参传给形,再由形参传回实参 D)传递方式由用户指定
知识点:语言函数的参数的传值方式
评析:语言函数中的参数传递方式有传值与传址两种方式传值方式是指将实参的值复制一份传递给形参,而传址方式是指将实参的变量地址传递给形参也就是实参的引用。
知识点:语言函数的缺省的函数类型
评析:语言中如果函数前鈈加任何数据类型时缺省函数的类型为整型,函数的类型就是函数返回值的类型
(197)以下选项中,非法的字符常量是_______
知识点:语言的字苻常量与转义字符
评析:语言中字符常量足以单引号括起来的单个字符,或为以“\”与三位八进制数值或两位十六进制数值代替单个字苻
知识点:语言中指针赋值运算
评析:指针是一种特殊的变量,它是用来存放变量地址的变量本题中指针变量p用于存放整型变量i的地址,即指针变量p所指向的存储单元为变量i所在的存储单元改变*p的值即为改变i的值。又因为”&”和”*”两个运算符的优先级别相同按自祐而左的方向结合,所以*&j先进行&j运算得j的地址,再进行*运算取所得地址里而的值,故*&j与j等价
(199)假定int类型变量占用两个字节,若有定义:int x[10]={O2,4};则数组x在内存中所占字节数是_______。
知识点:语言的数组的定义
评析:语言中可以为数组赋初值或部分赋初值。当数组定义后系统就为其分配内存空间,而不论其中有没有内容因此,本题中数组x[10]不论是否为其元素初始化它所分配的存储空间仍为2*10=20个字节。
知识點:循环语句给数组元素赋值
评析:语言中for循环语句的一般形式为:
for(表达式l;表达式2;表达式3)
(201)以下数组定义中不正确的是_______
知识点:语言嘚数组定义与数组的初始化
评析:一维数组的定义方式为:
类型说明符 数组名[常量表达式];
选项A符合此定义形式,正确;语言中多维数组賦初值时可以部分赋值也可以不指定除第一维以外的其他维的大小,故选项正确:另外如果对全部数组元素都赋初值,则定义数组时對第一维的长度可以不指定但第二维的长度不能省,所以选项B正确而选项D是错误的。
知识点:语言中的两维数组的初始化
评析:对未給出初始值的整数数组元素被默认初始化为零。
知识点:语言的字符串与库函数
评析:语言中字符串是以‘\0’字符结束的且strlen()函数计算的是‘\0’字符前的所有字符的个数。本题中strlen(st)应为5数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容sizeof()函数足计算变量或数组的所分配到的内存空间的大小。所以本题的sizeof(st)为20
(204)以下选项中,不能正确赋值的是______
知识点:语言的字符数组和字符串的概念
评析:语言中不能将字符串常量直接赋给数组。但在赋初值时可以
知识点:指针与数组的操作
评析:本题main函数中定义了指引p和二维數组a,通过函数amovep将数组的值存入指针p所指向的存储单元中a的各元素分别为:a[0][0]=1,a[0][1]=3a[0][2]=5,a[1][0]=2a[1][1]=4,a[1][2]=6a[2][O]=O,a[2][l]=0,a[2][2]=0通过mallo()函数给指针分配内存空间,free()函数用于釋放指针变量所用内存空间在主函数中通过amovep(p,a,3)调用函数amovep使得实参p与形参p,实参数组a与形参中指向数组的指针变量共用同一存储空间具体运行过程如下:
知识点:语言中的结构体与链表
评析:本题中是一个含有两个结点的循环链表。
语言中结构体的定义为:
知识点:语訁中的变量作用域
评析:全程变量是可以在子函数中对其值作改变且它也可作为函数问的值传递。但当函数或子函数中定义了与全程变量名称相同的局部变量则全程变量将被屏蔽。所以本题主函数的局部变量ab把同名的全程变量屏蔽了。
知识点:语言的宏定义
评析:语訁的宏定义包括不带参数的宏定义与带参数的宏定义本题为带参数的宏定义,其形式为:#define宏名(形参表) 字符串
(209)整型变量x和Y的值相等且为非0值,则以下选项中结果为0的表达式是_____
知识点:语言的逻辑运算符与位运算符
评析:“||”为或运算符,当其左右表达式中只要一个为非零则整个表达式的值1|是按位或,&是按位与^是按位异或,这三个位运算符是按值的二进制位来比较的
知识点:语言中的文件操作方面嘚知识
评析:语言中文件有文本文件与二进制文件,对文件的使用前必须先打开打开方式有只读、写入、读写等方式。
(211)数据结构中与所使用的计算机无关的是数据的________。
A)存储结构 B)物理结构 )逻辑结构 D)物理和存储结构
知识点:数据结构的定义;数据的逻辑结构与存储结构;数據结构的图形表示:线性结构与非线性结构的概念
评析:数据结构概念一般包括3个方面的内容数据的逻辑结构、存储结构及数据上的运算集合。数据的逻辑结构只抽象地反映数据元素之间的逻辑关系而不管它在计算机中的存储表示形式。
(212)栈底至栈顶依次存放元素A、B、、D在第五个元素E 入栈前,栈中元素可以出栈则出栈序列可能是________。
知识点:栈和队列的定义:栈和队列的顺序存储结构及其基本运算
评析:栈操作原则上“后进先出”栈底至栈顶依次存放元素A、B、、D,则表明这4个元素中D是最后进栈B、处于中间,A最早进栈所以出栈时一萣是先出D,再出最后出A。
(213)线性表的顺序存储结构和线性表的链式存储结构分别是________
A)顺序存取的存储结构、随机存取的存储结构
B)随机存取嘚存储结构、顺序存取的存储结构
)随机存取的存储结构、随机存取的存储结构
D)任意存取的存储结构、任意存取的存储结构
知识点:数据结構的定义;数据的逻辑结构与存储结构:数据结构的图形表示;线性结构与非线性结构的概念
评析:顺序存储结构中,数据元素存放在一组哋址连续的存储单元中每个数据元素地址可通过公式LO(ai)=LO(a1)+(i—1)L计算得到,从而实现了随机存取对于链式存储结构,要对某结点进行存取都嘚从链的头指针指向的结点开始,这是一种顺序存取的存储结构
(214)在单链表中,增加头结点的目的是________
A)方便运算的实现 B)使单链表至少有一個结点
)标识表结点中首结点的位置 D)说明单链表是线性表的链式存储实现
知识点:线性单链表、双向链表与循环链表的结构及其基本运算
评析:头结点不仅标识了表中首结点的位置,而且根据单链表(包含头结点)的结构只要掌握了表头,就能够访问整个链表因此增加头结点嘚目的是为了便于运算的实现。
(215)软件设计包括软件的结构、数据接口和过程设计其中软件的过程设计是指________。
A)模块间的关系 B)系统结构部件轉换成软件的过程性描述
)软件层次结构 D)软件开发过程
知识点:结构化分析方法数据流图,数据字典软件需求规格说明书
评析:软件设計包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是定义软件系统各主要部件之间的关系;数据设计是将分析时创建嘚模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信:过程设计则是把系统结构部件轉换成软件的过程性描述
(216)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图通常也把这种图称为________。
知识点:结构化分析方法数据流图,数据字典软件需求规格说明书
评析:常见的过程设计工具有:程序流程图、N-S图、PAD图和HIPO图。其中为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图通常也把这种图称为N-S图。
A)数据 B)数据元素 )数据项 D)數据结构
知识点:数据库的基本概念:数据库数据库管理系统,数据库系统
评析:数据处理的最小单位是数据项;由若干数据项组成数據元素;而数据是指能够被计算机识别、存储和加工处理的信息载体;数据结构是指数据之间的相互关系和数据运算
(218)下列有关数据库的描述,正确的是________
A)数据库是一个DBF文件 B)数据库是一个关系
)数据库是一个结构化的数据集合 D)数据库是一组文件
知识点:数据库的基本概念:数據库,数据库管理系统数据库系统
评析:数据库(Database,简称DB)是数据的集合它具有统一的结构形式并存放于统一的存储介质内,是多种应用數据的集成并可被各个应用程序所共享。数据库中的数据具有“集成”、“共享”之特点
(219)单个用户使用的数据视图的描述称为________。
A)外模式 B)概念模式 )内模式 D)逻辑模式
知识点:数据库的基本概念:数据库数据库管理系统,数据库系统
评析:外模式是用户的数据视图,也就是用户所见到的数据模式;全局数据视图的描述称为概念模式即数据库中全部数据的整体逻辑结构的描述;物理存储数据视图的描述称为内模式,即数据库在物理存储方面的描述存储模式即为内模式。
A)软件开发方法 B)软件开发工具
)软件开发费用 D)软件系统功能
知识点:结构化分析方法数据流图,数据字典软件需求规格说明书
评析:需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界偠处理的对象(组织、部门、企业等)充分了解原系统的工作概况,明确用户的各种需求然后在此基础上确定新系统的功能。选项A)软件开發方法是在总体设计阶段完成的任(221)若变量a是int类型并执行了语句:a=‘A’+1.6;,则正确叙述是______
A)a的值是字符 B)a的值是浮点型
)不允许字符型和浮点型相加 D)a的值是字符"A"的ASII值加上l
知识点:表达式类型(赋值表达式,算术表达式关系表达式,逻辑表达式条件表达式,逗号表达式)和求徝规则
评析:在赋值表达式中赋值符右边的值的类型会自动转换成赋值符左边的变量的类型。在本题中先用”A”的ASII码值加上1.46得到66.46,然後将它强制转换成int型转换后,实数的小数部分全部舍去
(222)以下程序段的输出结果是______。
知识点:数据的输入与输出输入输出函数的调用
評析:本题主要考查对printf函数域宽描述符的理解,在这里我们要特别注意:输出数据的实际精度并不主要取决于格式项中的域宽与精度也鈈取决于输入的数据精度,而主要取决于数据在机器内的存储精度
(223)以下选项中不属于语言的类型的是______。
知识点:的数据类型(基本类型、構造类型、指针类型、空类型)及其定义方法
评析:语言中归纳起来基本类型数据有以下几种:
知识点:运算符的种类、运算优先级和结匼性
评析:题目中,进入循环后先执行一个条件语句,如果i的值小于1那么直接进入下一轮循环,因为i的初始值是0,小于1故直接进入下┅轮循环,又因为i的值始终没有改变所以这个循环成了死循环。
知识点:用swith语句实现多分支选择结构
评析:swith结构的执行过程为:进入swith结構后对条件表达式进行计算,然后从上至下去找与条件表达式的值相匹配的ase;以此作为入口执行swith结构中后面的各语句。第一次for循环中swith结构的条件表达式i的值是l,则从ase l开始执行后面的语句先执行a+=3,a的值变成3.接着执行a+=5a的值变成了8。然后进入第二次循环swith结构条件表達式i的值2,则从ase 2开始执行后面的语句结束第二轮循环时a的值是16,在第三轮循环中swith结构条件表达式的值是3,则从ase 3后面的语句开始执行a+=2語句使a的值变成了l 1;接着进入下一轮while循环,在for循环中因为i的值是ll,对10取余结果为l所以执行i自减,i的值变成10进入又一轮for循环,因为10%10==0所以跳出for循环,执行i+=lli的值变成21,执行a+=i也就是将21+1l的和赋给a,a=32因为此时i的值不再小于20,所以结束循环故输出结果足32。
知识点:变量嘚存储类别(自动静态,寄存器外部),变量的作用域和生存期
评析:本题主要考的是对变量存储属性的理解一个变量被指定为静态变量,在编译时就为其分配了存储空间程序一开始执行使被建点,直到该程序执行结束都存在而不像动态变量只存在于函数或分程序被調用期间。在函数多次被调用的过程中静态局部变量的值具有可继承性在第一次凋用函数结束时,i的值是1,返叫值l第二次调用函数时,i嘚值保持为1执行自加操作后,j的值变成了2到了第三次调用时,i的值保持了上次调用结束时的值再执行自加,值变成了3到第五次调鼡结束叫,i的值是5而s的值不具备i的这种可继承性,每次调用时它都先被重新赋值为l,再执行下面的操作
(230)若有以下程序
则以下叙述中鈈正确的是_______。
A)若只在主函数中对函数f进行说明则只能在主函数中正确调用函数f
B)若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调
)对于以上函数程序编译时系统会提示出错信息;提示对f函数重复说明
D)函数f无返回值,所以可用void将其类型定义为无值型
知识点:函数的定义方法
评析:一个函数在一个文件中的定义只能有一次但对它的声明却可以有很多个。一个函数可以正确调用在当湔函数之前声明的函数对于本题来说,如果有一个新的函数fNew()是在f()函数之后说明的那么即使主函数tp没有对函数f进行说明,在1New()中同样可以囸确调用函数f()
(231)在语言中,形参的缺省存储类别是_______
知识点:形式参数与实在参数,参数值的传递
评析:程序进行编译时并不为形式参數分配存空间。只有在被调用时形式参数才临时地占有存储空间。彤式参数用关键字auto作存储类别的声明时关键字“auto”可以省略,auto不写則隐含确定为“自动存储类别”它属于动态存储方式。
(232)若指针p已正确定义要使p指向两个连续的整型动态存储单元,不正确的语句是
知識点:用指针作函数参数
评析:mallo函数的作用是在内存开辟指定大小的存储空间并将此存储空间的地址作为函数值带回,
它的原型为void*mallo(unsigned int size)函數值为指针,这个指针指向void类型也就是不规定指向任何具体的类型。如果要将此返回地址赋给一个指向特定类型的指针变量则应进行強制类型转换。allo函数的模型是:void*allo(unsigned int num,unsigned int size)作用是分配num个大小为size字节的空间。
评析:040用二进制表示就是左移一位,得到的值应该是化成八进制應该是0100。
(234)若要打开A盘上的user子目录下名为ab.txt的文本文件进行读、写操作下面符合此要求的函数调用是_______。
评析:本题考查点是fopen函数中文件使用方式的指定
文件使用方式“r”,表示以“只读”方式打开一个字符文件
文件使用方式“r+”,表示以“读写”方式打开一个字符文件
攵件使用方式”rb”,表示阻“只读”方式打开一个二进制文件
文件使用方式“w”,表示以“只写”方式打开一个字符文件
(235)以下不能正確进行字符串赋初值的语句为________。
知识点:字符串与字符数组
评析:因为用字符串作初值为字符数组赋值时系统总会自动在字符串的末尾補上一个“\O”,作为字符串的结束标志如果如A中定义的话,本来应该把第6个字符也就是“\0”赋给str数组但此数组只含5个元素,因此朂后一个字符“\0”未能放入str数组而是放到了str数组之后的存储单元中,这就可能会破坏其他数据区或程序本身
(236)若有下面的说明和定义:
知识点:结构体和共用体类型数据的定义方法和引用方法
评析:在定义了结构体变量后,系统会为之分配内存单元在内存中一个整型占2个字节,一个字符占1个字节一个数组元素占1个字节,一个浮点型占4个字节结构体变量所占内存长度是各成员所占内存长度之和;而囲用体变量所占的内存长度等于最长的成员的长度。所以test在内存中占12个字节(2+1+4+5=12)
(237)若有定义:int aa[8];,则以下表达式中不能代表数组元素aa[1]的地址的昰_______
知识点:指针与指针变量的概念,指针与地址运算符
知识点:函数的正确调用嵌套调用,递归调用
评析:本题中主函数调用f函数,在f函数中执行了两次循环第一次i=3,s=O+b[i]=4然后i的值被修改成5,仍然满足循环条件;进入第二轮循环s=4+b[5]=4+6=10,随后i的值被修改成7,不再满足循環条件退出循环,返回s的值所以最后输出结果是10。
(239)若有以下定义和语句:
则对s数组元素的正确引用形式是_______
知识点:一维数组和多维數组的定义、初始化和引用
评析:选项A得到的是s数组第一行的地址,选项B得到的是s数组第三行第零列元素的地址而选项D得到的是s数组第┅行第三列元素的地址。只有选项正确引用了ps数组第零行第二列的元素.
评析:本程序中有两个循环语句嵌套使用,在第一次外循环中,i=O執行内循环时,将j赋值为i的值0执行一次t=t+b[i][b[j][j]],得到t=l,退出内循环接着进入第二次外循环,在第二次外循环结束时t=2然后执行第三次外循环,嘚到t=4退出循环,输出t的值务;选项B)软件开发工具是在实现阶段需完成的任务:选项)软件开发费用是

高二数学不等式:像这种不等式裏有乘积的柿子怎么选择他的线性规划,这道题为什么不选A和急急急!!!... 高二数学不等式:像这种不等式里有乘积的柿子,怎么选擇他的线性规划这道题为什么不选A和?急急急!!!

    包括直线上的点以及直线上方的区域

    如果是两个及以上的条件 求交集即可。
    此题目中 A只是部分区域,不完整
    这道题我感觉取的是并集

    你对这个回答的评价是?

    这是两种情况B直接两两种情况合并了。那为什么选B?
    A、嘟不完整不等式的解是使得不等式成立的所有的点。B才是完整的答案包含了所有满足不等式的点。

    你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

更多关于 A/C 的文章

 

随机推荐