四川省计算机二级历年真题及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.在面向对象的程序设计中,派生类只能从一个基类产生。( 7 )
8.操作系统是用户和硬件的接口。( 8 )
9.个人计算机中可配置的最大内存容量受地址总线位数的限制。( 9 )
10.软件维护中最困难的问题是软件配置不全。( 10 )
二、选择题(每小题1分,共5分)
1.在排序法中,从未排序序列中依次取出元素,与已排序序列中的元素作比较,
22 (A)C语言与C++是兼容的
(B)C++对C语言进行了一些改进
(C)C语言是C++的一个子集
(D)C++和C语言都是面向对象的
8.下列描述中,正确的是(B)。
23 (A)子类可以继承其父类的所有属性和操作,但子类不能定义自己特有的属性和操作
(B)消息传递是类与类之间通信的手段
(C)C++允许函数重载,但不允许运算符重载
c=*a; *a=*b; *b=c;
}
void main()
{ char a,b;
a='A'; b='B';
sub3(&a,&b); putchar(a); putchar(b);
sub2(&a,b); putchar(a); putchar(b);
sub1(a,b); putchar(a); putchar(b);
(C)This Is A Book!(D)This Is a Book!
(2)与L1:return 1等效描述的为(D)。
29(A)return 0(B)return–1(C)return 1-1(D)return !(-1)
3.读下列程序,回答问题。( 28 )。
# include "iostream.h"
{ if(c>='A' && c<='Z') putchar(c);
else if(c>='a' && c<='z') putchar(c-('a'-'A'));
c=fgetc(fp);
}
}
上述C程序经编译、连接后生成一个可执行文件,文件名为ex2_8。假设磁盘上有两个文本文件file1.txt和file2.txt,file1.txt的内容为SiChuan,file2.txt的内容为Test。
int b[2];
}
void fun(union bt *c)
{
c->a=-7;
c->b[0]=9;
c->b[1]=8;
};
void main()
{
union bt c;
fun(&c);
printf("%d\n",c.a);
}
(1)程序的输出结果为(B)。
36(A)8(B)9(C)-7(D)7
(2)若将程序中的所有的union换成struct,则程序的输出结果为(C)。
}
(1)程序结束后i的值为(A)。
30(A)4(B)0(C)2(D)1
(2)该程序的输出结果是(D)。
31(A)1,2,3,4,(B)2,3,4,1,(C)3,4,1,2,(D)4,3,2,1,
4.读下列程序,回答问题。
# include "iostream.h"
void main()
{ char *s="213142";
37(A)8(B)9(C)-7(D)7
8.读程序,回答问题。
# include <stdio.h>
# include <stdlib.h>
void main(int argc,char *argv[])
{
FILE *fp;
void fun(FILE *fp);
int i=1;
while(--argc>0)
if((fp=fopen(argv[i++],"r"))==NULL)
{ printf("Cannot open file!\n");
exit(0);
}
else {fun(fp); fclose(fp); }
}
void fun(FILBaidu Nhomakorabea *fp)
{
char c;
c=fgetc(fp);
while((c!=EOF))
(D)C++程序中所有使用的符号常量可以不进行定义
3.下述程序的输出结果是(D)。
# include <stdio.h>
void main()
{
int y=10;
while(y--);
printf("y=%d",y);
}
18 (A)y=0(B)y=1(C)y=随机值(D)y=-1
4.若有以下说明:
char *str1="copy",str2[20],*str3="str",*str4,*str5="good";
则正确的串操作语句是(D)。
19 (A) strcpy(str4,str1);(B) strcat(str1,str3);
(C) str2="new str";(D) strcpy(str5,str3);
5.下面程序运行后,x,y,z的值分别为(A)。
# include <stdio.h>
void main()
第十九次等级考试
二级(C与C++语言)笔试试卷
时间: 2003年10月18日
上午9:00—11:00
第一部分
软件技术基础
(共15分)
一、是非判断题(每小题1分,共10分)
(判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )
1.在目前,用于保证软件质量的主要手段是进行软件测试。( 1 )
2.读下列程序,运行时输入:This is a book!
# include <stdio.h>
int change(char *c,int fg)
{ if(*c==' ')
L1: return 1;
else
if(fg&&*c<='z'&&*c>='a')
*c+='A'-'a';
return 0;
}
void main()
{
int flag=1;
char ch;
do
{ ch=getchar();
flag=change(&ch,flag);
putchar(ch);
}while(ch!='\n');
}
(1)程序的运行结果是(C)。
28(A)THIS IS A BOOK!(B)this Is A Book!
(D)C++中可以定义虚函数,通过它来支持动态联编
9.下面程序运行的结果是(A)。
# define f(x) 1+x+x*x
# include <stdio.h>
void main()
{
int a=2,b=3;
printf("%d\n",f(a+b));
}
24 (A) 17(B) 31(C) 13(D) 7
# include "stdio.h"
void sub1(char a,char b)
{ char c;
c=a; a=b; b=c;
}
void sub2(char *a,char b)
{ char c;
c=*a; *a=b; b=c;
}
void sub3(char *a,char *b)
{ char c;
printf("\n");
return(x[m]);
}
void main()
{ int y=1;
f(f(y));
}
(1)第一次调用f函数的结果是(26)。
26 (A)5,7,9,(B)1,5,9,(C)0,1,3,(D)3,5,7,
(2)第二次调用f函数的结果是(27)。
27(A)3,5,7,(B)1,5,9,(C)0,1,3,(D)5,7,9,
}
(1)程序中调用完函数sub3后,输出为(C)。
35(A)AB(B)ABBA(C)BA(D)BAAB
(2)该程序的最终输出结果为(D)。
36(A)ABBBAB(B)ABBBBB(C)BABABA(D)BAAAAA
7.读以下程序,并回答问题。
# include <stdio.h>
union bt
{
int a;
将其放入已排序序列的正确位置称为( 11 )。
11 (A)选择排序(B)快速排序
(C)插入排序(D)冒泡排序
2.有X、Y、Z三个元素依次入栈,不可能的出栈顺序是( 12 )。
12 (A) Z,Y,X(B) Z,X,Y
(C) Y,X,Z(D) X,Y,Z
3.进程的状态是可以转换的,而以下哪个状态转换是不可能的( 13 )。
{
int x=0,y=0,z=0;
++x||++y||++z;
printf("%d%d%d\n",x,y,z);
}
20 (A) 100(B) 000(C) 111(D)001
6.以下程序运行的结果是(C)。
# include <stdio.h>
union myun
{ struct
{ int x,y,z; } u;
二、读程序回答问题(每个选择3分,共45分)
1.有下列程序:
# include <stdio.h>
int f(int m)
{
static int x[3]={2,3,4};
int i;
for(i=0;i<3;i++)
x[i]+=x[i]-m;
for(i=0;i<3;i++)
printf("%d,",x[i]);
2.使用DMA方式传送数据期间不需要CPU干预。( 2 )
3.线性顺序队列会产生“假溢出”,而线性循环队列则不会。( 3 )
4.对同一种算法,用高级语言编写的程序比用低级语言编写的程序运行速度快。( 4 )
5.在线性表中,数据的存储方式有顺序和链接两种。( 5 )
6.进程是由程序块、文件控制块和数据块三部分组成。( 6 )
}
(1)该程序运行结束时,k的值是(C)。
32(A)8(B)7(C)6(D)5
(2)该程序的输出结果是(C)。
33(A)a=4,b=5,c=4,d=1(B)a=4,b=9,c=3,d=1
(C)a=3,b=6,c=4,d=1(D)a=8,b=8,c=8,d=8
5.下列程序运行的结果为(B)。
# include "stdio.h"
}
16 (A)程序输入结果不确定(B)程序输出结果是20
(C)程序输出结果是21(D)程序输出是22
2.下列描述正确的是()。
17 (A)C++程序中cout时需要用到预处理命令# include <iostream.h>
(B)C++程序必须有return语句
(C)C++程序中的变量必须定义在主程序内部
10.下面局部程序代码是C++中的(B)特性的表现。
void display(int var)
{ cout<<var;
}
void display(char var)
{ cout<<var;
}
void display(int var1,int var2)
{ cout<<var1<<var2;
}
25 (A)继承(B)重载(C)多态性(D)封装
13 (A)就绪状态执行状态(B)执行状态就绪状态
(C)阻塞状态就绪状态(D)等待状态执行状态
4.线性链表的地址( 14 )。
14 (A)必须连续(B)部分地址必须连续
(C)一定不连续(D)连续与否均可以
5.在软件测试中,( 15 )主要分析程序的内部结构。
15 (A)白盒法(B)黑盒法
(C)因果图法(D)错误推测法
int sb(int *s,int y)
{ static int i=3;
y=s[i--];
return y;
}
void main()
{ int s[]={1,2,3,4};
int i,x=0;
for(i=0;i<4;i++)
{ x=sb(s,x);
cout<<x<<',';
}
cout<<endl;
void fun(char *s)
{ char t;
if(*s)
{ t=*s++; fun(s);
if(t!='\0')
putchar(t);
}
}
void main()
{ char *a="1234";
fun(a);
}
34(A)1234(B)4321(C)1324(D)4231
6.读下列程序,回答问题。
第二部分
C与C++语言程序设计
(共85分)
一、单项选择题(每小题1分,共10分)
1.对下列程序段的描述正确的是(16)。
# include <iostream.h>
int Fun(int x,int y)
{
return x+y;
}
void main()
{
int i=10;
cout<<Fun(i++,i)<<endl;
int a=0,b=0,c=0,d=0;
int k;
for(k=0;s[k];k++)
switch(s[k])
{ default : d++;
case '1': a++;
case '3': c++;
case '2': b++;
}
cout<<"a="<<a<<",b="<<b<<",c="<<c<<",d="<<d<<endl;
int k;
}a;
void main()
{
a.u.x=4; a.u.y=5; a.u.z=6;
a.k=0;
printf("%d %d %d\n", a.u.x, a.u.y, a.u.z);
}
21 (A) 4 5 6 (B) 6 5 4(C) 0 5 6(D) 0 6 5
7.关于C++和C语言学关系描述中,错误的是(D)。
相关文档
最新文档