软件开发考试题模拟题答案_第1页
软件开发考试题模拟题答案_第2页
软件开发考试题模拟题答案_第3页
软件开发考试题模拟题答案_第4页
软件开发考试题模拟题答案_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、软件开发考试试卷(机密)考试声明本人已经认真阅读考试注意事项,承诺遵守考试纪律,自己不作弊、不协助他人作弊;考试后不向其他人泄漏考题内容,维护考试的机密性。特此声明。考生签名:年月日答题纸考生信息姓名性别学历考试专业单位身份证号码一、单选题123456789101112131415161718192021222324252627282930二、多选题12345678910三、改错题.5.四.编程题注:选择题请将答案填写在答题纸上,填写在其它位置无效软件开发考核试卷考试说明:1、本次考试类型为笔试,请考生用蓝色圆珠笔或钢笔答题,不得用铅笔,用铅笔者本试卷作废;2、本次考试时间为60

2、分钟,共计100分;3、试卷表面必须保持清洁,不得在试卷上作记号,一经发现取消该考生卷面成绩;4、请将答案写在答题纸上,填写在其他位置无效。一.单项选择题(每题2分,共计60分)1 .软件工程研究的内容包括:()技术和软件工程管理:DA.软件测试B.数据分析C.动态测试D.软件开发2 .在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为4;一个double型数据在内存中所占的字节数为:CA.32B.6C.8D.163 .下列描述正确的是:AA. C语言程序中各函数之间既允许直接递归调用也允许间接递归调用B. C语言程序中不允许直接递归调用也不允许间接递归调用C. C语

3、言程序中允许直接递归调用不允许间接递归调用D. C语言程序中不允许直接递归调用允许间接递归调用4 .下面关于完全二叉树的叙述中,错误的是:BA.除了最后一层外,每一层上的结点数均达到最大值B.可能缺少若干个左右叶子结点C.完全二叉树一般不是满二叉树D.具有结点的完全二叉树的深度为log2n+15 .在软件生命周期中,能准确完成程序的编码的阶段是:CA.概要设计B.详细设计C.软件实现D.需求分析6 .下面程序的输出结果是:B#include<stdio.h>sub(x,y,z)intx,y,*z;*z=y-x;main()inta,b,c;sub(10,5,&a);sub(

4、7,a,&b);sub(a,b,&c);printf("%d,%d,%dn",a,b,c);A.5,2,3B.-5,-12,-7C.-5,-12,-17D.5,2,-77 .程序流程图(PFD中的箭头代表的是:BA.数据流B.控制流C.调用关系D.组成关系8 .下面程序的输出是:Cmain()enumemem1=3,em2=1,em3;char*aa="AA","BB","CC","DD"printf("%s%s%sn",aaem1,aaem2,aaem3);

5、A.DCBBCDB.BBDDCCC.DDBBCCD.DBDBCC9 .符合C语言语法的赋值语句的是:DA.a=7+b+c=a+7B.a=a+7C.a=7+b,b+,a+7;D.a=7+b,c=a+7;10 .若运行时给变量x输入12,则以下程序的运行结果是:Bmain()intx,y;scanf("d,&x);y=x>12?x+10:x-12;printf("dn”,y);A.2B.0C.8D.1011 .在C语言中,要求运算数必须是整型的运算符是:AA.%B./C.<D.!12 .以下程序语句中y=-1;if(x!=0)if(x>0)y=1;el

6、sey=0;所表示的数学函数关系是:C-1(x<0)1(x<0)A. y=0(x=0)B. y=-1(x=0)1(x>0)0(x>0)0(x<0)-1(x<0)C. y=-1(x=0)D. y=1(x=0)1(x>0)0(x>0)13 .若有以下函数定义:Cmyfun(doublea,intn),则myfun函数值的类型是A. voidB. doubleC. intD. char14 .软件需求分析应确定用户对软件的:DA.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求15 .C语言中main函数参数的非法表示形式是:DA.main(

7、char*argv口,intargc)B.main(inta,char*b)C.main(inty,char*x口)D.main(intargv,char*argc口)16 .以下的for循环:Cfor(x=0,y=0;(y!=123)&&(x<4);x+)A.是无限循环B.循环次数不定C.执行4次D.执行3次17 .C语言规定,函数返回值的类型由:AA.在定义时所指定的函数类型所决定B.调用该函数时的主调函数类型所决定C.return语句中的表达式类型所决定D.调用该函数时系统临时决定18 .下面描述中,不符合结构化程序设计风格的是:CA.使用顺序、选择和重复(循环)三

8、种基本控制结构表示程序的控制逻辑B.自顶向下C.注重提高程序的执行效率D.限制使用goto语句19 .以下程序中main()intx=3,y=0,z=0;if(x=y+z)printf("*");elseprintf("#");)DA.有语法错误不能通过编译B.输出*C.可以通过编译,但是不能通过连接,因而不能运行D.输出#20 .执行下面程序片段的结果是:Bintx=123;doprintf("=n",x-);while(!x);A.打印出321B.打印出123C.不打印任何内容D.陷入死循环21 .下述对C语言字符数组的描述中错误

9、的是:CA.字符数组可以存放字符串B.字符数组中的字符串可以整体输入、输出C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D.不可以用关系运算符对字符数组中的字符串进行比较22 .已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是:DA.acbedB.decabC.deabcD.cedba23 .C语言提供的合法的数据类型关键字是:BA.DoubleB.floatC.integerD.Char24 .以下程序的输出结果正确的是:B#include<stdio.h>sub(int*s,inty)staticintt=3;y=st;t-;main

10、()inta=1,2,3,4,i,x=0;for(i=0;i<4;i+)sub(a,x);printf("%d",x);printf("n");A.1234B.0000C.4321D.444425 .C程序中的语句:char*func(intx,inty);它是:CA.对函数func的定义B.对函数func的调用C.对函数func的原型说明D.不合法的26 .下列程序的运行结果是:Amain()unionEXAMPLEstructintx;inty;in;inta;intb;e;e.a=1;e.b=2;e.in.x=e.a*e.b;e.in.y=e

11、.a+e.b;printf("%d,%dn",e.in.x,e.in.y);A.4,8B.2,6C.8,16D.12,1627 .下列选项中可用于C语言用户标识符的是:BA.voiddefinewordB.a3_b3_123CarC.For-abcIFCaseD.2aDOsizeof28 .对下述程序,描述正确的是:Amain()inta,b;scanf("%d,%d",&a,&b);if(a>b)a=b;b=a;elsea+;b+;printf("%d,%d",a,b);A.有语法错误不能通过编译B.若输入4,

12、5则输出5,6C.若输入5,4则输出4,5D.若输入5,4则输出5,529 .下面程序的输出是:Bmain()intarr10,i,k=0;for(i=0;i<10;i+)arri=i;for(i=1;i<4;i+)k+=arri+i;printf("%dn",k);A.8B.6C.4D.1230 .若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是:BDintw10=23,54,10,33,47,98,72,80,61,*p=w;A.(p+5)*B.*(p+5)C.p%5D.p5%二.多项选择题(每题2分,共计20分)1 .下列有关函数

13、的说法中正确的是:ABCA. C语言中的函数只具有static和extern两种类型B. C语言中允许函数的递归调用C.调用函数时,C语言要求实参与形参的个数,类型完全一致D.C语言函数的缺省数据类型是空类型(void型)2.下面的变量说明中()是错误的:ABDA.char:a,b,c;B.chara;b;c;C.chara,b,c;D.chara,b,c3.假如有以下调用语句,则正确的fun函数的首部是:ABCmain(),inta50,n;fun(n,&a9);,A.voidfun(intm,intx口)B.voidfun(ints,inth41)C.voidfun(intp,in

14、t*s)D.voidfun(intn,inta)4 .下列常量中哪些是合法的:BCDA. 2e32.6B. 0.2e-5C. "basic”D. 0x4b005 .关于if后一对圆括号中的表达式,以下叙述中错误的是:ABCA.只能用逻辑表达式B.只能用关系表达式C.既可用逻辑表达式也可用关系表达式D.可用任意表达式6 .下列叙述中错误的是:BCDA.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构7 .若有以下程序#includevoidf(intn);main()voidf(intn);f(5);voidf(intn)printf("%

15、dn",n);则以下叙述中正确的是:ABDA.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数fB.若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调用函数fC.对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明D.函数f无返回值,所以可用void将其类型定义为无返回值型8 .根据C语言的语法规则,下列()是合法标识符:BCDA.doB.NameC.R5D._exam9 .下列关于复合语句和空语句的说法正确的是:ABDA.复合语句是由“”开头,由“”结尾的B.复合语句在语法上视为一条语句C.复合语句内,可以有执行语句,不可以有定义语句部分D.

16、C程序中的所有语句都必须由一个分号作为结束10 .下列说法中错误的是:ACDA.全局变量的作用域一定比局部变量的作用域大B.静态(static)类型变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值3 .改错题(每题2分,共计10分)将下列程序中不正确的语句改正。1. main()intk;k=35555;printf("d二k);答案:longintk;printf("ld二k);2. main()intn;floats=1.0;for(n=10;n>1;n-)s=s+1/n;pr

17、intf("6.1fn",s);答案:s=s+1.0/n3. main()intsum,k;sum=0;k=1;while(k<=100)sum=sum+k;k+;printf("sum=%dn,sum);答案:while(k<=100)sum=sum+k;k+;4. main()intk,a(8);for(k=0;k<10;k+)scanf("d,&a(k);)答案:intk,a8;scanf("d,&ak);5. main()inta;scanf("d,a);if(a=1)printf(“Onen

18、");答案:printf("%d,",&a);if(a=1)4 .编程题(共计10分)编写一个函数intfun(int*s,intt,int*k),用来求出数组的最小元素在数组中的下标并存放在k所指的存储单元中。如,输入如下整数:234345753134436458100321135760则输出结果为6,100。注:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include<conio.h>#include<stdio.h>intfun(int*s,in

19、tt,int*k)main()inta10=234,345,753,134,436,458,100,321,135,760,k;clrscr();fun(a,10,&k);printf("%d,%dn",k,ak);答案intfun(int*s,intt,int*k)inti;*k=0;/*k所指的数是数组的下标值*/for(i=0;i<t;i+)if(s*k>si)*k=i;/*找到数组的最小元素,把该元素的下标赋给k所指的数*/returns*k;/*返回数组的最小元素*/模拟题:一.单项选择题(每题2分,共计60分)1 .根据C语言的语法规则,下列

20、()个是不合法标识符:AA.WhileB. NameC. Rern5D. _exam2 .属于C语言的数据类型是:CA.复数型B.逻辑型C.双精度型D.集合型3 .假设变量a,i已正确定义,且i已正确赋值,合法的语句是:BA.a=1B.+i;C.a=a+=5;D.a=int(i);4 .设有以下定义和语句,则*(*(p+2)+1)的值为:Dint32=10,20,30,40,50,60,(*p)2;p=a;A.16B.32C.64D.605 .inta10=1,2,3,4,5,6,7,8,9,10,*p=a;则值为6的表达式是:CA.*p+6B.*(p+6)C.*p+=5D.p+56 .有以下

21、程序#includemain()FILE*fp;inti=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%dn",i);fprintf(fp,"%dn",j);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%dn",k,n);fclose(fp);)程序运行后的输出结果是:AA.203

22、0B.2050C.3050D.30207 .以下说法中正确的是:AA.C语言程序总是从main()函数开始执行8 .在C语言程序中,要调用函数必须在main()函数中定义C.C语言程序总是从第一个函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分8.Break语句的正确的用法是:BA.无论在任何情况下,都中断程序的执行,退出到系统下一层8 .在多重循环中,只能退出最靠近的那一层循环语句C.跳出多重循环D.只能修改控制变量9 .在下列程序中,没有构成死循环的是:DA.inti=100;while(1)i=i0+1;if(i>100)break;)B.for(;);C.in

23、tk=10000;dok+;while(k>10000);D.ints=36;while(s)-s;10 .设有定义:longx=-123456L;则以下能够正确输出变量x值的语句是:BA.printf("x=%dn",x)B.printf("x=%ldn",x)C.printf("x=ln",x)D.printf("x=%Dn",x);11 .C语言中各种基本数据类型的存储空间长度排列为:CA.char<long<int<float<doubleB.double<float&l

24、t;long<int<charC.char<int<long<float<doubleD.float<int<long<char<double12 .以下选项中,定义s为合法的结构体变量的是:BA. typedefstructabcdoublea;charb10;s;B. structdoublea;charb10;s;C. structABCdoublea;charb10;ABCs;D. typedefABCdoublea;charb10;ABCs;13 .下面程序的运行结果是:A#include“stdio.h"main

25、()inta=8,2,9,4,1,*p;p=a;*(p+2)+=2;printf("d,%d",*p,*(p+2);A.8,11B.9,16C.2,11D.8,1014 .字符串指针变量中存入的是:AA.字符串的首地址。B.字符串C.第一个字符D.字符串变量。15 .C语言中以只读方式打开一个文件应选择()参数:AA.B.C.“rb”D.16 .以下能正确表示x在-5到-1或5到1范围(含5和1)内,值为“真”的表达式是:AA.(x>=-5)|(x<=-1)&&(x<=5)&&(x>=1)B.!(x>=-5|x&

26、lt;=-1&&x<=5|x>=1)C.x<-5&&x>-1|x<1&&x>5D.(x<-5)|(x>-1&&x<1)|(x>5)17 .设有数组定义:chararray="China”;则数组所占的存贮空间为:CA.4个字节B. 5个字节C. 6个字节D. 7个字节18.已知函数的调用形式:fread(buf,size,count,fp),参数buf的含义是:CA.一个整型变量,代表要读入的数据项总数B.一个文件指针,指向要读的文件C.一个指针,指向要读入数据的存放地址D.一个存储区,存放要读的数据项19 .为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系:CA.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近

温馨提示

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

评论

0/150

提交评论