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

下载本文档

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

文档简介

_软件开发考试试卷(机密)考试声明本人已经认真阅读考试注意事项,承诺遵守考试纪律,自己不作弊、不协助他人作弊;考试后不向其他人泄漏考题内容,维护考试的机密性。特此声明。考生签名:年 月 日答 题 纸考生信息姓名性别学历考试专业单位身份证号码一、单选题123456789101112131415161718192021222324252627282930二、多选题12345678910三、改错题.5.四编程题注:选择题请将答案填写在答题纸上,填写在其它位置无效。软件开发考核试卷考试说明:1、 本次考试类型为笔试,请考生用蓝色圆珠笔或钢笔答题,不得用铅笔,用铅笔者本试卷作废;2、 本次考试时间为60分钟,共计100分;3、 试卷表面必须保持清洁,不得在试卷上作记号,一经发现取消该考生卷面成绩;4、 请将答案写在答题纸上,填写在其他位置无效。一.单项选择题(每题2分,共计60分)1.软件工程研究的内容包括:()技术和软件工程管理: DA.软件测试B.数据分析C.动态测试D.软件开发2.在C语言中(以 16 位PC机为例),一个float型数据在内存中所占的字节数为 4;一个double型数据在内存中所占的字节数为:CA.32B.6 C.8 D.163. 下列描述正确的是:AA. C 语言程序中各函数之间既允许直接递归调用也允许间接递归调用B. C 语言程序中不允许直接递归调用也不允许间接递归调用C. C 语言程序中允许直接递归调用不允许间接递归调用D. C 语言程序中不允许直接递归调用允许间接递归调用4. 下面关于完全二叉树的叙述中,错误的是:BA.除了最后一层外,每一层上的结点数均达到最大值B.可能缺少若干个左右叶子结点C.完全二叉树一般不是满二叉树D.具有结点的完全二叉树的深度为log2n+15. 在软件生命周期中,能准确完成程序的编码的阶段是:CA.概要设计 B.详细设计 C.软件实现 D.需求分析6. 下面程序的输出结果是:B#include sub(x,y,z)int x,y,*z; *z=yx;main( )int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf(%d,%d,%dn,a,b,c);A.5,2,3 B.5, 12, 7 C.5, 12, 17 D.5, 2, 77. 程序流程图(PFD)中的箭头代表的是:BA.数据流 B.控制流 C.调用关系 D.组成关系8. 下面程序的输出是:Cmain ( ) enum em em1=3,em2=1,em3;char * aa =AA,BB,CC,DD;printf(%s%s%sn,aaem1,aaem2,aaem3);A.DCBBCD B.BBDDCC C.DDBBCC D.DBDBCC9. 符合 C 语言语法的赋值语句的是:DA.a=7+b+c=a+7 B.a=a+7C.a=7+b,b+,a+7; D.a=7+b,c=a+7;10. 若运行时给变量x输入 12,则以下程序的运行结果是:Bmain( )int x,y;scanf(“%d”,&x);y=x12?x+10:x12;printf(“%dn”,y);A.2 B.0 C.8 D.1011. 在 C 语言中,要求运算数必须是整型的运算符是:AA.% B./ C.0) y=1; else y=0;所表示的数学函数关系是:C1 (x0) 1 (x0) 0 (x0)0 (x0) 1 (x0) 0 (x0)13. 若有以下函数定义:Cmyfun(double a, int n) 则myfun函数值的类型是 A. void B. doubleC. intD. char14. 软件需求分析应确定用户对软件的:DA.功能需求 B.非功能需求 C.性能需求 D.功能需求和非功能需求15. C语言中main函数参数的非法表示形式是:DA.main(char *argv,int argc)B.main(int a,char*b)C.main(int y,char *x)D.main(int argv,char *argc)16. 以下的for循环:Cfor(x=0,y=0;(y!=123)&(x4);x+)A.是无限循环B.循环次数不定C.执行4次D.执行3次17. C语言规定,函数返回值的类型由:AA.在定义时所指定的函数类型所决定B.调用该函数时的主调函数类型所决定C.return语句中的表达式类型所决定D.调用该函数时系统临时决定18. 下面描述中,不符合结构化程序设计风格的是:CA.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B.自顶向下C.注重提高程序的执行效率D.限制使用 goto 语句19. 以下程序中main( ) int x=3,y=0,z=0;if(x=y+z)printf(* * * *);else printf(#);DA.有语法错误不能通过编译B.输出* * * *C.可以通过编译, 但是不能通过连接, 因而不能运行D.输出#20. 执行下面程序片段的结果是:Bint x=123;do printf(=n,x-);while(!x);A.打印出321B.打印出123C.不打印任何内容D.陷入死循环21. 下述对C语言字符数组的描述中错误的是:CA.字符数组可以存放字符串B.字符数组中的字符串可以整体输入、输出C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D.不可以用关系运算符对字符数组中的字符串进行比较22. 已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是:D A.acbed B.decab C.deabc D.cedba23. C 语言提供的合法的数据类型关键字是:BA.Double B.float C.integer D.Char24. 以下程序的输出结果正确的是:B#include sub(int *s,int y) static int t=3;y=st;t ;main( ) int a =1,2,3,4,i, x=0;for(i=0;ib)a=b;b=a;else a+;b+;printf(%d,%d,a,b);A.有语法错误不能通过编译B.若输入4,5则输出5,6C.若输入5,4则输出4,5D.若输入5,4则输出5,529. 下面程序的输出是:Bmain( )int arr10,i,k=0;for(i=0;i10;i+)arri=i;for(i=1;i1;n- -)s=s+1/n;printf(“%6.1fn”,s); 答案:s=s+1.0/n3. main( ) int sum , k ;sum=0 ;k= 1 ;while (k =100 )sum = sum+k ;k + + ;p rintf (“ sum=%dn”, sum) ; 答案:while (k =100 ) sum = sum+k ;k + + ; 4. main( ) int k , a( 8 ) ;for( k=0; k10 ; k+)scanf(“%d”, &a(k);. 答案:int k , a8 ;scanf(“%d”, &ak);5. main( )int a;scanf(“%d”, a);if (a = 1) printf(“Onen”) ; 答案:printf(%d,&a); if (a=1)四.编程题 (共计10分)编写一个函数int fun(int *s,int t,int *k),用来求出数组的最小元素在数组中的下标并存放在k所指的存储单元中。如,输入如下整数:234 345 753 134 436 458 100 321 135 760则输出结果为6,100。注:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include #include int fun(int *s,int t,int *k)main() int a10=234,345,753,134,436,458,100,321,135,760,k;clrscr();fun(a, 10, &k);printf(%d, %dn , k, ak);答案int fun(int *s,int t,int *k) int i;*k=0; /*k所指的数是数组的下标值*/for(i=0;isi)*k=i; /*找到数组的最小元素,把该元素的下标赋给k所指的数*/return s*k; /*返回数组的最小元素*/模拟题:一.单项选择题(每题2分,共计60分)1. 根据C语言的语法规则,下列()个是不合法标识符:AA.WhileB. NameC. Rern5D. _exam2. 属于 C 语言的数据类型是:CA.复数型 B.逻辑型 C.双精度型 D.集合型3. 假设变量a,i已正确定义,且i已正确赋值,合法的语句是 :BA.a=1 B.+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.16 B.32 C.64 D.605. int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则值为 6 的表达式是:CA.*p+6 B.*(p+6) C.*p+=5 D.p+56. 有以下程序 #include main() FILE *fp; int i=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); 程序运行后的输出结果是:A A.20 30 B.20 50 C.30 50 D.30 207. 以下说法中正确的是:AA. C 语言程序总是从 main( )函数开始执行B.在 C 语言程序中,要调用函数必须在 main( )函数中定义C. C 语言程序总是从第一个函数开始执行D.C 语言程序中的 main( )函数必须放在程序的开始部分8. Break语句的正确的用法是:BA. 无论在任何情况下,都中断程序的执行,退出到系统下一层B. 在多重循环中,只能退出最靠近的那一层循环语句C. 跳出多重循环D. 只能修改控制变量9. 在下列程序中,没有构成死循环的是:D A.int i=100; while(1) i=i0+1; if(i100)break; B.for(;); C.int k=10000; do k+; while(k10000); D.int s=36; while(s)-s; 10. 设有定义:long x=-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.charlongintfloatdoubleB.doublefloatlongintcharC.charintlongfloatdoubleD.floatintlongchardouble12. 以下选项中,定义 s 为合法的结构体变量的是:BA. typedef struct abc double a;char b10;s;B. struct double a;char b10;s;C. struct ABC double a;char b10;ABC s;D. typedef ABC double a;char b10;ABC s;13. 下面程序的运行结果是:A# include “stdio.h”main( ) int a=8,2,9,4,1, *p;p=a;*(p+2)+=2;printf(“%d, %d ”, *p, *(p+2);A.8,11 B.9,16 C.2,11 D.8,1014. 字符串指针变量中存入的是:AA.字符串的首地址。B. 字符串C.第一个字符D. 字符串变量。15. C语言中以只读方式打开一个文件应选择()参数:AA.“r”B.“w”C.“rb”D.“a”16. 以下能正确表示x在-5到-1或5到1范围(含5和1)内,值为“真”的表达式是:AA.(x=-5)|(x=-1)&(x=1)B.!(x=-5|x=-1&x=1)C.x-1|x5D.(x-1&x5)17. 设有数组定义:char array=”China”;则数组所占的存贮空间为:CA.4个字节B. 5个字节C. 6个字节D. 7个字节18. 已知函数的调用形式:fread(buf,size,count,fp),参数buf的含义是:C A.一个整型变量,代表要读入的数据项总数 B.一个文件指针,指向要读的文件 C.一个指针,指向要读入数据的存放地址 D.一个存储区,存放要读的数据项19. 为了避免嵌套的条件分支语句ifelse 的二义性,C语言规定:C程序中的else总是与()组成配对关系:CA.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if20. 在C语言中,int,char和short三种类型数据在内存中所占用的字节数:DA.由用户自己定义B.均为2个字节C.是任意的D.由所用机器的机器字长决定21. 能正确表示a和b同时为正或同时为负的逻辑表达式是:DA.a=0|b=0)&(a0 |b=0 & b=0)&(a0 & b0) &(a+b022. 假设整型变量a,b,c的值均为5,则表达式a+b+c+的值为:CA.17B.16C.15D.1423. 设整型变量a为5,使b不为2的表达式是:cA. b=a/2 B. b=6-(-a) C. b=a%2 D.b=a3?2:124. 表达式“1?(0?3:2):(10?1:0)”的值为:BA.3B. 2C. 1D. 025. 定义一个数组a是一个具有3个元素的指针数组,它的定义语句格式是:c A. (*a)3 B. *a2 C. *a3 D.以上写法都不对。26. 表达式y=(1312?15:67?8:9)的值为:CA.9B.8C.15D. 127. 以下定义中,标识符prt int(*prt)3:DA.定义不含法B.是一个指针数组名,每个元素都是一个指向整数变量的指针C.是一个指针,它指向一个具有三个元素的一维数组D.是一个指向整型变量的指针28. 若 fp 是指向某文件的指针,且已读到此文件的末尾,则函数 feof(fp)的返回值是:CA.EOF B.0 C.非零值 D.NULL29. c语言中int型数-8在内存中的存储形式为:aA.1111111111111000 B. 1000000000001000 C. 0000000000001000 D. 1111111111110111 30. 表示关系xyz,应使用C语言表达式:AA.(x=y)&(y=z)B. (x=y) AND (y=z)C.(x=y=z)D. (x=z)&(y=z)二.多项选择题(每题2分,共计20分)1. 下面叙述错误的是:ACDA.函数调用不可以出现在表达式中B.函数调用可以作为一个函数的实参C.函数调用可以作为一个函数的形参D.函数不可以直接调用其本身2. 假设以下说明语句 struct stu int a; float b; stutype; 则下面的叙述正确的是:ABD A.struct是结构体类型的关键字 B.struct stu是用户定义的结构体类型 C.stutype是用户定义的结构体类型名 D.a和b都是结构体成员名3. 下列关于字符串的说法中正确的是:ACDA.在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符0作为字符串结束标志B.0作为标志占用存储空间,计入串的实际长度C.在表示字符串常量的时候不需要人为在其末尾加入0D.在C语言中,字符串常量隐含处理成以0结尾4. 下列对数组操作正确的语句是:abcA. int a5; B.char b =h,e,l,l,o; C. int a =2,3,4,5; D. char b3 =1,2,3,4,5,6;5. 以下选项中能使指针正确指向字符串的是:BCDA. char *ch;*ch=“hello” B.char *ch=“hello” C.char *ch=“hello”;ch=“bye” D. char *ch”;ch=“hello”6. 下列标识符正确的是:ABDA. x1y B._123 C. 2ab D. _ab7. 若有以下定义和赋值double *q,a=5.5; int *p,i=1; double *q,a=5.5;int *p,i=1; p=&i; q=&a; 以下对赋值语句叙述正确的是:ACDA.*p=*q 变i中的值。 B.p=oxffd0;将改变p的值,使p指向地址为ffd0的存储单元。 C.*q=*p;等同于a=i; D.*p=*q;是取q所指变量的值放在p所指的存储单元8. 下面的说法正确的是:BCDA. 不论在主函数还是自定义函数中,只要说明了变量,就可为其分配存贮单元。B. 在定义函数时,必须指定形参的类型。C. 形参和实参之间可以是值传递。D. 数组名可以作为参数进行传递。9. 设A,B均为整型变量,下列表达式中是赋值表达式的是:ACDA. A=b+3,b+5,-b B. A=4*5; C. A=+A-B D.a=b=510. C 语言中下列叙述错误的是:ABCA.不能使用 do-while 语句构成的循环B.do-while 语句构成的循环,必须用 break 语句才能退出C.do-while 语句构成的循环,当 while 语句中的表达式值为非零时结束循环D.do-while 语句构成的循环,当 while 语句中的表达式值为零时结束循环三.编程题 (每题10分,共计20分)1. 从键盘上输入三个数,求出其中最大的一个数。答案: main() int a,b,c,max;scanf(“%d,%d,%d”,&a,&b,&c);if (ab)max=a;elsemax=b;if (maxmax=c;printf(“max=%d”,max); 2. 从键盘上输入10个评委的分数,去掉一个最高分,去

温馨提示

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

评论

0/150

提交评论