[切换城市]
报课、招生咨询电话:010-51268840/41 ·北京站  ·上海站  ·郑州站     [课程] [夏令营] [书店] [高校招生] 进入论坛>>
首 页 外 语 IT 财 会 学 历 出 国 管 理 公务员 成 考 人力资源 0-18岁
  ·职业资格 ·考研 ·在职研   ·报关员 ·外销员 ·国际商务师 ·网络教育  ·环球职业教育 ·会计网校 ·新东方
首页 > 计算机考试 > 计算机等级考试 > 二级真题 >
→论坛登陆 用户名  密码  
2004年4月全国计算机等级考试二级C笔试试题

作者: 发布时间:2007-05-12 14:38:39 来源:

一、选择题,(1-40)每题1分,(41-50)每题2分,共60分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。


(1) 1MB等于
A) 1000字节                    B) 1024字节
C) 1000×1000字节        D) 1024×1024字节

(2) 与十六进制数200等值的十进制数为
A) 256              B) 512             C) 1024             D) 2048

(3) 所谓“裸机”是指
A) 单片机                                           B) 单板机
C) 不装备任何软件的计算机           D) 只装备操作系统的计算机

(4) 能将高级语言编写的源程序转换成目标程序的是
A) 链接程序             B) 解释程序             C) 编译程序             D) 编辑程序

(5) 在64位计算机中,一个字长所占的字节数为
A) 64             B) 8              C) 4             D) 1

(6) 在Windows环境下,当一个应用程序窗口被最小化后,该应用程序
A) 继续在后台运行              B) 继续在前台运行
C) 终止运行                          D) 暂停运行

(7) 在Windows环境下,能实现窗口移动的操作是
A) 用鼠标拖动窗口中的任何部位            B) 用鼠标拖动窗口的边框
C) 用鼠标拖动窗口的控制按钮                D) 用鼠标拖动窗口的标题栏

(8) 在Windows环境下,PrintScreen键的作用是
A) 打印当前窗口的内容                             B) 打印屏幕内容
C) 复制屏幕到剪贴板                                 D) 复制当前窗口到剪贴板
 
(9) Internet的通信协议是
A) TCP/IP             B) BBS              C) WWW               D) FTP

(10) 下列叙述中正确的是
A) 计算机病毒只感染可执行文件
B) 计算机病毒只感染文本文件
C) 计算机病毒只能通过软件复制的方式进行传播
D) 计算机病毒可以通过网络或读写磁盘等方式进行传播

(11) 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是
A) 有零个或多个输入             B) 有零个或多个输出
C) 有穷性                                 D) 可行性

(12) 以下叙述中正确的是
A) C语言的源程序不必通过编译就可以直接运行
B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C) C源程序经编译形成的二进制代码可以直接运行
D) C语言中的函数不可以单独进行编译

(13) 以下符合C语言语法的实型常量是
A) 1.2E0.5                B) 3.14.159E              C) .5E-3              D) E15

(14) 以下4组用户定义标识符中,全部合法的一组是
A) _main               B) If                 C) txt                  D) int
 enclude -max REAL k_2
 sin turbo 3COM _001

(15) 若以下选项中的变量已正确定义,则正确的赋值语句是
A) x1=26.8%3              B) 1+2=x2

        C) x3=0x12                  D) x4=1+2=3;

(16) 设有以下定义
int a=0;
double b=1.25;
char c=’A’;
#define d 2
则下面语句中错误的是
A) a++;             B) b++            C) c++;            D) d++;

(17) 设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式 计算结果不相符的是
A) (a+B) *h/2                 B) (1/2)*(a+B) *h
C) (a+B) *h*1/2             D) h/2*(a+B)

(18) 有以下程序
main( )
{
 int x=102,y=012;
 printf(“-,-\n”,x,y);
}
执行后输出结果是
A) 10,01              B) 02,12             C) 102,10               D) 02,10

(19) 以下4个项中,不能看作一条语句的是
A) {;}                B) a=0,b=0,c=0;

        C) if(a>0);         D) if(b==0) m=1;n=2;

(20) 设有定义:int a,*pa=&a;以下scanf语句中能正确为变量a读入数据的是
A) scanf(“%d”,pA) ;             B) scanf(“%d”,A) ;
C) scanf(“%d”,&pA) ;          D) scanf(“%d”,*pA) ;

(21) 以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是
A) if((a>B) &&(b>C) ) k=1;            B) if((a>B) ||(b>C) ) k=1
      else k=0;                                         else k=0;
C) if(a<=B) k=0;                              D) if(a>B) k=1;
     else if(b<=C) k=1;                            else if(b>C) k=1;

(22) 有以下程序
main( )
{ char k; int I;
 for(i=1;i<3;i++)
 { scanf(“%c”,&k);
 switch(k)
 { case ‘0’: printf(“another\n”);
 case ‘1’: printf(“number\n”);
 }
 }
}
程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是
A) another              B) another         C) another            D) number
     number                   number              number                 number
     another                   number

(23) 有以下程序
main( )
{ int x=0,y=5,z=3;
 while(z-->0&&++x<5) y=y-1;
 printf(“%d,%d,%d\n”,x,y,z);
}
程序执行后的输出结果是
A) 3,2,0               B) 3,2,-1              C) 4,3,-1              D) 5,-2,-5

(24) 有以下程序
main( )
{ int i,s=0;
 for(i=1;i<10;i+=2) s+=i+1;
 printf(“%d\n”,s);
}
程序执行后的输出结果是
A) 自然数1~9的累加和                     B) 自然数1~10的累加和
C) 自然数1~9中的奇数之和             D) 自然数1~10中的偶数之和

(25) 有以下程序 main( )
{ int i,n=0;
 for(i=2;i<5;i++)
 { do
 { if(i%3) continue;
 n++;
 } while(!i);
n++;
 }
 printf(“n=%d\n”,n);
}
程序执行后的输出结果是
A) n=5               B) n=2               C ) n=3              D) n=4

(26) 若程序中定义了以下函数
 double myadd(double a,double B)
 { return (a+B) ;}
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是
A) double myadd(double a,B) ;
B) double myadd(double,double);
C) double myadd(double b,double A) ;
D) double myadd(double x,double y);

(27) 有以下程序
char fun(char x , char y)
{ if(x  return y;
}
main( )
{ int a=’9’,b=’8’,c=’7’;
 printf(“%c\n”,fun(fun(a,B) ,fun(b,C) ));
}
程序的执行结果是
A) 函数调用出错                  B)8              C)9               D)7

(28) 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是
A) p=1;               B) *q=2;               C) q=p;                D) *p=5;

(29) 有以下程序
void f(int v , int w)
{ int t;
 t=v;v=w;w=t;
}
main( )
{ int x=1,y=3,z=2;
 if(x>y) f(x,y);
 else if(y>z) f(y,z);
 else f(x,z);
 printf(“%d,%d,%d\n”,x,y,z);
}
执行后输出结果是
A) 1,2,3             B) 3,1,2             C) 1,3,2              D) 2,3,1

(30) 有以下程序段
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;
b=p[5];
b中的值是
A) 5                   B) 6                   C) 8                    D) 9

(31) 31、有以下程序
main( )
{ char a[]=”abcdefg”,b[10]=”abcdefg”;
 printf(“%d %d\n”,sizeof(A) ,sizeof(B) );
}
执行后输出结果是
A) 7 7                B) 8 8                 C) 8 10              D) 10 10

(32) 有以下程序
void swap1(int c[])
{ int t;
 t=c[0];c[0]=c[1];c[1]=t;
}
void swap2(int c0,int c1)
{ int t;
 t=c0;c0=c1;c1=t;
}
main( )
{ int a[2]={3,5},b[2]={3,5};
 swap1(A) ; swap2(b[0],b[1]);
 printf(“%d %d %d %d\n”,a[0],a[1],b[0],b[1]);
}
其输出结果是
A) 5 3 5 3             B) 5 3 3 5             C) 3 5 3 5             D) 3 5 5 3

(33) 有以下程序
void sum(int *A)
{ a[0]=a[1];}
main( )
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
 for(i=2;i>=0;i--) &nb
 sp; sum(&aa[i]);
 printf(“%d\n”,aa[0]);
}
执行后的输出结果是
A) 4              B) 3              C) 2              D) 1

(34) 34、有以下程序
int f(int b[][4])
{ int i,j,s=0;
 for(j=0;j<4;j++)
 { i=j;
 if(i>2) i=3-j;
 s+=b[i][j];
 }
return s;
}
main( )
{ int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};
printf(“%d\n”,f(A) );
}
执行后的输出结果是
A) 12             B) 11              C) 18              D) 16

(35) 有以下定义
#include
char a[10],*b=a;
不能给数组a输入字符串的语句是
A) gets(A)              B) gets(a[0])            C) gets(&a[0]);             D) gets(B) ;

(36) 有以下程序
main( )
{ char *p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”};
 printf(“%d\n”,strlen(p[4]));
}
执行后输出结果是
A) 2              B) 3              C) 4              D) 5

(37) 有以下程序
int a=2;
int f(int *A)
{return (*A) ++;}
main( )
{ int s=0;
 { int a=5;
 s+=f(&A) ;
 }
 s+=f(&A) ;
 printf(“%d\n”,s);
}
执行后输出结果是
A) 10                B) 9                C) 7               D) 8

(38) 有以下程序
#define f(x) x*x
main( )
{ int i;
 i=f(4+4)/f(2+2);
 printf(“%d\n”,i);
}
执行后输出结果是
A) 28                B) 22                C) 16             D) 4

(39) 设有以下语句
typedef struct S
{ int g; char h;} T;
则下面叙述中正确的是
A) 可用S定义结构体变量              B)可以用T定义结构体变量
C)S是struct类型的变量                D)T是struct S类型的变量

(40) 有以下程序
struc STU
{ char name[10];
 int num;
};
void f1(struct STU C)
{ struct STU b={“LiSiGuo”,2042};
 c=b;
}
void f2(struct STU *C)
{ struct STU b={“SunDan”,2044};
 *c=b;
}
main( )
{ struct STU a={“YangSan”,2041},b={“WangYin”,2043};
 f1(A) ;f2(&B) ;
 printf(“%d %d\n”,a.num,b.num);
}
执行后的输出结果是
A)2041 2044                B)2041 2043

         C)2042 2044               D)2042 2043

(41) 有以下程序
main( )
{ unsigned char a,b;
 a=4|3;
 b=4&3;
 printf(“%d %d\n”,a,b(;
}
执行后输出结果是
A) 7 0              B) 0 7              C) 1 1               D) 43 0

(42) 下面程序的功能是输出以下形式的金字塔图案是:
 *
 ***
 *****
 *******
main( )
{ int i,j;
 for(i=1;i<=4;i++)
 { for(j=1;j<=4-i;j++) printf(“ “);
 for(j=1;j<=_______;j++) printf(“*”);
 printf(“\n”);
}
 }
在下划线处应填入的是
A) i               B) 2*i-1             C) 2*i+1               D) i+2

(43) 有以下程序
void sort(int a[],int n)
{ int i,j,t;
 for(i=0;i  for(j=i+2;j  if(a[i] }
main()
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
 sort(aa,10);
 for(i=0;i<10;i++) printf(“%d”,aa[i]);
 printf(“\n”);
}
其输出结果是
A) 1,2,3,4,5,6,7,8,9,10,              B) 10,9,8,7,6,5,4,3,2,1,
C) 9,2,7,4,5,6,3,8,1,10,              D) 1,10,3,8,5,6,7,4,9,2,

(44) 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是
A) char s[10]=”abcdefg”;                  B) char t[]=”abcdefg”,*s=t;
C) char s[10];s=”abcdefg”;               D) char s[10];strcpy(s,”abcdefg”);

(45) 有以下程序
#include
main(int argc ,char *argv[ ])
{ int i,len=0;
 for(i=1;i  printf(“5d\n”,len);
}
经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行
ex abcd efg h3 k44
执行后输出结果是
A) 14                B) 12                C) 8                 D) 6

(46) 有以下程序
void f(int a[],int i,int j)
{ int t;
 if(i  { t=a[i]; a[i]=a[j];a[j]=t;
 f(a,i+1,j-1);
 }
}
main( )
{ int i,aa[5]={1,2,3,4,5};
 f(aa,0,4);
 for(i=0;i<5;i++) printf(“%d,”,aa[i]); printf(“\n”);
 }
执行后输出结果是
A) 5,4,3,2,1,                   B) 5,2,3,4,1,

        C) 1,2,3,4,5,                   D) 1,2,3,4,5,

(47) 有以下程序
struct STU
{ char name[10];
 int num;
 int Score;
};
main( )
{ struct STU s[5]={{“YangSan”,20041,703},{“LiSiGuo”,20042,580},
 {“wangYin”,20043,680},{“SunDan”,20044,550},
 {“Penghua”,20045,537}},*p[5],*t;
 int i,j;
 for(i=0;i<5;i++) p[i]=&s[i];
 for(i=0;i<4;i++)
 for(j=i+1;j<5;j++)
 if(p[i]->Score>p[j]->Score)
 { t=p[i];p[i]=p[j];p[j]=t;}
 printf(“5d %d\n”,s[1].Score,p[1]->Score);
}
执行后输出结果是
A) 550 550               B) 680 680             C) 580 550                D) 580 680

(48) 有以下程序
#include
struct NODE{
int num;
struct NODE *next;
};
main( )
{ struct NODE *p,*q,*r;
int sum=0;
p=(struct NODE *)malloc(sizeof(struct NODE));
q=(struct NODE *)malloc(sizeof(struct NODE));
r=(struct NODE *)malloc(sizeof(struct NODE));
p->num=1;q->num=2;r->num=3;
p->next=q;q->next=r;r->next=NULL;
sum+=q->next->num;sum+=p->num;
printf(“%d\n”,sum);
}
执行后的输出结果是
A) 3              B) 4               C) 5                D) 6

(49) 有以下程序
#include
main( )
{ FILE *fp; int i,k=0,n=0;
 fp=fopen(“d1.dat”,”w”);
 for(i=1;i<4;i++) fprintf(fp,”%d”,i);
 fclose(fp);
 fp=fopen(“d1.dat”,”r”);
 fscanf(fp,”%d%d”,&k,&n); printf(“%d %d\n”,k,n);
 fclose(fp);
}
执行后输出结果是
A) 1 2            B) 123 0           C) 1 23            D) 0 0

(50) 有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END) ;语句的作用是使位置指针从文件尾向前移2*sizeof(int)字节)
#include
main( )
{ FILE *fp; int i,a[4]={1,2,3,4},b;
 fp=fopen("data.dat","wb");
 for(i=0;i<4;i++) fwrite(&a[i],sizeof(int),1,fp);
 fclose(fp);
fp=fopen("data.dat

","rb");
fseek(fp,-2L*sizeof(int).SEEK_END) ;
fread(&b,sizeof(int),1,fp);/*从文件中读取sizeof(int)字节的数据到变量b中*/
fclose(fp);
printf("%d\n",B) ;
}
执行后输出结果是
A) 2               B) 1              C) 4                D) 3

二、填空题(每空2分,共40分)

请将每一个空的正确答案写在答题卡【1】至【20】序号的横线上, 答在试卷上不得分.

(1) E-mail地址由用户名和域名两部分组成,这两部分的分隔符为【1】 。

(2) 计算机网络分为广域网和局域网,因特网属于【2】 。

(3) 从Windows环境进入MS-DOS方式后,返回Windows环境的DOS命令为【3】 。

(4) 在Windows环境下,只要在“开始”菜单中单击【4】选项,就可以查阅最近打开过的文档清单。

(5) 计算机的运算速度可以用MIPS来描述,1MIPS是指每秒执行【5】条指令。

(6) 已知字符A的ACSII码值为65,以下语句的输出结果是【6】
char ch=’B’;
printf(“%c %d\n”,ch,ch);

(7) 有以下语句段
int n1=10,n2=20;
printf(“ 【7】 ”,n1.n2);
要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。
n1=10
n2=20

(8) 有以下程序
main( )
{ int t=1,i=5;
 for(;i>=0;i--) t*=i;
 printf(“%d\n”,t);
}
执行后输出结果是【8】 。

(9) 有以下程序
main( )
{ int n=0,m=1,x=2;
 if(!n) x-=1;
 if(m) x-=2;
 if(x) x-=3;
 printf(“%d\n”,x);
}
执行后输出结果是【9】 。

(10) 有以下程序
#include
main( )
{ char ch1,ch2; int n1,n2;
 ch1=getchar(); ch2=getchar();
 n1=ch1-‘0’; n2=n1*10+(ch2-‘0’);
 printf(“%d\n”,n2);
}
程序运行时输入:12<回车>,执行后输出结果是【10】 。

(11) 有以下程序
void f( int y,int *x)
{y=y+*x; *x=*x+y;}
main( )
{ int x=2,y=4;
 f(y,&x);
 printf(“%d %d\n”,x,y);
}
执行后输出的结果是【11】 。

(12) 函数fun的功能是计算xn
double fun(double x,int n)
{ int i; double y=1;
 for(i=1;i<=n;i++) y=y*x;
 return y;
}
主函数中已经正确定义m,a,b变量并赋值,并调用fun函数计算:m=a4+b4-(a+B) 3。实现这一计算的函数调用语句为【12】 。

(13) 下面rotate函数的功能是:将n行n列的矩阵A转置为A’,例如:
 1 2 3 4 1 5 9 13
 5 6 7 8 2 6 10 14
 当 A= 9 10 11 12 则 A’= 3 7 11 15
 13 14 15 16 4 8 12 16
请填空
#define N 4
void rotate(int a[][N])
{ int i,j,t;
 for(i=0;i  for(j=0;【13】;j++)
 { t=a[i][j];
 【14】 ;
 a[j][i]=t;
 }
}

(14) 以下sstrcpy( )函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。
void sstrcpy(char *s,char *t)
{ while(*s++=【15】);}
main( )
{ char str1[100],str2[]=”abcdefgh”;
 sstrcpy(str1,str2);
 printf(“%s\n”,str1);
}

(15) 下列程序的运行结果是:【16】
#include
char *ss(char *s)
{ return s+strlen(s)/2;}
main( )
{ char *p,*str=”abcdefgh”;
 p=ss(str); printf(“%s\n”,p);
}

(16) 下面程序的运行结果是:【17】
int f( int a[], int n)
{ if(n>1) return a[0]+f(&a[1],n-1);
 else return a[0];
}
main ( )
{ int aa[3]={1,2,3},s;
 s=f(&aa[0],3); printf(“%d\n”,s);
}

(17) 以下程序中给指针p分配三个double型动态内存单元,请填空。
# include
main ( )
{ double *p;
 p=(double *) malloc(【18】);
 p[0]=1.5;p[1]=2.5;p[2]=3.5;
 printf(“%f%f%f\n”,p[0],p[1],p[2]);
}

(18) 以下程序的运行结果是【19】
# include
typedef struct student{
 char name[10];
 long sno;
 float score;
 }STU;
main( )
{ STU
a={“zhangsan”,2001,95},b={“Shangxian”,2002,90},c={“Anhua”,2003,95},d,*p=&d;
 d=a;
 if(strcmp(a.name,b.name)>0) d=b;
 if(strcmp(c.name,d.name)>0) d=c;
 printf(“%ld%s\n”,d.sno,p->name);
 }

(19) 以下sum函数的功能是计算下列级数之和。
 S=1+x+x2/2!+x3/3!+........+xn/n!
 请给函数中的各变量正确赋初值。
 double sum( double x, int n )
 { int i; double a,b,s;
 【20】
 for( i=1;i<=n;i++)
 { a=a*x; b=b*i; s=s+a/b; }
 return s;
 }

    育路网

 

 
 
                                        
评论】【加入收藏夹】【 】【打印】【关闭
育路网2007年夏令营联展
 更多有关新闻:
 
无相关信息
发表评论
用户名: 密码:
验证码: 匿名发表
课程搜索:
选择分类:
课程关键字:
课程 学校
 2007年首都高校秋季招生
北京理工大学2007年招生简章
北京文理研修学院2007年招生简章
北京建设大学2007年招生简章
北京中山学院2007年招生简章
北京城市学院2007年招生简章
培黎职业学院2007年招生简章
北京金融学院2007年招生简章
北京吉利大学2007年招生简章
北方工商管理学院2007年招生简章
2007年首都高校秋季招生
 本周推荐课程
·初中起点雅思半年脱产 ·启德雅思6分冲刺课程
·新概念1+2册慢速精讲课 ·环球新托福100分强化
·北文王长喜四级强化班 ·英语四、六级培训课程
·海文考研数学课程 ·海文考研英语课程
·北大企业管理高级研修班 ·清华企业领导人研修班
·中美高中生交换项目 ·北工大中加学院2+2本科
·劳动和社会保障部物流师 ·物业管理师职业培训
·市场营销经理国际资格 ·现场管理实务培训
 热点新闻
·李祖华谈公务员面试自我介绍技巧
·郭五林做客育路网谈07国考申论备考
·金路做客人民网解析07公务员考试大纲
·公务员辅导专家李如海视频讲课
·金路做客网易解析07公务员考试大纲(视频)
·金路做客网易解析07年公务员考试大纲
·金路李祖华谈北京公考热点--如何解决群众看病
·公务员辅导专家孙秀秋视频讲课
·国家公考命题专家周盈教授讲座视频(二)
·李祖华公共基础、行测、申论、面试知识点的联
清华大学留学
中法管理硕士预科班
出国留学咨询热线:010-51268840
 最新新闻
·金路李祖华谈北京公考热点--如何解决群众看病
·郭五林做客育路网谈07国考申论备考
·金路做客人民网解析07公务员考试大纲
·金路做客网易解析07公务员考试大纲(视频)
·金路做客网易解析07年公务员考试大纲
·金路07公务员培训国庆班第二天周盈视频
·金路07年国家公务员培训国庆班第三天
·金路07年国家公务员培训国庆班第一天
·国家公考命题专家周盈教授讲座视频(二)
·公务员辅导专家李如海视频讲课
 育路社区            进入>>
 
学员报名服务中心: 北京北三环西路43号满庭芳园C座103室(交通位置图
咨询电话:北京- 010-51268840/41 传真:010-62111550 上海-021-64392659、64397431
育路网-中国新锐教育社区: 北京站 | 上海站
本站法律顾问: 邱清荣律师
育路网版权所有1999-2007 | 京ICP备05012189号