




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(1)下列数据结构中,能用二分法进行查找的是( )。A)无序线性表 B)线性链表 C)二叉链表 D)顺序存储的有序表 (1)D) 解析二分法查找只适用于顺序存储的有序表,表中的元素按值从小到大排列。(2)下面说法正确的是( )。 A) 一个C程序可以有多个主函数 B) 一个C语言的函数中只允许有一对花括号 C)C程序的书写格式是自由的,一个语句可以写在一行上,也可以写在多行内D)在对C程序进行编译时,可以发现注释行中的拼写错误 (2)c) 【解析】本题涉及c语言基本的3个知识点:c语言规定一个程序只允许有一个主函数,一个函数内可以允许有多个花括号;c程序的注释部分仅仅是方便程序员阅读,提高程序的可读性和可移植性,它并不参与程序的编译,所以编译器也就不会发现注释中的错误。(3)设有如下关系表,由关系R和S通过运算得到关系T,则所使用的运算为( )A)T=RS B)T=RS C)T= RS D)T=R/S(3)B) 【解析】,就是关系R中插入关系S,合并为, 即并运算(U)。(4)数据库的故障恢复一般是由( )来执行恢复。A)电脑用户 B)数据库恢复机制C)数据库管理员 D)系统普通用户(4)C) 【解析】数据库一旦发生故障,需要及时进行故障恢复,并由数据库管理员负责执行故障恢复。(5)设一棵满二叉树共有15个结点,则在该满二叉树中的叶子结点数为( )。A)7 B)8 C)9 D)10(5)B) 【解析】在具有11个结点的满二又树,其非叶子结点数为int(n2),而叶子结点数等于总结点数减去非叶子结点数。本题n=15,故非叶子结点数等于int(152)=7,叶子结点数等于15-7=18。(6)下列关于线性表的叙述中,不正确的是( )。 A)线性表可以是空表 B)线性表是一种线性结构 C)线性表的所有结点有且仅有一个前件和后件D)线性表是由n个元素组成的一个有限序列(6)C) 【解析】线性表是一种线性结构,由n(n0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件,所以选项C)是错误的。(7)在数据库系统的内部结构体系中,索引属于( ) A)模式 B)内模式 C)外模式 D)概念模式(7)B) 【解析】内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。(8)数据结构中,与所使用的计算机无关的是数据的( )。A)存储结构 B)物理结构 C)逻辑结构 D)线性结构(8)C) 【解析】数据的逻辑结构反映的是数据元素之间的逻辑关系,与使用的计算机无关。(2)下列二叉树描述中,正确的是( )。A)任何一棵二叉树必须有一个度为2的结点B)二叉树的度可以小于2c)非空二叉树有0个或1个根结点 D)至少有2个根结点(9)B) 【解析】二叉树是由n0个结点的有限集合构成,此集合或者为空集,或者由一个根结点及两棵互不相交的左右子树组成,并且左右子树都是二叉树。二叉树可以是空集合,根可以有空的左子树或空的右子树。二叉树不是树的特殊情况,它们是两个概念。 二叉树具有如下两个特点: 空二叉树只有一个根结点。 每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。(10)结构化程序设计的3种结构是( )。A)顺序结构,分支结构,跳转结构 B)顺序结构,。选择结构,循环结构C)分支结构,选择结构,循环结构 D)分支结构,跳转结构,循环结构(10)B) 【解析】程序设计语言仅仅使用顺序、选择和重复(循环)三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。遵循程序结构化的设计原则,按结构化程序设计方法设计出的程序易于理解、使用和维护;可以提高编程工作的效率,降低软件的开发成本。 (11)下列特征中不是面向对象方法的主要特征的是( )。A)多态性B)标识惟一性 C)封装性D)耦合性 (11)D) 【解析】面向对象设计方法与面向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括:标识惟一性、多态性、封装性、模块独立性、继承和多态性好。 (12)已知函数的调用形式为fread(buffer,size,count,fp);,其中buffer代表的是( )。 A)一个整型变量,代表要读入的数据项总数 B)一个文件指针,指向要读的文件 c)一个指针,是指向的输入数据放在内存中的起始位置D)一个存储区,存放要读的数据项(12)【答案】C) 【解析】fread函数的调用形式为:fread(buffer,size,count,fp);。其中,“buffer”是一个指针,对ffead来说,它是读入数据的存放地址,对fwrite来说,是输出数据的地址;“size”是要读写的字节数;“count”是要进行读写多少个size字节的数据项;“fp”是指文件类型指针。 (13)函数ftell(fp)的作用是( )。A)得到fp所指向文件的当前读写位置 B)初始化文件的位置指针c)移动文件的位置指针 D)以上答案均正确(13)【答案】A) 【解析】f-tell函数的调用形式为:long t=ftell(fp);。其中fp是文件指针,t是所获得的丈件当前位置指针的位置。ftell(fp);的功能是给出当前位置指针相对于文件开头的字节数。本题答案为A)。(14)不合法的main()函数命令行参数表示形式是( )。A)main(int a,char*c) B)main(int argv,char *argc)C)main(int arc,char *arv) D)main(int argc,char *argv)(14)【答案】C) 【解析】C语言中规定:在main()函数中使用命令行参数时,第二个参数应该为字符型指针数组或字符型二级指针。(15)有函数如下: charfun(char *p) return p; 该函数的返回值是( )。A)无确切的值 B)形参P自身的地址值c)形参P中存放的地址值 D)一个临时存储单元的地址(15)【答案】C) 【解析】本题中P是一个字符型的指针,P是一个地址,因此返回的是形参P中地址值。(16)若定义:int array9,*p=array;并在以后的语句中未改变P的值,不能表示array1地址的是( )。A)p+l B)array+ C)array+l D)+p (16)【答案】B) 【解析】本题选项C)中array+是先取 array的值,后自增,所以是错误的。(17)在说明语句”int*f();”中,标识符f代表的是( )。A)一个用于指向函数的指针变量 B)一个返回值为指针类型的函数名C)一个用于指向一维数组的行指针 D)一个用于指向整型数据的指针变量(17)【答案】8) 【解析】本题主要考查指针函数和函数指针,本题中是指针函数,即f指向一个返回值为指针的函数。(18)下列叙述错误的是( )。 A)函数名是属于用户标识符, B)形参只能是变量 C)为保证程序的正常运行,函数中定义的变量不能与其他函数中的变量同名D)函数中定义的变量可以与其他函数中的变量同名(18)【答案】c) 【解析】本题主要考查函数调用时参数的作用域。在函数调用时,函数体内定义的变量的作用域在函数体内,因而在不同函数体内定义的变量可以相同,不影响各个变量的使用。 (19)有以下程序: main() char s=a,b,c,d,e,f,g,h,0; Int p,q; P=sizeof(s); q=strlen(s); printf(”ddb”,p,q); 程序的运行结果是( )。A)9,8 B) 1,8 C)8,9 D)9,9(19)【答案】A) 【解析】本题统计字符串a所占存储单元的个数和长度。s所占存储单元的个数为9,但长度为8,不包含0。(20)C语言标准库函数”strcat(strcpy(strl,str2),str3)”的功能是( )。 A)将串strl连接到串str2之后再复制到串str3之后 B)将串str2复制到串strl后再将串str3连接到串strl之后 c)将串strl复制到串str2之后,再连接到串str3之后D)将串str2连接到串strl后再将串strl复制到串str3之后(20)【答案】B) 【解析】本题主要考查字符串运算函数。其中:strcpy(strl,str2)的作用是将str2字符串复制到str1所指内存单元中;strcat(strl,str2)的作用是将str2的字符串连接到字符串str1的后面。本题中函数的作用是将串str2复制到str1后,再将str3连接到str1之后。(21)在C语苦中dowhile语句中结束该循环的条件为( oA)0 B)1 C)非0 D)true(21【答案】A) 【解析】在C语言中,使while或do。while循环结束的条件都是while后面的表达式的值为0,只是无论表达式的值为0还是非O,dowhite语句的循环体至少要执行一次。c语言中的dowhile循环仍是“当型”循环而不是“直到型”循环。(22)已定义i和J为int类型变量,则以下for语句的循环次数是( )。 for(i=0,j=0;i=9&j !=876;i+) scanf( “%d”,&j)A)最多执行9次循环 B)循环最多执行10次C)是无限循环 D)循环体一次也不执行(22)【答案】B) 【解析】本题中for循环的执行次数取决于关系表达式(i=9& !=876)的结果。只要i9或者产876,只要在执行scanf语句时,从终端输入876,循环就将结束。如果输入一直不等于876,则将由i值的增加使i9,从而结束循环。按照题目中所给定的for语句,每次执行一次循环,i自增1,因此执行10次循环后,i值为10,循环最终也将结束。(23)在C语言中的if语句中,用作判断的表达式为( )。 A)逻辑表达式 B)关系表达式 C)任意表达式 D)算术表达式 (23)【答案】C) 【解析】在c语言中,不论采用任何形式的if语句,在if后面都必须有用做判断的表达式,且表达式的类型不限于关系表达式或逻辑表达式,只要表达式的值能判断为O或非0即可,所以if后面的表达式可以是任意类型的表达式。(24)两次执行下面的程序,如果从键盘上分别输入4和2,则输出结果是( )。 main()int x; scanf(”dn”,&x); if(x+3)printf(“dn”,x); else printf(”dn”,X一一); A)7和5 B)5和3 C)7和4 D)6和4(24)【答案】B) 【解析】本题的考点是增1减l运算符作为后缀时的运算程序。如果从键盘上输入4,执行if(x+3)时条件为真,x的值加l,输出结果为5,当键盘输入2时,执行if(x+3)时条件为假,x值增l后执行printf (“%dn”,x- -);即输出结果为3。(25) fgets(str,n,fp)函数从文件中读入一个字符串,以下错误的叙述是( )。 A)字符串读入后会自动加入 B)印是指向该文件的文件型指针 C)fgets函数将从文件中最多读入n个字符D) fgets函数将从文件中最多读入n-l个字符(25)c) 解析字符串输入函数fgets()的调用形式为:fgets(s,n,fp)。s可以是一个字符数组名,或是指向字符串的指针:n为要读取的最多的字符个数;fp是指向该文件的文件型指针。字符串输入函数的功能是:从fp所指向的文件中读取长度不超过n-1个字符的字符串,并将该字符串存放到字符数组s中。(26)有以下程序: void ss(char*s,char t) while(*s) if(*s=t)*s=t-a+A; s+; ) main() char strl100=“abcddfefdbd”,c=d; ss(str1,c); printf(“%sn”,str1); 程序运衍后的输出结果是( )。A) ABCDDEFEDBD B) abcDDfefDbDC) abcAAfefAbA D) Abcddfefdbd(26)B) 解析函数ss(char*s,char t)的功能是将指针s所指向的字符串中存在的字符“t”均改写成大写字母;所以main函数中引用函数ss后使得数组str1中的小写字母“d均变成了大写字母“D”,然后输出数组str1,结果为:abcDDfefDbD。(27)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )。A) scanf(“%d”,a,b,c); B) scanf(“%d%d%d”,a,b,c);C) scanf(“%d,p); D) scanf(“%d”,&p); (27)c) 解析程序语句int a,b,c,*p=&c;定义了3个整型变量a,b,c和一个整型指针变量p,并且把变量c的地址赋给p。scanf函数的一般形式为”scanf(“格式控制字符串”,地址列表)”,其中的地址列表应当是存放输入数据变量的地址。 (28)阅读以下程序 #include main() Int Case; float printF; printf(”请输入2个数:”); scanf(“%d %f”, &Case, &printF); printf(“%d%fn”, Case, printF); 以下说法正确的是( )。 A)定义语句出错,Case是关键字,不能用作用户自定义标识符,printF不能用作用 户自定义标识符B)定义语句出错,Int无法被识别C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,printf不能输出Case的值 (28)B) 【解析】c语言是一种大小写敏感的语言,因此 Int应为int,而case printF则可以使用。(29)下面结构体的定义语句中,错误的是( )。 A) struct ord intx;inty;int z; struct ord a; B) struct ord intx;inty;int z;ord a; C) struct ord intx;inty;int z;a; D) struct intx;inty;int z;)a;(29)B) 【解析】在选项B)中,即使在定义完结构体ord后,不能把ord看成是一种数据类型。(30)若有以下定义,则对a数组元素的正确引用是( )。 int a5,*p=a; A)*&a5 B)*a+1 C) *(p+5) D)*(a+2)(30)D) 【解析】本题考查通过指针引用数组元素。选项A)、B),没有这种引用形式;选项C),*(p+5)是引用数组的第6个元素,而数组一共有5个元素,出现越界;选项D),*(a+2)引用数组的第3个元素。(31)下列熊正确定义字符串的语句是( )。 A) char str=064; B) char str=“kx43”; C) char str=“; D) char str_”O”;(31)D) 【解析】字符串常量是用一对双括号括起来的一串字符。它用字符数组来存放,不能用一对大括号对括起来。(32)下列程序的运行结果是( )。- #include void fun(int *S,int *p) stmic int t=3; *P=st; t-; void main() int a口:2,3,4,5,k,x; for(k=0;kint-unsigned-long-float-double;赋值运算中最终结果的类型,以赋值运算符左边变量的类型为准,即赋值运算符右端值的类型向左边变量的类型看齐,并进行相应转换。(36)下面函数调用语句含有实参的个数为( )。 func(exp 1,exp2),(exp3,exp4,exp5); A)1 B)2 C)3 D)5(36)B) 【解析】本题考查函数调用时的实参形式。这里有一个逗号运算的考查,(a,b)的运算结果为b,因而只有一个值,结合func的调用形式,可以知道实参的个数只有2个。(37)若有定义int x,y;并已正确给变量赋值,则下列选项中与表达式(xy)?(x+):(y+)中的条件表达式(xy)等价的是( )。A)(xy0) B)(xyO) C)(x-y0) D)(x-y=0)(37)C) 【解析】条件表达式的形式如下:“表达式1?表达式2:表达式3”。其含义为当“表达式1”的值为非零时,求出“表达式2”的值,此时“表达式2”的值就是整个条件表达式的值;当“表达式1”的值为零时,则求“表达式3”的值,这时“表达式3”的值就是整个表达式的值。本题条件表达式的执行顺序是先求解表达式“x-Y”的值,若其值为非0(可以是正数,也可以是负数),则再求表达式“x+”的值,其值就是条件表达式的值;若表达式“x-y”的值为0,则再求表达式“y+”的值,其值就是条件表达式的值。因此,本题的答案为选项C)。(38)有以下程序: #include main() | while(getchar()!=t1w); | 以下叙述中正确的是( )。 A)此while语句将无限循环 B)getchar()不可以出现在while语句的条件表达式中 C)当执行此while语句时,只有按回车键程序才能继续执行D)当执行此while语句时,按任意键程序就能继续执行(38)C) 【解析】根据程序顺序执行的次序,当程序执行到,while这条语句,根据while语句中的结束循环的条件是“输入回车键时,结束循环”,所以当按回车键后,程序才执行while语句的下一条语句。(39)以下说法正确的是( )。A)宏定义是C语句,要在行末加分号B)可以使用#undefine提前结束宏名的使用C)在进行宏定义时,宏定义不能嵌套D)双引号中出现的宏名也要进行替换 (39)B) 【解析】本题考查宏的使用规则:字符替换格式:#define标识符字符串,行末不加分号;双引号中出现的宏名不替换;如果提前结束宏名的使用,程序中可以使用#undefine:在进行宏定义时,宏定义能层层置换,能够嵌套。(40)A) 【解析】本题考查函数调用的基本概念。在函数调用时,只要符合函数的使用,程序中的各个函数间既可以直接调用其他函数,也可以递归调用其自身。二、填空题(1)结构体类型的数据特性是_,使用结构体处理数据的场合是_。(1)【答案】复合类型把不同类型数据作为整体处理时 【解析】本题考查的是结构体数据类型的概念。(2)下面程序的输出结果是 _ 。 #define F(ar) printf(“%d”,ar); main() int i,a=0,2,4,6,8,10,12,14,*r= a+5; for(i=3;i;i-) switch(i) case 1: case 2:F(*r+)break; case 3:F(*(-r); ) )(2)【答案】8810 【解析】宏展开后,F(*r+)被替换成 printf(“%d”,*r+),F(*(- -r)被替换成printf(“%d”,*(- -r),指针P初始化成指向a5。在for循环中,当i=3时,执行printf(”%d,*(- -r),输出a4的值为 8;当i=2时,执行printf(“%d”,*r+),由于+和*同处于一个优先级,结合性为从右向左,因此输出a4的值为 8,并将指针指向a5;当i=1时,执行printf(“%d”,*r+),输出a5的值10。所以本题的正确答案是8810。(3)函数可以直接或间接地自己调用自己,称为_ 调用。(3)【答案】递归 【解析】在c语言中,将自己调用自己的函数,称之为递归函数。(4)树中度为零的结点称为_。(4)【答案】叶子结点 【解析】相关考点:二叉树。解题的思想和方法:在树结构中,每一个结点可以有多个后件,称为该结点的子结点。没有后件的结点称为叶子结点。(5)设y是int型变量,判断Y为奇数的关系表达式为_。 (5)【答案】!(y2 =0)或y2!=0或y2=1或(y-1)2=0或y21=0【解析】y为奇数的基本特征是y2=1,因此,与2求余的结果不为0的数或者为1的数,都可看成是奇数。 (6)下列程序的输出结果是 。 , int m=c; switch(m+) default:printf(”error”);break; Case a:caseb:caseB:default:printf(”good”);break; CaseC:caseC:printf(”pass”); Case d:caseD:printf(”warn”); (6)【答案】 passwam 【解析】 int m=c时m+的表达式的值为c,之后m进行自加1操作,值变为d,因此执行switch语句时,将执行“casec:caseC:prinff(”pass”);cased:caseD:printf(“warn”);”语句,先后输出pass和warn,故本题应填passwarn。(7)执行以下”for(i=1;i+=4;i+);”语句后,变量i的值是_6 解析“+”的后缀形式是先使用变量原来的值进行计算,计算后再使该变量增1。根据循环条件“i=1,i+=4;”,可知该for语句要执行4次循环。第1次:1=4,i+,i=2;第2次:2=4,i+,i=3 第3次:3=4,i+ ,i=4;第4次:4=4,i+,i-5。再判断i+=4,此时条件不满足,退出for循环,虽然这时程序退出了for循环,但i+还是执行了,所以i=6。(8)下面程序的输出结果是 main() int i=0,a=0,while(i20) for(;) if(i%10)=O)break; else i- -; i+=11; a+=I; ) printf(“%dn”,a);)32【解析】 while(表达式)的功能是:首先计算表达式的值,若为真,则执行循环体语句,执行完毕,再计算表达式的值,若仍为真,则重复执行循环体语句,直到表达式的值为假,结束while语句的执行,继续执行while语句后面的语句;i=0时满足循环条件,也满足if的条件,执行语句得i=11,a=11,第2次循环不满足if的条件,执行i-,i=10,执行i+=11;a+=i后,得i=21,a=32,不满足ik=+i;p+;q-k=i+;q-; q-k-i; for(i=0;ik相当于m0.k,q-k相当于m4.k。 (11)下面程序输出的结果是 int m=17; int fun(int X,int y) int m=3; retum(x*y-m); main() int a=5,b=7; printf(“%dn”,fun(a,b)/m); 1 【解析】本题考查局部变量和全局变量的区别:局部变量是指作用域在函数级和块级的变量,全局变量是指作用域在程序级和文件级的变量。 本程序首先定义了一个全局变量m=17,m=17的作用域在整个程序内。在fun函数内部定义了一个局部变量m=3,m=3的作用域仅在fun函数内部,通过fun函数返回两个形参的积再减m。在主函数中,输出fun(a,b)m=(5*7-3)17=1(12)下列函数从字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025山东济南历城区义轩小学招聘小学教师备考练习试题及答案解析
- 【正版授权】 ISO/IEC 23955:2025 EN Information technology - 3D printing and scanning - Technical requirements for product data protection of an additive manufacturing service platform A
- 2025年柏拉图的试题及答案
- 2025杭州市景芳中学编外教师招聘3人考试参考试题及答案解析
- 2025黑龙江佳木斯铁路运输检察院招聘1人备考练习题库及答案解析
- 2025年华罗庚复赛试题及答案
- 2025年七台河职业技师学院公开招聘编外生活辅导员6人备考练习题库及答案解析
- 头疗技术考试题及答案
- 2025黑龙江齐齐哈尔市富裕县社会保险事业中心招聘公益性岗位人员2人考试参考试题及答案解析
- 2025内蒙古赤峰林西县招聘社区工作者74人备考练习试题及答案解析
- 2023年普通高等学校招生全国统一考试(全国乙卷)文综历史试题附答案
- ktv安全消防管理制度
- 医疗卫生机构安全生产标准化管理规范
- 心内科出科汇报
- 生成式人工智能课件
- 2025年园林绿化养护管理方案范本(四)
- 房屋征收公司管理制度
- 油罐车出租合同协议书
- 艾滋病手术室器械处理流程及标准
- 2025至2030中国避雷器市场销售规模及发展潜力评估报告
- 职业技术学院旅游管理专业《旅行社经营与管理》课程标准
评论
0/150
提交评论