二级C语言笔试模拟318Word文档下载推荐.docx
《二级C语言笔试模拟318Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《二级C语言笔试模拟318Word文档下载推荐.docx(24页珍藏版)》请在冰点文库上搜索。
![二级C语言笔试模拟318Word文档下载推荐.docx](https://file1.bingdoc.com/fileroot1/2023-5/2/831759f4-8357-4616-9daf-00bd50689014/831759f4-8357-4616-9daf-00bd506890141.gif)
10、将E-R图转换为关系模式时,实体和联系都可以表示为(
A.属性
B.键
C.关系
D.域
11、下列选项合法的标识符是(
A.1_1
B.1-1
C._11
D.1__
12、若函数中有定义语句“intk;
”,则(
A.系统将自动给k赋初值0
B.这时k中的值无定义
C.系统将A动给k赋初值-1
D.这时k中无任何值
13、下列选项中,能用做数据常量的是(
A.o115
B.o118
C.1.5e1.5
D.115L
14、设有定义“intx=2;
”,下列表达式中,值不为6的是(
A.x*=x+1
B.x++,2*x
C.x*=(1+x)
D.2*x,x+=2
15、下列程序段的输出结果是(
intx=12;
doubley=3.141593;
printf("
%d%8.6f"
,x,y);
A.123.141593
B.123.141593
C.12,3.141593
D.123.1415930
16、若有定义语句“doublex,t,*px,*py;
”执行了“px=&
x;
py=&
y;
”后,正确的输入语句是(
A.scanf("
%f%f"
B.scanf("
&
x,&
y);
C.scan{("
%1f%1e"
,px,py);
D.scanf("
%1f%1f"
x,y);
17、下列是if浯句的基本形式:
if(表达式)语句
其中“表达式”(
A.必须是逻辑表达式
B.必须是关系表达式
C.必须是逻辑表达式或关系表达式
D.可以是任意合法的表达式
18、有下列程序:
#include<stdio.h>
main()
{intx;
scanf("
%d"
,&
x);
if(x<=3);
else
if(x!
=10)printf("
%d\n"
,x);
}
程序运行时,输入的值在哪个范围才会有输出结果(
A.不等于10的整数
B.大于3且不等10的整数
C.大于3或等于10的整数
D.小于3的整数
19、有下列程序:
{inta=1,b=2,c=3,d=0;
if(a==1&
b++==2)
if(b!
=2||c--!
=3)
%d,%d,%d\n"
,a,b,c);
elseprintf("
程序运行后的输出结果是(
A.1,2,3
B.1,3,2
C.1,3,3
D.3,2,1
20、下列程序段中的变量已正确定义:
for(i=0:
i<4;
i++,i++)
for(k=1;
k<3;
k++);
*"
);
程序段的输出结果是(
A.********
B.****
C.**
D.*
21、有下列程序:
{char*s={"
ABC"
};
do
{printf("
,*s%10);
s++;
}while(*s);
注意:
字母A的ASCII码值为65。
A.5670
B.656667
C.567
D.ABC
22、设变量已正确定义,下列不能统计出一行中输入字符个数(不包含回车符)的程序段是(
A.n=0;
while((ch=getchar(
))!
='
\n'
)n++;
B.n=0;
while(getchar(
)!
C.for(n=0;
getchar(
n'
;
n++);
D.n=0;
for(ch=getchar(
ch!
23、有下列程序:
{inta1,a2charc1,c2;
%d%c%d%c"
a1,&
c1,&
a2,&
c2);
,a1,c1,a2,c2);
若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是“12,a,34,b”.则正确输入格式是(以下代表空格,<CR>代表回车)(
A.12a36b<CR>
B.12a34b<CR>
C.12,a,34,b<CR>
D.12a34b<CR>
24、有下列程序:
intf(intx,inty)
{return((y-x)*x);
)
{inta=3,b=4,c=5,d;
d=f(f(a,b),f(a,c));
,d);
B.9
C.8
D.7
25、有下列程序:
voidfun(char*s)
{while(*s)
{if(*s%2==0)printf("
%c"
,*s);
{chara[]={"
good"
fun(a);
\n"
字母a的ASCII码值为97,程序运行后的输出结果是(
A.d
B.go
C.god
D.good
26、有下列程序:
voidfun(int*a,int*b)
{int*c;
c=a;
a=b;
b=c;
{intx=3,y=5,*p=&
x,*q=&
fun(p,q);
%d,%d,"
,*p,*q);
fun(&
%d,%d\n"
,*p,*q)
A.3,5,5,3
B.3,5,3,5
C.5,3,3,5
D.5,3,5,3
27、有下列程序:
voidf(int*p,int*q)
{intm=1,n=2,*r=&
m;
f(r,&
n);
%d,%d"
,m,n);
{p=p+1;
*q=*q+1;
A.1,3
B.2,3
C.1,4
D.1,2
28、下列函数按每行8个输出数组中的数据
voidfun(int*w,intn)
{inti;
for(i=0;
i<n;
i++)
{______
,w[i]);
下画线处应填入的语句是(
A.if(i/8==0)printf("
B.if(i/8=0)continue;
C.if(i%8==0)printf("
D.if(i%8==0)continue;
29、若有下列定义
intx[10],*pt=x;
则埘x数组元素的正确引用是(
A.*&
x[10]
B.*(x+3)
C.*(pt+10)
D.pt+3
30、设有定义“chars[8];
inti=0;
”,下列不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是(
A.gets(s);
B.while((s[i++]=getchar())!
s[i]='
\0'
C.scanf("
%s"
,s);
D.do{scanf("
s[i]);
}while(s[i++]!
31、有下列程序:
{char*a[]={"
abcd"
,"
ef"
gh"
ijk"
inti;
i++)printf("
,*a[i]);
A.aegi
B.dfhk
C.abcd
D.abcdefghijk
32、下列选项中正确的语句是(
A.chars[];
s="
BOOK!
"
B.char*s;
s={"
C.chars[10];
BOOK"
D.char*s;
33、有下列程序:
intfun(intx,inyy)
{if(x==y)return(x);
elsereturn((x+y)/2);
{inta=4,b=5,c=6;
,fun(2*a,fun(b,c)));
A.3
B.6
D.12
34、设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应选择存储类别是(
A.auto
B.register
C.static
D.auto或register
35、有下列程序:
intb=2;
intfun(int*k)
{b=*k+b;
returt,(b);
{inta[10]={1,2,3,4,5,6,7,8),i;
for(i=2;
i++){b=fun(&
a[i])+b;
,b);
A.1012
B.810
C.1028
D.1016
36、有下列程序:
#definePT3.5;
#defineS(x)PT*x*x;
{inta=1,b=2;
%4.1f\n"
,S(a+b));
A.14.0
B.31.5
C.7.5
D.程序有错无输出结果
37、有下列程序:
structord
{intx,y;
)dt[2]={1,2,3,4};
{structord*p=dt;
%d,"
,++p->x);
,++p->y);
程序的运行结果是(
A.1,2
C.3,4
D.4,1
38、设有宏定义:
#defineIsDIV(k,n)((k%n==1?
1:
0)且变量m已正确定义并赋值,则宏调用:
IsDIV(In,5)&
IsDIV(m,7)为真时所要表达的是(
A.判断m是否能被5或者7整除
B.判断m是否能被5和7整除
C.判断m被5或者7除是否余1
D.判断m被5和7除是否都余1
39、有下列程序:
{inta=5,b=1,t;
t=(a<<2)|b;
,t);
A.21
B.11
D.1
40、有下列程序:
{FILE*f;
f=fopen("
filea.txt"
w"
fprintf(f,"
abc"
fclose(f);
若文本文件filea.txt中原有内容hello,则运行以上程序后,文件filea.txt中的内容为(
A.helloabc
B.abclo
C.abe
D.abchello
二、填空题
1、假设用一长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有______个元素。
2、软件测试可以分为白盒测试和黑盒测试。
基本路径测试属于______测试。
3、符合结构化原则的三种基本控制结构是:
选择结构、循环结构和______。
4、数据库系统的核心是______。
5、在E-R图中.图形包括矩形框、菱形框、椭网框。
其中表示实体联系的是______框。
6、表达式(int)((double)(5/21+2.5)的值是______。
7、若变量x、y已定义为int类型,X的值为99,y的值为9,请将输出语句“printf(______,x/y):
”补充完整,其输出的计算结果形式为:
x/y=11。
8、有下列程序
{charc1,c2;
c1);
while(c1<65||c1>90)scanf("
c2=c1+32:
%c,%c\n"
,c1,c2);
程序运行输入65回车后,能否输出结果、结束运行(请回答能或不能)______。
9、下列程序运行后的输出结果是______。
{intk=1,s=0;
do{
if((k%2)!
=0)continue;
s+=k;
k++;
}whiIe(k>10);
s=%d\n"
10、下列程序运行时,若输入1abcdef2df<回车>,输出结果为______。
{chara=0,ch;
while((ch=getchar())!
{if(a%2!
=0&
(ch>='
a'
ch<='
z'
))ch=ch-'
+'
A'
:
a++;
putchar(ch);
11、有下列程序,程序执行后.输出结果是______。
{a[0]=a[i];
{inta[10]={10,9,8,7,6,5,4,3,2,1},i;
i>=0;
i--)fun(&
a[i]);
i<10;
,a[i]);
12、请将下列程序中的函数声明语句补充完整。
int______;
{intx,y(*p)(
%d%d"
p=max;
,(*p)(x,y));
mtmax(inta,intb)
{return(a>b?
a:
b);
13、下列程序用来判断指定文件是否能正常打开,请填空。
{FILE*fp;
if(((fp=fopen("
test.txt"
r"
)==______))
prinff("
文件打开成功!
未能打开文件!
14、下列程序的运行结果为______。
structA
{inta;
charb[10];
doublec;
voidf(structA*t):
{structAa={1001,"
ZhangDa"
,1098.0};
f(&
a);
%d,%s,%6.1f\n"
,a.a,a.b,a.c);
voidf(structA*t)
{strcpy(t->b,"
ChangRong"
15、下列程序把三个NODETYPE型的变量链接成一个简单的链表,并在while循环中输出链表结点数据域中的数据,请填空。
structnode
{intdata;
structnode*next;
typedefstructnodeNODETYPE;
{NODETYPEa,b,c*h,*p;
a.data=10;
b.data=20;
c.data=30;
h=&
a;
a.next=&
b;
b.next=&
c;
c.next='
p=h;
while(p){printf("
,p->data);
______;
):
答案:
1、D
[解析]本题考查了栈、队列、循环队列的基本概念,栈的特点是先进后出,队列的特点是先进先出,根据数据结构申各数据元素之间的复杂程度,将数据结构分为线性结构与非线性结构两类。
有序线性表既可采用顺序存储结构,也可以采用链式存储结构。
2、A
[解析]根据栈的定义,栈是一种限定在一端进行插入与删除的线性表。
在主函数调用子函数时,主函数会保持当前状态,然后转去执行子函数,把子函数的运行结果返回到主函数,主函数继续向下执行,这种过程符合栈的特点。
所以一般采用栈式存储方式。
3、C
[解析]根据二叉树的性质判定,在任意二叉树中,度为O的叶子结点总是比度为2的结点多一个。
4、D
[解析]本题考查排序的比较次数,冒泡排序、简单选择排序和直接插入排序在最坏的情况下比较次数为n(n-1)/2。
而堆排序法在最坏的情况下需要比较的次数为nlog2n。
5、C
[解析]编译程序和汇编程序属于开发工具,操作系统属于系统软件,而教务管理系统属于应用软件。
6、A
[解析]软件测试的目的是为了发现错误及漏洞。
软件测试要严格执行测试计划。
程序调式通常也称Debug,对被调试的程序进行“错误”定位是程序调试的必要步骤。
7、B
[解析]耦合是指模块间相互连接的紧密程度,内聚性是指在一个模块内部各个元素间彼此之间结合的紧密程序。
高内聚、低耦合有利于模块的独立性。
8、A
[解析]数据库设计的目的是设计一个能满足用户要求、性能良好的数据库。
所以数据库应用系统的核心是数据库设计。
9、B
[解析]本题考查关系的运算,一个关系R通过投影运算后仍为一个关系R'
,R'
从R指定关系的属性(字段)集合中选取部分属性组成同类的一个新关系。
选择运算主要是对关系R中选择由满足逻辑条件的元组所组成的一个新关系,所以题中关系S是由R投影所得。
10、C
[解析]在C语言中,将E-R图转换为关系模式时,实体和联系都可以表示为关系。
11、