二级C语言笔试模拟320Word下载.docx
- 文档编号:17571826
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:21
- 大小:27.57KB
二级C语言笔试模拟320Word下载.docx
《二级C语言笔试模拟320Word下载.docx》由会员分享,可在线阅读,更多相关《二级C语言笔试模拟320Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
D.物理设计阶段
10、有两个关系R和T如下:
则由关系R得到关系T的操作是(
A.选择
B.投影
C.交
D.并
11、以下叙述正确的是(
A.C语言程序是由过程和函数组成的
B.C语言函数可以嵌套调用,例如:
fun(fun(x))
C.C语言函数不可以单独编译
D.C语言中除了main函数,其他函数不可作为单独文件形式存在
12、以下关于C语言的叙述中正确的是(
A.C语言中的注释不可以夹在变量名或关键字的中间
B.C语言中的变量可以在使用之前的任何位置进行定义
C.在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致
D.C语言的数值常量中央带空格不影响常量值的正确表示
13、以下C语言用户标识符中,不合法的是(
A._1
B.AaBc
C.a_b
D.a--b
14、若有定义:
“doublea=22;
inti=0,k=18;
”,则不符合C语言规定的赋值语句是(
A.a=a++,i++;
B.i=(a+k)<=(i+k);
C.i=a%11;
D.i=!
a;
15、有以下程序:
#include<stdio.h>
main()
{chara,b,c,d;
scanf("
%c%c"
,&
a,&
b);
c=getchar();
d=getchar();
printf{"
%c%c%c%c\n"
,a,b,c,d};
}
当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:
回车也是一个字符)
12<CR>
34<CR>
则输出结果是(
A.1234
B.12
C.12
3
D.12
34
16、以下关于C语言数据类型使用的叙述中错误的是(
A.若要准确无误差的表示自然数,应使用整数类型
B.若要保存带权多位小数的数据,应使用双精度类型
C.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
D.若只处理“真”和“假”两种逻辑值,应使用逻辑类型
17、若a是数值类型,则逻辑表达式(a==1)||(a!
=1)的值是(
A.1
B.0
C.2
D.不知道a的值,不能确定
18、以下选项中与if(a==1)a=b;
elsea++;
语句功能不同的switch语句是(
)、
A.switch(a)
{case1:
a=b;
break;
default:
a++;
B.switch(a==1)
{case0:
a=b;
break;
case1:
C.switch(a)
{default:
D.switch(a==1)
{case1:
case0:
19、有如下嵌套的if语句:
if(a<b)
if(a<c)k=a;
elsek=c:
else
if(b<c)k=b;
elsek=c;
以下选项中与上述if语句等价的语句是(
A.k=(a<b)?
a:
b;
k=(b<c)?
b:
c;
B.k=(a<b)?
((b<c)?
b):
((b>c)?
c);
C.k=(a<b)?
((a<c)?
c):
D.k=(a<b)?
k=(a<c)?
20、有以下程序:
{inti,j,m=1;
for(i=1;
i<3;
i++)
{for(j=3;
j>0;
j--)
{if(i*j>3)break;
m*=i+j;
printf("
m=%d\n"
,m);
程序运行后的输出结果是(
A.m=6
B.m=2
C.m=4
D.m=3
21、有以下程序:
{inta=1,b=2;
for{;
a<8;
a++){b+=a;
a+=2;
%d,%d\n"
,a,b);
A.9,18
B.8,11
C.7,11
D.10,14
22、有以下程序,其中k的初值为八进制数:
{intk=011;
%d\n"
,k++);
A.12
B.11
C.10
D.9
23、下列语句组中,正确的是(
A.char*s;
s="
Olympic"
;
B.chars[7];
C.char*s;
s={"
};
D.chars[7];
24、以下关于return语句的叙述中正确的是(
A.一个自定义函数中必须有一条return语句
B.一个自定义函数中可以根据不同情况设置多条return语句
C.定义成void类型的函数中可以有带返回值的return语句
D.没有return语句的自定义函数在执行结束时不能返回到调用处
25、下列选项中,能正确定义数组的语句是(
A.intnum[0..2008];
B.intnum[];
C.intN=2008;
intnum[N];
D.#defineN2008
26、有以下程序:
voidfun(char*c,intd)
{*c=*c+1,d=d+1;
%c,%c"
,*c,d);
{charb='
a'
,a='
A'
fun(&
b,a);
%c,%c\n"
,b,a);
A.b,B,b,A
B.b,B,B,A
C.a,B,B,a
D.a,B,a,B
27、若有定义“int(*pt)[3];
”,则下列说法正确的是(
A.定义了基类型为int的三个指针变量
B.定义了基类型为int的具有三个元素的指针数组pt
C.定义了一个名为*pt、具有三个元素的整型数组
D.定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组
28、设有定义“doublea[10],*s=a;
”,以下能够代表数组元素a[3]的是(
A.(*s)[3]
B.*(s+3)
C.*s[3]
D.*s+3
29、有以下程序:
{inta[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;
for(i=0;
i<5;
i++)s=s+a[b[i]];
,s);
A.6
B.10
C.11
D.15
30、有以下程序:
{intb[3][3]={0,1,2,0,1,2,0,1,2),i,j,t=1;
for(j=1;
j<=i;
j++)t+=b[i][b[j][i]];
,t);
B.3
C.4
D.0
31、若有以下定义和语句:
chars[10]="
abcd!
"
,*s2="
\n123\\"
%d%d\n"
,strlen(s1),strlen(s2));
A.55
B.105
C.107
D.58
32、有以下程序:
#defineN8
voidfun(int*x,inti)
{*x=*(x+i);
{inta[N]={1,2,3,4,5,6,7,8),i;
fun(a,2);
i<N/2;
{printf("
%d"
,a[i]);
print*r(”\n”);
A.1313
B.2234
C.3234
D.1234
33、有以下程序:
intf(intt[],intn);
{inta[4]=[1,2,3,4],s;
s=f(a,4);
intf(intt[],intn)
{if(n>0)returnt[n-1]+f(t,n-1);
elsereturn0;
A.4
C.14
D.6
34、有以下程序:
intfun(
)
{staticintx=1;
x*=2;
returnx;
{inti,s=1;
i<=2;
i++)s=fun(
);
,s};
A.0
B.1
D.8
35、有以下程序:
#defineSUB(a)(a)-(a)
{inta=2,b=3,c=5,d;
d=SUB(a+b)*c;
,d);
B.-12
C.-20
D.10
36、设有定义:
structcomplex
{intreal,unreal;
}datal=(1,8),data2;
则以下赋值语句中错误的是(
A.data2=data1;
B.data2=(2,6);
C.data2.real=data1.real;
D.data2.real=data1.unreal;
37、有以下程序:
#include<string.h>
structA
{inta;
charb[10];
doublec;
voidf(structAt);
{structAa={"
1001"
,"
ZhangDa"
,1098,0};
f(a);
%d,%s,%6.1f\n"
,a.a,a.b,a.c);
voidf(structAt)
(t.a=1002;
strcpy(t.b,"
ChangRong"
t.c=1202.0;
A.1001,ZhangDa,1098.0
B.1002,ChangRong,1202.0
C.1001,ChangRong,1098.0
D.1002,ZhangDa,1202.0
38、有以下定义和语句:
struetworkers
{intnum;
charname[20];
charc;
Struct
{intday;
intmonth;
intyear;
}s;
structworkersw,*pw;
pw=&
w;
能给w中year成员赋1980的语句是(
A.*pw.year=1980;
B.w.year=1980;
C.pw->year=1980
D.w.s.year=1980;
39、有以下程序:
{inta=2,b=2,c=2;
Printf("
,a/b&
D.3
40、有以下程序:
{FILE*fp;
charstr[10];
fp=fopen("
myfile,dat"
fputs("
abc"
,ip);
fclose(fp);
myfile.dat"
a*"
fprintf(fp,"
,28);
rewind(fp);
fscanf(fp,"
%s"
,str);
puts(str);
A.abc
B.28c
C.abc28
D.内类型不一致而出错
二、填空题
1、一个队列的初始状态为空。
现将元素A,B,C,D.E,F,5,4,3,2,1依次入队,然后再依次退队,则元素退队的顺序为______。
2、设某循环队列的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有______个元素。
3、设二叉树如下:
对该二叉树进行后序遍历的结果为______。
4、软件是______、数据和文档的集合。
5、有一个学生选课的关系,其中学生的关系模式为:
学生(学号,姓名,班级,年龄),课程的关系模式为:
课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:
选课(学号,______,成绩)。
6、设x为int型变量,请写出一个关系表达式______,用以判断x同时为3和7的倍数时,关系表达式的值为真。
7、有以下程序:
{inta=1,b=2,c=3,d=0;
if(a==1)
if(b1=2)
if(c==3)
d=1;
elsed=2;
elseif(c!
=3)
d=3;
elsed=4;
elsed=5;
程序运行后的输出结果是______。
8、有以下程序:
{intm,n;
%d%d"
m,&
n);
while(m!
=n)
{while(m>n)n>1,m=m-n;
while(m<n)n=1,n=n-m;
程序运行后,当输入1463(回车)时,输出结果是______a
9、有以下程序:
{inti,j,a[][3]={1,2,3,4,5,6,7,8,9};
for(j=i;
j<3;
j++)printf("
,a[i][j]);
\n"
10、有以下程序:
{inta[]=(1,2,3,4,5,6),*k[3],i=0;
while(i<3)
{k[i]=&
a[2*i];
,*k[i]);
i++;
11、有以下程序:
{inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};
intb[2][0],i;
for(j=0;
i++)b[i]=a[i][2]+a[2][i];
,b[i]);
12、有以下程序:
voidfun(char*str)
{chartemp;
intn,i;
n=strlen(str);
temp=str[n-1];
for(i=n-1;
i>0;
i--)str[i]=str[i-1];
str[0]=temp;
{chars[50];
fun(s);
%s\n"
程序运行后输入:
abcdef<回车>,则输出结果是______。
13、以下程序的功能是:
将值为三位正整数的变量X中的数值按照个位、十位、百位的顺序拆分并输出。
请填空
{intx=256;
%d-%d-%d\n"
,______,x/10%10,x/100);
14、以下程序用以删除字符串中所有的空格,请填空。
{chars[100]=("
OurteacherteachClanguage!
inti,j;
for(i=j=0;
s[i]!
='
\0'
if(s[i]!
'
)(s[j])=s[i];
s[j]=______;
15、以下程序的功能是:
借助指针变量找出数组元素中的最大值及其元素的下标值,请填空。
{inta[10],*p,*s;
for(p=a;
p-a<10;
p++)scanf("
,p);
s=a;
p++)if("
p>*s)s=______;
index=%d\n"
,s-a);
答案:
1、C
[解析]二分法查找只适用于顺序存储的有序表,对于长度为n的有序线性表,最坏情况只需比较log2n次。
2、D
[解析]算法的时间复杂度是指算法需要消耗的时间资源。
一般来说,计算机算法是问题规模n的函数f(n),算法的时间复杂度也因此记做T(n)=0(f(n))因此,问题的规模n越大,算法执行的时间的增长率与f(n)的增长率正相关,称做渐进时间复杂度(AsymptoticTimeComplexity)。
简单来说就是算法在执行过程中所需要的基本运算次数。
3、B
[解析]编辑软件和浏览器属
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 笔试 模拟 320