软件开发考测验考试模拟题答案.docx

上传人:b****6 文档编号:7004834 上传时间:2023-01-16 格式:DOCX 页数:22 大小:24.35KB
下载 相关 举报
软件开发考测验考试模拟题答案.docx_第1页
第1页 / 共22页
软件开发考测验考试模拟题答案.docx_第2页
第2页 / 共22页
软件开发考测验考试模拟题答案.docx_第3页
第3页 / 共22页
软件开发考测验考试模拟题答案.docx_第4页
第4页 / 共22页
软件开发考测验考试模拟题答案.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

软件开发考测验考试模拟题答案.docx

《软件开发考测验考试模拟题答案.docx》由会员分享,可在线阅读,更多相关《软件开发考测验考试模拟题答案.docx(22页珍藏版)》请在冰豆网上搜索。

软件开发考测验考试模拟题答案.docx

软件开发考测验考试模拟题答案

 

软件开发

考试试卷

(机密)

 

考试声明

本人已经认真阅读考试注意事项,承诺遵守考试纪律,自己不作弊、不协助他人作弊;考试后不向其他人泄漏考题内容,维护考试的机密性。

特此声明。

考生签名:

年月日

答题纸

考生信息

姓名

性别

学历

考试专业

单位

身份证号码

一、单选题

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

二、多选题

1

2

3

4

5

6

7

8

9

10

三、改错题

1.

 

2.

 

3.

 

4.

 

5.

 

四.编程题

 

注:

选择题请将答案填写在答题纸上,填写在其它位置无效。

软件开发考核试卷

考试说明:

1、本次考试类型为笔试,请考生用蓝色圆珠笔或钢笔答题,不得用铅笔,用铅笔者本试卷作废;

2、本次考试时间为60分钟,共计100分;

3、试卷表面必须保持清洁,不得在试卷上作记号,一经发现取消该考生卷面成绩;

4、请将答案写在答题纸上,填写在其他位置无效。

一.单项选择题(每题2分,共计60分)

1.软件工程研究的内容包括:

()技术和软件工程管理:

D

A.软件测试B.数据分析C.动态测试D.软件开发

2.在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为4;一个double型数据在内存中所占的字节数为:

C

A.32B.6C.8D.16

3.下列描述正确的是:

A

A.C语言程序中各函数之间既允许直接递归调用也允许间接递归调用

B.C语言程序中不允许直接递归调用也不允许间接递归调用

C.C语言程序中允许直接递归调用不允许间接递归调用

D.C语言程序中不允许直接递归调用允许间接递归调用

4.下面关于完全二叉树的叙述中,错误的是:

B

A.除了最后一层外,每一层上的结点数均达到最大值

B.可能缺少若干个左右叶子结点

C.完全二叉树一般不是满二叉树

D.具有结点的完全二叉树的深度为[log2n]+1

5.在软件生命周期中,能准确完成程序的编码的阶段是:

C

A.概要设计B.详细设计C.软件实现D.需求分析

6.下面程序的输出结果是:

B

#include

sub(x,y,z)

intx,y,*z;

{*z=y–x;}

main(){

inta,b,c;

sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);

printf("%d,%d,%d\n",a,b,c);

}

A.5,2,3B.–5,–12,–7C.–5,–12,–17D.5,–2,–7

7.程序流程图(PFD)中的箭头代表的是:

B

A.数据流B.控制流C.调用关系D.组成关系

8.下面程序的输出是:

C

main()

{enumem{em1=3,em2=1,em3};

char*aa[]={"AA","BB","CC","DD"};

printf("%s%s%s\n",aa[em1],aa[em2],aa[em3]);

}

A.DCBBCDB.BBDDCCC.DDBBCCD.DBDBCC

9.符合C语言语法的赋值语句的是:

D

A.a=7+b+c=a+7B.a=a+7

C.a=7+b,b++,a+7;D.a=7+b,c=a+7;

10.若运行时给变量x输入12,则以下程序的运行结果是:

B

main(){

intx,y;

scanf(“%d”,&x);

y=x>12?

x+10:

x–12;

printf(“%d\n”,y);

}

A.2B.0C.8D.10

11.在C语言中,要求运算数必须是整型的运算符是:

A

A.%B./C.

12.以下程序语句中

y=–1;

if(x!

=0)

if(x>0)y=1;elsey=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.若有以下函数定义:

C

myfun(doublea,intn)

{……}

则myfun函数值的类型是

A.void

B.double

C.int

D.char

14.软件需求分析应确定用户对软件的:

D

A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求

15.C语言中main函数参数的非法表示形式是:

D

A.main(char*argv[],intargc)

B.main(inta,char**b)

C.main(inty,char*x[])

D.main(intargv,char*argc[])

16.以下的for循环:

C

for(x=0,y=0;(y!

=123)&&(x<4);x++)

A.是无限循环

B.循环次数不定

C.执行4次

D.执行3次

17.C语言规定,函数返回值的类型由:

A

A.在定义时所指定的函数类型所决定

B.调用该函数时的主调函数类型所决定

C.return语句中的表达式类型所决定

D.调用该函数时系统临时决定

18.下面描述中,不符合结构化程序设计风格的是:

C

A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑

B.自顶向下

C.注重提高程序的执行效率

D.限制使用goto语句

19.以下程序中

main()

{intx=3,y=0,z=0;

if(x=y+z)printf("****");

elseprintf("####");

}

D

A.有语法错误不能通过编译

B.输出****

C.可以通过编译,但是不能通过连接,因而不能运行

D.输出####

20.执行下面程序片段的结果是:

B

intx=123;

do

{printf("=\n",x--);}

while(!

x);

A.打印出321

B.打印出123

C.不打印任何内容

D.陷入死循环

21.下述对C语言字符数组的描述中错误的是:

C

A.字符数组可以存放字符串

B.字符数组中的字符串可以整体输入、输出

C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值

D.不可以用关系运算符对字符数组中的字符串进行比较

22.已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是:

D

A.acbed

B.decab

C.deabc

D.cedba

23.C语言提供的合法的数据类型关键字是:

B

A.DoubleB.floatC.integerD.Char

24.以下程序的输出结果正确的是:

B

#include

sub(int*s,inty)

{staticintt=3;

y=s[t];t––;

}

main()

{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.4444

25.C程序中的语句:

char*func(intx,inty);它是:

C

A.对函数func的定义

B.对函数func的调用

C.对函数func的原型说明

D.不合法的

26.下列程序的运行结果是:

A

main()

{unionEXAMPLE

{struct

{intx;inty;}in;

inta;

intb;

}e;

e.a=1;e.b=2;

e.in.x=e.a*e.b;

e.in.y=e.a+e.b;

printf("%d,%d\n",e.in.x,e.in.y);

}

A.4,8B.2,6C.8,16D.12,16

27.下列选项中可用于C语言用户标识符的是:

B

A.voiddefineword

B.a3_b3_123Car

C.For-abcIFCase

D.2aDOsizeof

28.对下述程序,描述正确的是:

A

main()

{inta,b;

scanf("%d,%d",&a,&b);

if(a>b)a=b;b=a;

elsea++;b++;

printf("%d,%d",a,b);}

A.有语法错误不能通过编译

B.若输入4,5则输出5,6

C.若输入5,4则输出4,5

D.若输入5,4则输出5,5

29.下面程序的输出是:

B

main()

{intarr[10],i,k=0;

for(i=0;i<10;i++)

arr[i]=i;

for(i=1;i<4;i++)

k+=arr[i]+i;

printf("%d\n",k);}

A.8B.6C.4D.12

30.若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是:

BD

intw[10]={23,54,10,33,47,98,72,80,61},*p=w;

A.(p+5)*B.*(p+5)C.p%[5]D.p[5%]

二.多项选择题(每题2分,共计20分)

1.下列有关函数的说法中正确的是:

ABC

A.C语言中的函数只具有static和extern两种类型

B.C语言中允许函数的递归调用

C.调用函数时,C语言要求实参与形参的个数,类型完全一致

D.C语言函数的缺省数据类型是空类型(void型)

2.下面的变量说明中()是错误的:

ABD

A.char:

a,b,c;

B.chara;b;c;

C.chara,b,c;

D.chara,b,c

3.假如有以下调用语句,则正确的fun函数的首部是:

ABC

main()

{…

inta[50],n;

fun(n,&a[9]);

}

A.voidfun(intm,intx[])

B.voidfun(ints,inth[41])

C.voidfun(intp,int*s)

D.voidfun(intn,inta)

4.下列常量中哪些是合法的:

BCD

A.2e32.6

B.0.2e-5

C.“basic”

D.0x4b00

5.关于if后一对圆括号中的表达式,以下叙述中错误的是:

ABC

A.只能用逻辑表达式

B.只能用关系表达式

C.既可用逻辑表达式也可用关系表达式

D.可用任意表达式

6.下列叙述中错误的是:

BCD

A.线性表是线性结构B.栈与队列是非线性结构

C.线性链表是非线性结构D.二叉树是线性结构

7.若有以下程序

#include

voidf(intn);

main()

{voidf(intn);

f(5);

}

voidf(intn)

{printf("%d\n",n);}

则以下叙述中正确的是:

ABD

A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f

B.若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调用函数f

C.对于以上程序,编译时系统会提示出错信息:

提示对f函数重复说明

D.函数f无返回值,所以可用void将其类型定义为无返回值型

8.根据C语言的语法规则,下列()是合法标识符:

BCD

A.doB.NameC.R5D._exam

9.下列关于复合语句和空语句的说法正确的是:

ABD

A.复合语句是由“{”开头,由“}”结尾的

B.复合语句在语法上视为一条语句

C.复合语句内,可以有执行语句,不可以有定义语句部分

D.C程序中的所有语句都必须由一个分号作为结束

10.下列说法中错误的是:

ACD

A.全局变量的作用域一定比局部变量的作用域大

B.静态(static)类型变量的生存期贯穿于整个程序的运行期间

C.函数的形参都属于全局变量

D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值

三.改错题(每题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;

printf(“%6.1f\n”,s);}

答案:

s=s+1.0/n

3.main()

{intsum,k;

sum=0;

k=1;

while(k<=100)

sum=sum+k;

k++;

printf(“sum=%d\n”,sum);}

答案:

while(k<=100)

{sum=sum+k;

k++;}

4.main()

{intk,a(8);

for(k=0;k<10;k++)

scanf(“%d”,&a(k));

......}

答案:

intk,a[8];

scanf(“%d”,&a[k]);

5.main()

{inta;

scanf(“%d”,a);

if(a=1)printf(“One\n”);}

答案:

printf("%d,",&a);if(a==1)

四.编程题(共计10分)

编写一个函数intfun(int*s,intt,int*k),用来求出数组的最小元素在数组中的下标并存放在k所指的存储单元中。

  如,输入如下整数:

  234345753134436458100321135760  则输出结果为6,100。

注:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

  #include

  #include

  intfun(int*s,intt,int*k)

  {

  }

  main()

  {inta[10]={234,345,753,134,436,458,100,321,135,760},k;

  clrscr();

  fun(a,10,&k);

  printf("%d,%d\n",k,a[k]);

  }

 答案

  intfun(int*s,intt,int*k)

  {inti;

  *k=0;/*k所指的数是数组的下标值*/

  for(i=0;i

  if(s[*k]>s[i])

  *k=i;/*找到数组的最小元素,把该元素的下标赋给k所指的数*/

  returns[*k];/*返回数组的最小元素*/}

模拟题:

一.单项选择题(每题2分,共计60分)

1.根据C语言的语法规则,下列()个是不合法标识符:

A

A.While

B.Name

C.Rern5

D._exam

2.属于C语言的数据类型是:

C

A.复数型B.逻辑型C.双精度型D.集合型

3.假设变量a,i已正确定义,且i已正确赋值,合法的语句是:

B

A.a==1

B.++i;

C.a=a++=5;

D.a=int(i);

4.设有以下定义和语句,则*(*(p+2)+1)的值为:

D

int[3][2]={10,20,30,40,50,60},(*p)[2];

p=a;

A.16B.32C.64D.60

5.inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

则值为6的表达式是:

C

A.*p+6B.*(p+6)C.*p+=5D.p+5

6.有以下程序

#include

main()

{FILE*fp;inti=20,j=30,k,n;

fp=fopen("d1.dat","w");

fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);

fclose(fp);

fp=fopen("d1.dat","r");

fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);

fclose(fp);

}

程序运行后的输出结果是:

A

A.2030

B.2050

C.3050

D.3020

7.以下说法中正确的是:

A

A.C语言程序总是从main()函数开始执行

B.在C语言程序中,要调用函数必须在main()函数中定义

C.C语言程序总是从第一个函数开始执行

D.C语言程序中的main()函数必须放在程序的开始部分

8.Break语句的正确的用法是:

B

A.无论在任何情况下,都中断程序的执行,退出到系统下一层

B.在多重循环中,只能退出最靠近的那一层循环语句

C.跳出多重循环

D.只能修改控制变量

9.在下列程序中,没有构成死循环的是:

D

A.inti=100;

while

(1)

{i=i0+1;

if(i>100)break;

}

B.for(;;);

C.intk=10000;

do{k++;}while(k>10000);

D.ints=36;

while(s)--s;

10.设有定义:

longx=-123456L;则以下能够正确输出变量x值的语句是:

B

A.printf(“x=%d\n”,x)

B.printf(“x=%ld\n”,x)

C.printf(“x=?

l\n”,x)

D.printf(“x=%D\n”,x);

11.C语言中各种基本数据类型的存储空间长度排列为:

C

A.char≤long≤int≤float≤double

B.double≤float≤long≤int≤char

C.char≤int≤long≤float≤double

D.float≤int≤long≤char≤double

12.以下选项中,定义s为合法的结构体变量的是:

B

A.typedefstructabc

{doublea;

charb[10];

}s;

B.struct

{doublea;

charb[10];

}s;

C.structABC

{doublea;

charb[10];

}

ABCs;

D.typedefABC

{doublea;

charb[10];

}

ABCs;

13.下面程序的运行结果是:

A

#include“stdio.h”

main()

{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,10

14.字符串指针变量中存入的是:

A

A.字符串的首地址。

B.字符串

C.第一个字符

D.字符串变量。

15.C语言中以只读方式打开一个文件应选择()参数:

A

A.“r”

B.“w”

C.“rb”

D.“a”

16.以下能正确表示x在-5到-1或5到1范围(含5和1)内,值为“真”的表达式是:

A

A.(x>=-5)||(x<=-1)&&(x<=5)&&(x>=1)

B.!

(x>=-5||x<=-1&&x<=5||x>=1)

C.x<-5&&x>-1||x<1&&x>5

D.(x<-5)||(x>-1&&x<1)||(x>5)

17.设有数组定义:

chararray[]=”China”;则数组所占的存贮空间为:

C

A.4个字节

B.5个字节

C.6个字节

D.7个字节

18.已知函数的调用形式:

fread(buf,size,count,fp),参数buf的含义是:

C

A.一个整型变量,代表要读入的数据项总数

B.一个文件指针,指向要读的文件

C.一个指针,指向要读入数据的存放地址

D.一个存储区,存放要读的数据项

19.为了避免嵌套的条件分支语句if—else的二义性,C语言规定:

C程序中的else总是与()组成配对关系:

C

A.缩排位置相同的if

B.在其之前未配对的if

C.在其之前未配对的最近的if

D.同一行上的if

20.在C语言中,int,char和short三种类型数据在内存中所占用的字节数:

D

A.由用户自己定义

B.均为2个字节

C.是任意的

D.由所用机器的机器字长决定

21.能正确表示a和b同时为正或同时为负的逻辑表达式是:

D

A.a>=0||b>=0)&&(a<0||b<0)

B.(a>=0&&b>=0)&&(a<0&&b<0)

C.(a+b>0)&&(a+b<=0)

D.a*b>0

22.假设整型变量a,b,c的值均为5,则表达式a+++b+++c++的值为:

C

A.17

B.16

C.15

D.14

23.设整型变量a为5,使b不为2的表达式是:

c

A.b=a/2

B.b=6-(--a)

C.b=a%2

D.b=a>3?

2:

1

24.表达式“1?

(0?

3:

2):

(10?

1:

0)”的值为:

B

A.3

B.2

C.1

D.0

25.定义一个数组a是一个具有3个元素的指针数组,它的定义语句格式是:

c

A.<类型标识符>(*a)[3]

B.<类型标识符>*a[2]

C.<类型标识符>*a[3]

D.以上写法都不对。

26.表达式y=(13>12?

15:

6>7?

8:

9)的值为:

C

A.9

B.8

C.15

D.1

27.以下定义中,标识符prtint(*prt)[3]:

D

A.定义不含法

B.是一个指针数组名,每个元素都是一个指向整数变量的指针

C.是一个指针,它指向一个具有三个元素的一维数组

D.是一个指向整型变量的指针

28.若fp是指向某文件的指针,且已读到此文件的末尾,则函数feof(fp)的返

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1