




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
二级计算机笔试选择复习题1.下列有关数据库的描述,正确的是_。A、数据库是一个DBF文件B、数据库是一个关系C、数据库是一个结构化的数据集合D、数据库是一组文件 数据库(Database,简称DB)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。数据库中的数据具有集成、共享之特点。本题答案为C。2.下列关于栈的叙述中正确的是_。A、在栈中只能插入数据B、在栈中只能删除数据C、栈是先进先出的线性表D、栈是先进后出的线性表 栈是限定在一端进行插入与删除的线性表。 栈是按照先进后出的或后进先出的原则组织数据的,因此,栈也被称为先进后出表或后进先出表。本题答案是D。3.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是_。A、概要设计B、详细设计C、可行性分析D、需求分析 通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。 软件生命周期的主要活动阶段为: (1)可行性研究和计划制定。确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划。 (2)需求分析。对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审。 (3)软件设计。系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程。 (4)软件实现。把软件设计转换成计算机可以接受的程序代码。即完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划。 (5)软件测试。在设计测试用例的基础上,检验软件的各个组成部分。编写测试分析报告。 (6)运行和维护。将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。 本题答案是D。4. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是_。A、可行性分析B、需求分析C、详细设计D、程序编码 软件开发阶段包括需求分析、总体设计、详细设计、编码和测试五个阶段。其中需求分析阶段常用的工具是数据流图和数据字典。 本题答案为B。5.以下数据结构中不属于线性数据结构的是_。A、队列B、线性表C、二叉树D、栈 线性表、栈和队列等数据结构所表达和处理的数据以线性结构为组织形式。栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素。所以栈又称后进先出表(Last In First Out);队列可看作是插入在一端进行,删除在另一端进行的线性表,允许插入的一端称为队尾,允许删除的一端称为队头。在队列中,只能删除队头元素,队列的最后一个元素一定是最新入队的元素。因此队列又称先进先出表(First In First Out)。 本题答案为C。6.结构化程序设计主要强调的是_。A、程序的规模B、程序的易读性C、程序的执行效率D、程序的可移植性 结构化程序设计主要强调的是结构化程序清晰易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以保证程序的正确性。 本题答案为B。7.下列说法中,不属于数据模型所描述的内容的是_。A、数据结构B、数据操作C、数据查询D、数据约束 数据模型所描述的内容有3个部分,它们是数据结构、数据操作和数据约束。其中,数据模型中的数据结构主要描述数据的类型、内容、性质,以及数据库的联系等;数据操作主要是描述在相应数据结构上的操作类型与操作方式。本题答案为C。8.对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为_。A、N+1B、NC、(N+1)/2D、N/2 在进行顺序查找过程中,如果线性表中被查的元素是线性表中的最后一个,或者被查元素根本不在线性表中,则为了查找这个元素需要与线性表中所有元素进行比较,这是顺序查找最坏的情况。 本题答案为B。9.下面不属于软件设计原则的是_。A、抽象B、模块化C、自底向上D、信息隐蔽 在软件设计过程中,必须遵循软件工程的基本原则:这些原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可靠性。 本题答案为C。10.视图设计一般有3种设计次序,下列不属于视图设计的是_。A、自顶向下B、由外向内C、由内向外D、自底向上 视图设计一般有3种设计次序,它们分别是自顶向下、自底向上和由内向外,它们又为视图设计提供了具体的操作方法,设计者可根据实际情况灵活掌握,可以单独使用也可混合使用。 本题答案为B。11.有以下程序void fun(char *a, char *b) a=b; (*a)+; main() char c1=A,c2=a,*p1,*p2; p1=&c1; p2=&c2; fun(p1,p2); printf(%c%cn,c1,c2);程序运行后的输出结果是_。A、AbB、aaC、AaD、Bb 本题的考查点是函数。 fun函数用了两个指向字符型数据的指针作为形参。该功能是把b的地址赋给a,然后a存储单元里的值再加1。 (*a)+表示的是a所指向的元素值加1,注意:是元素值加1,而不是指针值。 main函数中,p1里存放的是c1的地址,p2里存放的是c2的地址,fun(p1,p2)后,p2的地址赋给了p1,此时p1和p2都指向了c2,即a,(*a)+,a的值加了1,变为了b。所以此时c2的值为b,而c1的值没变,仍为A。注意,这里变的是p1的地址和c2的值。 故本题答案为A。12.若程序中已包含头文件stdio.h,以下选项中,正确运用指针变量的程序段是_。A、int *i=NULL; scanf(%d,i);B、float *f=NULL; *f=10.5;C、char t=m,*c=&t; *c=&t;D、long *L; L=0; 本题的考查点是指针变量的运用。 选项A、B指针定义错误,都将指针指向了NULL,都为空值。其中空指针是由对指针变量赋予0值而得到的。例如: #define NULL 0int *p=NULL; 对指针变量赋0值和不赋值的时候意义是不同的:指针变量未赋值时,它是指向任意不确定的存储单元的,所以不能使用,否则将造成意外错误;而指针变量赋0值后,则可以使用,只是它不指向具体的变量而已。而在选项C中最后一个*c=&t;错误,&t是地址,*c是值。选项D是让指针L指向字符串的末尾,即字符串结束符。 故本题答案为D。13.以下不能正确定义二维数组的选项是_。A、int a22=1,2;B、int a2=1,2,3,4;C、int a22=1,2,3D、int a2=1,2,3,4 本题的考查点是二维数组的定义和初始化。 选项A定义的数组中各元素实际上是这样的:1,02,0 选项B定义的数组中各元素实际上是这样的:1,23,4 选项C定义的数组中各元素实际上是这样的:1,02,3 选项D错在:C中在对数组进行初始化时,如果对全部元素都赋初值(即提供全部初始数据),则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。 故本题答案为D。14.以下选项中可作为C语言合法整数的是_。A、10110BB、0386C、0XffaD、x2a2 本题的考查点是C语言中的整型常数。 整型常数可以用十进制、八进制或十六进制表示,并分为有符号数、无符号数和长整数。由此可知选项A错; 选项B,用0386表示八进制错误,因为八进制数为0-7八个数字,含有8是不对的; 选项D,数字前加“0x”表示十六进制数,所以D也不对。 故本题答案为C。15.以下能正确定义一维数组的选项是_。A、int numB、#define N 100 int numNC、int num0.100D、int N=100; int numN 本题的考查点是一维数组的定义。 数组的常量表达式中可以包括整型常量和符号常量,不能包括变量。也就是说,C不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值,所以选项A不正确。而选项B事先定义一个字符常量N,所以可以在数组中作常量表达式,选项B正确。而选项C中不能用区间表示数组大小;在D中N虽然被赋为100,但N仍然为变量,所以不对。 故本题答案为B。16.以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。#include #include char *scmp(char*s1,char*s2) if (strcmp(s1,s2)0) return(s1); else return(s2);main() int i; char string20,str320; for(i=0;i字符串2,函数值为一正整数;如果字符串1字符串2,函数值为一负整数。 所以scmp函数的作用是比较s1和s2的大小,对函数的返回值进行判断,如果字符串11;n-) s=s+1/n; printf(%6.4fn,s);程序运行后输出结果错误,导致错误结果的程序行是_。A、s=1.0;B、for(n=10;n1;n-)C、s=s+1/n;D、printf(%6.4fn,s); 本题的考查点是查找程序运行错误的原因。主要考察运算中字符的转换。 初看此题,可能不太容易发现错误,该题的运行结果是 1.0000,算法错误。s=s+1/n; 1/2=0,因为n为整型,所以1/n都为0。这就是导致本题出错的原因。s=s+1/n应改为s=s+1.0/n。 故本题答案为C。18.有以下程序#include main() char str20=Hello,Beijing,*p=str; printf(%dn,strlen(p+20);程序运行后的输出结果是_。A、0B、5C、7D、20 本题的考查点是字符数组和指针的运用。 strlen()是测试字符串长度的函数。函数的值为字符串中实际长度,不包括/0在内。str20=Hello,Beijing实际上是定义了一个2行20列的数组,数组的首地址是str00,p+20应该是向后移了20位,所以指向了数组的str10处,所以此时测试函数的长度,应该时从str10开始往后,即Beijing的长度,所以输出结果是7。 故本题答案为C。19.有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是_。A、if (ca) x=1; else if (ba) x=2; else x=3;B、if (a3) x=3; else if (a2) x=2; else x=1;C、if (a3) x=3; if (a2) x=2; if (a1) x=1;D、if (ab) x=b; if (bc) x=c; if (ca) x=a; 本题的考查点是if语句。 if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的几种操作之一。 选项A,因为前面两个条件都不满足,所以执行最后一种操作,x=3; 选项B,a3成立,执行第一种操作,x=3; 选项C,a3成立,执行第一种操作,x=3;a2成立,执行第二种操作,此时x=2;a1不成立,最后的不执行,所以执行此段程序后x=2; 选项D,ab成立,执行x=b,此时x=2;bc成立,执行x=c,此时x=3;ca不成立,不执行x=a,所以执行此段程序后x=3。 故本题答案为C。20.下列选项中正确的语句组是_。A、char s8; s=BeijingB、char *s; s=BeijingC、char s8; s=BeijingD、char *s; s=Beijing 本题的考查点是字符串的定义和赋初值。 选项A、C是对字符数组初始化,可以是逐个字符赋给数组中各元素,也可以对整个字符串赋初值,但必须是字符型(s型),并且C语言规定,只有静态存储(static)数组和外部存储(extern)数组才能初始化。所以选项A、C都不对。应该这样来实现:static char s =Beijing;选项B、D是想通过字符指针来实现,正确的格式是char *s; s=Beijing。 故本题答案为D。21.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是_。A、x=x*100+0.5/100.0;B、x=(x*100+0.5)/100.0C、x=(int)(x*100+0.5)/100.0;D、x=(x/100+0.5)/100.0; 本题的考查点是实型数据。 对于此类题目,我们可用排除法,题目要求保留到小数点后两位,选项A、B、D都不合题面要求。选项C中,x=(int)(x*100+0.5)/100.0中,x为float型,所以小数点后有6位小数,x*100后有4位,x*100+0.5仍为4位,且在这里已经将第三位四舍五入了,取整后再除以100.0,结果中小数点后为2位。 故本题答案为C。22.有定义语句:int x,y;。若要通过scanf(%d,%d,&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是_。A、11 12B、11,12C、11, 12D、11,12 本题的考查点是格式输入函数。 格式输入函数的一般形式: scanf( 格式控制,地址表列) 需要注意的是: 如果在“格式控制”字符串中除了格式说明以外还有其它字符,则在输入数据时应输入与这些字符相同的字符。所以输入的两个数字之间的逗号是不可少的。 故本题答案为A。23.有以下程序:main() int k=4,n=0; for( ; nk ; ) n+; if(n%3!=0) continue; k-; printf(%d,%dn,k,n);程序运行后的输出结果是_。A、1,1B、2,2C、3,3D、4,4 本题的考查点是循环和continue语句。 continue语句是结束本次循环。n从0开始循环,判断n%3!=0是否成立,为真,跳出循环,继续下一轮for循环条件的判断,为假,执行k-,并继续下一轮for循环条件的判断,当条件不满足时,则结束循环,输出k、n的值。 故本题答案为C。24.以下叙述中正确的是_。A、C程序中注释部分可以出现在程序中任意合适的地方B、花括号和只能作为函数体的定界符C、构成C程序的基本单位是函数,所有函数名都可以由用户命名D、分号是C语句之间的分隔符,不是语句的一部分 本题的考查点是C程序设计的初步知识。 选项A,C程序中/*/表示注释部分,注释只是给人看的,对编译和运行不起作用,可以加在程序中任何位置,所以选项A是对的; 选项B,函数体是函数的主体,从左花括号开始,到与之匹配的右花括号结束。 选项C,一个C程序中必须有且只能有一个由“main”命名的主函数,其他函数由用户自行命名。 选项D,C语句是组成C程序的基本单位,具有独立的程序功能。所有的C语句都以分号结尾。 故本题答案为A。25.已定义c为字符型变量,则下列语句中正确的是_。A、c=97B、c=97;C、c=97;D、c=a; 本题的考查点是字符型变量。 C语言中,字符型数据和整型数据之间可以通用。一个字符数据既可以以字符形式输出,也可以以整数形式输出。所以把整型数据赋给字符型变量,直接用c=97即可,所以选项C正确。看上去选项A也是正确的,但题目要求选的是正确的语句,由于选项A少分号,所以不能构成语句,所以选项A是错误的。 故本题答案为C。26.有以下程序段main() int a=5,*b,*c; c=&b; b=&a; 程序在执行了c=&b;b=&a;语句后,表达式:*c的值是_。A、变量a的地址B、变量b中的值C、变量a中的值D、变量b的地址 本题的考查点是指向指针的指针。 *c表示c间接指向的对象的地址,而*c是c间接指向的对象的值。而在c=&b中,已经把b的地址存放在c里了,*c就指向了b的地址,b里存放的就是a的地址,那么*c应该是变量a的值了。而且也可以用排除法排除选项A,B,由b=&a可知,这两个选项是同一个意思,变量b中的值就是变量a的地址。所以可以排除。 故本题答案为C。27.若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为_。A、0B、1C、-1D、一个非0值 本题的考查点是feof()函数的应用。 用fgetc()函数从指定文件读入一个字符时,当读的过程中遇到文件结束符时,函数会返回一个文件结束标志EOF,EOF在stdio.h中定义为-1。由于ASCII码不可能出现-1,因此EOF定义为-1是合适的。当读入的字符值等于-1时,表示读入的已不是正常字符而是文件结束符。但以上只使用于读文本文件的情况。现在ANSIC已允许用缓冲文件系统处理二进制文件,而读入某一个字节里的二进制文件数据的值有可能是-1,而这又恰好是EOF的值。这就出现了需要读入有用数据而却被处理为“文件结束”的情况。为了解决这个问题,ANSIC提供一个feof()函数来判断文件是否真的结束。 feof(fp)用来测试fp所指向的文件当前状态是否“文件结束”。如果是文件结束,函数feof(fp)的值为1(真),否则为0(假)。 故本题答案为A。28.有以下程序main() int a33,*p,i; p=&a00; for(i=0;ib) return(a); else return(b);main() int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); printf(%dn,r);程序运行后的输出结果是_。A、3B、6C、8D、12 本题的考查点是函数的返回值。 fun函数的作用是比较a、b的值,如果ab,就返回a的值,反之,返回b的值。在main函数中,r=fun(fun(x,y),2*z),先对括号里的进行运算,fun(x,y)的返回值为8,再比较8和12,得到r的返回值为12。 故本题答案为D。30.有以下结构体说明和变量定义,如下图所示,指针p、q、r分别指向一个链表中的三个连续结点。struct node int data; struct node *next;*p,*q,*r; data next data next data next p q r现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是_。A、r-next=q;q-next=r-next;p-next=r;B、q-next=r-next;p-next=r;r-next=q;C、p-next=r;q-next=r-next;r-next=p;D、q-next=r-next;r-next=q;p-next=r; 本题的考查点是指向结构体变量的指针以及用指针处理链表。 一个结构体变量的指针就是该变量所占据的内存字段的起始地址。可以设一个指针变量,用来指向一个结构体变量,此时该指针变量的值是结构体变量的起始地址。指针变量也可以用来指向结构体数组的元素。 在C语言中,q-next相当于(*q).next。即:q所指向的是结构体变量中的next成员。 链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它根据需要开辟内存单元。链表中的各元素在内存中可以不是连续存放的。所以必须利用指针变量才能实现。即:一个结点中应包括一个指针变量,用它存放下一结点的地址。 r-next=q表示让q指向新开辟的结点,r指向链表中最后一个结点,把r所指的结点连接在q所指的结点后面。同样,p-next=r表示让r指向新开辟的结点,p指向链表中最后一个结点,把p所指的结点连接在r所指的结点后面。那么在A中,执行r-next=q后,r-next指向了q。此时第2句相当于q-next=q;所以q的下一个结点指向了自己,而不是指向原来r的下一个结点。 故本题答案为A。31.以下不能定义为用户标识符的是_。A、scanfB、VoidC、_3com_D、int 本题的考查点是用户标识符的辨别。 标识符是C语言中用来表示变量名、数组名、函数名、指针名、结构名、联合名、枚举常数名、用户定义的数据类型名、语句标号等用途的字符序列。 标识符由132个字符组成,第一个字符必须是字母或下划线,后面的字符可以是字母、数字或下划线。标识符不能与C关键字相同,并区分大小写。 由上可知选项D是不对的,因为int是C语言中的关键字。 故本题答案为D。32.下列函数定义中,会出现编译错误的是_。A、max(int x,int y,int *z) *z=xy ? x:y;B、int max(int x,y) int z; z=xy ? x:y; return z;C、max(int x,int y) int z; z=xy?x:y; return(z);D、int max(int x,int y) return(xy?x:y); 本题的考查点是函数的返回值。 函数的返回值是由return语句带回的,如果被调用的函数中没有return语句,并不带回一个确定的、用户所希望得到的函数值,但实际上,函数并不是不带回值,而只是不带回有用的值,带回的是一个不确定的值。但并不影响程序的运行。故选项A、C 虽然没有return语句,但没有语法错误,而选项B中,定义max函数时,里面的行参也要分别定义。而选项中只定义了x的数据类型,而y并未定义,所以会出现错误。 故本题答案为B。33.下列关于c语言数据文件的叙述中正确的是_。A、文件由ASCII码字符序列组成,C语言只能读写文本文件B、文件由二进制数据序列组成,C语言只能读写二进制文件C、文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D、文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件 本题的考查点是文件的基本概念。 文件一般指:存储在外部介质上数据的集合。C语言把文件看作是一个字符(字节)的序列,即由一个字符(字节)的数据顺序组成。它不是由记录组成的,而是一个数据流。根据数据的组织形式,可分为ASCII文件和二进制文件。ASCII文件又称文本文件,它的每一个字节存放一个ASCII代码,代表一个字符。二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。 故本题答案为D。34.以下选项中不能正确把cl定义成结构体变量的是_。1、typedef struct int red; int green; int blue; COLOR; COLOR cl;2、struct color cl int red; int green; int blue; ;3、struct color int red; int green; int blue; cl;4、struct int red; int green; int blue; cl;A、1B、2C、3D、4 本题的考查点是结构体变量的定义。 将一个变量定义为标准类型与定义为结构体类型不同之处在于:后者不仅要求指定变量为结构体类型,而且要求指定为某一特定的结构体类型(例如,struct color),不能只指定结构体名。其一般形式为 struct结构体名 成员表列变量名表列; 其中可以不出现结构体名,选项D就是缺省结构体名的情况。而变量名列表必须放在成员列表后面,所以B选项不能正确将c1定义为结构体变量。 故本题答案为B。35.有以下程序main() int x=3, y=2, z=1; printf(%dn,x/y&z);程序运行后的输出结果是_。A、3B、2C、1D、0 本题的考查点是位运算符的知识点。 &是“按位与”运算符,参加运算的两个运算量的相应位都为1,则该位的结果值为1,否则为0。是“取反”运算符,用来对一个二进制数按位取反,即将0变1,1变0。本题x/y&z,x/y的值为1,z的值为0,所以进行&运算后,整个表达式的值为0。 故本题答案为D。36.已定义以下函数:fun(int *p) return *p; 该函数的返回值是_。A、不确定的值B、形参
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 33796-2025热塑性淀粉通用技术要求
- 证券从业资格证内部控制制度试题及答案
- 项目管理考试的备战策略试题及答案
- 注会学习过程中提问试题与答案
- 证券市场基础知识的证券从业资格证试题及答案
- 主管年度工作计划的团队激励与引导
- 小班音乐教学的多样化尝试计划
- 项目管理影响力分析及答案
- 优化仓库配货效率的个人计划
- 制定S目标的重要性计划
- 湖北省武汉市2025届高中毕业生四月调研考试英语试题(无答案)
- 护理不良事件报告及管理制度
- 小米供应链管理案例分析
- 黄冈市2025年春季九年级调研考试道德与法治试卷
- 2025至2030年中国集成电路(IC)制造产业全景调查及投资咨询报告
- 2025年乡村全科执业助理医师考试目的明确试题及答案
- 北京市海淀区2025届高三一模思想政治试卷(含答案)
- 心肾综合征诊疗实践指南解读
- 5.1人民代表大会:我国的国家权力机关课件高中政治统编版必修三政治与法治
- 2025年福建省公务员省考《行测》联考真题(含答案)
- 小学生游泳安全常识
评论
0/150
提交评论