模拟试题2.docx

上传人:b****4 文档编号:5007887 上传时间:2022-12-12 格式:DOCX 页数:21 大小:29.76KB
下载 相关 举报
模拟试题2.docx_第1页
第1页 / 共21页
模拟试题2.docx_第2页
第2页 / 共21页
模拟试题2.docx_第3页
第3页 / 共21页
模拟试题2.docx_第4页
第4页 / 共21页
模拟试题2.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

模拟试题2.docx

《模拟试题2.docx》由会员分享,可在线阅读,更多相关《模拟试题2.docx(21页珍藏版)》请在冰豆网上搜索。

模拟试题2.docx

模拟试题2

 

一、选择题

在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)程序流程图中带有箭头的线段表示的是

A)图元关系

B)数据流

C)控制流

D)调用关系

(2)下面不属于软件设计原则的是

A)抽象

B)模块化

C)自底向上

D)信息隐蔽

(3)下列选项中,不属于模块间耦合的是

A)数据耦合

B)标记耦合

C)异构耦合

D)公共耦合

(4)下列叙述中,不属于软件需求规格说明书的作用的是

A)便于用户、开发人员进行理解和交流

B)反映出用户问题的结构,可以作为软件开发工作的基础和依据

C)作为确认测试和验收的依据

D)便于开发人员进行需求分析

(5)算法的时间复杂度是指

A)执行算法程序所需要的时间

B)算法程序的长度

C)算法执行过程中所需要的基本运算次数

D)算法程序中的指令条数

(6)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是

A)堆排序

B)直接插入排序

C)快速排序

D)B)和C)

(7)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是

A)ABCED

B)DCBEA

C)DBCEA

D)CDABE

(8)数据库设计包括两个方面的设计内容,它们是

A)概念设计和逻辑设计

B)模式设计和内模式设计

C)内模式设计和物理设计

D)结构特性设计和行为特性设计

(9)关系表中的每一横行称为一个

A)元组

B)字段

C)属性

D)码

(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为

A)课号,成绩

B)学号,成绩

C)学号,课号

D)学号,姓名,成绩

(11)以下不正确的叙述是

A)在C程序中,逗号运算符的优先级最低

B)在C程序中,APH和aph是两个不同的变量

C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变

D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

(12)以下可用作C语言用户标识符的是

A)void,define,WORD

B)a3_b3,_123,IF

C)FOR,--abc,Case

D)2a,Do,Sizeof

 

(13)以下选项中,不能作为合法常量的是

A)1.234e04

B)1.234e0.4

C)1.234e+4

D)1.234e0

(14)在C语言中,运算对象必须是整型数的运算符是

A)%

B)\

C)%和\

D)**

(15)若变量均已正确定义并赋值,以下合法的C语言赋值语句是

A)x=y==5;

B)x=n%2.5;

C)x+n=i;

D)x=5=4+1;

(16)有以下程序段

charch;intk;

ch='a';k=12;

printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);

已知字符a的ASCII码值为97,则执行上述程序段后输出结果是

A)因变量类型与格式描述符的类型不匹配输出无定值

B)输出项与格式描述符个数不符,输出为零值或不定值

C)a,97,12k=12

D)a,97,k=12

 

(17)已知字母A的ASCII代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是

A)kk>='A'&&kk<='Z'

B)!

(kk>='A'||kk<='Z')

C)(kk+32)>='a'&&(kk+32)<='Z'

D)isalpha(kk)&&(kk<91)

 

(18)当变量c的值不为2、4、6时,值也为"真"的表达式是

A)(c==2)||(c==4)||(c==6)

B)(c>=2&&c<=6)||(c!

=3)||(c!

=5)

C)(c>=2&&c<=6)&&!

(c%2)

D)(c>=2&&c<=6)&&(c%2!

=1)

(19)若有条件表达式(exp)?

a++:

b--,则以下表达式中能完全等价于表达式(exp)的是

A)(exp==0)

B)(exp!

=0)

C)(exp==1)

D)(exp!

=1)

(20)以下不正确的定义语句是

A)doublex[5]={2.0,4.0,6.0,8.0,10.0};

B)inty[5]={0,1,3,5,7,9};

C)charc1[]={'1','2','3','4','5'};

D)charc2[]={'\x10','xa','\x8'};

 

(21)下列程序执行后的输出结果是

main()

{inta[3][3],*p,i;

p=&a[0][0];

for(i=1;i<9;i++)p[i]=i+1;

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

A)3

B)6

C)9

D)随机数

(22)设有以下程序段

intx=0,s=0;

while(!

x!

=0)s+=++x;

printf("%d",s);

A)运行程序段后输出0

B)运行程序段后输出1

C)程序段中的控制表达式是非法的

D)程序段执行无限次

(23)(23)下面程序段的运行结果是

char*s="abcde";

s+=2;printf("%d",s);

A)cde

B)字符'c'

C)字符'c'的地址

D)无确定的输出结果

 

(24)阅读下列程序,则执行后的结果为

#include"stdio.h"

main()

{intc[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};

printf("%x,%x\n",c[2][2],*(*(c+1)+1));}

A)3e,6

B)62,5

C)56,5

D)3E,6

(25)下面判断正确的是

A)char*a="china";等价于char*a;*a="china";

B)charstr[5]={"china"};等价于charstr[]={"china"};

C)char*s="china";等价于char*s;s="china";

D)charc[4]="abc",d[4]="abc";等价于charc[4]=d[4]="abc";

(26)若有定义:

inta[2][3];,以下选项中对a数组元素正确引用的是

A)a[2][!

1]

B)a[2][3]

C)a[0][3]

D)a[1>2][!

1]

(27)有定义语句:

chars[10];,若要从终端给s输入5个字符,错误的输入语句是

A)gets(&s[0]);

B)scanf("%s",s+1);

C)gets(s);

D)scanf("%s",s[1]);

(28)有以下程序

#include

#defineN5

#defineMN+1

#definef(x)(x*M)

main()

{inti1,i2;

i1=f

(2);

i2=f(1+1);

printf("%d%d\n",i1,i2);

}

程序的运行结果是

A)1212

B)117

C)1111

D)127

(29)若有以下说明和定义

uniondt

{inta;charb;doublec;}data;

以下叙述中错误的是

A)data的每个成员起始地址都相同

B)变量data所占内存字节数与成员c所占字节数相等

C)程序段:

data.a=5;printf("%f\n",data.c);输出结果为5.000000

D)data可以作为函数的实参

(30)有以下程序

#include

main()

{FILE*fp;intk,n,a[6]={1,2,3,4,5,6};

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

fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);

fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);

fclose(fp);

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

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

fclose(fp);

}

程序运行后的输出结果是

A)12

B)14

C)1234

D)123456

(31)若已定义

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

其中

则对a数组元素不正确的引用是

A)a[p-a]

B)*(&a[i])

C)p[i]

D)a[10]

(32)有以下程序

#include

voidfun(int*s,intn1,intn2)

{inti,j,t;

i=n1;j=n2;

while(i

}

main()

{inta[10]={1,2,3,4,5,6,7,8,9,0},k;

fun(a,0,3);fun(a,4,9);fun(a,0,9);

for(k=0;k

}

程序的运行结果是

A)0987654321

B)4321098765

C)5678901234

D)0987651234

 

(33)阅读下列程序,当运行函数时,输入asdafaaz67,则输出为

#include

#include

#include

intfun(char*str)

{inti,j=0;

for(i=0;str[i]!

='\0';i++)

if(str[i]!

='')str[j++]=str[i];

str[j]='\0';

}

main()

{

charstr[81];

intn;

printf("Inputastring:

");

gets(str);

puts(str);

fun(str);

printf("%s\n",str);

}

A)asdafaaz67

B)asdafaaz67

C)asd

D)z67

 

(34)有以下程序

intfun(intn)

{if(n==1)return1;

else

return(n+fun(n-1));

}

main()

{intx;

scanf("%d",&x);x=fun(x);printf("%d\n",x)

}

执行程序时,给变量x输入10,程序的输出结果是

A)55

B)54

C)65

D)45

(35)下面程序段中,输出*的个数是

char*s="\ta\018bc";

for(;*s!

='\0';s++)printf("*");

A)9

B)5

C)6

D)7

(36)C语言结构体类型变量在程序运行期间

A)TC环境在内存中仅仅开辟一个存放结构体变量地址的单元

B)所有的成员一直驻留在内存中

C)只有最开始的成员驻留在内存中

D)部分成员驻留在内存中

(37)已知函数的调用形式为fread(buf,size,count,fp),参数buf的含义是

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

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

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

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

(38)设有以下语句

charx=3,y=6,z;

z=x^y<<2;

则z的二进制值是

A)00010100

B)00011011

C)00011100

D)00011000

(39)在C语言中,只有在使用时才占用内存单元的变量,其存储类型是

A)auto和register

B)extern和register

C)auto和static

D)static和register

(40)设有定义语句int(*f)(int);,则以下叙述正确的是

A)f是基类型为int的指针变量

B)f是指向函数的指针变量,该函数具有一个int类型的形参

C)f是指向int类型一维数组的指针变量

D)f是函数名,该函数的返回值是基类型为int类型的地址

 

二、填空题

请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。

(1)测试用例包括输入值集和【1】值集。

(2)在树形结构中,树根结点没有【2】。

(3)数据结构分为逻辑结构与存储结构,线性链表属于【3】。

(4)一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体"项目主管"与实体"项目"的联系属于【4】的联系。

(5)数据库设计分为以下6个设计阶段:

需求分析阶段、【5】、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。

(6)阅读下面程序段,执行后输出的结果是【6】。

#include"stdio.h"

main()

{charfun(char,int);

chara='A';

intb=13;

a=fun(a,b);

putchar(a);}

charfun(chara,intb)

{chark;

k=a+b;

returnk;

}

 

(7)函数fun的返回值是【7】

fun(char*a,char*b)

{intnum=0,n=0;

while(*(a+num)!

='\0')mm++;

while(b[n]){*(a+num)=b[n];num++;n++;}

returnnum;

}

(8)以下程序的功能是:

删去一维数组中所有相同的数,使之只剩一个。

数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。

例如,若一维数组中的数据是:

2223445666677899101010

删除后,数组中的内容应该是:

2345678910。

请填空。

#include

#defineN80

intfun(inta[],intn)

{inti,j=1;

for(i=1;i

if(a[j-1]【8】a[i])

a[j++]=a[i];

【9】;

}

main()

{inta[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10},i,n=19;

printf("Theoriginaldata:

\n");

for(i=0;i

n=fun(a,n);

printf("\nThedataafterdeleted:

\n");

for(i=0;i

}

(9)以下程序的运行结果是【10】。

#include

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

case3:

a++;b++;

}

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

}

 

(10)以下程序的输出结果是【11】。

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31;

fun(6,3,a)

printf("%d",a)

}

(11)函数my_cmp()的功能是比较字符串s和t的大小,当s等于t时返回0,否则返回s和t的第一个不同字符的ASCII码差值,即s>t时返回正值,s

请填空。

My_cmp(char*s,char*t)

{while(*s==*t)

{if(*s==′\0)return0;

++s;++t;

}return【12】;

}

(12)以下程序的输出结果是【13】。

voidreverse(inta[],intn)

{inti,t;

for(i=0;i

{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}

}

main()

{intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;

reverse(b,8);

for(i=6;i<10;i++)s+=b[i];

printf("%d\n",s);

}

(13)以下说明语句中,【14】是结构体类型名。

typedefstruct

{intn;

charch[8];

}PER;

(14)以下程序的作用是:

从名为filea.dat的文本文件中逐个读入字符并显示在屏幕上。

请填空。

#include

main()

{FILE*fp;charch;

fp=fopen(【15】);

ch=fgetc(fp);

while(!

feof(fp)){putchar(ch);ch=fgetc(fp);}

putchar('\n');fclose(fp);

}

 

一、选择题

(1)C

【解析】程序流程图是人们对解决问题的方法、思路或算法的一种图形方式的描述。

其中,图框表示各种操作的类型,图框中的文字和符号表示操作的内容;流程线表示操作的先后次序。

带箭头的线段在数据流程图中表示数据流;带箭头的线段在程序流程图中表示控制流。

题中给出的选项中,在图元之间用带有箭头的线段表示图元关系。

在模块之间用带有箭头的线段表示调用关系。

(2)C

【解析】软件设计遵循软件工程的基本目标和原则,建立了适用于在软件设计中应该遵循的基本原理和与软件设计有关的概念,它们具有抽象、模块化、信息隐蔽和数据独立性。

自底向上是集成测试中增量测试的一种。

(3)C

【解析】模块之间的耦合程度反映了模块的独立性,也反映了系统分解后的复杂程度。

按照耦合程度从强到弱分别是:

内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合和非直接耦合,没有异构耦合这种方式。

(4)D

【解析】软件需求规格说明书(SRS,SoftwareRequirementSpecification)是需求分析阶段的最后成果,是软件开发中的重要文档之一。

它具有以下几个方面的作用:

①便于用户、开发人员进行理解和交流;②反映出用户问题的结构,可以作为软件开发工作的基础和依据;③作为确认测试和验收的依据。

(5)C

【解析】算法的复杂度主要包括算法的时间复杂度和空间复杂度。

所谓算法的时间复杂度是指执行算法所需要的计算工作量,即算法执行过程中所需要的基本运算的次数;算法的空间复杂度一般是指执行这个算法所需要的内存空间。

(6)B

【解析】堆排序的比较次数为nlog2n;直接插入排序的比较次数为n(n-1)/2;快速排序的比较次数为nlog2n。

 

(7)B

【解析】栈操作原则上"后进先出",栈底至栈顶依次存放元素A、B、C、D,则表明这4个元素中D是最后进栈,B、C处于中间,A最早进栈,所以出栈时一定是先出D,再出C,最后出A。

(8)A

【解析】数据库设计包括数据库概念设计和数据库逻辑设计两个方面的内容。

(9)A

【解析】关系表中,每一行称为一个元组,对应表中的一条记录;每一列称为一个属性,对应表中的一个字段;在二维表中凡能唯一标识元组的最小属性集称为该表的键或码。

(10)C

【解析】"选课SC"表是"学生S"表和"课程C"表的映射表,主键是两个表主键的组合。

(11)D

【解析】在C语言所有的运算符中,逗号运算符的优先级最低。

C语言中区分大小写,所以APH和aph是两个不同的变量。

赋值表达式a=b表示将b的值付给a,而b本身的值保持不变;通过键盘可以向计算机输入允许的任何类型的数据。

选项D)中当从键盘输入数据时,对于整型变量可以输入整型数值和字符,对于实型变量可以输入实型数值和整型数值等。

(12)B

【解析】C语言规定用户标识符由字母、数字和下划线组成,且第一个字符必须是字母或下划线,可见选项C),D)是错误的;此外,C语言不允许用户将关键字作为标识符,而选项A)中的void正是C语言的关键字。

(13)B

【解析】C语言的语法规定,字母e(E)之前必须有数字,且e(E)后面的指数必须是整数,而选项B)中,e(E)后面的指数是小数,所以不合法。

(14)A

【解析】在C语言中,"%"运算符两侧的运算数必须是整型。

(15)A

【解析】赋值运算符左侧的操作数必须是一个变量,而不能是表达式或者常量,选项C)和D)错误。

"%"运算符两侧都应当是整型数据,选项B)错误。

(16)D

【解析】输出格式控制符%c表示将变量以字符的形式输出;输出格式控制符%d表示将变量以带符号的十进制整型数输出,所以第一个输出语句输出的结果为a,97;第二个输出语句输出的结果为k=12。

(17)B

【解析】C语言的字符以其ASCII码的形式存在,所以要确定某个字符是大写字母,只要确定它的ASCII码在'A'和'Z'之间就可以了,选项A)和C)符合要求。

函数isalpha用来确定一个字符是否为字母,大写字母的ASCII码值的范围为65到90,所以如果一个字母的ASCII码小于91,那么就能确定它是大写字母。

(18)B

【解析】满足表达式(c>=2&&c<=6)的整型变量c的值是2,3,4,5,6。

当变量c的值不为2,4,6时,其值只

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

当前位置:首页 > 求职职场 > 简历

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

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