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

作者: 发布时间:2007-05-11 19:20:17 来源:

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

 
(1) 下列设备中只能作为输入设备的是
A) 磁盘驱动器       B) 鼠标器         C) 存储器           D) 显示器


(2) 下列DOS组合控制键中,能使标准输出同时送到屏幕与打印机的是
A) Ctrl+Break          B) Ctrl+P           C) Ctrl+C            D) Ctrl+H


(3) 通常所说的386机是
A) 8位机                 B) 16位机          C) 32位机          D) 64位机


(4) 二进制数01100100转换成十六进制数是
A) 64                      B) 63                   C) 100                D) 144


(5) 十六进制数100转换成十进制数是
A) 1024                   B) 512                 C) 256                D) 128


(6) 对于存有重要数据的5.25英寸软盘,防止计算机病毒感染的方法是
A) 不要与有病毒的软盘放在一起            B) 在写保护口贴上胶条
C) 保持软盘清洁                                        D) 定期对软盘格式化


(7) 在启动DOS系统时,启动盘的根录下必须包含的文件是
A) START.COM                 B) COMMAND.COM

        C) FORMAT.COM            D) BOOT.COM


(8) DOS系统启动后,下列文件中常驻内存的是
A) DOS.COM                       B) COMMAND.COM 

        C) DISKCOPY.COM           D) SYS.COM


(9) 下列名字中,不能作为DOS磁盘文件名的是
A) JTU            B) 93GZ.PRG           C) CON               D) ATT&T.BAS


(10) 下列命令中属于内部命令的是
A) SYS            B) COMP                C) DIR                 D) DISKCOMP


(11) 下列文件名中,能与ABC?.?匹配的是
A) AB12.C      B) ABCD.FOR        C) ABC.TXT        D) ABCD.C


(12) 要列出当前盘当前目录中第三个字符为"B"的所有文件的清单,可使用的命令为
A) DIR **B*.*         B) DIR ??B*.? 

        C) DIR ??B.*            D) DIR ??B*.*


(13) 设当前盘为C盘,其根目录下有两个子目录D1与D2,且当前目录为D1,若要进入子目录D2,可使用的命令为
A) CD D2         B) CD D2\           C) CD \D2             D) CD D1\D2


(14) 设当前盘为C盘,A盘当前目录为根目录。为了删除A盘目录\WS下扩展名为.TXT的所有文件,可用的命令为
A) DEL WS\*.TXT             B) DEL \WS\*.TXT 

       C) DEL A:\WS\?.TXT         D) DEL A:WS\*.TXT


(15) 设当前盘为C盘,C盘当前目录为\AAA\BBB\A\B\X。下列命令中能正确执行的是
A) MD \AAA\BBB\A          B) MD X 

        C) MD \                              D) MD \AAA\BBB\A\B\X


(16) 在下列各组的两个命令中,根据给定的条件,执行效果互相等价的是
A) DEL \DOS 与 RD \DOS(当前盘上有目录\DOS)
B) FORMAT A:与 DEL A:*.*(A盘为启动盘)
C) DISKCOPY A: B: 与 COPY A:*.* B:(A盘为启动盘)
D) COPY F1 F2 与 TYPE F1>F2(当前盘当前目录下有文件F1)


(17) 为了在1.2MB的高密驱动器A中格式化一张360KB的启动盘,可用的命令为
A) FORMAT A:                B) FORMAT A:/S/1 

        C) FORMAT A:/S/4          D) FORMAT A:/S


(18) 要在打印机上输出当前盘当前目录下扩展名为.TXT的所有文件内容,正确的命令为
A) COPY *.TXT PRN              B) COPY *.TXT>PRN

        C) TYPE *.TXT PRN                D) TYPE *.TXT>PRN


(19) 设B盘目录结构如下:
设B盘的当前目录为\F2,要将A盘当前目录下的文件P.BAS复制到B盘的F3子目录中,可用的命令为
A) COPY P.BAS B:                   B) COPY A:P.BAS B:\
C) COPY A:P.BAS B:\F3          D) COPY A:P.BAS B:F3\


(20) 设当前盘为A盘,要将B盘当前目录下的两个文件A.TXT与X.TXT连接后以文件名Y.TXT存放到A盘的当前目录中,可用的命令为
A) COPY A.TXT+X.TXT A:Y.TXT               B) COPY B:A.TXT+X.TXT A:Y.TXT
C) COPY B:A.TXT+B:X.TXT >Y.TXT          D) COPY B:A.TXT+B:X.TXT Y.TXT

       (21) C语言中最简单的数据类型包括
A) 整型、实型、逻辑型                  B) 整型、实型、字符型 
C) 整型、字符型、逻辑型              D) 整型、实型、逻辑型、字符型

 
(22) C语言中,运乍对象必须是整型数的运算符是
A) %            B) \           C) %和\              D) * *


(23) 为表示关系x≥y≥z,应使用C语言表达式
A) (x>=y)&&(y>=z)         B(x>=y)AND(y>=z) 

        C)(x>=y>=z)                    D)(x>=y)&(y>=z)


(24) 下述对C语言字符数组的描术中错误的是
A) 字符数组可以存放字符串
B) 字符数组中的字符串可以整体输入、输出
C) 可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
D) 不可以用关系运算符对字符数组中的字符串进行比较


(25) 设有如下定义: int x=10,y=3,z; 则语句
printf("%d\n",z=(x%y,x/y)); 的输出结果是
A) 1            B) 0           C) 4             D) 3


(26) 以下程序的输出结果是
main()
{ int x=10,y=10;
printf("%d %d\n",x--,--y); }
 A) 10 10          B) 9 9              C) 9 10            D) 10 9


(27) 定义如下变题和数组:
int i;
int x[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是
for(i=0;i<3;i++) printf("%d",x[i][2-1]);
A) 1 5 9              B) 1 4 7          C) 3 5 7           D) 3 6 9 


(28) 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为
A) a<>0          B) !a           C ) a=0             D) a


(29) 阅读程序:
#include
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%x\n",p);
printf("%x\n",p+9); }
该程序有两个printf 语句, 如果第一个printf 语句输出的是194, 则第二个printf语句的输出结果是
A) 203            B) 204           C) 1a4             D) 1a6


(30) 设有如下函数定义:
int f(char *s)
{ char *p=s;
while(*p!=’\0’) p++;
return(p-s); }
如果在主程序中用下面的语句调用上述函数,则输出结果为
printf("%d\n",f("goodbey!"));
A) 3                 B) 6                 C) 8              D) 0


(31) 以下说法中正确的是
A) C语言程序总是从第一个的函数开始执行
B) 在C语言程序中,要调用的函数必须在main()函数中定义
C) C语言程序总是从main()函数开始执行
D) C语言程序中的main()函数必须放在程序的开始部分


(32) 执行下面的程序后,a的值为
main()
{ int a,b;
for (a=1,b=1;a<=100;a++)
{ if(b>=20) break;
if(b%3==1) {b+=3; continue; } 
b-=5; } }
A) 7             B) 8            C) 9           D) 10


(33) 以下程序段的输出结果是
int x=3;
 do { printf("=",x-=2);} while(!(--x));
A) 1              B) 3 0         C) 1-2       D) 死循环


(34) 定义如下变量: int n=10; 则下列循环的输出结果是
while(n>7)
{ n--; 
printf("%d\n",n); }
 A) 10           B) 9         C) 10         D) 9

(35) 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是
main( )
{ int x;
scanf("%d",&x);
if(x + + >5) printf("%d",x);
else printf("%d\n",x - -); }
A) 7和5           B) 6和3          C) 7和4           D) 6和4

       (36) 设有如下定义: char *aa[2]={"abcd","ABCD"}; 则以下就法中正确的是
A) aa数组成元素的值分别是"abcd"和ABCD"
B) aa是指针变量,它指向含有两个数组元素的字符型一维数组
C) aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D) aa数组的两个元素中各自存放了字符’a’和’A’的地址


(37) 以下程序的输出结果是
main( )
{ int a=-1,b=4,k;
k=(+ +a〈0)&&!(b - -〈=0);
printf("%d%d%d\n",k,ab); }
A) 104           B) 103            C) 003            D) 004


(38) 设有以下定义:
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*prt)[3]=a,*p=a[0];
则下列能够正确表示数组元素a[1][2]的表达式是
A) *((*prt+1) [2])             B) *(*(p+5))

        C) (*prt+1)+2                   D) *(*(a+1)+2)


(39) 下列程序的输出结果是
main( )
{ char*p1,*p2,str[50]="xyz";
p1="abcd";
p2="ABCD";
strcpy(str+2,strcat(p1+2,p2+1);
printf)"%s",str); }
A) xyabcAB                B) abcABz             C) ABabcz               D) xycdBCD


(40) 执行下面的程序后,a的值是
#define SQR(X) X*X
main( )
{ int a=10,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
printf("%d\n",a); }
 A) 10              B) 1             C) 9               D) 0


(41) 下列程序执行后输出的结果是
#include 
f(int a)
{ int b=0; static c=3:
a=c+ +,b+ +;
return (a); }
main( )
{ int a=2,i,k;
for(i=0;i〈2;i=+ +〉 k=f(a+ +);
printf("%d\n",k); }
 A) 3                 B) 0            C) 5                  D) 4


(42) 下列程序的输出结果是
main( )
{ int a[5]={2,4,6,8,10},*P,* *k;
p=a; k=&p;
printf("%d",*(p++)); printf("%d\n",* *k); }
A) 4 4               B) 2 2            C) 2 4             D) 4 6


(43) 阅读下列程序:
main( )
{ int n[3],i,j,k;
for(i=0;i〈3;i++〉 n[i]=0;
k=2;
for (i=0;i〈k;i++〉
for (j=0;j〈k;j++〉 n[j]=n[i]+1;
printf("%d\n",n[1]); }
下述程序运行后输出结果是
A) 2                B) 1              C) 0             D) 3


(44) 字符’0’的ASCII码的十进制数为48,且数组的第0个元素在低位,则以下程序的输出结果是
#include
main( )
{ union { int i[2]; long k; char c[4]; }r,*s=&r;
s->i[0]=0x39;
s->i[1]=0x38;
printf("%c\n",s->c[0]) }
A) 39              B) 9                 C) 38              D) 8

        (45) 设有以下定义:
typedef union { long i;int k[5];char c;}DATE;
struct date { int cat;DATE cow;double dog;}too;
DATE max;
则下列语句的执行结果是
printf("%d",sizeof(struct date)+sizeof(max));
A) 25              B) 30               C) 18              D) 8


(46) 执行以下程序后,y的值是
main ( )
{ int a[]={2,4,6,8,10};
int y=1,x,*p;
p=&a[1];
for(x=0;x<3;x++) y + = * (p + x);
printf("%d\n",y); }
A) 17               B) 18             C) 19                   D) 20


(47) 下列程序执行后输出的结果是
int d=1;
fun (int q)
{ int d=5;
d + =p + +; printf("%d".d); }
main( )
{ int a=3;
fun(a);
d + = a + +; printf("%d\n",d); }
A) 8 4               B) 9 6             C) 9 4                  D) 8 5


(48) 下列程序的输出结果是
main( )
{ char ch[2][5]={"6934,"8254"},*p[2];
int i,j,s=0;
for(i=0;i<2;i + +) p[i]=ch[i];
for(i=0;i<2;i + +)
for(j=0;p[i][j]>’\0’&&p[i][j]<=’9’;j+=2) s=10*s+p[i][j]-’0’;
printf("%d\n",s);
A) 6385              B) 69825             C) 63825                D) 693825


(49) 以下程序的输出结果是
fut (int**s,int p[2][3])
{ **s=p[1][1]; }
main( )
{ int a[2][3]={1,3,5,7,9,11},*p;
p=(int*)malloc(sizeof(int));
fut(&p,a);
primtf("%d\n",*p); }
A) 1              B) 7                 C) 9             D) 11


(50) 以下程序的输出结果是
#include"ctype.h"
space (char *str)
{ int i,t;char ts[81];
for(i=0,t=0;str[i]!=’\0’;i+=2)
if(! isspace(*str+i)&&(*(str+i)!=’a’))
ts[t++]=toupper(str[i]);
ts[t]=’\0’;
strcpy(str,ts); }
mian( )
{ char s[81]={"a b c d e f g"};
space(s);
puts(s); }
A) abcdeg              B) bcde              C) ABCDE                   D) BCDE

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


(1) 十进制数112.375转换成十六进制数为 【1】 。


(2) 存储200个32×32点阵的汉字信息需 【2】 KB。

 
(3) 数字符号0的ASCII码十进制表示为48,数字符号9的ASCII码十进制表示为 【3】 。


(4) DOS命令分为内部命令与外部命令,TREE命令属于 【4】 命令。

 
(5) 自动批处理文件的文件名为【5】 。

 
(6)表示条件:10

        (7) 下列程序的输出结果是【7】 
main()
{ char b[]="ABCDEFG";
char *chp=&b[7];
while(--chp>&b[0]) putchar(*chp);
putchar(’\n’); }


(8) 下列程序的输出结果是【8】 。
int ast(int x,int y,int * cp,int * dp)
{ *cp=x+y; *dp=x-y; }
main()
{ int a,b,c,d;
a=4;b=3;
ast(a,b,&c,&d);
printf("%d %d/n",c,d); }


(9) 以下程序的功能是:人键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空.
main()
{ float x,amax,amin;
scanf("%f",&x);
amax=x; amin=x;
while(【9】)
{ if(x>amax) amax=x;
if(【10】) amin=x;
scanf("%f",&x); }
printf("\namax=%f\namin=%f\n",amax,amin); }


(10) 下面程序通过函数average计算数组中各元素的平均值,请填空.
float average(int * pa,int n)
{ int i;
float avg=0.0;
for(i=0;iavg=【12】;
return avg; }
main()
{ int i,a[5]={2,4,6,8,10};
float mean;
mean=average(a,5); printf("mean=%f\n",mean);}


(11) 阅读程序:
#include "string.h"
#include "stdio.h"
strle(char a[],char b[])
{ int num=0,n=0;
while(*(a+num)!=’\0’),num++;
while(b[n]){ *(a+num)=b[n];num++;n++;}
return (num);}
main()
{ char str1[81],str2[81],*p1=str1,*p2=str2;
gets(p1); gets(p2);
printf("%d\n",strle(p1,p2)); }
运行上面程序,如果从键盘上输入字符串qwerty和字符串abcd则程序的输出结果是 【13】 。

 
(12) 以下程序的输出结果是 【14】 。
fun(int n,int *s)
{ int f1,f2;
if(n = =1||n = =2) *s=1;
else { fun(n-1,&f1); fun(n-2,&f2); *s=f1+f2;} }
main()
{ int x;
fun(6,&x); printf("%d\n",x); }


(13) 阅读程序:
main()
{ char str1[]="how do you do" ,str2[10];
char *p1=str1,*p2=str2;
scanf("%s",p2); printf("%s",p2); printf("%s\n",p1); }
运行上面的程序,输入字符串HOW DO YOU DO 则程序的输出结果是【15】

 

        (14) 以下程序由终端输入一个文件名,然后把从终端键盘输入的字符依次存放到该文件中,用#作为结束输入的标志.请填空.
#include 
main()
{ FILE * fp;
char ch,fname[10];
printf("lnput the name of file\n");
gets(fname);
if((fp=【16】)==NULL)
{ printf("Cannot open\n"); exit(0);}
printf("Enter data\n");
while((ch=getchar())!=’#’) fputc(【17】,fp);
fclose(fp); }


(15) 以下函数creat用来建立一个带头结点的单向链表,新产生的结点总是插在链表的末尾。单向链表的头指针作为函数值返回.请填空:
#include
struct list { char data; struct list * next; };
struct list * creat()
{ struct list * h,* p,* q;
char ch;
h=【18】 malloc(sizeof(struct list));
p=q=h;
ch=getchar();
while(ch!=’?’)
{ p=【19】 malloc(sizeof(struct list));
p->data=ch;
p->next=p;
q=p;
ch=getchar();
}
p->next=’\0’;
【20】
}


1997年4月二级C笔试试卷参考答案


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


二 填空题(每空2分,共40分)
 ((1)至(5)题中所有字母都允许大`小写或大小写混合)
(1) 【1】 70.6
(2) 【2】 25(答25KB不扣分)
(3) 【3】 57
(4) 【4】 外部(答外部命令不扣分)
(5) 【5】 AUTOEXEC.BAT(答AUTOEXEC扣1分)
(6) 【6】 (x>10 && x<100)││x<0 或(1010 && x<100) 或 0>x││(10< && x<100)
(并且括号有无都可以)
(7) 【7】 GFEDCB
(8) 【8】 7 1
(9) 【9】 x>=0.0 或 !(x<0) 或!(x<0.0)
 或0.0<=x 或!(0.0>x) 或! (0>x)
(10)【10】 xx 或 amin>=x
 【11】 *(pa+i) 或 pa[i]
 【12】 avg/n 或avg/(float)n 或 avg/(double)n
(11)【13】 10
(12)【14】 8
(13)【15】 HOW how do you do (说明:HOW 和how之间有无空格均可)
(14)【16】 fopen(fname,"w")说明:"w"开头的字符串均可)
 【17】 ch
(15)【18】 (struct list *)
 【19】 (struct list *)
 【20】 return(h); 或 return h;

    育路网

 

 
 
                                        
评论】【加入收藏夹】【 】【打印】【关闭
育路网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-51418040 上海-021-64392659、64397431
育路网-中国新锐教育社区: 北京站 | 上海站 | 郑州站
本站法律顾问: 邱清荣律师
育路网版权所有1999-2007 | 京ICP备05012189号