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

作者: 发布时间:2007-05-11 20:30:35 来源:

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


(1) 计算机的存储器完整的应包括
A) 软盘、硬盘                        B) 磁盘、磁带、光盘
C) 内存储器、外存储器        D) RAM、ROM


(2) 计算机中运算器的作用是
A) 控制数据的输入/输出                    B) 控制主存与辅存间的数据交换
C) 完成各种算术运算和逻辑运算     D) 协调和指挥整个计算机系统的操作

(3) 软磁盘处于写保护状态时,其中记录的信息
A) 绝对不会丢失
B) 不能被擦除,但能追加新信息
C) 不能通过写磁盘操作被更新
D) 不能以常规方式被删除,但可以通过操作系统的格式化功能被擦除


(4) 光盘根据基制造材料和记录信息的方式不同,一般可分为
A) CD、VCD
B) CD、VCD、DVD、MP3
C) 只读光盘、可一次性写入光盘、可擦写光盘
D) 数据盘、音频信息盘、视频信息盘


(5) 在计算机系统中,可执行程序是
A) 源代码                   B) 汇编语言代码

         C) 机器语言代码      D) ASCII码


(6) 计算机软件系统包括
A) 操作系统、网络软件                                      B) 系统软件、应用软件
C) 客户端应用软件、服务器端系统软件          D) 操作系统、应用软件和网络软件


(7) 目前,一台计算机要连入Internet,必须安装的硬件是
A) 调制解调器或网卡                B) 网络操作系统
C) 网络查询工具                        D) WWW浏览器


(8) 在多媒体计算机系统中,不能存储多媒体信息的是
A) 光盘                 B) 磁盘                 C) 磁带                D) 光缆


(9) 要将当前盘当前目录下一个文本文件内容显示在屏幕上,正确的命令形式是
A) TYPE a*.*                         B) TYPE abc.exe
C) TYPE pro.c>PRN              D) TYPE abc.txt


(10) 下列更改文件名的命令中正确的是
A) REN A:file1 C:F1                   B) RENAME A: A:file1 C:F1
C) REN A:file1 F1                      D) REN A:file1 \SUB\F1


(11) 已知A盘为DOS系统启动盘,只有A:\DOS下有自动批处理文件,其中内容为:
CD\DOS
MD USER
CD USER
由A盘启动DOS系统后,A盘的当前目录是
A) \DOS              B) \DOS\USER             C) \                D) \USER


(12) MS-DOS是
A) 分时操作系统                              B) 分布式操作系统
C) 单用户、单任务操作系统          D) 单用户、多任务操作系统


(13) 在Windows操作系统中,不同文档之间互相复制信息需要借助于
A) 剪切板             B) 记事本              C) 写字板                D) 磁盘缓冲器


(14) 在Windows操作系统中
A) 同一时刻可以有多个活动窗口
B) 同一时刻可以有多个应用程序在运行,但只有一个活动窗口
C) 同一时刻只能有一个打开的窗口
D) DOS应用程序窗口与Windows应用程序窗口不能同时打开着


(15) 下列叙述中正确的是
A) 所有DOS应用程序都可以在Windows操作系统中正确运行
B) 所有DOS应用程序都不能在Windows操作系统中正确运行
C) 大部分DOS应用程序可以在Windows操作系统中正确运行
D) 为DOS5.0以上版本操作系统编写的应用程序可以在Windows操作系统中正确运行

        (16) 下列叙述中正确的是
A) C语言编译时不检查语法
B) C语言的子程序有过程和函数两种
C) C语言的函数可以嵌套定义
D) C语言所有函数都是外部函数

(17) 以下所列的C语言常量中,错误的是
A) 0xFF               B) 1.2e0.                C) 2L                 D) ‘\72’


(18) 下列选项中,合法的C语言关键字是
A) VAR                B) cher                  C) integer           D) default


(19) 以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子 的C语言表达式是
A) x/y*z                B) x*(1/(y*z))        C) x/y*1/z           D) x/y/z


(20) 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是
A) -3                    B) 9                        C) -12                D) 6


(21) 设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为
A) 不定值           B) 4                       C) 3                     D) 1


(22) 若变量已正确说明为float类型,要通过语句scanf(“%f %f %f ”,&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:
A) 10<回车>                  B) 10.0,22.0,33.0<回车>
 22<回车>
 33<回车>
C) 10.0<回车>               D) 10 22<回车>


 22.0 33.0<回车> 33<回车>
(23) 若执行以下程序时从键盘上输入9,则输出结果是
A) 11           B) 10            C) 9            D) 8
Main0
{ int n;
 scanf(“%d”,&n);
 if(n++<10) printf(“%d\n”,n);
 else printf(“%d\n”,n--);
}


(24) 若a、 b、c1、c2、x、y、均是整型变量,正确的switch语句是
A) swich(a+b);                     B) switch(a*a+b*b)
 { case 1:y=a+b;  break;            {case 3:
 case 0:y=a-b; break;                 case 1:y=a+b;break;
 }                                               case 3:y=b-a,break;
                                                   }
C) switch a                        D) switch(a-b)
 { case c1 :y=a-b; break {default:y=a*b;break
 case c2: x=a*d; break case 3:case 4:x=a+b;break
 default:x=a+b; case 10:case 11:y=a-b;break;
 } }


(25) 有以下程序段
int k=0
while(k=1)k++;
while 循环执行的次数是
A) 无限次                      B) 有语法错,不能执行
C) 一次也不执行          D) 执行1次


(26) 以下程序执行后sum的值是
A)15             B)14             C) 不确定             D)0
min()
{ int i , sum;
 for(i=1;i<6;i++) sum+=i;
 printf(“%d\n”,sum);
}


(27) 有以下程序段
int x=3
do
{ printf(“%d”,x-=2); }
while (!(--x));
其输出结果是
A) 1              B) 3 0               C) 1 -2              D) 死循环


(28) 若变量c为char类型,能正确判断出c为小写字母的表达式是
A) ‘a’<=c<= ‘z’                      B) (c>= ‘a’)||(c<= ‘z’)
C) (‘a’<=c)and (‘z’>=c)          D) (c>= ‘a’)&&(c<= ‘z’)


(29) 以下所列的各函数首部中,正确的是
A) void play(var :Integer,var b:Integer)
B) void play(int a,b)
C) void play(int a,int b)
D) Sub play(a as integer,b as integer)


(30) 以下程序的输出结果是
A) 0             B) 29             C) 31               D) 无定值
fun(int x, int y, int z)
{ z=x*x+y*y; }
main()
{ int a=31;
 fun(5,2,a);
 printf(“%d”,a);
}

       (31) 下列程序段的输出结果是
A) 2 1 4 3                  B) 1 2 1 2              C) 1 2 3 4                 D) 2 1 1 2
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);
}


(32) 下列程序的输出结果是
A) 非法                 B)a[4]的地址                    C)5                  D)3
main()
{ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;
 printf(“%d”,*--p);
}


(33) 下列程序的运行结果是
A) 6 3                  B) 3 6                 C) 编译出错                   D) 0 0
void fun(int *a, int *b)
{ int *k;
 k=a; a=b; b=k;
}
main()
{ int a=3, b=6, *x=&a, *y=&b;
 fun(x,y);
 printf(“%d %d”, a, b);
}


(34) 下面程序的输出结果是
A) 0               B) 1              C) 10               D) 9
main()
{ int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p;
 p=a;
 printf(“%d\n”,*p+9);
}


(35) 当调用函数时,实参是一个数组名,则向函数传送的是
A) 数组的长度                            B) 数组的首地址
C) 数组每一个元素的地址        D) 数组每个元素中的值


(36) 设有以下说明语句
struct ex
{ int x ; float y; char z ;} example;
则下面的叙述中不正确的是
A) struct结构体类型的关键字            B) example是结构体类型名
C) x,y,z都是结构体成员名                 D) struct ex是结构体类型


(37) 以下只有在使用时才为该类型变量分配内存的存储类说明是
A) auto和 static                        B) auto和 register
C) register和 static                   D) extern和 register


(38) 若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是
A) EOF                 B) -1                 C) 非零值               D) NULL


(39) 以下程序的输出结果是
A) 20                    B) 21                   C) 22                      D)23
main()
{ int i, k, a[10], p[3];
 k=5;
 for (i=0;i<10;i++) a[i ]=i;
 for (i=0;i<3;i++) p[i ]=a[i *(i+1)];
 for (i=0;i<3;i++) k+=p[i] *2;
 printf(“%d\n”,k);
}


(40) 以下程序的输出结果是
A) 1,5,9              B) 1,4,7               C) 3,5,7                 D)3,6,9
main()
{ int i, x[3][3]={1,2,3,4,5,6,7,8,9};
 for(i=0;i<3;i++) printf(“%d,”,x[i][2-i]);
}


(41) 以下程序的输出结果是
A) 18                  B) 19                  C) 20                    D)21
main()
{ int a[3][3]={ {1,2},{3,4},{5,6} },i,j,s=0;
 for(i=1;i<3;i++)
 for(j=0;j<=i;j++)s+=a[i][j];
 printf(“%dn”,s);
}

       (42) 以下程序的输出结果是
A) ABCD               B) ABCD              C) EFG              D) EFGH
FGH EFG JK IJKL
KL IJ O
 M
main()
{ char w[][10]={ “ABCD”,”EFGH”,”IJKL”,”MNOP”},k;
 for(k=1;k<3;k++) printf(“%s\n”,w[k]);
}


(43) 当执行下面的程序时,如果输入ABC,则输出结果是
A) ABC6789                   B) ABC67

        C) 12345ABC6               D) ABC456789
#include “stdio.h”
#include “string.h”
main()
{ char ss[10]=“1,2,3,4,5”;
 gets(ss); strcat(ss, “6789”); printf(“%s\n”,ss);
}


(44) 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:
PROG ABCDEFGH IJKL<回车>,则输出结果为
A) ABCDEFG                          B) IJHL

        C) ABCDEFGHIJKL               D) IJKLABCDEFGH
main( int argc, char *argv[]))
{ while(--argc>0) printf(“%s”,argv[argc]);
printf(“\n”);
}


(45) 以下程序的输出结果是
A) 1              B) 2            C) 3             D) 4
long fun( int n)
{ long s;
 if(n= =1 || n= =2) s=2;
 else s=n-fun(n-1);
 return s;
}
main()
{ printf(“%ld\n”, fun(3)); }


(46) 以下程序的输出结果是
A) 16               B) 2               C) 9               D) 1
#define SQR(X) X*X
main()
{ int a=16, k=2, m=1;
 a/=SQR(k+m)/SQR(k+m);
 printf(“d\n”,a);
}


(47) 若定义了以下函数:
void f(……)
{……
 *p=(double *)malloc( 10*sizeof( double));
……
}
p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是
A) double *p              B) float **p               C) double **p              D) float *p


(48) 以下程序的输出是
A) 10            B) 11              C) 51              D) 60
struct st
{ int x; int *y;} *p;
int dt[4]={ 10,20,30,40 };
struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};
main()
{ p=aa;
 printf(“%d\n”,++(p->x));
}


(49) 假定建立了以下链表结构,指针p、q分别指向如图所示的结点,则以下可以将q所指结点从链表中删除并释放该结点的语句组是
A) free(q); p->next=q->next;
B) (*p).next=(*q).next; free(q);
C) q=(*q).next; (*p).next=q; free(q);
D) q=q->next; p->next=q; p=p->next; free(p)


(50) 以下程序的输出结果是
A) 0                 B) 1                  C) 2                D) 3
main()
{ int x=0.5; char z=’a’;
 printf(“%d\n”, (x&1)&&(z<’z’) ); }

二) 填空题(每空2分,共40分)
 请将每一个空的正确答案写在答题卡【1】至【20】序号的横线上,答在试卷上不得分。


(1) 计算机机领域中,通常用英文单词“Byte”表示 【1】 。


(2) 在DOS环境下,自动批处理的文件名为 【2】 。


(3) 要将当前盘当前目录下所有扩展名为.TXT的文件内容在打印机上打印输出,应使用的单条DOS内部命令为 【3】 。


(4) 在Windows环境下,可以利用单击、双击、拖动这三种鼠标操作之一的 【4】 操作实现窗口的移动。


(5) 在Windows环境下,可以将窗口最小化为 【5】 。


(6) 以下程序的输出结果是 【6】
main()
{ int a=1, b=2;
 a=a+b; b=a-b; a=a-b;
 printf(“%d,%d\n”, a, b );
}


(7) 下列程序的输出结果是16.00,请填空。。
main()
{ int a=9, b=2;
 float x= 【7】 , y=1.1,z;
 z=a/2+b*x/y+1/2;
 printf(“%5.2f\n”, z );
}


(8) 用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。
st=(char*) 【8】 ;


(9) 下列程序段的输出结果是 【9】 。
main()
{ char b[]=”Hello,you”;
 b[5]=0;
 printf(“%s \n”, b );
}


(10) 下列程序段的输出结果是 【10】 。
int n=’c’;
switch(n++)
{ default: printf(“error”);break;
 case ‘a’:case ‘A’:case ‘b’:case ‘B’:printf(“good”);break;
 case ‘c’:case ‘C’:printf(“pass”);
 case ‘d’:case ‘D’:printf(“warn”);
}


(11) 以下程序通过函数指针p调用函数fun,请在填空栏内,写出定义变量p的语句。
void fun(int *x,int *y)
{ …… }
main()
{ int a=10,b=20;
 【11】 ; /定义变p */
 p=fun; p(&a,&b);
 ……
}


(12) 下列程序的输出结果是 【12】 。
void fun(int *n)
{ while( (*n)--);
 printf(“%d”,++(*n));
}
main()
{ int a=100;
 fun(&a);
}


(13) 以下程序的输出结果是 【13】 。
main()
{ int arr[ ]={30,25,20,15,10,5}, *p=arr;
 p++;
 printf(“%d\n”,*(p+3));
}


(14) 以下程序用来输出结构体变量ex所占存储单元的字节数,请填空。
struct st
{ char name[20]; double score; };
main()
{ struct st ex;
 printf(“ex size: %d\n”,sizeof( 【14】 ));
}


(15) 下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat的新文件中。请填空。
#include “stdio.h”
FILE *fp;
{ char ch;
 if( (fp=fopen ( 【15】 ) )= = NULL)exit(0);
 while( (ch=getchar( )) !=’@’) fputc (ch,fp);
 fclose(fp);
}


(16) 若变量n中的值为24,则prnt函数共输出 【16】 行,最后一行有 【17】 个数。
void prnt(int n, int aa[ ])
{ int i;
 for(i=1; i<=n;i++)
 { printf(“m”, aa[i]);
 if( !(i%5) ) printf(“\n”);
 }
 printf(“\n”);
}


(17) 以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空。
#define N 3
#define M 4
void LineMax(int x[N][M])
{ int i,j,p;
 for(i=0; i { p=0;
 for(j=1; j if(x[i][p] printf(“The max value in line %d is %d\n”, i, 【19】 );
 }
}
main()
{ int x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};
 【20】
}

2001年4月全国计算机等级考试二级笔试答案
C语言



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


(1)字节
(2)AUTOEXEC。BAT
(3)COPY *。TXT PRN
(4)拖动
(5)图标或按钮
(6)2.1
(7)6.6
(8)Malloc (11) 或malloc(sizeof(char)*11)
(9)Hello
(10) passwarm
(11) void (*p)() 或void(*p)(int*, int*)
(12)0
(13)10
(14)struct st 或ex
(15) “bi.dat”,“w”或“bi.dat”,“wt”或“bi.dat”,“w+t”
(16) 5
(17) 4
(18) sp=j
(19) cx[i][p]
(20) LineMax(x)

一、 选择题((1)--(40)题每题1分,(41)--(50)题每题2分,共60分。

(1)C (2)C (3)C (4)C (5)C (6)B (7)A (8)D (9)D (10)C
(11)C (12)C (13)A (14)B (15)C (16)D (17)B (18)D (19)A (20)C
(21)C (22)B (23)B (24)D (25)A (26)C (27)C (28)D (29)C (30)C
(31)A (32)C (33)B (34)C (35)B (36)B (37)B (38)C (39)B (40)C
(41)A (42)D (43)A (44)D (45)A (46)B (47)C (48)C (49)B (50)B    育路网

 

 
 
                                        
评论】【加入收藏夹】【 】【打印】【关闭
育路网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号