文档库 最新最全的文档下载
当前位置:文档库 › 国家计算机二级c语言考试试题题库

国家计算机二级c语言考试试题题库

计算机等考二级C语言模拟试题二[1]
第一套:
笔试部分
一、选择题
1.已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是( )
A.acbed B.decab C.deabc D.cedba
【参考答案】D
2.结构化程序设计的3种结构是( )
A.顺序结构、选择结构、转移结构 B.分支结构、等价结构、循环结构
C.多分支结构、赋值结构、等价结构 D.顺序结构、选择结构、循环结构
【参考答案】D
3.算法的时间复杂度是指( )
A.执行算法程序所需要的时间 B.算法程序的长度
C.算法执行过程中所需要的基本运算次数 D.算法程序中的指令条数
【参考答案】C
4.数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为( )
A.C B.Basic C.DDL D.DML
【参考答案】C
5.下列有关数据库的描述,正确的是( )
A.数据处理是将信息转化为数据的过程
B.数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变
C.关系中的每一列称为元组,一个元组就是一个字段
D.如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字、则称其为本关系的外关键字
【参考答案】C
6.用链表表示线性表的优点是( )
A.便于随机存取
B.花费的存储空间较顺序存储少
C.便于插入和删除操作
D.数据元素的物理顺序与逻辑顺序相同
【参考答案】C
7.结构化程序设计主要强调的是( )
A.程序的规模 B.程序的效率
C.程序设计语言的先进性 D.程序易读性
【参考答案】C
8.检查软件产品是否符合需求定义的过程称为( )
A.确认测试 B.集成测试 C.验证测试 D.验收测试
【参考答案】A
9.应用数据库的主要目的是( )
A.解决数据保密问题 C.解决数据完整性问题
C.解决数据共享问题 D.解决数据量大的问题
【参考答案】C
10.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是( )
A.数据库系统 B.文件系统 C.人工管理 D.数据项管理
【参考答案】A
 11.在C语言中,int ,char和short三种类型数据在内存中所占用的字节数( )
A.由用户自己定义
B.均为2个字节
C.是任意的

D.由所用机器的机器字长决定
【参考答案】D
12.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( )
A.必须为字母
 

 B.必须为下划线
C.必须为字母或下划线
D.可以是字母,数字和下划线中任一字符
【参考答案】C
13.x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是( )
A.INPUT x,y,z;
B.scanf(″%d%d%d″,&x,&y,&z);
C.scanf(″%d%d%d″,x,y,z);
D.read(″%d%d%d″,&x,&y,&z);
【参考答案】B
14.以下程序的输出结果是( )
main()
{ int a=4,b=5,c=0,d;
d=!a&&! b||! c;
printf(″%d\n″,d);
}
A.1 B.0 C.非0的数 D.-1
【参考答案15.下面有关for循环的正确描述是( )
A.for循环只能用于循环次数已经确定的情况
B.for循环先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
【参考答案】D
16.设有以下程序段
int x=0,s=0;
while(! x!=0)s+=++x;
printf(″%d″,s);
则( )
A.运行程序段后输出0 B.运行程序段后输出1
C.程序段中的控制表达式是非法的 D.程序段执行无限次
【参考答案】B
17.以下描述中正确的是( )
A.由于do-while循环中循环体语句只能是可执行语句,所以循环体内不能使用复合语句
B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C.在do-while循环体中,是先执行一次循环,再进行判断
D.do-while循环中,根据情况可以省略while
【参考答案】C
】A
18.以下程序的运行结果是( )
sub(int x,int y,int *z)
{*z=y-x;}
main()
{ int a,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
printf(″%4d,%4d,%4d\n″,a,b,c);
}
A.5,2,3 B.-5,-12,-7 C.-5,-12,-17 D.5,-2,-7
【参考答案】B
19.对下面程序描述正确的一项是(每行程序前面的数字表示行号)( )
① main()
② {
③ float a[3]={0.0};
④ int i;
⑤ for(i=0;i<3;i++)scanf(″%d″,&a[i]);
⑥ for(i=1;i<3;i++)a[0]=a[0]+a[i];
⑦ printf(″%f\n″,a[0]);
⑧ }
A.没有错误 B.第3行有错误 C.第5行有错误 D.第7行有错误
【参考答案】C
20.下面程序的输出结果是( )
struct st
{ int x;
int *y;
} *p;
int dt[4]={10,20,30,40};
struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};
main()
{ p=aa;
printf(″%d\n″,++p->x);
printf(″%d\n″,(++p)->x);
printf(″%d\n″,++(*p->y));
}
A.10 B.50 C.51 D.60

20 60 60 70
20 21 21 31
【参考答案】C
21.以下程序的输出结果是( )
long fun(int n)
{ long s;
if(n==1||n==2)s=2;
else s=n-fun(n-1);
return s;}
main()
{ printf(″%1d\n″,fun(3));}
A.1 B.2 C.3 D.4
【参考答案】A
22.以下程序的输出结果是( )
union myun
{ struct
{ int x,y,z;}u;
int k;
} a;
main()
{ a.u.x=4;a.u.y=5;a.u.z=6;
a.k=0;
printf(″%d\n″,a.u.x);}
A.4〖DW〗 B.5〖DW〗 C.6〖DW〗 D.0
【参考答案】D/*共用体最后一个赋值有意义*/
23.以下有4组用户标识符,其中合法的一组是( )
A.For -sub Case B.4d DO Size C.f2_G3 IF abc D.WORD void define
【参考答案】C
24.已知各变量的类型如下
int i=8,k,a,b;
unsigned long w=5;
double x=1.42,y=5.2;
则以下符合C语言语法的表达式是( )
A.a+=a-=(b=4)*(a=3) B.a=a*3+2 C.x%(-3) D.y=float(i)
【参考答案】A
25.下列程序的输出结果是( )
main()
{
int a=2;a%=4-1;
printf(″%d″,a);a+=a*=a-=a*=3;
printf(″\n%d″,a);
}
A.2,12 B.-1,12 C.1,0 D.2,0
【参考答案】D
26.以下不正确的if语句形式是( )
A.if(x>y&&x!=y);
B.if(x==y)x+=y;
C.if(x!=y)scanf(″%d″,&x)else scanf(″%d″,&y);
D.if(x 【参考答案】C
27.对于下面的程序,说法正确的是( )
main()
{
int x=3,y=4,z=2;
if(x=y+z)printf(″x=y+z″);
else printf(″x!=y+z″);
}
A.不能通过编译 B.输出6 C.输出x!=y+z D.输出x=y+z
【参考答案】D
28.标准库函数fgets(buf,n,fp)的功能是( )
A.从fp所指向的文件中读取长度为n的字符串存入缓冲区buf
B.从fp所指向的文件中读取长度不超过n-1的字符串存入缓冲区buf
C.从fp所指向的文件中读取n个字符串存入缓冲区buf
D.从fp所指向的文件中读取长度为n-1的字符串存入缓冲区buf
【参考答案】D
29.下面程序的输出是( )
int b=3;
fun(int *k)
{
int b=2;
b=*(k++)*b;
return(b);
}
main()
{
int a[]={11,12,13,14,15,16};
b=fun(&a[1])*b;
printf(″%d\n″,b);
}
A.24 B.72 C.11 D.33
【参考答案】B
30.以下能对二维数组a进行正确初始化的语句是( )
A.int a[2][ ]={{1,0,1},{5,2,3}}; B.int a[ ][3]={{1,2,3},{4,5,6}};
C.int a[2][4]={{1,2,3},{4,5},{6}}; D.int a[ ][ ]={{1,0,1}{},{1,1}};
【参考答案】B
3

1.与y=(x>0? 1:x<0? -1:0);的功能相同的if语句是( )
A.if(x>0)y=1; B.if(x)
else if(x<0)y=-1; if(x>0)y=1;
else y=0; else if(x<0)y=-1;
C.y=-1 D.y=0;
if(x) if(x>=0)
if(x>0)y=1; if(x>0)y=1;
else if(x==0)y=0; else y=-1;
else y=-1;
【参考答案】A
32.下列程序段的输出结果是( )
void fun(int *x,int *y)
{ printf(″%d%d″,*x,*y);*x=3;*y=4;}
main()
{
int x=1,y=2;
fun(&y,&x);
printf(″%d%d″,x,y);
}
A.2 1 4 3 B.1 2 1 2 C.1 2 3 4 D.2 1 1 2
【参考答案】A
33.下面程序的输出结果是( )
fun(int x)
{
int a=3;
a*=x;
return a;
}
main()
{
int x=2,y=1,n;
n=fun(x);
n=fun(y);
printf(″%d\n″,n);
}
A.2 B.4 C.3 D.8
【参考答案】C
34.以下程序的结果是( )
main()
{
char *p=″abcdefgh″,*r;
long *q;
q=(long*)p;
q++;
r=(char*)q;
printf(″%s\n″,r);
}
A.defg B.cdef C.ghab D.efgh
【参考答案】D
35.C语言中提供的关键字是( )
A.swicth B.cher C.Case D.default
【参考答案】D
36.下面程序的输出结果是( )
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
printf(″%d\n″,*(p+2));
}
A.3 B.4 C.1 D.2
【参考答案】A
37.下列程序的输出结果是( )
main()
{ ouble d=3.2;int x,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
【参考答案】C
 38.执行以下程序后,a,b的值分别为( )
main()
{ int a,b,k=4,m=6,*p1=&k,*p2=&m;
a=p1==&m;
b=(*p1)/(*p2)+7;
printf(″a=%d\n″,a);
printf(″b=%d\n″,b);
}
A.-1,5 B.1,6 C.0,7 D.4,10
【参考答案】C
39.以下不正确的定义语句是( )
A.double x[5]={2.0,4.0,8.0,10.0};
B.int y[5]={0,1,3,5,7,9};
C.char c1[ ]={′1′,′2′,′3′,′4′,′5′};
D.char c2[ ]={′\x10′,′\xa′,′\x8′};
【参考答案】B
40.下面程序段的运行结果是( )
char *format=″%s,a=%d,b=%d\n″;
int a=11,b=10;
a+=b;
printf(format,″a+=b″,a,b);
A.for,″a+=b″,ab B.format,″a+=b″
C.a+=b,a=21,b=10 D.以上结果都不对
【参考答案】C
41.以下叙述中不正确的是( )
A.在不同的函数中可以使用相同的名字的变量
B.函数中的形式参数是局部变量
C.在一个函数内定义的变量只在本函

数范围内有效
D.在一个函数内的复合语句中定义的变量在本函数范围内有效
【参考答案】D
42.在16位IBM-PC机上使用C语言,若有如下定义
struct data
{ int i;
 char ch;
 double f;
} b;
则结构变量b占用内存的字切数是( )
A.1 B.2 C.7 D.11
【参考答案】D
43.以下程序的输出结果是( )
void reverse(int a[],int n)
{ int i,t;
for(i=0;i { t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}
}
main()
{ int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;
reverse(b,8);
for(i=6;i<10;i++)s+=b[i];
printf(″%d\n″,s);
}
A.22 B.10 C.34 D.30
【参考答案】A44.假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入PROG ABCDEFGH IJKL<回车>,则输出结果为( )
main( int argc,char *argv[])
{ while(--argc>0)
printf(″%s″,argv[argc]);
printf(″\n″);
}
A.ABCDEFG B.IJHL C.ABCDEFGHIJKL D.IJKLABCDEFGH
【参考答案】D
45.阅读以下程序及对程序功能的描述,其中正确的描述是( )
#include
main()
{
FILE *in,*out;
char ch,infile[10],outfile[10];
printf(″Enter the infile name:\n″);
scanf(″%s″,infile);
printf(″Enter the outfile name:\n″);
scanf(″%s″,outfile);
if((in=fopen(infile,″r″))==NULL)
{
printf(″cannot open infile\n″);
exit(0);
}
if((out=fopen(outfile,″w″))==NULL)
{
printf(″cannot open outfile\n″);
exit(0);
}
 while(!feof(in))fputc(fgetc(in),out);
fclose(in);
fclose(out);
}
A.程序完成将磁盘文件的信息在屏幕上显示的功能
B.程序完成将两个磁盘文件合二为一的功能
C.程序完成将一个磁盘文件复制到另一个磁盘文件中
D.程序完成将两个磁盘文件合并并在屏幕上输出
【参考答案】C
46.下列用于printf函数的控制字符常量中,代表“竖向跳格”的转义字符常量是( )
A.\b B.\t C.\v D.\f
【参考答案】C
47.设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( )
A.n=(n*100+0.5)/100.0 B.m=n*100+0.5,n=m/100.0
C.n=n*100+0.5/100.0 D.n=(n/100+0.5)*100.0
【参考答案】B
 48.若变量已正确说明为int类型,要通过语句scanf(″%d %d %d″,&a,&b,&c);给a赋值3,b赋值5,c赋值8,不正确的输入形式是( )
A.3<回车> B.3,5,8<回车>

5<回车>
8<回车>
C.3<回车> D.3 5<回车>
5 8<回车> 8<回车>
【参考答案】B
49.对表达式for(表达式1;;表达式3)可理解为( )
A.for(表达式1;0;表达式3)
B.for(表达式1;1;表达式3)
C.for(表达式1;表达式1;表达式3)
D.for(表达式1;表达式3;表达式3)
【参考答案】B
50.若有如下语句
int x=3;
do{ printf(″%d\n″,x-=2);}
while(!(--x));
则上面程序段( )
A.输出的是1 B.输出的是1和-2 C.输出的是3和0 D.是死循环
【参考答案】B
二、填空题
1.在长度为n的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为【1】。
【参考答案】:
【1】 log2n
2.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为【2】。
【参考答案】:
【2】 软件生命周期
3.数据的逻辑结构有线性结构和【3】两大类。
【参考答案】:
【3】 非线性结构
4.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【4】。
【参考答案】:
【4】 可重用性
5.关系操作的特点是【5】操作。
【参考答案】:
【5】 集合
6.以下程序段的输出结果是【6】。
int x=17,y=26;
printf(″%d″,y/=(x%=6));
【参考答案】:
【6】 5
7.若有以下程序段:
int c1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后,c3中的值是【7】。
【参考答案】:
【7】 0
8.以下函数用来在w数组中插入x。n所指向的存储单元中存放w数组中字符个数。数组w中的字符已按从小到大的顺序排列,插入后数组w中的字符仍有序。请填空。
void fun(char *w,char x,int *n)
{ int i,p;
p=0;
w[*n]=x;
while(x>w[p])p++;
for(i=*n;i>p;i--)w[i]=【8】;
w[p]=x;
++*n;
}
【参考答案】:
【8】 w[i-1]
9.以下程序的输出结果是【9】。
main()
{ int y=9;
for(;y>0;y--)
if(y%3==0)
{ printf(″%d″,--y);continue;}
}
【参考答案】:
【9】 852
10.以下程序的输出结果是【10】。
#define PR(ar) printf(″%d″,ar)
main()
{ int j,a[]={1,3,5,7,9,11,15},*p=a+5;
for(j=3;j;j--)
switch(j)
{ case 1:
case 2:PR(*p++);break;
case 3:PR(*(--p));
}
printf(″\n″);
}
【参考答案】:
【10】 9,9,11,
11.以下程序执行结果为【11】。
main()
{
int i,j,k;
for(i=0,j=5;i<=j;i++,j--);
printf(″k=%d″,k=i+j);
}

【参考答案】:
【11】 k=5
12.以下程序的输出结果是【12】。
main()
{
char s[ ]=″abcdef″;
s[3]=′\0′;
printf(″%s\n″,s);
}
【参考答案】:
【12】 abc
13.以下程序的功能是从键盘上输入若干个字符(以回车符作为结束)组成一个字符串存入一个字符数组,然后输出该字符数组中的字符串。请填空。
#include
#include
main()
{
char str[81],*sptr;
int i;
for(i=0;i<80;i++)
{ str[i]=getchar();if(str[i]==′\n′)break;}
str[i]=【13】;sptr=str;
while(*sptr)putchar(* sptr【14】);
}
【参考答案】:
【13】 ′\0′ 【14】 ++
14.下面的程序用来统计文件中字符的个数,请填空。
#include
main()
{
FILE *fp;
long num=0;
if((fp=fopen(″fname.dat″,″r″))==NULL)
{ printf(″Cant’t open file! \n″);exit(0);}
while(【15】){fgetc(fp);num++;}
printf(″num=%1d\n″,num);
fclose(fp);
}
【参考答案】:
【15】 !feof(fp)
15.在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为4;一个double型数据在内存中所占的字节数为【16】。
【参考答案】:
【16】 8
16.以下函数的功能是求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
例如,若x中的值为30,则有4个数符合要求,它们是1,3,5,15。
请按题意,完成填空。
试题程序:
#include
#include
void fun(int x,int pp[ ],int *n)
{ int i,j=0;
【17】
if(x%i==0)pp[j++]=i;
【18】;
}
main()
{ int x,aa[1000],n,i;
clrscr();
printf(″\nPlease enter an integer number :\n″);scanf(″%d″,&x);
fun(x,aa,&n);
for(i=0;i printf(″%d″,aa[i]);
printf(″\n″);
}
【参考答案】:
【17】 for(i=1;i
17.以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针,请将定义补充完整。
struct node
{ int info;
【19】link;
};
【参考答案】:
【19】 struct node *
18.设有以下结构体类型:
struct st
{ char name[8];
int num;
float s[4];
} student[50];
并且结构体数组student中的元素都已有值,若要将这些元素写到硬盘文件fp中,请将以下fwrite语句补充完整:

fwrite(student,【20】,1,fp);
【参考答案】:
【20】 sizeof(struct st)*50
上机部分
一、填空题
给定程序中,函数fun的功能是:找出N×N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
#include
#define N 4
void fun(int(*a)[N],int *b)
{
int i,j;
for(i=0; i {
b[i]= 1 ;
for(j=1;j if(b[i] 2 a[j][i])
b[i]= a[j][i];
}
}
main()
{
int x[N][N]={{12,5,8,7},{6,1,9,3},
{1,2,3,4},{2,8,4,3}},y[N],i,j;
printf("\nThe matrix :\n");
for(i=0;i {
for(j=0; j printf("%4d",x[i][j]);
printf("\n");
}
fun( 3 );
printf("\nThe result is:");
for(i=0; i printf("\n");
}
【答案及解析】
(1)b是一维数组,存放N×N矩阵中每列元素中的最大值,循环开始,第i列的b[i]应该首先赋值为每列的第一个元素a[0][i],再循环与本列其他元素比较,最后找出每列元素中的最大值。因此空1中应该填入:a[0][i]。(2)for(j=1;j 二、改错题
给定程序中,函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。
例如,当字符串中的内容为“abcdabfabcdx”、t中的内容为“ab”时,输出结果应是abcdx。当字符串中的内容为“abcdabfabcdx”、t中的内容为“abd”时,则程序输出未找到信息not be found!。
请改正程序中的错误,使其能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
char *fun(char *s,char *t)
{
char *p,*r,*a;
a=Null;
while(*s)
{
p=s;r=t;
while(*r)
if(r==p)
{r++;p++;}
else break;
if(*r=='\0') a=s;
s++;
}
return a ;
}
main()
{
char s[100],t[100],*p;
printf("\nPlease enter string S :");
scanf("%s",s);
printf("\nPlease enter substring t :");
scanf("%s",t);
p=fun(s,t);
if(p) printf("\nThe result is :%s\n",p);
else printf("\nNot found !\n");
}
【答案及解析】
 

 (1)二级C是区分大小写的,在仔细阅读程序后,发现Null是一个错误的标识符。给a指针赋空值,空值的宏定义符号是NULL,因此应该改为:a = NULL;(2)按照语义是判断r和p指针是否相等,显然是错误的。因为本题是判断子串t是否在串s中出现,应该判定r和p所指内存中字符是否相同,因此应该改为if(*r==*p)。
三、编程题
请编写函数fun,其功能是:比较两个字符串的长度,函数返回较长的字符串。若两个字符串长度相等,则返回第1个字符串(不得使用C语言提供的求字符串长度的函数)。
例如,输入beijingshijiazhuang为回车键),函数将返回shijiazhuang。
注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include
char *fun(char *s,char *t)
{ }
main()
{
char a[20],b[10],*p,*q;
int i;
printf("Input 1th string: ");
gets(a);
printf("Input 2th string: ");
gets(b);
printf("%s",fun(a,b));
}
【答案及解析】
(1)本题主要考查for循环语句的概念。根据题意知,需要使用两个循环来实现,即第1个for循环的作用是求字符串s中字符的个数;第2个for循环的作用是求字符串t中字符的个数。然后进行比较即可。由于任何for循环都要控制一条语句,因此在每个for循环条件后面必须要加一个分号。
(2)按上述解析写出的函数是:
char *fun(char *s,char *t)
{
int i,j;
for(i=0;s[i]!='\0';i++);
/*求字符串s的长度*/
for(j=0;t[j]!='\0';j++);
/*求字符串t的长度*/
if(i>=j)
return s;
else
return t;
}


第二套:
题库名:程序设计基础总试题库.mdb 题数:167题
1、在语句cin>>data;中,cin是 (判断题)
所属章节:4.C语言二级考试题库 难度系数:1
A. C++的关键字
B. 类名
C. 对象名
D. 函数名
说明: 此写解题要点或对题目做说明。
2、假设整型变量a的值是1,b的值是2,c的值是3,在这种情况下执行下面的语句:
u=(a==2)?b+a:c+a;
执行该语句后整型变量u的值为( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 0
B. 3
C. 4
D. 5
答案: C
说明: 此写解题要点或对题目做说明。
3、分析下面的代码:
if(x>20||x<-10)
if(y<=100&&y>x)
printf("Good");
else
printf("Bad");
如果x=30,y=150,输出为( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. Good
B. Bad
C. Good Bad
D. Bad Good
答案: B
说明: 此写解题要点或对题目做说明。
4、分析下面的代码:
#include
void main()
{

int a;
scanf("%d",&a);
switch(a)
{
case 1:printf("星期一 ");
case 2:printf("星期二 ");
case 3:printf("星期三 ");
case 4:printf("星期四 ");
case 5:printf("星期五 ");
case 6:printf("星期六 ");
case 7:printf("星期日 ");
default:printf("输入错误\n");
}
}
若a=6,则输出结果是( )。

(单选题)
所属章节:4.C语言二级考试题库 难度系数:2
A. 星期六
B. 星期六 星期日
C. 星期六 星期日 输入错误
D. 输入错误
答案: C
说明: 此写解题要点或对题目做说明。
5、分析下面的代码:
if (a<0.7)
printf("提示1");
else if(a<1)
printf("提示2");
else
printf("提示3");
如果a=0.8,那么输出结果为( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:2
A. 提示1
B. 提示2
C. 提示3
答案: C
说明: 此写解题要点或对题目做说明。
6、在switch结构中,( )子句不是必选项。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. switch
B. case
C. default
D. else
答案: C
说明: 此写解题要点或对题目做说明。
7、分析下面的代码,如果输入85,那么将输出( )。
#include
void main()
{
int mks;
printf("请输入分数:");
scanf("%d",&mks);
mks>90?printf("优秀"):printf("一般");
} (单选题)
所属章节:4.C语言二级考试题库 难度系数:2
A. 优秀
B. 一般
C. 代码将不会显示任何结果
D. 语法错误
答案: B
说明: 此写解题要点或对题目做说明。
8、分析下面的C语言代码:
int a=1,b=10;
do{
b-=a; a++;
}while (b- -<0);
则执行循环语句后b的值为()。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 9
B. -2
C. -1
D. 8
答案: D
9、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:
scanf("i=%d,f=%f",&i,&f);
为了把100和765.12分别赋给i和f,则正确的输入为()。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 100 765.12
B. i=100,f=765.12
C. 100<回车> 765.12
D. x=100 y=765.12
答案: B
10、#include
void main()
{
int a=3,b=2,c=1;
int x=10,y=20;
if(aif(b!=0)
if(!x)
y=1;
else if(x)
y=0;
y=-1;
printf("%d",y);
}
上面的C程序的输出结果是( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 20
B. 1
C. 0
D. -1
答案: B
11、C语言中,while和do…while循环的主要区别是( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. while的循环控制条件比do…while的循环控制条件严格
B. do…while的循环体至少无条件执行一次
C. do…while允许从外部转到循环体内
D. do…while的循环体不能是复合语句
答案: D
12、执行下

面的C程序段后,输出结果是( )。
int a=5;
while( a- -);
printf( "%d",a) ; (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 54321
B. 4321
C. 0
D. -1
答案: D
13、下面C代码的输出结果是( )。
int answer,result;
answer=100;
result=answer-10;
printf(“The result is %d”, result+5); (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. The result is 90
B. The result is 95
C. The result is 10
D. The result is 100
答案: B
14、在C语言中,()是在所有函数外部声明的。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 全局变量
B. 局部变量
C. 形参
答案: A
15、分析下面的C程序:
#include
void main()
{
int num=0;
while(num<=2){
num++;
printf("%d ",num);
}
}
输出结果是( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 1 2 3
B. 0 1 2
C. 2 3
D. 1 2
答案: A
16、研究下面的C程序段:
int i,j;
for (i=5;i;i--)
for(j=0;j<4;j++){…}
循环体的总执行次数是()。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 20
B. 25
C. 24
D. 30
答案: A
17、设x,y,z,t均为int型变量,则执行以下语句后,t的值为()。
x=y=z=1;
t=++x||--y&&++z;(选择一项) (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 不定值
B. 2
C. 1
D. 0
答案: C
18、阅读下面的C语言代码,输出结果是()。
int x, y = 1, z=0;
if ( z < 0 )
x = 3;
else if ( y == 0 )
x = 5;
else
x = 7;
printf("%d, %d", x, y); (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 7, 0
B. 7, 1
C. 3, 3
D. 以上都不正确
答案: B
19、在C语言中,已知字母A的ASCII码是65,则执行语句:char ch='A'+3; 后ch的值为( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 不能确定
B. 68
C. C
D. D
答案: D
20、在C语言中,能正确表示a和b同时为正或同时为负的逻辑表达式是()。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. (a>=0‖b>=0)&&(a<0‖b<0)
B. (a>=0&&b>=0)&&(a<0&&b<0)
C. (a+b>0)&&(a+b<=0)
D. a*b>0
答案: D
21、下面的C语言代码段的输出结果是()。
int j;
for(j=1; j<10; j+=2)
printf("%d ",j); (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 1 2 3 4 5 6 7 8 9
B. 2 4 6 8
C. 1 3 5 7 9
D. 1 2 4 6 8
答案: C
22、用来将两个字符串合并为一个字符串的函数是()。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. strcat()
B. strcpy()
C. strlen()
答案: A
23、在C语言中,表达式:10!=9 的值是()。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. true
B. 非零值
C. 0
D. 1
答案: D
24、分析下面的C代码段:
char str1[15] = "Sea View";
ch

ar str2[15] = "Sea Breeze";
strcpy(str1,str2);
printf("%s\n",str1);
则输出结果是()。(选择一项) (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. Sea View
B. Sea Breeze
C. Sea View Sea Breeze
D. Sea Breeze Sea View
答案: B
25、在C语言中,下列正确的字符型常量是()。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. “f”
B. ‘9’
C. #
D. 365
答案: B
26、在C语言中,以下不会出现死循环的语句是()。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. int x=0;
do{x++;}while(x=1);
B. for(k=10; ; k--);
C. for(y=0, x=1; x>++y; x=k++) k=x;
D. while(1) {x++;}
答案: C
27、分析下面的C语言程序:
void main()
{
int a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
输出结果是()。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 2,1
B. 3,2
C. 4,3
D. 2,-1
答案: A
28、在C语言中,下面()是逻辑运算符中优先级最高的。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. !


&
B. &&
C. ||
D. &
答案: A
29、sizeof(float)是( ) (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 一个双精度型表达式
B. 一个整型表达式
C. 一种函数调用
D. 一个不合法的表达式
答案: B
30、临时存储频繁使用的信息以加快访问速度,通常用在处理器和主存储器之间一种计算机存储器是()。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 高速缓存(Cache)
B. 辅助存储器
C. 随机访问存储器
D. 只读存储器
答案: A
31、以下两种说法()
说法1:浏览器 – 服务器模型的软件在升级时需要升级相应的客户端
说法2:客户端 – 服务器模型中的客户端和服务器必须是不同的计算机 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 只有说法1正确
B. 只有说法2正确
C. 两种说法都正确
D. 两种说法都不正确
答案: D
32、下列关于计算机病毒的叙述中,错误的是()。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 计算机病毒会造成对计算机文件和数据的破坏
B. 只要删除感染了病毒的文件就可以彻底消除病毒
C. 计算机病毒是一段人为制造的小程序
D. 计算机病毒是可以预防和消除的
答案: B
33、在Windows 2000中任务管理器可用于以下操作,除了()。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 结束某个应用程序
B. 结束某个进程
C. 察看CPU使用率
D. 断开网络连接
答案: D
34、以下两种说法()
说法1:管理员帐户永远不能被删除和禁用
说法2:来宾帐户默认是禁用的,但也可以启用。 (单选题)
所属章节:4.C语言

二级考试题库 难度系数:1
A. 只有说法1正确
B. 只有说法2正确
C. 两种说法都正确
D. 两种说法都不正确
答案: C
35、以下关于TCP/IP协议的描述正确的是()。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. TCP/IP协议中共有两个协议,分别是TCP协议和IP协议
B. TCP/IP协议是最流行的网络协议,没有该协议将无法使用Internet
C. TCP协议用于在网络中传输数据
D. IP协议用于检查数据的正确性
答案: B
36、请阅读以下程序:
void main()
{
int a=5,b=0,c=0;
if(a=b+c) printf("***\n ");
else printf("$$$\n");
}
以上程序( ) (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 有语法错误不能通过编译
B. 可以通过编译但不能通过连接
C. 输出***
D. 输出$$$
答案: D
37、若w=1,x=2,y=3,z=4,则条件表达式w所属章节:4.C语言二级考试题库 难度系数:1
A. 4
B. 3
C. 2
D. 1
答案: D
38、表达式18/4*sqrt(4.0)/8值的数据类型为()。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. int
B. float
C. double
D. 不确定
答案: C
39、若运行以下程序时,从键盘输入2473<回车>,则下面程序的运行结果是()。
#include
void main()
{
int c;
while((c=getchar())!=’\n’)
switch(c-‘2’)
{
case 0:
case 1: putchar(c+4);
case 2: putchar(c+4);break;
case 3: putchar(c+3);
default: putchar(c+2);break;
}
printf(“\n”);
} (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 668977
B. 668966
C. 66778777
D. 6688766
答案: A
40、以下描述中正确的是( ) (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B. do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C. 在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作
D. do-while循环中,根据情况可以省略while
答案: C
41、下面程序的运行结果是( )
#include
void main()
{int y=10;
do{y--;}while(- -y);
printf(“%d\n”,y- -);} (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. -1
B. 1
C. 8
D. 0
答案: D
42、下面有关for循环的正确描述是( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. for循环只能用于循环次数已经确定的情况
B. for循环是先执行循环体语句,后判断表达式
C. 在for循环中,不能用break语句跳出循环体
D. for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来
答案: D
43、若i为整型变量,则以下循环执行次数

是( )。
for(i=2;i= =0;) printf(“%d\n”,i- -); (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 无限次
B. 0次
C. 1次
D. 2次
答案: B
44、以下不是无限循环的语句为( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. for(y=0,x=1;x>++y;x=i++) i=x;
B. for(;;x++=i);
C. while(1){x++;}
D. for(i=10;;i- -) sum+=i;
答案: A
45、下面程序的运行结果是( )
#include
void main()
{ int i;
for(i=1;i<=5;i++)
{
if(i%2) printf(“*”);
else continue;
printf(“#\n”);
}
printf(“$\n”);} (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. *#*#*#$
B. #*#*#*$
C. *#*#$
D. #*#*$
答案: A
46、( )命令用于重新命名文件。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. dir
B. rd
C. ren
D. cd
答案: C
47、( )命令用于将一个文件从一个位置移到另一个位置。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. move
B. copy
C. cut
D. paste
答案: A
48、( )文件系统可提高性能、可靠性和磁盘空间利用率,以及其他扩展功能,如安全访问控制列表和文件系统日志。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. FAT12
B. FAT16
C. FAT32
D. NTFS
答案: D
49、( )是一种线性数据结构,并按后进先出的方式来操作数据。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 队列
B. 栈
C. 树
D. 图
答案: B
50、下列IP地址为c类地址的是( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 4.3.2.1
B. 266.45.78.3
C. 192.223.78.5
D. 150.33.7.8
答案: C
51、下列叙述中正确的是 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 算法的效率只与问题的规模有关,而与数据的存储结构无关
B. 算法的时间复杂度是指执行算法所需要的计算工作量
C. 数据的逻辑结构与存储结构是一一对应的
D. 算法的时间复杂度与空间复杂度一定相关
说明: 此写解题要点或对题目做说明。
52、在结构化程序设计中,模块划分的原则是 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 各模块应包括尽量多的功能
B. 各模块的规模应尽量大
C. 各模块之间的联系应尽量紧密
D. 模块内具有高内聚度、模块间具有低耦合度
说明: 此写解题要点或对题目做说明。
53、下列叙述中正确的是 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 软件测试的主要目的是发现程序中的错误
B. 软件测试的主要目的是确定程序中错误的位置
C. 为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作
D. 软件测试是证明软件没有错误
说明:

此写解题要点或对题目做说明。
54、下面选项中不属于面向对象程序设计特征的是 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 继承性
B. 多态性
C. 类比性
D. 封装性
说明: 此写解题要点或对题目做说明。
55、下列对队列的叙述正确的是 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 队列属于非线性表
B. 队列按“先进后出”原则组织数据
C. 队列在队尾删除数据
D. 队列按“先进先出”原则组织数据
说明: 此写解题要点或对题目做说明。
56、对下列二叉树

进行前序遍历的结果为 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. DYBEAFCZX
B. YDEBFZXCA
C. ABDYECFXZ
D. ABCDEFXYZ
说明: 此写解题要点或对题目做说明。
57、某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. n+l
B. n-1
C. 2n
D. 可2
说明: 此写解题要点或对题目做说明。
58、在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是___ (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 并
B. 交
C. 投影
D. 笛卡儿乘积
说明: 此写解题要点或对题目做说明。
59、在E-R图中,用来表示实体之间联系的图形是( ) (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 矩形
B. 椭圆形
C. 菱形
D. 平行四边形
说明: 此写解题要点或对题目做说明。
60、下列叙述中错误的是( ) (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 在数据库系统中,数据的物理结构必须与逻辑结构一致
B. 数据库技术的根本目标是要解决数据的共享问题
C. 数据库设计是指在已有数据库管理系统的基础上建立数据库
D. 数据库系统需要操作系统的支持
说明: 此写解题要点或对题目做说明。
61、为了取代C中带参数的宏,在C++中使用 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 重载函数
B. 内联函数
C. 递归函数
D. 友元函数
说明: 此写解题要点或对题目做说明。
62、下列关于类定义的说法中,正确的是 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 类定义中包括数据成员和函数成员的声明
B. 类成员的缺省访问权限是保护的
C. 数据成员必须被声明为私有的
D. 成员函数只能在类体外进行定义
说明: 此写解题要点或对题目做说明。
63、下列关于派生类构造函数和析构函数的说法中,错误的是 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 派生类的构造函数会隐含调用基类的构造函数
B. 如果基类中没有缺省构造函数,那么派生类必

须定义构造函数
C. 在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数
D. 在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数
说明: 此写解题要点或对题目做说明。
64、通过运算符重载,可以改变运算符原有的
(单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 操作数类型
B. 操作数个数
C. 优先级
D. 结合性
说明: 此写解题要点或对题目做说明。
65、有如下函数模板:
template T square(T x){return x*x;}
其中T是 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 函数形参
B. 函数实参
C. 模板形参
D. 模板实参
说明: 此写解题要点或对题目做说明。
66、使用输入输出操作符setw,可以控制 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 输出精度
B. 输出宽度
C. 对齐方式
D. 填充字符
说明: 此写解题要点或对题目做说明。
67、下列字符串中,不可以用作C一标识符的是 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. y_2006
B. ___TEST_H
C. Return
D. switch
说明: 此写解题要点或对题目做说明。
68、字面常量42、4.2、42L的数据类型分别是 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. long, double, int
B. long, float, int
C. int, double, long
D. int, float, long
说明: 此写解题要点或对题目做说明。
69、执行下列语句段后,输出字符“*”的个数是
for(int i=50;i> 1:-i)cout<<’*’; (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 48
B. 49
C. 50
D. 51
说明: 此写解题要点或对题目做说明。
70、有如下程序段:
int i=0, j=1;
int &r=i;//①
r =j;//②
int *p=&i;//③
*p=&r;//④
其中会产生编译错误的语句是 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. ④
B. ③
C. ②
D. ①
说明: 此写解题要点或对题目做说明。
71、有如下函数定义:
void func(int a, int& b){a++; b++;}
若执行代码段:
int x=0, y=1;
func(x, y);
则变量x和y的值分别是
(单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 0和1
B. 1和1
C. 0和2
D. 1和2

说明: 此写解题要点或对题目做说明。
72、有如下程序:
#include
using namespace std;
class A{
public:
static int a;
void init( ){a=1;}
A(int a=2){initn; a++;}
};
int A::a=0;
A obj;
int main()

Cout<return 0;
j
运行时输出的结果是 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 0
B. 1
C. 2
D. 3
说明: 此写解题要点或对题目做说明。
73、下列有关继承和派生的叙述

中,正确的是 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 派生类不能访问基类的保护成员
B. 作为虚基类的类不能被实例化
C. 派生类应当向基类的构造函数传递参数
D. 虚函数必须在派生类中重新实现
说明: 此写解题要点或对题目做说明。
74、下列运算符中,不能被重载的是 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. &&
B. !=
D. ++
说明: 此写解题要点或对题目做说明。
75、下列函数模版中的定义中,合法的是
(单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. A)template T abs(T x) {return x <0? –x:x;}


B. template class< T> T abs(T x) {return x <0? –x:x;}

C. template T abs(T x) {return x <0? –x:x;}
D. tempIate T abs(T x){return x<0?-x:x;〕
说明: 此写解题要点或对题目做说明。
76、有如下程序:
#include
using namespace std;
class test{
private:
int a;
public:
test0{cout+"constructor"+endl;}
test(int a){cout+a+endl;}
test(const test&test)
{
a= test.a;
cout+,,copy constructor"+endl;

test(){Gout+"destructor"+endl;}
};
int main( )
{
test A(3);
return 0;

运行时输出的结果是
(单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 3
B. constructor
destructor
C. copy constructor
destructor
D. 3
destructor
说明: 此写解题要点或对题目做说明。
77、若有如下类声明
class MyClass{
public:
MyClass( ){cout<<1;}
};
执行下列语句
MyClass a,b[2],*p[2]:
以后,程序的输出结果是 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 11
B. 111.
C. 1111
D. 11111
说明: 此写解题要点或对题目做说明。
78、有如下程序:
#include
using namespace std;
class Point{
public:
static int number;
public:
Pointo{number十十;}
-Point( ){number--;}
};
int Point::number--0;
void mainO {
Point *ptr;
Point A, B;
f
Point* ptr_point=new Point[3];
ptx=ptr_point;

Point C;
Gout+Point::number+endl;
delete[] ptr;

运行时输出的结果是 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 3
B. 4
C. 6
D. 7
说明: 此写解题要点或对题目做说明。
79、如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制。

#include
using namespace std;
class Base{
int a,b;
public:
Base(int x, int y) { a=x; b=y;}
void show( ){cout<};
class Derived:public Base{
int c,d;
public:
Derived(int x,int y,int z,int m):Base(x,y)tc=z; a=m;I
void show{cout<

l;}
};
int main( )

Base B 1(50,50),*pb;
Derived D 1(10,20,30,40);
pb=&D 1;
pb->show( );
return( );
}
运行时输出的结果是
(单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 10,20
B. 30,40
C. 20,30
D. 50,50


说明: 此写解题要点或对题目做说明。
80、有如下程序:
#include
using namespace std;
class A

public:
A(int i){x=i;}
void dispa 0{cout<<x<<’,’;}
private:
int x;
};
class B:public A

public:
B(int i):A(i+10){x=i;}
void dispb( ){dispa( ); cout<<x<< endl;}
private
int x;
};
int main( )

B b(2);
b.dispb( );
return 0;

运行时输出的结果是
(单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 10,2
B. 12,10
C. 12,2
D. 2,2

说明: 此写解题要点或对题目做说明。
81、虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序:
#include
using namespace std;
class Base
{
public:
virtual void f( ){cout<<”f0+”;}
void g( ) { cout<<”g0+”;}
};
class Derived:public Base
{
public:
void f( ){cout<<”f+”;}
void go { cout<<,”g+”;}
};
int main
{
Derived d;
Base *p=&d;
p->f( ); P->g( );
return 0;

运行时输出的结果是 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. f+g+
B. f0+g+
C. f+g0+
D. f0+g0+
说明: 此写解题要点或对题目做说明。
82、下面程序中对一维坐标点类Point进行运算符重载
#include
using namespace std;
class Point{
public:
Point (int val){x=val;}
Point& operator ++( ){x++; return *this;}
Point operator ++(int){Point old=*this;++(*this);return old;}
Yolnt operator (m )飞- ,,?、,二二一,,
int GetX( ) const{return x;}
private:
int x;
};
int main()

Point a(10);
cout<<(++a).GetX( );
cout<<a十十.GetX();
return 0;

编译和运行情况是 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 运行时输出1011
B. 运行时输出1111
C. 运行时输出1112
D. 编译有错
说明: 此写解题要点或对题目做说明。
83、有如下程序:
#include
using namespace std;
int mainU

char str[100], *p;
Gout+"Please input a string:”:
cin;str;
p=str;
for(int i=0; *p!=’\0’; p++,i++);
cout<return 0;

运行这个程序时,若输入字符串为
abcdefg abcd
则输出结果是 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 7
B. 12
C. 13
D. 100
说明: 此写解题要

点或对题目做说明。
84、有如下程序:
#include
using namespace std;
class Sample

friend long fun (Sample s);
public:
Sample (long a){x=a;}
private:
long x;
};
long fun (Sample s)

if (s.x<2) return 1:
return s.x*fun(Sample(s.x-1)):

int main( )

int sum=0;
for(int i=0; i<6; i++){sum+=fun(Sample(i));}
cout<<sum;
return 0;

运行时输出的结果是

(单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 120
B. 16
C. 154
D. 34
说明: 此写解题要点或对题目做说明。
85、十进制数1385转换成十六进制数为( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 568
B. 569
C. D85
D. D55
答案: B
说明: 此写解题要点或对题目做说明。
86、下列叙述中正确的是( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 计算机病毒只能传染给可执行文件
B. 计算机软件是指存储在软盘中的程序
C. 计算机每次启动的过程之所以相同,是因为RAM中的所有信息在关机后不会丢失
D. 硬盘虽然装在主机箱内,但它属于外存
答案: D
说明: 此写解题要点或对题目做说明。
87、一个字长的二进制位数是( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 8
B. 16
C. 32
D. 随计算机系统而不同的
答案: D
说明: 此写解题要点或对题目做说明。
88、CPU主要由运算器与控制器组成,下列说法中正确的是( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 运算器主要负责分析指令,并根据指令要求作相应的运算
B. 控制器主要完成对数据的运算,包括算术运算和逻辑运算
C. 控制器主要负责分析指令,并根据指令要求作相应的运算
D. 控制器直接控制计算机系统的输入与输出操作
答案: D
说明: 此写解题要点或对题目做说明。
89、下列叙述中正确的是( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 将数字信号变换成便于在模拟通信线路中传输的信号称为调制
B. 以原封不动的形式将来自终端的信息送入通信线路称为调制解调
C. 在计算机网络中,一种传输介质不能传送多路信号
D. 在计算机局域网中,只能共享软件资源,而不能共享硬件资源
答案: A
说明: 此写解题要点或对题目做说明。
90、各种网络传输介质( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 具有相同的传输速率和相同的传输距离
B. 具有不同的传输速率和不同的传输距离
C. 具有相同的传输速率和不同的传输距离
D. 具有不同的传输速率和相同

的传输距离
答案: B
说明: 此写解题要点或对题目做说明。
91、多媒体计算机系统的两大组成部分是( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 多媒体功能卡和多媒体主机
B. 多媒体通信软件和多媒体开发工具
C. 多媒体输入设备和多媒体输出设备
D. 多媒体计算机硬件系统和多媒体计算机软件系统
答案: D
说明: 此写解题要点或对题目做说明。
92、按通信距离划分,计算机网络可以分为局域网和广域网。下列网络中属于局域网的是( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. Internet
B. CERNET
C. Novell
D. CHINANET
答案: D
说明: 此写解题要点或对题目做说明。
93、在Windows中,启动应用程序的正确方法是( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 用鼠标双击该应用程序图标
B. 将该应用程序窗口最小化成图标
C. 将该应用程序窗口还原
D. 将鼠标指向该应用程序图标
答案: C
说明: 此写解题要点或对题目做说明。
94、在Windows中,终止应用程序执行的正确方法是( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 用鼠标双击应用程序窗口左上角的控制菜单框
B. 将应用程序窗口最小化成图标
C. 用鼠标双击应用程序窗口右上角的还原按钮
D. 用鼠标双击应用程序窗口中的标题栏
答案: A
说明: 此写解题要点或对题目做说明。
95、DOS控制键Ctrl+Alt+Del的功能为( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. 删除一个字符并退格
B. 暂停标准输出设备的输出
C. 热启动

D. 终止当前操作
答案: C
说明: 此写解题要点或对题目做说明。
96、设当前盘为C盘,为了将A盘当前目录中所有扩展名为.PAS 的文件改成扩展名为.P,应使用的DOS命令为( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. REN A:*.PAS A:*.P
B. REN A:*.PAS *.P
C. REN A:.PAS A:.P
D. REN A:.PAS .P
答案: B
说明: 此写解题要点或对题目做说明。
97、设当前盘为C盘,其根目录下有两个子目录D1与D2,且当前目录为D1,若要进入子目录D2,正确的DOS命令为( )。 (单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. CD D2
B. CD D2\
C. CD \D2
D. CD D1\D2
答案: C
说明: 此写解题要点或对题目做说明。
98、设当前盘为A盘,要将B盘当前目录下的两个文件A.TXT与X.TXT 连接后以文件名Y.TXT存放到A盘的当前目录中,正确的DOS命令为( )。
(单选题)
所属章节:4.C语言二级考试题库 难度系数:1
A. COPY A.TXT+X.TXT A:Y.TXT

相关文档
相关文档 最新文档