模拟试题5Word文档格式.docx
- 文档编号:18752888
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:23
- 大小:46.76KB
模拟试题5Word文档格式.docx
《模拟试题5Word文档格式.docx》由会员分享,可在线阅读,更多相关《模拟试题5Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
C)T=R×
S
D)T=R/S
(9)下列叙述中,正确的是
A)用E-R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系
B)用E-R图只能表示实体集之间一对一的联系
C)用E-R图只能表示实体集之间一对多的联系
D)用E-R图表示的概念数据模型只能转换为关系数据模型
(10)下列有关数据库的描述,正确的是
A)数据处理是将信息转化为数据的过程
B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变
C)关系中的每一列称为元组,一个元组就是一个字段
D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字
(11)C语言规定,在一个源程序中,main函数的位置
A)必须在最开始
B)必须在系统调用的库函数的后面
C)可以任意
D)必须在最后
(12)以下叙述中错误的是
A)计算机不能直接执行用C语言编写的源程序
B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件
C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件
D)后缀为.obj和.exe的二进制文件都可以直接运行
(13)下列选项可以正确表示字符型常量的是
A)'
\r'
B)"
a"
C)"
\897"
D)296
(14)以下叙述中正确的是
A)构成C程序的基本单位是函数
B)可以在一个函数中定义另一个函数
C)main()函数必须放在其他函数之前
D)C函数定义的格式是K&
R格式
(15)设变量均已正确定义,若要通过scanf("
%d%c%d%c"
&
a1,&
c1,&
a2,&
c2);
语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。
以下所示的输入形式中正确的是(注:
□代表空格字符)
A)10□X□20□Y<
回车>
B)10□X20□Y<
C)10□X<
20□Y<
D)10X<
20Y<
(16)若有说明:
int*p,m=5,n;
以下正确的程序段是
A)p=&
n;
scanf("
%d"
p);
B)p=&
*p)
C)scanf("
n);
*p=n;
D)p=&
*p=m;
(17)在执行下述程序时,若从键盘输入6和8,则结果为
main()
{inta,b,s;
%d%d"
a,&
b);
s=a;
if(a<
b)
s=b;
s*=s;
printf("
s);
}
A)36
B)64
C)48
D)以上都不对
(18)若执行下面的程序时,从键盘输入5和2,则输出结果是
{inta,b,k;
scanf("
%d,%d"
k=a;
if(a<
b)k=a%b;
elsek=b%a;
printf("
%d\n"
k);
}
A)5
B)3
C)2
D)0
(19)在C语言中,函数返回值的类型最终取决于
A)函数定义时在函数首部所说明的函数类型
B)return语句中表达式值的类型
C)调用函数时主调函数所传递的实参类型
D)函数定义时形参的类型
(20)已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。
以下不能将变量c中的大写字母转换为对应小写字母的语句是
A)c=(c-'
A'
)%26+'
a'
B)c=c+32
C)c=c-'
+'
D)c=('
+c)%26-'
(21)以下选项中,当x为大于l的奇数时,值为0的表达式是
A)x%2==1
B)x/2
C)x%2!
=0
D)x%2==0
(22)有以下程序
{intk=5,n=0;
do
{switch(k)
{case1:
case3:
n+=1;
k--;
break;
default:
n=0;
case2:
case4:
n+=2;
n);
}while(k>
0&
&
n<
5);
程序运行后的输出结果是
A)235
B)0235
C)02356
D)2356
(23)有如下程序
{intn=9;
while(n>
6){n--;
}}
该程序的输出结果是
A)987
B)876
C)8765
D)9876
(24)有以下程序
stdio.h>
{intc;
while((c=getchar())!
='
\n'
)
{switch(c-'
2'
{case0:
case1:
putchar(c+4);
case2:
case3:
putchar(c+3);
case4:
}}
\n"
);
从第一列开始输入以下数据<
CR>
代表一个回车符。
2743<
程序的输出结果是
A)66877
B)668966
C)6677877
D)6688766
(25)有以下程序
{intx=0,y=0,i;
for(i=1;
;
++i)
{if(i%2==0){x++;
continue;
if(i%5==0){y++;
printf("
%d,%d"
x,y);
A)2,1
B)2,2
C)2,5
D)5,2
(26)有以下程序
{inta[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t;
for(i=0;
i<
4;
i++)
for(j=0;
j<
3;
j++)
for(k=j+1;
k<
k++)
if(a[j][i]>
a[k][i]){t=a[j][i];
a[j][i]=a[k][i];
a[k][i]=t;
}/*按列排序*/
i++)printf("
%d,"
a[i][i]);
A)1,6,5,7,
B)8,7,3,1,
C)4,7,5,2,
D)1,6,2,1,
(27)有以下程序
intf(intn)
{if(n==1)return1;
elsereturnf(n-1)+1;
{inti,j=0;
for(i=1;
i++)j+=f(i);
j);
A)4
B)3
C)2
D)1
(28)当运行以下程序时,从键盘输入AhaMA(空格)Aha<
则下面程序的运行结果是
{chars[80],c='
inti=0;
%s"
while(s[i]!
\0'
)
{if(s[i]==c)s[i]=s[i]-32;
elseif(s[i]==c-32)s[i]=s[i]+32;
i++;
puts(s);
A)ahAMa
B)AbAMa
C)AhAMa[空格]ahA
D)ahAMa[空格]ahA
(29)下面程序输出的结果是
{inti;
inta[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;
%d"
a[2-i][i]);
A)159
B)753
C)357
D)591
(30)现有如下程序段
#include"
stdio.h"
{inta[5][6]={23,3,65,21,6,78,28,5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1};
inti=0,j=5;
*(&
a[0][0]+2*i+j-2));
则程序的输出结果为
A)21
B)78
C)23
D)28
(31)请选出正确的程序段
A)int*p;
p);
…
B)int*s,k;
*s=100;
C)int*s,k;
char*p,c;
s=&
k;
p=&
c;
*p=′a′;
D)int*s,k;
char*p,e;
s=p;
*s=1;
…
(32)下面程序段的运行结果是
chara[]="
lanuage"
*p;
p=a;
while(*p!
u'
){printf("
%c"
*p-32);
p++;
A)LANGUAGE
B)language
C)LAN
D)langUAGE
(33)以下程序的输出结果是
inta[3][3]={1,2,3,4,5,6,7,8,9,},*p;
{p=(int*)malloc(sizeof(int));
f(p,a);
*p);
free(p);
f(int*s,intp[][3])
{*s=p[1][1];
A)1
B)4
C)7
D)5
(34)有以下程序
voidf(int*q)
{inti=0;
for(;
5;
i++)(*q)++;
{inta[5]={1,2,3,4,5},i;
f(a);
i++)printf("
a[i]);
A)2,2,3,4,5,
B)6,2,3,4,5,
C)1,2,3,4,5,
D)2,3,4,5,6,
(35)以下合法的字符型常量是
\x13'
B)'
\081'
C)'
65'
D)"
(36)有以下语句,则对a数组元素的引用不正确的是
inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
A)a[p-a]
B)*(&
a[i])
C)p[i]
D)*(*(a+i))
(37)有以下程序
#include<
string.h>
{charp[20]={'
'
b'
'
c'
d'
},q[]="
abc"
r[]="
abcde"
strcat(p,r);
strcpy(p+strlen(q),q);
strlen(p));
A)9
B)6
C)11
D)7
(38)在C语言中,变量的隐含存储类别是
A)auto
B)static
C)extern
D)无存储类别
(39)以下程序的输出结果是
{intc=35;
c&
c);
A)0
B)70
C)35
(40)有以下程序
#include<
{FILE*fp;
inti=20,j=30,k,n;
fp=fopen("
d1.dat"
"
w"
fprintf(fp,"
i);
fprintf(fp,"
fclose(fp);
r"
fscanf(fp,"
k,&
%d%d\n"
k,n);
A)2030
B)2050
C)3050
D)3020
二、填空题
请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。
(1)设一棵完全二叉树共有700个结点,则在该二叉树中有【1】个叶子结点。
(2)常用的黑箱测试有等价类划分法、【2】和错误推测法3种。
(3)数据库管理系统常见的数据模型有层次模型、网状模型和【3】3种。
(4)通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为【4】。
(5)数据库保护分为:
安全性控制、【5】、并发性控制和数据的恢复。
(6)执行以下程序后的输出结果是【6】。
{inta=10;
a=(3*5,a+4);
a=%d\n"
a);
}
(7)以下程序的输出结果是【7】。
{printf("
strlen("
IBM\n012\1\\"
));
(8)已定义charch='
$'
inti=1,j;
执行j=!
ch&
i++以后,i的值为【8】。
(9)以下程序的运行结果是【9】。
longfib(intg)
{switch(g)
return0;
return1;
return(fib(g-1)+fib(g-2));
{longk;
k=fib(5);
k=%5ld\n"
(10)下面程序的功能是输出数组s中最大元素的下标,请填空。
{intk,p,s[]={1,-9,7,2,-10,3};
for(p=0,k=p;
p<
6;
p++)
if(s[p]>
s[k])【10】
(11)以下程序的功能是:
求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。
请填空。
{intx[10],a[9],I;
for(I=0;
I<
10;
I++)scanf("
x[I]);
for(【11】;
I++)
a[I-1]=x[I]+【12】;
.
9;
I++)printf("
a[I]);
"
(12)设有以下程序,为使之正确运行,请在横线中填入应包含的命令行。
(注:
try_me()函数在a:
\myfile.txt中有定义。
【13】
{printf("
try_me();
(13)以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data域不放数据,表空的条件是ph->
next==NULL),请填空。
structlist{intdata;
structlist*next;
};
structlist*creatlist()
{structlist*p,*q,*ph;
inta;
ph=(structlist*)malloc(sizeof(structlist));
p=q=ph;
Inputanintegernumber;
entre-1toend:
a);
while(a!
=-1)
{p=(structlist*)malloc(sizeof(structlist));
【14】=a;
q->
next=p;
【15】=p;
next=′\0;
return(ph);
{structlist*head;
head=creatlist();
(1)D
【解析】算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。
所谓算法的时间复杂度是指执行算法所需要的计算工作量;
算法的空间复杂度是指执行这个算法所需要的内存空间。
(2)D
【解析】在结构化程序设计中,一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提高软件模块的独立性,也是模块划分的原则。
(3)C
【解析】软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。
它有3个方面的重要特征,即测试的挑剔性、完全测试的不可能性及测试的经济性。
其中,没有测试的可靠性这一说法。
(4)A
【解析】对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系,对象之间通过传递消息互相联系,从模拟现实世界中不同事物彼此之间的联系,B)、C)、D)是正确的,对象的思想广泛应用于C++、Java等语言中,因此A)错误。
(5)C
【解析】队列是一种操作受限的线性表。
它只允许在线性表的一端进行插入操作,另一端进行删除操作。
其中,允许插入的一端称为队尾(rear),允许删除的一端称为队首(front)。
队列具有先进先出的特点,它是按"
先进先出"
的原则组织数据的。
(6)D
【解析】依据后序遍历序列可确定根结点为c;
再依据中序遍历序列可知其左子树由deba构成,右子树为空;
又由左子树的后序遍历序列可知其根结点为e,由中序遍历序列可知其左子树为d,右子树由ba构成,如下图所示,求得该二叉树的前序遍历序列为选项D)。
(7)A
【解析】对于任何一棵二叉树T,如果其终端结点(叶子)数为n1,度为2的结点数为n2,则n1=n2+1,所以该二叉树的叶子结点数等于n+1。
(8)C
【解析】对于两个关系的合并操作可以用笛卡尔积表示。
设有n元关系R和m元关系S,它们分别有p和q个元组,则R与S的笛卡儿积记为R×
S它是一个m+n元关系,元组个数是p×
q由题意可得,关系T是由关系R与关系S进行笛卡尔积运算得到的。
(9)A
【解析】两个实体之间的联系实际上是实体集间的函数关系,这种函数关系可以有下面几种,即一对一的联系、一对多(或多对一)的联系和多对多的联系;
概念模型便于向各种模型转换。
由于概念模型不依赖于具体的数据库管理系统,因此,容易向关系模型、网状模型和层次模型等各种模型转换。
(10)D
【解析】数据处理是指将数据转换成信息的过程,故选项A)叙述错误;
数据的物理独立性是指数据的物理结构的改变,不会影响数据库的逻辑结构,故选项B)叙述错误;
关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段,故选项C)叙述错误。
(11)C
【解析】不论main函数在整个过程中的位置如何,一个C程序总是从main函数开始执行的。
(12)D
【解析】一个C语言的源程序(后缀名为.c)在经过编译器编译后,先生成一个汇编语言程序,然后由编译程序再将汇编语言程序翻译成机器指令程序,即目标程序(后缀名为.obj),目标程序不可以直接运行,它要和库函数或其他目标程序连接成可执行文件(后缀名为.exe)后方可运行。
(13)A
【解析】C语言中,一个字符常量代表ASCII字符集中的一个字符,在程序中用单引号括起来作为字符常量,字符常量的的范围是0~127。
由于字符常量用单引号括起来,所以选项B),C)错误,选项D)超过了字符常量的表示范围。
(14)A
【解析】本题考查C语言的综合基础知识。
构成C程序的基本单位是函数,不论main函数在整个程序中的位置如何,一个C程序总是从main函数开始执行,C语言的函数定义都是互相平行、独立的,在定义函数时,一个函数内不能定义另一个函数。
C函数定义的一般格式有两种:
传统格式和现代格式。
传统格式也称K&
R格式,是早期编译系统使用的格式;
现代格式又称ANSI格式,是现代编译系统使用的格式。
(15)D
【解析】本题中,scanf函数的格式控制没有空格,所以,对于选项A)、B)、C),输入的第一个空格会作为字符赋值给变量c1,而不会被解释成分隔符。
(16)D
【解析】"
是求址运算符,"
*"
是指变量说明符。
选项A)、B)应改为scanf("
选项C)中指
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模拟 试题