模拟试题11Word下载.docx
- 文档编号:19898408
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:25
- 大小:49.19KB
模拟试题11Word下载.docx
《模拟试题11Word下载.docx》由会员分享,可在线阅读,更多相关《模拟试题11Word下载.docx(25页珍藏版)》请在冰豆网上搜索。
A)合法的标识符是由字母、数字和下划线组成
B)C语言的标识符中,大写字母和小写字母被认为是两个不同的字符
C)C语言的标识符可以分为三类,即关键字、预定义标识符和用户标识符
D)用户标识符与关键字不同时,程序在执行时将给出出错信息
(13)判断char型变量cl是否为大写字母的正确表达式是
A)'
A'
<
=cl<
='
Z'
B)(cl>
=A)&
&
(cl<
=Z)
C)('
>
=cl)||('
=cl)
D)(cl>
)&
)
(14)有以下程序
intadd(inta,intb){return(a+b);
}
main()
{intk,(*f)(),a=5,b=10;
f=add;
…
}
则以下函数调用语句错误的是
A)k=(*f)(a,b);
B)k=add(a,b);
C)k=*f(a,b);
D)k=f(a,b);
(15)若变量均已正确定义并赋值,以下合法的C语言赋值语句是
A)x=y==5;
B)x=n%2.5;
C)x+n=i;
D)x=5=4+1;
(16)下列程序的输出结果是
{doubled=3.2;
intx,y;
x=1.2;
y=(x+3.8)/5.0;
printf("
%d\n"
d*y);
A)3
B)3.2
C)0
D)3.07
(17)设有以下程序段
intx=0,s=0;
while(!
x!
=0)s+=++x;
printf("
%d"
s);
则
A)运行程序段后输出0
B)运行程序段后输出1
C)程序段中的控制表达式是非法的
D)程序段执行无限次
(18)以下程序执行后x的值是
{intx,y=252,i=386,*m=&
y,*z=&
i;
x=(z==y);
x);
A)252
B)1
D)运行时出错,x无定值
(19)有如下程序
{floatx=2.0,y;
if(x<
0.0)y=0.0;
elseif(x>
10.0)y=1.0/x;
elsey=1.0;
%f\n"
y);
该程序的输出结果是
A)0.000000
B)0.250000
C)0.500000
D)1.000000
(20)以下程序的输出结果是
#include<
stdio.h>
{inta=15,b=21,m=0;
switch(a%3)
{case0:
m++;
break;
case1:
switch(b%2)
{default:
case0:
}}
m);
A)1
B)2
C)3
D)4
(21)如下程序的输出结果是
{charch[2][5]={"
6937"
"
8254"
},*p[2];
inti,j,s=0;
for(i=0;
i<
2;
i++)p[i]=ch[i];
i++)
for(j=0;
p[i][j]>
'
\0'
;
j+=2)
s=10*s+p[i][j]-'
0'
A)69825
B)63825
C)6385
D)693825
(22)下面程序的运行结果是
{inta=28,b;
chars[10],*p;
p=s;
do{b=a%16;
if(b<
10)*p=b+48;
else*p=b+55;
p++;
a=a/5;
}while(a>
0);
*p='
puts(s);
A)10
B)C2
C)C51
D)\0
(23)下列程序执行后的输出结果是
voidfunc1(inti);
voidfunc2(inti);
charst[]="
hello,friend!
"
voidfunc1(inti)
{printf("
%c"
st[i]);
if(i<
3){i+=2;
func2(i);
}}
voidfunc2(inti)
func1(i);
{inti=0;
func1(i);
\n"
);
}
A)hello
B)hel
C)hlo
D)m
(24)以下程序的输出结果是
#include<
voidprt(int*x,int*y,int*z)
{printf("
%d,%d,%d\n"
++*x,++*y,*(z++));
{inta=10,b=40,c=20;
prt(&
a,&
b,&
c);
A)11,42,31B)11,41,20C)11,21,40D)11,41,21
12,22,4112,42,2011,21,2112,42,22
(25)下列二维数组初始化语句中,正确且与语句floata[][3]={0,3,8,0,9};
等价的是
A)floata[2][]={{0,3,8},{0,9}};
B)floata[][3]={0,3,8,0,9,0};
C)floata[][3]={{0,3},{8,0},{9,0}};
D)floata[2][]={{0,3,8},{0,9,0}};
(26)以下程序输出的结果是
string.h>
{charw[][10]={"
ABCD"
EFGH"
IJKL"
MNOP"
},k;
for(k=1;
k<
3;
k++)printf("
%s\n"
&
w[k][k]);
A)ABCD
FGH
KL
B)ABC
EFG
IJ
M
C)EFG
JK
0
D)FGH
KL
(27)下面能正确进行字符串赋值操作的是
A)chars[5]={"
ABCDE"
};
B)chars[5]={'
'
B'
C'
D'
E'
C)char*s;
s="
D)char*s;
scanf("
%s"
(28)有以下程序
{inti,s=0,t[]={l,2,3,4,5,6,7,8,9};
for(i=0;
9;
i+=2)s+=*(t+i);
程序执行后的输出结果是
A)45
B)20
C)25
D)36
(29)以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是
{int*p,*q,a,b;
p=&
a;
inputa:
scanf("
*p);
A)*p表示的是指针变量p的地址
B)*p表示的是变量a的值,而不是变量a的地址
C)*p表示的是指针变量p的值
D)*p只能用来说明p是一个指针变量
(30)阅读下列程序,则在执行后,程序的运行结果为
#include"
stdio.h"
string.h"
{chara[30]="
nicetomeetyou!
strcpy(a+strlen(a)/2,"
you"
a);
A)nicetomeetyouyou
B)niceto
C)meetyouyou
D)nicetoyou
(31)若有下面的程序片段:
inta[12]={0},*p[3],**pp,i;
i)
p[i]=&
a[i*4];
pp=p;
则对数组元素的错误引用是
A)pp[0][1]
B)a[10]
C)p[3][1]
D)*(*(p+2)+2)
(32)设有下面的程序段:
chars[]="
china"
char*p;
则下列叙述正确的是
A)s和p完全相同
B)数组s中的内容和指针变量p中的内容相同
C)s数组长度和p所指向的字符串长度相等
D)*p与s[0]相等
(33)若有函数max(a,b),为了让函数指针变量p指向函数max,当调用该函数时,正确的赋值方法是
A)(*p)max(a,b)
B)*pmax(a,b)
C)p=max(a,b)
D)*p=max(a,b)
(34)以下程序的运行结果是
#defineMAX(A,B)(A)>
(B)?
(A):
(B)
#definePRINT(Y)printf("
Y=%d\t"
Y)
{inta=1,b=2,c=3,d=4,t;
t=MAX(a+b,c+d);
PRINT(t);
A)Y=3
B)存在语法错误
C)Y=7
D)Y=0
(35)以下程序的功能是进行位运算
{unsignedchara,b;
a=7^3;
b=~4&
%d%d\n"
a,b);
程序运行后的输出结果是
A)43
B)73
C)70
D)40
(36)请选出以下程序的输出结果
{inta[]={1,2,3,4},i;
intx=0;
4;
{sub(a,x);
sub(s,y)
int*s,y;
{staticintt=3;
y=s[t];
t--;
A)1234
B)4321
C)0000
D)4444
(37)以下程序的输出结果是
structst
{intx;
int*y;
}*p;
intdt[4]={10,20,30,40};
structstaa[4]={50,&
dt[0],60,&
dt[0],};
{p=aa;
++(p->
x));
B)11
C)51
D)60
(38)以下scanf函数调用语句中对结构体变量成员的引用不正确的是
structpupil
{charname[20];
intage
intsex;
}pup[5],*p;
p=pup;
A)scanf("
pup[0].name);
B)scanf("
pup[0].age);
C)scanf("
%dT"
(p->
sex));
D)scanf("
p->
age);
(39)fwrite函数的一般调用形式是
A)fwrite(buffer,count,size,fp);
B)fwrite(fp,size,count,buffer);
C)fwrite(fp,count,size,buffer);
D)fwrite(buffer,size,count,fp);
(40)函数rewind的作用是
A)使文件位置指针重新返回文件的开始位置
B)将文件位置指针指向文件中所要求的特定位置
C)使文件位置指针指向文件的末尾
D)使文件位置指针自动移至下一个字符位置
二、填空题
请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。
(1)长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【1】。
(2)数据结构分为线性结构和非线性结构,带链的队列属于【2】。
(3)软件工程研究的内容主要包括:
【3】技术和软件工程管理。
(4)常用的黑箱测试有等价分类法、【4】、因果图法和错误推测法4种。
(5)数据库保护分为:
安全性控制、【5】、并发性控制和数据的恢复。
(6)以下程序中,函数fun的功能是计算x²
-2x+6,主函数中将调用fun函数计算:
y1=(x+8)²
-2(x+8)+6
y2=sin²
(x)-2sin(x)+6
请填空。
math.h"
doublefun(doublex){return(x*x-2*x+6);
{doublex,y1,y2;
Enterx:
"
%lf"
x);
y1=fun(【6】);
y2=fun(【7】);
y1=%lf,y2=%lf\n"
y1,y2);
(7)以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,
否则返回0。
intisprime(inta)
{inti;
for(i=2;
=a/2;
if(a%i==0)【8】;
【9】;
}
(8)下面程序的运行结果是【10】。
{inti=0,j=10,k=2,s=0;
for(;
)
{i+=k;
if(i>
j)
{printf("
break;
s+=i;
}}
(9)以下程序的输出结果是【11】。
{char*p[]={"
BOOL"
OPK"
H"
SP"
inti;
for(i=3;
i>
0;
i--,i--)printf("
%c"
*p[i]);
(10)以下程序用来输出结构体变量ex所占存储单元的字节数,请填空。
doublescore;
{structstex;
exsize:
sizeof(【12】));
(11)以下程序的功能是:
利用指针指向三个整型变量,并通过指针运算找出三个数中的最大值,输出到屏幕上。
{intx,y,z,max,*px,*py,*pz,*pmax;
%d%d%d"
x,&
y,&
z);
px=&
x;
py=&
y;
pz=&
z;
pmax=&
max;
【13】;
if(*pmax<
*py)*pmax=*py;
*pz)*pmax=*pz;
max=%d\n"
max);
(12)以下程序中函数fun的功能是:
构成一个如图所示的带头结点的单向链表,在结点的数据域中放入了具有两个字符的字符串。
函数disp的功能是显示输出该单链表中所有结点中的字符串。
请填空完成函数disp。
#include<
typedefstructnode/*链表结点结构*/
{charsub[3];
structnode*next;
}Node;
Nodefun(chars)/*建立链表*/
{……}
voiddisp(Node*h)
{Node*p;
p=h->
next;
while(【14】)
sub);
p=【15】;
main()
{Node*hd;
hd=fun();
disp(hd);
(1)D
【命题目的】考查考生对算法空间复杂度的掌握。
【解题要点】算法空间复杂度是指执行这个算法所需要的内存空间。
【考点链接】算法时间复杂度。
(2)C
【命题目的】考查栈和队列概念的掌握。
【解题要点】栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。
二者的区别是:
栈只允许在表的一端进行插入或删除操作,是一种"
后进先出"
的线性表;
而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种"
先进先出"
的线性表。
【考点链接】评价模块独立性的主要标准,以及对它们的定义和分类。
(3)B
【命题目的】本题考查二叉树的遍历。
【解题要点】所谓二叉树的前序遍历(DLR)是指在访问根结点、遍历左子树与遍历右子树这3者中,首先访问根结点,然后遍历左子树,最后遍历右子树,并且,在遍历左右子树时,上述规则同样适用,即"
根-左-右"
故该二叉树的前序遍历结果为"
ATBZXCYP"
。
【考点链接】对于本题,若使用后序遍历和中序遍历的结果分别为"
ZBTYCPXA"
和"
TZBACYXP"
(4)D
【命题目的】本题考查考生的结构化程序设计的思想。
【解题要点】结构化程序设计强调的是程序的易读性。
【考点链接】结构化程序设计的目的。
(5)D
【命题目的】考查算法复杂度的基本知识。
【解题要点】算法复杂度主要包括时间复杂度和空间复杂度。
算法的时间复杂度是指执行算法所需要的计算工作量,可以用执行算法过程中所需基本运算的执行次数来度量;
算法的空间复杂度是指执行这个算法所需要的内存空间。
根据各自的定义可知,算法的时间复杂度与空间复杂度并不相关。
【考点链接】时间复杂度和空间复杂度。
(6)D
【命题目的】本题考查了软件工程的基本概念。
【解题要点】软件工程包括3个要素,即方法、工具和过程。
方法是完成软件工程项目的技术手段;
工具支持软件的开发、管理和文档生成;
过程支持软件开发的各个环节的控制和管理。
【考点链接】软件生命周期。
(7)D
【命题目的】本题考查了软件测试。
【解题要点】软件测试过程中,辅助资源包括测试用例(测试数据)、测试计划、出错统计和最终分析报告等。
【考点链接】白箱和黑箱测试。
(8)A
【命题目的】本题考查了数据库系统的基本知识。
【解题要点】数据库系统的数据具有高共享性和低冗余性,但不能完全避免数据冗余;
数据的一致性是指在系统中同一数据的不同出现应保持相同的值。
【命题目的】数据库系统的基本特点。
(9)C
【命题目的】本题考查了数据模型。
【解题要点】关系模型较之格式化模型(网状模型和层次模型)有以下几方面的优点,即数据结构比较简单、具有很高的数据独立性、可以直接处理多对多的联系,以及有坚实的理论基础。
【考点链接】E-R模型。
(10)D
【命题目的】考查文件系统和数据库系统的区别。
【解题要点】文件系统所管理的数据文件基本上是分散的、相互独立的,因此相对于数据库系统,以此为基础的数据处理存在3个缺点,即数据冗余大、数据的不一致性、程序与数据的相互依赖(简称为数据依赖)。
【考点链接】文件系统和数据库系统各自的特点,人工管理阶段及数据库系统的特点。
(11)C
【解题要点】一个算法应当具有5个特性,即有穷性、确定性、可行性、有零个或多个输入以及有一个或多个输出。
算法的确定性是指:
算法中每一条指令必须有确切的含义,读者理解时不会产生二义性。
并且在任何条件下,算法只有唯一的一条执行路径,即对于相同的输入只能得出相同的执行结果。
(12)D
【命题目的】考查对于标识符的掌握情况。
【解题要点】用户标识符与关键字相同时,程序在编译过程中将给出出错信息。
【错解分析】选项D)应该改为用户标识符与关键字相同,程序在编译时将给出出错信息。
【考点链接】合法的标识符中,第一个字符必须为字母或下划线。
(13)D
【命题目的】字母大小写的判断。
【解题要点】字符型数据在计算机内部是以ASCII码存储的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模拟 试题 11