计算机软考初级程序员试题(含答案)_第1页
计算机软考初级程序员试题(含答案)_第2页
计算机软考初级程序员试题(含答案)_第3页
计算机软考初级程序员试题(含答案)_第4页
计算机软考初级程序员试题(含答案)_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机软考初级程序员试题(含答案)一、单选题1.在计算机系统中,操作系统的主要功能不包括()。A.管理计算机系统的软硬件资源B.提供用户与计算机硬件之间的接口C.编译高级语言程序D.组织计算机的工作流程答案:C2.将高级语言源程序转换为目标程序的程序是()。A.解释程序B.编译程序C.汇编程序D.调试程序答案:B3.栈和队列的共同点是()。A.都是先进先出B.都是先进后出C.只允许在端点处插入和删除元素D.没有共同点答案:C4.在关系数据库中,用来表示实体之间联系的是()。A.树结构B.网结构C.线性表D.二维表答案:D5.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是()。A.概要设计B.详细设计C.可行性分析D.需求分析答案:D6.结构化程序设计主要强调的是()。A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性答案:B7.下列选项中,不属于白盒测试技术的是()。A.语句覆盖B.判定覆盖C.边界值分析D.条件覆盖答案:C8.在TCP/IP协议簇中,IP协议位于()。A.应用层B.传输层C.网络互联层D.网络接口层答案:C9.某二叉树的中序遍历序列为ABCDEFG,后序遍历序列为BDCAFGE,则其前序遍历序列为()。A.EGFACDBB.EACBDGFC.EAGCFBDD.EGACDFB答案:B10.在C语言中,若变量已正确定义并赋值,以下符合C语言语法的表达式是()。A.a:=b+1B.a=b=c+2C.int18.5%3D.a=a+7=c+b答案:B11.若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3(int)(x+y)%2/4的值是()。11.若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3(int)(x+y)%2/4的值是()。A.2.500000B.2.750000C.3.500000D.0.000000答案:A12.在C语言中,函数返回值的类型最终取决于()。A.函数定义时在函数首部所说明的函数类型B.return语句中表达式值的类型C.调用函数时主调函数所传递的实参类型D.函数定义时形参的类型答案:A13.以下关于数组的描述正确的是()。A.数组的大小是固定的,所有元素的类型必须相同B.数组的大小是可变的,但所有元素的类型必须相同C.数组的大小是固定的,但可以包含不同类型的元素D.数组的大小是可变的,可以包含不同类型的元素答案:A14.若有说明:inta[3][4]={0};则下面正确的叙述是()。A.只有元素a[0][0]可得到初值0B.此说明语句不正确C.数组a中各元素都可得到初值,但其值不一定为0D.数组a中每个元素均可得到初值0答案:D15.以下能正确定义字符串的语句是()。A.charstr[]={'\064'};B.charstr="\x43";C.charstr=";D.charstr[]="\0";答案:D16.在C语言中,以()作为字符串结束标志。A.‘\n’B.‘’C.‘0’D.‘\0’答案:D17.以下叙述中错误的是()。A.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B.数组名代表的是数组所占存储区的首地址,其值不可改变C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D.可以通过赋初值的方式确定数组元素的个数答案:C18.以下关于指针的叙述中,错误的是()。A.指针变量中存储的是内存地址B.指针变量可以进行加减算术运算C.指针变量可以指向任何类型的数据D.两个指针变量在一定条件下可以进行相等或不等的比较运算答案:C19.设有定义:intn1=0,n2,p=&n2,q=&n1;以下与赋值语句n2=n1;等价的语句是()。19.设有定义:intn1=0,n2,p=&n2,q=&n1;以下与赋值语句n2=n1;等价的语句是()。A.p=q;A.p=q;B.p=q;C.p=&n1;C.p=&n1;D.p=q;D.p=q;答案:A20.以下叙述中正确的是()。A.预处理命令行必须位于源文件的开头B.在源文件的一行上可以有多条预处理命令C.宏名必须用大写字母表示D.宏替换不占用程序的运行时间答案:D二、多选题1.下列属于操作系统主要功能管理范畴的有()。A.处理器管理B.存储器管理C.文件管理D.数据库管理E.设备管理答案:A,B,C,E2.以下属于线性数据结构的有()。A.栈B.队列C.二叉树D.链表E.图答案:A,B,D3.软件测试的目的是()。A.证明程序没有错误B.发现程序中的错误C.评价程序的质量D.为了程序调试提供信息E.确认程序满足需求答案:B,C,D,E4.关于数据库系统的特点,以下说法正确的有()。A.数据共享性高,冗余度低B.数据独立性高C.数据由DBMS统一管理和控制D.数据结构化E.数据完全无冗余答案:A,B,C,D5.在C语言中,关于函数形参和实参的说法,正确的有()。A.形参和实参占用不同的内存单元B.实参和形参的数据类型必须一致C.形参只有在被调用时才分配内存单元D.实参对形参的数据传递是单向值传递E.数组名作为函数参数时,传递的是整个数组答案:A,B,C,D三、填空题1.在数据结构中,从逻辑上可以把数据结构分为线性结构和________两大类。答案:非线性结构2.算法的五个重要特性是:有穷性、确定性、可行性、输入和________。答案:输出3.在面向对象方法中,类之间共享属性和操作的机制称为________。答案:继承4.软件工程三要素包括方法、工具和________。答案:过程5.数据库系统的核心是________。答案:数据库管理系统或DBMS6.设有定义:inta=5,b=6,c=7;则表达式(a+b)>c&&b==c的值是________。答案:07.在C语言中,若已定义:intx=10,y=20,z=30;则表达式!(x<y)||(y>z)的值为________。答案:08.若有定义:chars[10]=”hello”;则strlen(s)的值是________。答案:59.在C语言中,若用数组名作为函数调用的实参,传递给形参的是数组的________。答案:首地址10.若有宏定义:#defineM(x)xx,则执行语句inta=3,b=4,c;c=M(a+b);后,c的值是________。10.若有宏定义:#defineM(x)xx,则执行语句inta=3,b=4,c;c=M(a+b);后,c的值是________。答案:19四、简答题(封闭型)1.简述栈和队列的主要区别。答案:栈(Stack)是一种后进先出(LIFO)的线性表,只允许在表的一端(栈顶)进行插入和删除操作。队列(Queue)是一种先进先出(FIFO)的线性表,允许在表的一端(队尾)进行插入,在另一端(队头)进行删除操作。2.什么是黑盒测试?列举两种常见的黑盒测试方法。答案:黑盒测试也称为功能测试或数据驱动测试,它把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,只检查程序功能是否按照需求规格说明书的规定正常使用。两种常见方法是:等价类划分法和边界值分析法。3.简述数据库设计的基本步骤。答案:数据库设计通常分为以下六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。4.在C语言中,全局变量和局部变量在存储类别上有何主要区别?答案:全局变量存储在静态存储区,在程序开始执行时分配存储单元,程序执行完毕才释放。其生命周期贯穿整个程序运行期。局部变量(非静态)通常存储在栈内存中,在函数被调用时分配存储单元,函数调用结束立即释放。其生命周期仅限于函数的一次调用过程。5.解释C语言中指针变量和它所指向的变量之间的关系。答案:指针变量是一种特殊的变量,其存储的值是另一个变量的内存地址。通过指针变量,可以间接访问和操作它所指向的那个变量。使用取地址运算符`&`可以获得一个变量的地址并赋值给指针变量,使用解引用运算符``可以通过指针访问或修改其指向的变量的值。五、应用题(综合类)1.阅读以下C语言程序,写出程序运行后的输出结果。```cinclude<stdio.h>intfun(intn){if(n==1)return1;elsereturnn+fun(n1);}intmain(){intresult;result=fun(5);printf("result=%d\n",result);return0;}```答案:result=15解析:函数`fun`是一个递归函数,用于计算1到n的累加和。`fun(5)`=5+`fun(4)`=5+4+`fun(3)`=...=5+4+3+2+1=15。2.阅读以下C语言程序片段,分析其功能,并写出输出结果。```cinclude<stdio.h>voidswap(intp1,intp2){voidswap(intp1,intp2){inttemp;temp=p1;temp=p1;p1=p2;p1=p2;p2=temp;p2=temp;}intmain(){inta=10,b=20;printf("Beforeswap:a=%d,b=%d\n",a,b);swap(&a,&b);printf("Afterswap:a=%d,b=%d\n",a,b);return0;}```答案:程序功能是交换两个整型变量a和b的值。输出结果为:Beforeswap:a=10,b=20Afterswap:a=20,b=103.已知一个线性表采用顺序存储结构,其起始地址(基地址)为`LOC(a1)=100`,每个元素占用2个存储单元。请问第10个元素`a10`的存储地址是多少?写出计算过程。答案:在顺序存储中,第i个元素的地址计算公式为:`LOC(ai)=LOC(a1)+(i-1)k`,其中k是每个元素占用的单元数。计算过程:`LOC(a10)=100+(10-1)2=100+18=118`因此,第10个元素`a10`的存储地址是118。4.根据以下需求描述,设计E-R图(实体-联系图),并指出实体、属性和联系类型。需求描述:一个班级有若干名学生,一名学生只属于一个班级。学生可以选择多门课程,一门课程也可以被多名学生选择。学生选修课程后,有相应的成绩。要求:(1)画出E-R图(用文字描述实体、属性和联系)。(2)将E-R图转换为关系模式(写出关系模式名及其包含的属性,并标明主键)。答案:(1)E-R图描述:实体:班级(Class):属性有班级编号(ClassID,主键)、班级名称(ClassName)等。学生(Student):属性有学号(StudentID,主键)、姓名(SName)、所属班级编号(ClassID,外键)等。课程(Course):属性有课程号(CourseID,主键)、课程名(CName)、学分(Credit)等。联系:属于(Belong_to):班级与学生之间是1:N(一对多)的联系。选修(Select):学生与课程之间是M:N(多对多)的联系,该联系拥有属性“成绩(Grade)”。(2)关系模式:班级(ClassID,ClassName,...)主键:ClassID学生(StudentID,SName,ClassID,...)主键:StudentID;外键:ClassID参照班级(ClassID)课程(CourseID,CName,Credit,...)主键:CourseID选修(StudentID,CourseID,Grade)主键:(StudentID,CourseID);外键:StudentID参照学生(StudentID),CourseID参照课程(CourseID)5.编写一个完整的C语言程序,实现以下功能:从键盘输入10个整数,存储到一个一维数组中,然后找出这10个数中的最大值和最小值,并计算所有元素的平均值,最后输出最大值、最小值和平均值(平均值保留两位小数)。```cinclude<stdio.h>intmain(){intarr[10];inti,max,min;floatsum=0.0,average;//输入10个整数printf("请输入10个整数:\n");for(i=0;i<10;i++){scanf("%d",&arr[i]);}//初始化ma

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论