[专升本类试卷]山东专升本计算机科学与技术(综合二)模拟试卷8及答案与解析.doc

上传人:花仙子 文档编号:909279 上传时间:2019-02-28 格式:DOC 页数:22 大小:58KB
下载 相关 举报
[专升本类试卷]山东专升本计算机科学与技术(综合二)模拟试卷8及答案与解析.doc_第1页
第1页 / 共22页
[专升本类试卷]山东专升本计算机科学与技术(综合二)模拟试卷8及答案与解析.doc_第2页
第2页 / 共22页
[专升本类试卷]山东专升本计算机科学与技术(综合二)模拟试卷8及答案与解析.doc_第3页
第3页 / 共22页
[专升本类试卷]山东专升本计算机科学与技术(综合二)模拟试卷8及答案与解析.doc_第4页
第4页 / 共22页
[专升本类试卷]山东专升本计算机科学与技术(综合二)模拟试卷8及答案与解析.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、山东专升本计算机科学与技术(综合二)模拟试卷 8 及答案与解析单项选择题1 假设按低下标优先存储整型数组 A一 3:8,3:5,一 4:0,0:7时,第一个元素的字节存储地址是 100,每个整数占 4 个字节,则 A0,4,一 2,5的存储地址是( )。(A)1783(B) 1784(C) 1985(D)19842 假定一个初始堆为(1,5,3,9,12,7,15,10),则进行第一趟堆排序后得到的结果为( )。(A)3,5,7,9,12,10,15,1 (B) 3,5,9,7,12,10,15,1(C) 3,7,5,9,12,10,15,1 (D)3,5,7,12,9,10,15,13 数组

2、 A05,06的每个元素占五个字节,将其按列优先次序存储在起始地址为 1000 的内存单元中,则元素 A5,5的地址是 ( )。(A)1175(B) 1180(C) 1205(D)12104 一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足( )。(A)所有的结点均无左孩子(B)所有的结点均无右孩子(C)只有一个叶子结点(D)是任意一棵二叉树5 一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是( )。(A)不确定 (B) 0(C) 1(D)26 设某棵三叉树中有 40 个结点,则该三叉树的最小高度为( )。(A)3(B) 4(C) 5(D)67 设某哈夫曼树中

3、有 199 个结点,则该哈夫曼树中有( )个叶子结点。(A)99(B) 100(C) 101(D)1028 若一个图的边集为(A,B),(A,c),(B,D) ,(C,F),(D,E) ,(D,F),则从顶点 A 开始对该图进行广度优先搜索,得到的顶点序列可能为 ( )。(A)A,B,C,D,E,F(B) A,B , C,F ,D,E(C) A,B , D,C ,E, F(D)A,C,B,F ,D,E9 若有 18 个元素的有序表存放在一维数组 A19中,第一个元素放 A1中,现进行二分查找,则查找 A3的比较序列的下标依次为 ( )。(A)1,2,3(B) 9,5,2,3(C) 9,5,3(

4、D)9,4,2,310 设一组初始记录关键字序列为(25,50,15,35,80,85,20,40,36,70),其中含有 5 个长度为 2 的有序子表,则用归并排序的方法对该记录关键字序列进行一趟归并后的结果为( ) 。(A)15,25,35,50,20,40,80,85,36,70(B) 15,25,35,50,80,20,85,40,70,36(C) 15,25,35,50,80,85,20,36,40,70(D)15,25,35,50,80,20,36,40,70,85填空题11 线性表是一种典型的_结构。12 下列程序判断字符串 s 是否对称,对称则返回 1,否则返回 0;如 f(”

5、abba”)返回1,f(”abab”)返回 0;int f(_)int i=0,j=0 ;while(sj);for(j 一一;i13 一个广义表为(a,(a,b),d,e,(i,j) ,k),则该广义表的长度为_,深度为_。14 由带权为 3,9,6,2,5 的 5 个叶子结点构成一棵哈夫曼树,则带权路径长度为_。15 假定一个顺序表的长度为 40,并假定查找每个元素的概率都相同,则在查找成功情况下的平均查找长度_。算法设计题16 假设用一个单循环链表来表示队列(也称为循环队列),该队列只设一个队尾指针,不设队头指针,试编写相应的入队和出队的算法。17 设图 G 用邻接矩阵 AEn+1,n+

6、1表示,设计出判断 G 是否是无向图的算法。单项选择题18 以下叙述正确的是( )。(A)在 C 程序中,main 函数必须位于子程序的最前面(B) C 程序的每一行中只能写一条语句(C)在对一个 C 程序进行编译的过程中,可发现注释中的拼写错误(D)C 语言本身没有输入输出语句19 下面对 C 语言特点,不正确描述的是( )。(A)C 语言兼有高级语言和低级语言的双重特点,执行效率高(B) C 语言既可以用来编写应用程序,又可以用来编写系统软件(C) C 语言的可移植性较差(D)C 语言是一种结构式模块化程序设计语言20 在 C 语言中,合法的字符常量是( )。(A)084 (B) x43(

7、C) ab(D)“O”21 设有如下定义:int x=1,y= 一 1;则语句:printf(“dn”,(X 一则以下符合 C 语言语法的表达式是( )。(A)a+a 一=(b=2)*(a=8)(B) n=n*3=18(C) x3 (D)y=float(m)23 对 if 语句中表达式的类型,下面正确的描述是 ( )。(A)必须是关系表达式(B)必须是关系表达式或逻辑表达式(C)必须是关系表达式或算术表达式(D)可以是任意表达式24 若有定义:float w;int a ,b;则合法的 switch 语句是( ) 。(A)switch(w)(B) switch(a);case 10: prin

8、tf(“*n”); case 1 printf(“*n”);case 2 0:printf(“*n”);case 2 printf(“*n”);(C) switch(b)(D)switch(a+b);case 1:printf(“*n”);case 1:printf(“* n”) ;default:printf(“ n”) ;case 2:printf(“*n”);case 1+2:printf(“* n”);default :printf(“ n”) ;25 假定 a 和 b 为 int 型变量,则执行以下语句后 b 的值为( )。a=1:b=10:dob 一=a:a+;while(b 一一

9、int func(int x)int P;if(x=0x=1)return(3);p=xfunc(x 一 2);return P;void main( )printf(“d n”,func(9);(A)7(B) 2(C) 0(D)328 以下程序的输出结果是( )。fun(int x,int Y,int z)z=x*x+y*y;main( )mt a=31;fun(5,2,a);printf(“od”,a);(A)0(B) 29(C) 31(D)无定值29 #define M(y*y+3*y)main( )int S,y;printf(“input a number:”) ;scanf(“d”

10、, &y);s=3*M+4*M+5*M;printf(“s=dn”,s);对上面程序,如果从键盘上输入 2,则结果为( )。(A)24(B) 10(C) 2(D)12030 以下语句或语句组中,能正确进行字符中赋值的是( )(A)char*sP ;*sp=“right!” ;(B) char s10;s=“right!”;(C) char s10;*s=“right” ;(D)char*sp=“right!”;31 以下对结构体变量 stul 中成员 age 的非法引用是( )#includestringhstruct studentint age;int num;stul,*P;p=&stu

11、l;(A)stul age (B) studentage (C) page(D)Page32 若 fp 是指向某文件的指针,且已读到文件末尾,则库函数 feof(fp)的返回值是( )。(A)EOF (B)一 1(C)非零值(D)NULL填空题33 C 语言源程序经过编译后,生成文件的后缀是_;经过连接后,生成文件的后缀是_。34 C 语言中的标识符只能由 3 种字符组成,它们是_、_和下划线。35 若有定义 float a35;则 a 数组所含数组元素个数是_,a 数组所占的字节数是_。36 设 a,b, c 均为 int 类型变量,请用 C 语言的表达式描述以下命题。a 或 b 中有一个大

12、于 c_;c 是偶数_ 。37 有程序段:char*s=“abcde” ;若 s=2,则 printf(“s”,s)的运行结果是_,printf(” d”,&s)的运行结果是_ 。程序填空题38 下面程序的运行结果是_。int f( )static int i=0;int S=1;s+=i;i+;return s;main( )int i,a=0 ;for(i=0;inext=p;elsep 一next=rear 一next;rear 一next=p;rear=p;(2)出队算法:delete(1inklist*rear)if(rear=null)printf(“underflown17 【正

13、确答案】 查图 G 的邻接矩阵是否对称,如果是对称的,则是无向图。int Graphwx(graph*ga)int i,j,k=1;for(i=0;in ;i+)for(j=i+1;jn;j+)if(ga 一edgesij!=ga 一 edges|j)k=0;return k:单项选择题18 【正确答案】 D【试题解析】 每一个 C 语言源程序都必须有、且只能有一个主函数 (main 函数),但是不必位于最前面,编译之后,运行时会自动搜寻到 main 函数并开始执行,A项错误;书写程序时,为了清晰,便于阅读和理解,一般是一个说明或一个语句占一行,但这不是必需的,B 项错误;编译过程中不对注释进

14、行编译,所以发现不了编译中的拼写错误,C 项错误;C 语言本身没有输入输出语句,seanf 函数和printf 函数是标准输入输出库函数,其头文件为 stdioh ,D 项为答案。19 【正确答案】 C【试题解析】 C 语言是介于汇编语言和高级语言之间的一种语言,由于它可以直接访问物理地址,对硬件操作,所以 C 语言既可以编写应用程序,又可以开发系统软件,而且 C 程序可移植性好于汇编语言,程序清晰具有模块化的特点。本题正确答案为 C。20 【正确答案】 B【试题解析】 字符常量是用单引号括起来的一个字符,据此定义,选项 C 和 D显然错误。A 和 B 是转义字符。转义字符是一种特殊的字符常量

15、,以反斜线 “”开头,后跟一个或几个字符,它有两种写作形式,ddd 和xhh,其中 ddd 和hh 分别为八进制和十六进制的 I 代码。A 选项 084,反斜线1之后是三位数字,是采用的ddd 形式,不过 084 作为八进制显然是错误的;B 项x43,采用的xhh 形式,43 作为两位十六进制数,对应 ASCII 代码 67,对应的是字符c。21 【正确答案】 B【试题解析】 表达式 x 一一&+y 中,逻辑运算符&的优先级最低,应该先计算它两边的表达式。x 一一:x 参与逻辑运算后,x 的值再自减 1,那么 x 一参与逻辑表达式的值为 1;+y:y 自增 1 后再参与逻辑运算,那么+y 参与

16、逻辑表达式的值为一 1+1=0。x 一一&+y 即为 1&0,值为 0,答案为 B。22 【正确答案】 A【试题解析】 B 的错误在于赋值语句的左侧只能为一个简单变量,如:n=3*(n=18);C 的错误在于运算符只能适用于整型数据,D 的错误在于作类型转换时,应将类型加上括号,即为:y=(float)m 。23 【正确答案】 D【试题解析】 C 语言中 if 语句的表达式可以是任意类型,只要表达式的值非 0 就算作真,是 0 就作为假。24 【正确答案】 C【试题解析】 A 项 switch 后面的表达式不能为浮点型表达式,一般为整型或字符型。B 、D ,switch 后面有;不满足 swi

17、tch 的规则。只有 C,default 可以在 case前也可以在其后,故选 C。25 【正确答案】 D【试题解析】 dowhile 结构的循环:第一次循环,b=ba=9;a=a+1=2 ;条件b 一一0 不成立 (先进行逻辑运算,再自减得 b 值为 8),结束循环b 的值为 8,选 D。26 【正确答案】 D【试题解析】 string 是 char 类型数组,A 项和 C 项的数据类型定义错误;B 项,声明中定义数组 a 的长度为 5,但是0,1,2,3,4,5)中共 6 个初值,错误;D项为合法定义,虽然没有定义 a 数组大小,但是其长度由之后的处置个数自动定义为 6。27 【正确答案】

18、 A【试题解析】 func( )是一个递归函数,调用 func(9)时,执行 p=9 一 func(7);调用 fLlnc(7)时,执行 p=7 一 func(5);调用 func(5)时,执行 p=5 一 func(3);调用rune(3)时,执行 p=3 一 func(1);调用 func(1)返回 3;返回 p=3 一 func(1)=33=0,func(3)=0;返回 p=5 一 func(3)=5 一 0=5,func(5)=5;返回 p=7 一 nmc(5)=75=2,func(7)=2 ;返回 p=9 一 func(7)=9 一 2=7,func(9)=7。28 【正确答案】 C

19、【试题解析】 函数 fun 的调用时,参数传递是传值方式,所以形参值的变化并不会影响实参值的变化,故变量 a 的值保留原值。29 【正确答案】 D【试题解析】 上例程序中首先进行宏定义,定义 M 来替代表达式(y*y+3*y),则M 为 10,在 s=3*M+4*M+5*M 中作了宏调用。在预处理时经宏展开后该语句变为:s=3*(y*y+3*y)+4*(y*y+3*y)+5*(y*y+3*y);则 s=3*10+4*10+5*10=120,所以结果为 D30 【正确答案】 D【试题解析】 本题考查字符数组的赋值。C 语言中不允许通过赋值语句给字符数组赋值,所以选项 A,B,C 都不对。31 【

20、正确答案】 B32 【正确答案】 C【试题解析】 feof 函数是用来判断指针是否已经到达文件尾部的。若 fp 已经指向文件末尾,则 feof(fp)函数值为真,即返回非零值;否则返回 0。填空题33 【正确答案】 objexe【试题解析】 编辑。编辑就是建立、修改 C 语言源程序并把它输入计算机的过程。c 语言的源文件以文本文件的形式存储在磁盘上,它的后缀名为C。编译。C 语言是以编译方式实现的高级语言,C 程序的实现必须经过编译程序对源文件进行编译,生成目标代码文件,它的后缀名为obj。编译前一般先要进行预处理,譬如进行宏代换、包含其他文件等等。编译过程主要进行词法分析和语法分析,如果源文

21、件中出现错误,编译器一般会指出错误的种类和位置,此时要回到编辑步骤修改源文件,然后再进行编译。连接。编译形成的目标代码还不能在计算机上直接运行,必须将其34 【正确答案】 字母数字【试题解析】 在程序中使用的变量名、函数名、标号等统称为标识符,用来标志各种程序成分。除库函数的函数名由系统定义外,其余都由用户自定义。C 语言规定,标识符只能是由字母(AZ,az)、数字(0 9)、下划线(一) 组成的字符串,并且其第一个字符必须是字母或下划线。35 【正确答案】 1560【试题解析】 在 C 语言中单精度型 float 占 4 个字节内存空间。36 【正确答案】 ac bc c2=037 【正确答

22、案】 abcde 2【试题解析】 printf(“s”,s)输出的是字符串 s;printf(“ d”,&s) 输出的是 s的首地址。程序填空题38 【正确答案】 15【试题解析】 在主函数中,函数 f( )被调用 5 次,第次调用时定义静态变量i,并给 i 赋初值 0,s 累加和为 1,变量 i 的值自增为 1,将 s 值返回给 a,则 a 的值为 1,第二次调用时,静态变量 i 保留第一次调用时的值 1,s 累加和为 2,变量i 的值自增为 2,将 s 值返回到 a+=f( ),则 a 的值为 1+2=3,第三、四、五次调用类似执行。39 【正确答案】 7【试题解析】 函数调用 sub(&

23、x,8,1),将变量 x 的地址传给指针变量 a,数值8 传给 n,数值 1 传给 k,在函数体的执行中,条件 kmax)max=* a:if(*a#define N 10void main( )int aN,i,sum=0;for(i=0;iN;i+)scanf(“dt,&ai);for(i=1;iN;i+=2)if(ai2)sum=sum+ai:printf(“d n”,sum);【试题解析】 for(i=1 ; iN;i+=2)表示下标为奇数,ai2 判断是否能够被 2整除,如能就表示为偶数,否则为奇数。46 【正确答案】 #include“stdio h”bool separate(int t)int i=0,len=0;int c100;int flag=1:white(t!=0)c1en=t10;len+;t=10 ;for(i=0;ilen;i+)if(ci!=c1en 一 i1)flag=0;return flag;)void main( )int m;scanf(“d”, &m);输入一个整数if(separate(m)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试资料 > 大学考试

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1