软件开发考试题模拟题答案Word文档格式.docx

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

软件开发考试题模拟题答案Word文档格式.docx

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

软件开发考试题模拟题答案Word文档格式.docx

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.在软件生命周期中,能准确完成程序的编码的阶段是:

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

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

#include<

stdio.h>

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)中的箭头代表的是:

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

8.下面程序的输出是:

main()

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

char*aa[]={"

AA"

"

BB"

CC"

DD"

};

%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,则以下程序的运行结果是:

intx,y;

scanf(“%d”,&

x);

y=x>

12?

x+10:

x–12;

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

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

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

A.%B./C.<

D.!

12.以下程序语句中

y=–1;

if(x!

=0)

if(x>

0)y=1;

elsey=0;

所表示的数学函数关系是:

–1(x<

0)1(x<

0)

A.y=0(x=0)

B.y=–1(x=0)

1(x>

0)0(x>

0(x<

0)–1(x<

C.y=–1(x=0)

D.y=1(x=0)

13.若有以下函数定义:

myfun(doublea,intn)

{……}

则myfun函数值的类型是

A.void

B.double

C.int

D.char

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

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

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

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

B.main(inta,char**b)

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

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

16.以下的for循环:

for(x=0,y=0;

(y!

=123)&

&

(x<

4);

x++)

A.是无限循环

B.循环次数不定

C.执行4次

D.执行3次

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

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

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

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

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

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

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

B.自顶向下

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

D.限制使用goto语句

19.以下程序中

main()

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

if(x=y+z)printf("

****"

);

elseprintf("

####"

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

B.输出****

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

D.输出####

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

intx=123;

do

{printf("

=\n"

x--);

while(!

A.打印出321

B.打印出123

C.不打印任何内容

D.陷入死循环

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

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

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

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

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

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

D

A.acbed

B.decab

C.deabc

D.cedba

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

A.DoubleB.floatC.integerD.Char

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

sub(int*s,inty)

{staticintt=3;

y=s[t];

t––;

{inta[]={1,2,3,4},i,x=0;

for(i=0;

i<

4;

i++){

sub(a,x);

%d"

x);

}

\n"

A.1234B.0000C.4321D.4444

25.C程序中的语句:

char*func(intx,inty);

它是:

A.对函数func的定义

B.对函数func的调用

C.对函数func的原型说明

D.不合法的

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

{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;

%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.对下述程序,描述正确的是:

main()

{inta,b;

scanf("

%d,%d"

&

a,&

if(a>

b)a=b;

b=a;

elsea++;

b++;

a,b);

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

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

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

29.下面程序的输出是:

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

10;

i++)

arr[i]=i;

for(i=1;

k+=arr[i]+i;

%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后一对圆括号中的表达式,以下叙述中错误的是:

A.只能用逻辑表达式

B.只能用关系表达式

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

D.可用任意表达式

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

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

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

7.若有以下程序

#include

voidf(intn);

{voidf(intn);

f(5);

voidf(intn)

%d\n"

n);

}

则以下叙述中正确的是:

ABD

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

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

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

提示对f函数重复说明

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

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

A.doB.NameC.R5D._exam

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

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);

{sum=sum+k;

4.main()

{intk,a(8);

for(k=0;

k<

10;

k++)

scanf(“%d”,&

a(k));

......}

intk,a[8];

a[k]);

5.main()

{inta;

scanf(“%d”,a);

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

%d,"

if(a==1)

四.编程题(共计10分)

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

  如,输入如下整数:

  234345753134436458100321135760  则输出结果为6,100。

部分源程序给出如下。

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

试题程序:

  #include<

conio.h>

  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]);

 答案

  {inti;

  *k=0;

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

  for(i=0;

t;

  if(s[*k]>

s[i])

  *k=i;

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

  returns[*k];

/*返回数组的最小元素*/}

模拟题:

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

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

A.While

B.Name

C.Rern5

D._exam

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

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

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

A.a==1

B.++i;

C.a=a++=5;

D.a=int(i);

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

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的表达式是:

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

6.有以下程序

{FILE*fp;

inti=20,j=30,k,n;

fp=fopen("

d1.dat"

w"

);

fprintf(fp,"

i);

j);

fclose(fp);

r"

fscanf(fp,"

%d%d"

,&

k,&

n);

printf("

%d%d\n"

k,n);

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

A

A.2030

B.2050

C.3050

D.3020

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

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

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

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

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

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

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

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

C.跳出多重循环

D.只能修改控制变量

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

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值的语句是:

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语言中各种基本数据类型的存储空间长度排列为:

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为合法的结构体变量的是:

A.typedefstructabc

{doublea;

charb[10];

}s;

B.struct

C.structABC

ABCs;

D.typedefABC

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

#include“stdio.h”

{inta[]={8,2,9,4,1},*p;

*(p+2)+=2;

printf(“%d,%d”,*p,*(p+2));

A.8,11B.9,16C.2,11D.8,10

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

A.字符串的首地址。

B.字符串

C.第一个字符

D.字符串变量。

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

A.“r”

B.“w”

C.“rb”

D.“a”

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

A.(x>

=-5)||(x<

=-1)&

=5)&

(x>

=1)

B.!

=-5||x<

=-1&

x<

=5||x>

C.x<

-5&

x>

-1||x<

1&

D.(x<

-5)||(x>

-1&

1)||(x>

5)

17.设有数组定义:

chararray[]=”China”;

则数组所占的存贮空间为:

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总是与()组成配对关系:

A.缩排位置相同的if

B.在其之前未配对的if

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

D.同一行上的if

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

A.由用户自己定义

B.均为2个字节

C.是任意的

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

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

A.a>

=0||b>

=0)&

(a<

0||b<

B.(a>

=0&

b>

0&

b<

C.(a+b>

0)&

(a+b<

D.a*b>

22.假设整型变量a,b,c的值均为5,则表达式a+++b+++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:

24.表达式“1?

(0?

3:

2):

(10?

1:

0)”的值为:

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>

15:

6>

7?

8:

9)的值为:

A.9

B.8

D.1

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

A.定义不含法

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

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

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

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

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

当前位置:首页 > 经管营销 > 公共行政管理

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

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