软件学院专业课试题理工类answerWord格式文档下载.docx

上传人:b****6 文档编号:17368209 上传时间:2022-12-01 格式:DOCX 页数:16 大小:29.37KB
下载 相关 举报
软件学院专业课试题理工类answerWord格式文档下载.docx_第1页
第1页 / 共16页
软件学院专业课试题理工类answerWord格式文档下载.docx_第2页
第2页 / 共16页
软件学院专业课试题理工类answerWord格式文档下载.docx_第3页
第3页 / 共16页
软件学院专业课试题理工类answerWord格式文档下载.docx_第4页
第4页 / 共16页
软件学院专业课试题理工类answerWord格式文档下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

软件学院专业课试题理工类answerWord格式文档下载.docx

《软件学院专业课试题理工类answerWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《软件学院专业课试题理工类answerWord格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。

软件学院专业课试题理工类answerWord格式文档下载.docx

C.执行4次D.执行3次

5.以下程序的输出结果是A

#include<

stdio.h>

main()

{inti;

for(i=1;

i<

=5;

i++)

{if(i%2)printf("

*"

);

elsecontinue;

printf("

#"

}

}

A.*#*#*#B.*##*##*##*##

C.*#*#D.#*#*

6.以下程序的输出结果是C

#defineMAX(x,y)(x)>

=(y)?

(x):

(y)

{inti=10,j=15;

%d"

10*MAX(i,j));

A.15B.100

C.10D.150

7.设有说明:

int(*ptr)[8];

则ptr是C

A.指向整形变量的指针

B.指向函数的指针,该函数的返回值为int数据

C.指向一维数组的指针,该数组的基类型为int

D.长度为8的一维指针数组

8.以下程序段的输出结果是A

chara[]="

0123456789"

*p=a+4;

printf("

%c"

*p++);

A.4B.a[4]的地址

C.6D.5

9.下面程序的运行结果是B

#include<

{inta=1,b=10;

do

{b−=a;

a++;

}while(b−−<

0);

a=%d,b=%d\n"

a,b);

A.a=3,b=11B.a=2,b=8

C.a=1,b=−1D.a=4,b=9

10.执行下面程序,输入2后的输出结果是C

main()

{intk;

scanf("

&

k);

switch(k)

{case1:

%d\n"

k++);

break;

case2:

case3:

default:

Full!

\n"

A.1B.2

C.23D.23Full

11.若有以下结构体和变量定义,则以下引用方法不正确的是D

structworker

{intsno;

char*name;

}work,*p=&

work;

A.work.snoB.(*p).name

C.p->

snoD.work->

sno

12.chars[10],*p=s;

则以下不正确的表达式是B

A.p=s+1;

B.p=s++;

C.*(s+1)=*p;

D.*p++=s[2];

13.以下不能对二维数组a正确初始化的语句是A

A.inta[2][3]={{1,2,3},{4,5},{6}};

B.inta[][3]={{1,2,3},{4,5,6}};

C.inta[2][4]={1,2,3};

D.inta[][3]={{1,0,1},{},{1,1}};

14.若有以下说明和语句,则输出结果是C

charsp[]="

\t\n\\0will\n"

;

strlen(sp));

A.4B.3

C.9D.字符串中有非法字符

15.对于结构体类型,以下说法正确的是C

A.定义结构体时不能定义结构体变量

B.结构体变量所占的空间等于占空间最大的成员所需空间

C.结构体类型可以作为返回值类型

D.结构体定义后可以与标准类型一样使用,但前面必须使用struct

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

A./B.++

C.!

=D.%

17.以下程序段在VC6.0环境中运行的输出结果是

structstudentinfo

{charname[10];

intSNO;

charsex;

}student,*ps=&

student;

%d,%d"

sizeof(student),sizeof(ps));

的输出结果是B

A.15,15B.15,4

C.15,2D.4,2

18.根据17题中的结构体和变量定义,不能正确输出name成员的语句是C

A.printf("

%s"

student.name);

B.printf("

ps->

name);

C.printf("

*ps.name);

D.printf("

(*ps).name);

19.以下程序的输出结果是A

{inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};

%d%d%d%d\n"

a[0][3],a[1][2],a[2][1],a[3][0]);

A.0650B.147

C.5430D.输出值不定

20.设有以下变量定义:

charstr[20],i;

当输入“zhang空格hong回车”时,能正确读入“zhanghong”的程序段是C

A.scanf("

str);

B.for(i=0,str[i]=getchar();

str[i]!

\n'

str[i++]=getchar();

C.gets(str);

D.for(i=0,str[i]=getchar();

\0'

str[i]=scanf("

str[i]);

二、填空题(共10题,每题1分,共10分)

请按照试题中对应的标号顺序填写到答题表中

1.C函数中若省略函数类型说明,则该函数类型默认为int。

2.局部变量默认的存储类型为auto。

3.文件包含命令#include有两种形式,区别是搜索路径不同。

包含系统文件string.h应该使用#include<

string.h>

4.如果要限定变量的作用域仅在当前文件有效,应使用static关键字。

5.break和continue都可以用于循环结构中,其中continue只是结束本次循环,回到循环体第一条语句开始下次循环。

6.C语言变量有四种存储类别,其中关键字extern的含义是声明外部变量。

7.静态变量的初始化是在编译阶段完成的。

8.数组名作为实参使用时,传送的是数组首地址。

9.sizeof运算符的对象即可以是变量,也可以是常量。

10.C语言中多维数组可嵌套定义,即n维数组可看作元素类型为n-1维数组。

三、判断题

判断下题是否正确,正确的划√,错误的划×

(每题1分,共15分)

1.在do-while循环中,循环体至少执行一次。

(√)

2.C语言中局部变量和全部变量可以同名,并且在函数内局部变量优先于全局变量。

3.预处理命令都是以#号开头,且每行只能写一条命令。

(×

4.定义二维数组时,如果对数组的所有元素赋值,则可省略长度说明。

5.C语言要求所有被调用的函数一定要在调用语句之前进行定义。

6.函数内定义的静态变量当函数执行完其值依然存在。

7.void关键字只能用于定义函数,不能定义变量。

8.一个函数直接或间接的调用自己,称作递归调用。

9.全局变量是指在main函数中定义的变量。

10.for(exp1;

exp2;

exp3)语句s;

中的s可以是空语句。

11.结构体可以与标准类型一样使用,但前面须用struct关键字。

12.main函数称为主函数,是个无参函数。

13.表达式n=++i等价于n=i;

i=i+1;

14.语句chars[]="

test"

与chars[]={'

t'

'

e'

s'

};

是等价的。

15.C函数中的函数即可以嵌套定义,也可以嵌套调用。

四、阅读程序题

本题共5小题,每小题5分,共25分,请写出程序的运行结果

1.【程序】

stding.h>

{chari,s[5][81],max=0;

input5strings"

for(i=0;

5;

i++)

gets(s[i]);

if(strlen(s+i)>

max)

max=i;

puts(s[max]);

【运行结果】写出从键盘输入一下5个字符串时程序的运行结果

"

Program"

,"

Iamastudent"

wee"

computer"

 

Iamastudent

2.【程序】

main()

{inti,f1=1,f2=1;

{printf("

\t%d\t%d"

f1,f2);

f1=f1+f2;

f2=f1+f2;

%d,%d\n"

【运行结果】

1123581321345589,144

3.【程序】

voidfun(intn)

{staticintfn=1;

fn=fn*n;

\t%d"

fn);

for(i=2;

i++)fun(i);

2624120

4.【程序】

voidselect(intmax,inta[],intn)

max=a[0];

n;

if(a[i]>

max)max=a[i];

{inti,max=10,a[10]={10,20,30,40,50,60,70,80,90,100};

select(max,a,10);

\nmax=%d"

max);

max=10

5.【程序】写出输入84时程序运行结果

{intscore;

\ninputscore:

"

scanf("

score);

switch(score/10)

{case10:

case9:

\n优"

case8:

\n良"

case7:

case6:

\n及格"

\n不及格"

}}

及格

不及格

五、编程题(本题共1题,10分)

已知每张选票上按序印有候选人姓名,要求选民从中勾选3人,多选或少选都视为废票不予统计,统计选票时输入数据的格式为长度为5的由0和1组成的字符串:

“1”表示对相应候选人被选中,“0”表示未选中,如“01011”表示第2、4、5个候选人被选中。

请编写程序读入每张选票的投票信息,若为有效选票则统计到结果中,当输入空串时结束,输出以下统计结果:

1.总有效投票数。

2.每个候选人姓名及投票数。

提示:

候选人信息已保存在以下的数组中,无须再从键盘输入。

structitem/*保存候选人及得票信息的结构体*/

{charname[20];

/*候选人姓名*/

intcount;

/*得票数*/

}mans[5]={{"

name1"

0},{"

name2"

name3"

name4"

name5"

0}};

{charstr[6];

inti,flag,count=0;

gets(str);

while(str[0]!

{for(flag=0,i=0;

6;

if(str[i]=='

1'

)flag++;

if(flag==3)

{count++;

if(str[i]=='

)mans[i].count++;

count=%d\n"

count);

for(i=0;

i++)printf("

%s=%d\n"

mans[i].name,mans[i].count);

第二部分软件工程概论部分100分

一、单项选择题(共18小题,每题2分,共36分)

1.软件开发瀑布模型的各个阶段依次是A

A.分析→设计→编码→测试→维护B.设计→定义→开发→测试→维护

C.分析→定义→设计→编码→测试D.设计→分析→编码→测试→维护

2.软件可行性研究一般不考虑D

A.是否有足够的人员和相关的技术的来支持系统开发

B.是否有足够的工具和相关的技术的来支持系统开发

C.待开发软件是否有市场、经济上是否合算

D.待开发软件是由会有质量问题

3.需求分析阶段的主要任务是确定D

A.软件开发方法B.软件的总体结构

C.软件开发的费用D.软件系统的功能

4.结构化分析方法(SA)的主要特点是A

A.面向数据流自顶向下,逐步求精的方法B.由内向外进行分析的方法

C.先局部后整体的分析方法D.使用IPO图形工具分析的方法

5.软件总体设计阶段的任务不包括C

A.设计软件的模块结构B.定义接口并建立数据结构

C.模块设计D.生成模块设计规格说明

6.数据流图中的每个加工至少需要B

A.一个输入流B.一个输出流和一个输入流

C.一个输入或输出流D.一个输出流

7.以下叙述中模块内聚性最高的是D

A.逻辑内聚B.时间内聚

C.通信内聚D.功能内聚

8.(C)和数据流图共同构成系统的逻辑模型,没有它数据流图就不完整。

A.系统流程图B.E-R图

C.数据字典D.层次方框图

9.在详细设计阶段经常采用的图形工具包括D

A.PAD图B.程序流程图

C.N-S图D.以上都是

10.Jackson设计方法是一种面向(C)的软件设计方法。

A.对象B.数据流

C.数据结构D.控制结构

11.按照总体设计中启发式规则,模块的作用域和控制域之间的关系应满足A

A.模块的作用域应在模块的控制域之间B.模块的控制域应在模块的控制域之间

C.模块的控制域与模块的作用域相互独立D.以上说法都不对

12.一般来说,在软件生命周期中成本最高的阶段是D

A.详细设计B.软件编码

C.软件测试D.软件维护

13.模块间耦合程度由低到高的顺序是B

A.控制耦合<

特征耦合<

公共耦合<

内容耦合<

数据耦合

B.数据耦合<

控制耦合<

内容耦合

C.数据耦合<

D.内容耦合<

数据耦合<

公共耦合

14.常用的黑盒测试方法不包括C

A.等价类划分B.边界值分析

C.逻辑覆盖D.错误推测

15.软件维护阶段的四类维护活动是A

A.改正性维护,适应性维护,完善性维护和预防性维护

B.适应性维护,完善性维护,抢救性维护和辅助性维护

C.改正性维护,适应性维护,完善性维护和辅助性维护

D.适应性维护,完善性维护,抢救性维护和预防性维护

16.因计算机软硬件环境的变化而作出的修改软件的过程属于B

A.改正性维护B.适应性维护

C.完整性维护D.预防性维护

17.逻辑覆盖方法中,覆盖程度最强的是A

A.路径覆盖B.条件覆盖

C.判定条件覆盖D.语句覆盖

18.以下(B)语句不属于面向对象的语言

A.JavaB.C

C.C++D.C#

二、填空题(共9题,每空1分,共10分)

1.软件工程方法学主要包括3个要素:

方法、工具和过程。

2.UML中定义9种图用于从不同角度描述系统,其中描述系统物理实现和配置的图有:

构件图和部署图。

3.面向对象程序设计以对象为基本的逻辑构件,通过继承机制实现重用性。

4.数据流图可分为变换型数据流图和事务型数据流图两大类。

5.一个模块直接调用下级模块的个数称为扇出。

6.从工程管理的角度看,软件设计可分为总体设计和详细设计两大步骤。

7.“OOD”的含义是面向对象设计。

8.相同的操作用于不同的对象上可获得不同的结果,这种现象称为多态性。

9.结构化程序设计中程序的三种基本结构是:

顺序、选择、循环。

三、判断题(共15题,每题1分,共15分)判断下列各题是否正确,正确的划√,错误的划×

1.HIPO图是面向对象设计工具之一。

2.测试过程没有发现任何错误,也不能说明软件没有错误。

3.数据库设计属于软件概要设计阶段。

4.软件就是完成特定功能的程序的集合。

5.对象之间的通信仅通过消息传递机制。

6.软件可行新分析研究的目的是最小的代价在尽可能的时间内确定该软件项目是否能够开发,是否值得去开发。

7.集成测试多用于“灰盒”测试技术,即它即应用黑盒测试技术也是用白盒测试技术。

8.瀑布模型可以有效地用户需求的变化,因此适合大型的系统。

9.结构化程序设计要求每个模块具有单入口,单出口。

10.将软件系统划分为模块时,应尽量做到高内聚低耦合。

11.详细设计的结构基本决定了最终程序的质量。

12.验收测试是由用户依据软件需求规格说明书单独进行的。

13.运用面向对象方法开发的软件一般是由很多较小的对象组成,从而降低了软件产品的复杂性,使得开发和维护更为简单有效。

14.瀑布模型在实际的项目中严格顺序执行就可以成功。

15.从模块独立性的角度,应尽量使用内容耦合。

四、名词解释题(共4小题,共9分)

1.软件生命周期(3分)

一个软件从定义,开发,使用和维护直至最后被废弃要经历的漫长时期。

2.模块独立性(2分)

模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少,且接口简单。

3.白盒测试(2分)

又称结构测试、逻辑驱动测试或基于程序的测试,它依赖于对程序内部结构的严密检验,针对特定条件设计测试用例,对软件的逻辑路径进行测试。

4.对象(2分)

对象是指客观事物或概念的抽象描述,对象不仅能表示具体的实体,也能表示抽象的规则、计划、事件。

五、简单题(共3小题,每题5分,共15分)

1.简述面向对象开发方法的优点

与人类习惯的思维方式一致

软件稳定性好

可重用性好

适合开发大型软件产品

可维护性好

2.决定软件可维护性的因素有哪些?

可理解性

可测试性

可修改性

可移植性

可重用性

3.简述快速原型模型及其特点

原型模型是一个快速开发的过程。

首先和用户沟通进行主要功能的需求分析和快速设计,然后建立一个原型模型,再请用户进行评价和反馈。

开发人员根据用户的反馈进一步细化需求,改进原型系统的设计,如此反复直至用户满意。

特点:

优点:

(1)出品速度快。

(2)逐步求精。

(3)开发阶段迭代。

缺点:

(1)实现过程中不应有的折衷方案。

(2)开发者急于完成原型而忽略了整体设计和可维护性;

(3)用户的参与过多也造成了软件开发管理的混乱。

六、应用题(共15分)

某教学管理信息系统中要求用户输入成绩,成绩限制为0到100之间的整数,小数或其他字符无效。

如果输入成绩不在此范围内,则显示“输入错误”,输入的成绩小于60,则显示“不及格”,大于等于60显示“及格”。

要求:

分别用

(1)等价

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

当前位置:首页 > 高中教育 > 数学

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

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