四川省计算机等级考试二级C语言笔试题22Word文件下载.docx
- 文档编号:1475394
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:21
- 大小:22.19KB
四川省计算机等级考试二级C语言笔试题22Word文件下载.docx
《四川省计算机等级考试二级C语言笔试题22Word文件下载.docx》由会员分享,可在线阅读,更多相关《四川省计算机等级考试二级C语言笔试题22Word文件下载.docx(21页珍藏版)》请在冰点文库上搜索。
)调度后才能真正执行。
(A)作业调度
(B)作业调度和进程调度
(C)进程调度
(D)作业调度和设备调度
3.为解决CPU和I/O设备之间速度匹配问题,常采用“缓冲区”方法。
“缓冲区”的结构多为(
13
(A)顺序栈
(B)链栈
(C)顺序队列
(D)循环队列
4.对象实现了数据和操作的结合,使数据和操作
14
)于对象的统一体中。
(A)结合
(B)程序的效率
(C)封装
(D)抽象
5.结构化程序设计主要强调的是
15
(A)程序易读性
(B)程序的效率
(C)程序设计语言的先进性
(D)程序的规模
第二部分
C与C++语言程序设计
(共85分)
一、单项选择题(每小题1分,共10分)
1.下列程序运行的结果是(
16
#include<
stdio.h>
voidswap(intx,inty)
{x^=y;
y^=x;
x^=y;
}
main()
{
inta=010,b=1;
swap(a,b);
printf("
%d,%d\n"
a,b);
}
(A)10,1
(B)8,1
(C)1,8
(D)1,10
2.有以下程序
#include<
malloc.h>
char*p,*q;
p=(char*)malloc(sizeof(char)*20);
q=p;
scanf("
%s%s"
p,q);
%s,%s"
若输入:
abcdef<
回车>
,则输出为(
17
)。
(A)def,def
(B)abc,def
(C)abc,d
(D)d,d
3.下列程序的输出是(
18
iostream.h>
voidmain()
inta=-1,b=4,k;
k=(a++<
=0)&
&
(!
(b--<
=0));
cout<
<
k<
a<
b<
endl;
(A)003
(B)103
(C)112
(D)012
4.关于类概念的描述中,(
19
)是错误的。
(A)类就是C语言中的结构体类型
(B)类是创建对象的样板
(C)类是具有共同行为的若干对象的统一描述体
(D)类是抽象数据类型的实现
5.下列程序的运行结果是(
20
voidfu();
fu();
voidfu()
staticinta=0;
a=%d,"
!
a?
1:
8);
(A)a=8,a=8,
(B)a=1,a=8
(C)a=8,a=1,
(D)a=1,a=1,
6.以下程序中,输出值是(
21
#defineM3
#defineNM+1
#defineNNN*N/2
%d\n"
NN);
(A)3
(B)4
(C)6
(D)8
7.若有语句:
chars1[]="
string1"
s2[8],*s3,*s4="
string2"
;
则(
22
)是对库函数strcpy的错误调用。
(A)strcpy(s1,"
);
(B)strcpy(s4,"
(C)strcpy(s3,"
(D)strcpy("
s2);
8.以下(
23
)为不正确的if语句。
(A)if(x>
y);
(B)if(x==y)x+=y;
(C)if(x!
=y)x=x*x
elsex+=1;
(D)if(x<
y){x++;
y++;
9.关于C++函数参数的描述中,错误的是(
24
(A)实参个数与形参个数可以不同
(B)缺省参数必须放在形参表的最右端
(C)用引用变量作形参可以实现地址传递
(D)重载函数可以有缺省参数
10.若有如下定义:
structnode
intdata;
structnode*next;
46
q
且已建立下面的链表结构,指针p,q分别指向图中所示结点,则不能将q所指结点插入链表末尾的一组语句是(
25
p
44
5
NULL
head……
25(A)q->
next=NULL;
p=p->
next;
p->
next=q;
(B)p=p->
q->
next=p->
(C)p=p->
next=p;
(D)p=(*p).next;
(*q).next=(*p).next;
(*p).next=q;
二、读程序回答问题(每个选择3分,共45分)
1.下列程序运行的结果为(
26
string.h>
voidfun(char*s,intm)
chart,*p1,*p2;
p1=s;
p2=s+m-1;
while(p1<
p2)
{t=*p1++;
*p1=*p2--;
*p2=t;
chara[]="
ABCDEFG"
fun(a,strlen(a));
puts(a);
}
26
(A)GFEDCBA
(B)AGADAGA
(C)GAGGAGA
(D)AGAAGAG
2.读下列C程序,选择正确的输出结果。
voidfun(charstr[][10],intn)
chart[20];
inti,j;
for(i=0;
i<
n-1;
i++)
for(j=i+1;
j<
n;
j++)
if(strlen(str[i])<
strlen(str[j]))
{
strcpy(t,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],t);
charstr[][10]={"
abc"
"
aabcd"
abed"
a"
acdefg"
};
inti;
fun(str,5);
5;
printf("
%2d"
strlen(str[i]));
\n"
puts(str[i]);
(1)
main函数中,第一个for循环的输出结果为:
27
27
(A)65431
(B)13456
(C)76542
(D)24567
(2)
main函数中,第二个for循环的输出结果为:
28
(A)abc
(B)a
(C)acdefg
(D)a
aabcd
abc
aabcd
abc
abed
abed
aabcd
a
abed
acdefg
a
3.以下是一个C++程序,读程序并回答问题。
intfun(intu,intv)
inttemp;
while(v!
=0)
temp=u%v;
u=v;
v=temp;
returnu;
intu,v;
intt;
cout<
"
Inputtwointegers:
cin>
>
u>
v;
t=fun(u,v);
t<
u*v/t<
若从键盘中输入1015;
回答下列两个问题:
(1)第一条输出语句的输出结果为(
29
29
(A)5
(B)10
(C)15
(D)30
(2)第二条输出语句的输出结果为(
30
30
4.以下程序的运行结果是(
31
chang(char*c,intfg)
if(*c=='
'
)
return1;
elseif(fg&
*c<
='
z'
&
*c>
a'
*c+='
A'
-'
return0;
intflag=1;
charch;
do
ch=getchar();
flag=chang(&
ch,flag);
putchar(ch);
}while(ch!
\n'
程序运行时,从第一列开始输入以下字符,<
CR>
代表换行符。
Thisisabook!
(A)tHISISABOOK!
(B)thisIsABook!
(C)ThisIsABook!
(D)ThisIsaBook!
5.以下程序的运行结果是(
32
):
inta=1,b=2,c=3;
a++;
c+=b;
intb=4,c;
c=2*b;
a+=c;
%d,%d,%d,"
a,b,c);
%d,%d,%d\n"
(A)10,4,8,10,2,5
(B)6,2,4,6,2,4
(C)10,4,8,10,2,8
(D)9,4,8,2,2,5
6.以下程序的输出是(
33
intx=1,y=0,a=0,b=0;
switch(x)
case1:
switch(y)
case0:
break;
b++;
}
case2:
break;
case3:
b++;
a=%d,b=%d\n"
(A)a=1,b=0
(B)a=2,b=1
(C)a=1,b=1
(D)a=2,b=2
7.若有以下程序段:
inta[]={4,0,2,3,1},k,j,t;
for(j=1;
t=a[j];
k=j-1;
while(k>
=0&
t>
a[k])
{
a[k+1]=a[k];
k--;
a[k+1]=t;
则该程序段的功能是(
34
34
(A)对数组a进行插入排序(升序)
(B)对数组a进行插入排序(降序)
(C)对数组a进行选择排序(升序)
(D)对数组a进行选择排序(降序)
8.选择下面程序运行的结果。
intm[3][3]={{1},{2},{3}};
intn[3][3]={1,2,3};
m[1][0]+n[0][0]);
m[0][1]+n[1][0]);
}
第1条printf语句行输出的结果是(
35
35
(A)0
(B)1
(C)2
(D)3
第2条printf语句行输出的结果是(
36
36
9.选择下面程序运行的结果(设int占2个字节)
structdate
intyear,month,day;
}today;
union
longi;
intk;
charc;
}mix;
date=%d\n"
sizeof(structdate));
mix=%d\n"
sizeof(mix));
第1条printf语句行输出的结果为(
37
(A)date=2
(B)date=4
(C)date=6
(D)前3个答案都是错误的
第2条printf语句行输出的结果为(
38
(A)mix=2
(B)mix=4
(C)mix=6
10.读下面程序,程序的命名为MyCopy.c。
/*---------MyCopy.c---------*/
main(intargc,char*argv[])
if(argc!
=3)
\nFormat:
MyCopy<
source_file>
<
desine_file>
else
FILE*source,*desine;
source=fopen(argv[1],"
rb"
desine=fopen(argv[2],"
wb"
if(source==NULL)
ERROR:
Can'
topensourcefile%s!
argv[1]);
elseif(desine==NULL)
argv[2]);
while(!
feof(source))
fputc(fgetc(source),desine);
fclose(source);
fclose(desine);
(1)程序的功能是(
39
40
(A)将磁盘文件的信息显示在屏幕上
(B)将一个磁盘文件复制到另一个磁盘文件中
(C)将两个磁盘文件合并
(D)以上答案都不对
(2)当编译、连接后,在命令行键入:
MyCopyFILE1FILE2<
,则程序将实现(
41
(A)将FILE1的信息显示在屏幕上
(B)将FILE1和FILE2合并
(C)将一个FILE2复制到FILE1中
(D)将一个FILE1复制到FILE2中
注意:
①请把下面“程序填空”中各小题答案写在主观题答题纸上
②每一个空只填一个语句或一个语句所缺的部分内容
三、程序填空(每空2分,共30分)
1.以下程序的功能是将磁盘文件a.dat中的10个整数读入并进行升序排序。
voidsort(int*p,intn)
inti,j,t;
n,j++)
if(①
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 四川省 计算机等级考试 二级 语言 笔试 22