计算机等级考试1994年全国计算机二级C语言考试真题及答案Word格式.docx

上传人:b****6 文档编号:17422189 上传时间:2022-12-01 格式:DOCX 页数:13 大小:20.87KB
下载 相关 举报
计算机等级考试1994年全国计算机二级C语言考试真题及答案Word格式.docx_第1页
第1页 / 共13页
计算机等级考试1994年全国计算机二级C语言考试真题及答案Word格式.docx_第2页
第2页 / 共13页
计算机等级考试1994年全国计算机二级C语言考试真题及答案Word格式.docx_第3页
第3页 / 共13页
计算机等级考试1994年全国计算机二级C语言考试真题及答案Word格式.docx_第4页
第4页 / 共13页
计算机等级考试1994年全国计算机二级C语言考试真题及答案Word格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

计算机等级考试1994年全国计算机二级C语言考试真题及答案Word格式.docx

《计算机等级考试1994年全国计算机二级C语言考试真题及答案Word格式.docx》由会员分享,可在线阅读,更多相关《计算机等级考试1994年全国计算机二级C语言考试真题及答案Word格式.docx(13页珍藏版)》请在冰豆网上搜索。

计算机等级考试1994年全国计算机二级C语言考试真题及答案Word格式.docx

%d,%d\n"

++i,j--);

}

A.11,10

B.9,10

C.010,9

D.10,9

(13)在ASCII代码中,字母A的序号为65,以下程序的输出的结果是〔〕。

{charc1=’A’,c2=’Y’;

printf("

c1,c2);

A.因输出格式不合法,输出错误信息

B.65,90

C.A,Y

D.65,89

(14)指针s所指字符串的长度为〔〕。

char*s="

\\"

Name\\Address\n"

;

A.19

B.15

C.18

D.说明不合法

(15)设有说明int(*ptr)[m];

其中的标识符ptr是〔〕。

 

A.M个指向整型变量的指针

B.指向M个整型变量的函数指针

C.一个指向具有M个整型元素的一维数组的指针

D.具有M个指针元素的一维指针数组,每个元素都只能指向整型量

(16)语句while(!

E);

中的条件!

E等价于 〔〕。

A.E==0

B.E!

=1

C.E!

=0

D.~E

(17)以下程序的输出结果是 〔〕 。

{printf("

NULL);

A.不确定的〔因变量无定义〕

B.0

C.-1

D.1

(18)以下函数调用语句中含有〔〕个实参。

func((exp1,exp2),(exp3,exp4,exp5));

A.1

B.2

C.4

D.5

(19)设有以下语句:

chara=3,b=6,c;

c=a^b<

<

2;

那么c的二进制值是〔〕。

A.00011011

B.00010100

C.00011100

D.00011000

(20)下面的程序中〔〕有错误〔每行程序前面的数字是行号〕。

1#include

2main()

3{

4floata[3]={0,0};

5inti;

6for(i=0;

i<

3;

i++)scanf("

%d"

&

a[i]);

7for(i=1;

i++)a[0]=a[0]+a[i];

8printf("

%f\n"

a[0]);

9}

A.没有

B.第4行

C.第6行

D.第8行

(21)设有语句inta=3;

那么执行了语句a+=a-=a*a;

后,变量a的值是 〔〕。

A.3

C.9

D.-12

(22)以下的for循环〔〕。

for(x=0,y=0;

(y!

=123)&

&

(x<

4);

x++);

A.是无限循环

B.循环次数不定

C.执行4次

D.执行3次

(23)设有语句chara=’\72’;

那么变量a〔〕 。

A.包含1个字符

B.包含2个字符

C.包含3个字符

(24)以下程序的输出结果是 〔〕。

{inta=1,b=4,c=2;

floatx=10..5,y=4.0,z;

z=(a+

B./c+sqrt((double)y)*1.2/c+x;

pritnf("

z);

A.14.000000

B.015.400000

C.13.700000

D.14.900000

(25)sizeof(double)是 〔〕。

A.一种函数调用

B.一个双精度型表达式

C.一个整型表达式

D.一个不合法的表达式

(26)C语言中 〔〕。

A.不能使用do-while语句构成的循环

B.do-while语句构成的循环必须用break语句才能退出

C.do-while语句构成的循环,当while语句中的表达式值为非零时完毕循环

D.do-while语句构成的循环,当while语句中的表达式值为零时完毕循环

(27)以下程序的输出结果是〔〕。

{charstr[12]={’s’,’t’,’r’,’i’,’n’,’g’};

strlen(str));

A.6

B.7

C.11

D.12

(28)以下程序的输出结果是 〔〕。

{inta=2,c=5;

a=%%d,b=%%d\n"

a,

C.;

A.a=%2,b=%5

B.a=2,b=5

C.a=%%d,b=%%d

D.a=%d,b=%d

(29)以下程序的输出结果是 〔〕。

{inta,b,d=241;

a=d/100%9;

b=(-1)&

(-1);

B.;

A.6,1

B.2,1

C.6,0

D.2,0

(30)以下程序的输出结果是 〔〕。

{inti;

for(i=1;

=5;

i++){if(i%2)printf("

*"

);

elsecontinue;

#"

}

$\n"

A.*#*#*#$

B.#*#*#*$

C.*#*#$

D.#*#*$

(31)以下for语句构成的循环执行了〔〕次。

#defineN2

#defineMN+1

#defineNUM(M+1)*M/2

{inti,n=0;

=NUM;

i++);

{n++;

n);

\n"

A.5

C.8

D.9

(32)设有以下语句,那么 〔〕 不是对a数组元素的正确引用,其中0≤i<

10。

inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;

A.a[p-a]

B.*(&

a[i])

C.p[i]

D.*(*(a+i))

(33)有以下程序:

#defineN6

{charc[N];

inti=0;

for(;

ifor(i=0;

i输入以下三行,每行输入都是在列上开场,代表一个回车符:

a

b

cdef

程序的输出结果是〔〕。

A.abcdef

B.a

C.a

D.a

bbb

ccdcdef

d

e

f

(34)以下程序调用findmax函数求数组中值的元素在数组中的下标,请选择填空。

findmax(s,t,k)

int*s,t,*k;

{intp;

for(p=0,*k=p;

pif(s[p]>

s[*k])〔〕;

{inta[10],i,k;

for(i=0;

i<

10;

i++)scanf("

findmax(a,10,&

k);

printf("

k,a[k]);

A.k=p

B.*k=p-s

C.k=p-s

D.*k=p

(35)有以下程序:

#include

unionpw

charch[2];

}a;

{a.ch[0]=13;

a.ch[1]=0;

a.i);

程序的输出结果是 〔〕。

〔注意:

ch[0]在低字节,ch[1]在高字节。

〕 

A.13

B.14

C.208

D.209

(36)有以下程序:

{intc;

while((c=getchar())!

=’\n’)

{switch(c-’2’)

{case0:

case1:

putchar(c+4);

case2:

break;

case3:

putchar(c+3);

case4:

putchar(c+2);

}}

从列开场输入以下数据,代表一个回车符。

2743

程序的输出结果是 〔〕 。

A.668977

B.668966

C.6677877

D.6688766

(37)以下程序的输出结果为 〔〕。

{char*alpha[6]={"

ABCD"

"

IJKL"

MNOP"

QRST"

UVWX"

};

char**p;

inti;

p=alpha;

for(i=0;

4;

i++)printf("

%s"

p[i]);

A.ABCDEFGHIJKL

B.ABCD

C.ABCDEFGHIJKLMNOP

D.AEIM

(38)以下程序的输出结果是 〔〕。

#defineFUDGE(y)2.84+y

#definePR(

A.printf("

(int)(

A.)

#definePRINT1(

A.PR(

A.;

putchar(’\n’)

{intx=2;

PRINT1(FUDGE(5)*x);

A.11

B.12

C.13

D.15

(39)以下程序的输出结果是〔〕。

{inti=1,j=3;

i++);

{inti=0;

i+=j*2;

%d,%d"

i,j);

A.1,6,3,1,3

B.1,6,3,2,3

C.1,6,3,6,3

D.1,7,3,2,3

(40)以下程序的输出结果是 〔〕。

{intk=4,m=1,p;

p=func(k,m);

%d,"

p);

func(a,

B.

inta,b;

{staticintm=0,i=2;

i+=m+1;

m=i+a+b;

return(m);

A.8,17

B.8,16

C.8,20

D.8,8

(41)设有以下语句:

charstr[4][12]={"

aaa"

bbbb"

ccccc"

dddddd"

},

*strp[4];

inti;

for(i=0;

i++)strp[i]=str[i];

 〔〕不是对字符串的正确引用,其中0≤k<

4。

A.strp

B.str[k]

C.strp[k]

D.*strp

(42)设有以下语句:

charstr1[]="

string"

str2[8],*str3,*str4="

那么 〔〕不是对库函数strcpy的正确调用,此库函数用业复制字符串。

A.strcpy(str1,"

HELLO1"

B.strcpy(str2,"

HELLO2"

C.strcpy(str3,"

HELLO3"

D.strcpy(str4,"

HELLO4"

(43)C语言中形参的缺省存储类别是 〔〕 。

A.自动(auto)

B.静态(statiC〕

C.存放器(register)

D.外部(extern)

(44)设有以下语句:

structst{intn;

structst*next;

staticstructsta[3]={5,&

a[1],7,&

a[2],9,’\0’},*p;

p=&

a[0];

那么表达式 〔〕的值是6。

A.p++->

n

B.p->

n++

C.(*p).n++

D.++p->

(45)以下四个程序中, 〔〕不能对两个整型变量的值进展交换。

A.#include

{inta=10,b=20;

swap(&

a,&

%d%d\n"

swap(p,q)

int*p,*q;

{

int*t;

t=(int)malloc(sizeof(int));

t=p;

*p=*q;

*q=*t;

B.#include

inta=10,b=20;

swap(&

intp,q;

t=*p;

*q=t;

C.#include

int*a,*b;

*a=10,*b=20;

swap(a,

*a,*

intt;

D.#include

intx=&

a,y=&

b;

swap(x,y);

二、填空题〔每空2分,共40分〕

请将每空的正确答案写在答题卡1-20序号后的横线上,答在试卷上不得分。

〔1〕 

构造化程序设计所规定的三种根本控制构造是 

【1】 

构造.选择构造和循环构造。

〔2〕 

在七位ASCII码中,除了表示数字、英文大小写字母外,还有 

【2】 

个其它符号。

〔3〕 

把B盘BAS子目录下第三个字符为A,且没有扩展名的全部文件拷贝到C盘ABC子目录下的命令是 

【3】 

〔4〕 

微机中ROM的中文意义是 

【4】 

存储器。

〔5〕 

启动MS-DOS系统后,能自动执行的批处理文件是 

【5】 

.BAT。

〔6〕 

【6】 

〔7〕 

十进制数53转换为十六进制数为 

【7】 

〔8〕 

数据库管理系统常见的数据模型有层次、网状和 

【8】 

三种。

〔9〕 

买来一张新盘后,在存入文件前,必须进展 

【9】 

处理。

〔10〕 

在微机中,字符的比拟就是对它们的 

【10】 

码进展比拟。

〔11〕 

以下C语言程序将磁盘中的一个文件复制到另一个文件中,两个文件名在命令行中给出。

#include 

main(argc,argv)

int 

argc;

char 

*argv[];

FILE 

*f1,*f2;

ch;

if(argc<

【11】 

Parameters 

missing!

exit(0);

if( 

((f1=fopen(argv[1],"

r"

)) 

NULL)||((f2=fopen(argv[2],"

w"

NULL))

Can 

not 

open 

file!

while( 

【12】 

)fputc(fgetc(f1),f2);

fclose(f1);

fclose(f2);

〔12〕 

以下程序中的trap函数是一个用梯形法求定积分的通用函数。

梯形法求定积分的公式为:

n-1 

a-b

s=((f(a)+f(b))/2+∑ 

f(a+i*h))*h 

 

h=|----|

i=1 

其中,n为积分小区间数。

以下程序调用trap函数求定积分,被积函数是:

f(x)=x*x+3*x+2,且n=1000,a=0,b=4。

3include 

double 

trap(fun,a,b)

(*fun)(),a,b;

t,h;

i,n=1000;

t=0.5*((*fun)(a)+(*fun)(b));

h=fabs(a-b)/(double)(n);

for(i=1;

=n-1;

) 

t=t+ 

【13】 

t=t*h;

return(t);

mypoly(x)

x;

return(x*x+3.0*x+2.0);

y,(*pf)();

pf= 

【14】 

y=trap(pf,0.0,4.0);

y);

〔13〕 

以下程序求a数组中的所有素数的和,函数isprime用来判断自变量是否为素数。

素数是只能被1和本身整除且大于1的自然数。

i,a[10],*p=a,sum=0;

Enter 

10 

num:

10;

scanf("

if(isprime(*(p+ 

【15】 

1){ 

*(a+i));

sum+=*(a+i);

\nThe 

sum=%d\n"

sum);

isprime(x)

i;

for(i=2;

=x/2;

if(x%i 

0) 

return 

(0);

【16】 

〔14〕 

以下程序调用invert函数按逆序重新放置a数组中元素的值。

a数组中的值在main函数中读入。

#define 

10

invert(s,i,j)

*s,i,j;

t;

if(imain()

a[N],i;

invert(a,0,N-1);

〔15〕 

以下程序建立了一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入完毕〔链表头结点的data 

域不放数据,表空的条件是ph->

next 

NULL).

struct 

list 

data;

*next;

【19】 

creatlist()

*p,*q,*ph;

a;

ph=(struct 

*) 

malloc(sizeof(struct 

list));

p=q=ph;

Input 

an 

integer 

number,enter 

–1 

to 

end:

a):

while(a!

=-1)

p=(struct 

*)malloc(sizeof(struct 

p->

data=a;

q->

next=p;

【20】 

=p;

a);

next=’\0’;

return(ph);

*head;

head=creatlist();

参考答案 

选择题([1]——[30]每个选项1分,[31]——[45]每个选项2分,共60分)

(1)B 

(2)B 

(3)B 

(4)A 

(5)C 

(6)D 

(7)B 

(8)C 

(9)A 

(10)C

(11)C 

(12)B 

(13)D 

(14)B 

(15)C 

(16)A 

(17)B 

(18)B 

(19)A 

(20)C

(21)D 

(22)C 

(23)A 

(24)C 

(25)C 

(26)D 

(27)A 

(28)D 

(29)B 

(30)A

(31)C 

(32)D 

(33)C 

(34)D 

(35)A 

(36)A 

(37)C 

(38)B 

(39)B 

(40)A

(41)A 

(42)C 

(43)A 

(44)D 

(45)C 

二` 

填空题(每空2分,共40分)

(1)顺序

(2)66

(3) 

COPY 

B:

\BAS\?

?

A*.C:

\ABC(或COPY 

B:

A*.,C:

\ABC)

(4)只读

(5)AUTOEXEC

(6)DEL 

\FOX\*.TXT

(7)35

(8)关系

(9)格式化(或初始化、FORMAT)

(10)ASCII

(11)3

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1