计算机等级考试 二级C语言 笔试模拟试题 北邮五文档格式.docx

上传人:b****3 文档编号:16653104 上传时间:2022-11-25 格式:DOCX 页数:24 大小:26.91KB
下载 相关 举报
计算机等级考试 二级C语言 笔试模拟试题 北邮五文档格式.docx_第1页
第1页 / 共24页
计算机等级考试 二级C语言 笔试模拟试题 北邮五文档格式.docx_第2页
第2页 / 共24页
计算机等级考试 二级C语言 笔试模拟试题 北邮五文档格式.docx_第3页
第3页 / 共24页
计算机等级考试 二级C语言 笔试模拟试题 北邮五文档格式.docx_第4页
第4页 / 共24页
计算机等级考试 二级C语言 笔试模拟试题 北邮五文档格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

计算机等级考试 二级C语言 笔试模拟试题 北邮五文档格式.docx

《计算机等级考试 二级C语言 笔试模拟试题 北邮五文档格式.docx》由会员分享,可在线阅读,更多相关《计算机等级考试 二级C语言 笔试模拟试题 北邮五文档格式.docx(24页珍藏版)》请在冰豆网上搜索。

计算机等级考试 二级C语言 笔试模拟试题 北邮五文档格式.docx

(D)k>

=f>

=m

11.有以下定义语句

doublea,b;

intw;

longc;

若各变量已正确赋值,则下列选项中正确的表达式是________。

(A)a=a+b=b++

(B)w%((int)a+b)

(C)(c+w)%(int)a

(D)w=a==b;

12.有以下程序

main()

{inti=l,j=1,k=2;

if((j++||k++)&

&

i++)printf("

%d,%d,%d\n"

i,j,k);

}

执行后输出结果是________。

(A)1,1,2

(B)2,2,1

(C)2,2,2

(D)2,2,3

13.数字字符0的ASCII值为48,若有以下程序

main()

{chara='

1'

b='

2'

;

%c,"

b++);

%d\n"

b-a);

}

程序运行后的输出结果是_______。

(A)3,2

(B)50,2

(C)2,2

(D)2,50

14.有以下程序

{inti=10,j=1;

%d,%d\n"

i--,++j);

(A)9,2

(B)10,2

(C)9,1

(D)10,1

15.以下能正确定义且赋初值的语句是______。

(A)intn1=n2=10;

(B)charc=32;

(C)floatf=f+1.1;

(D)doublex=12.3E2.5

16.有以下程序

{chara1='

M'

a2='

m'

printf(″%c\n″,(a1,a2));

以下叙述中正确的是_____。

(A)程序输出大写字母M

(B)程序输出小写字母m

(C)格式说明符不足,编译出错

(D)程序运行时产生出错信息

17.以下程序的功能是进行位运算

{unsignedchara,b;

a=7^3;

b=~4&

3;

%d%d\n"

a,b);

程序运行后的输出结果是_____。

(A)43

(B)73

(C)70

(D)40

18.设有定义:

floata=2,b=4,h=3;

,以下C语言表达式中与代数式(a+B)h计算结果不相符的是________。

(A)(a+B)*h/2

(B)(1/2)*(a+B)*h

(C)(a+B)*h*l/2

(D)h/2*(a+B)

19.若有以下程序段

intm=0,n=0;

charc='

a'

scanf("

%d%c%d"

&

m,&

c,&

n);

%d,%c,%d\n"

m,c,n);

若从键盘上输入:

10A10<

回车>

,则输出结果是________。

(A)10,A,10

(B)16,a,10

(C)10,a,0

(D)10,A,0

20.以下程序运行后的输出结果是______。

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

if(c=a)printf("

c);

elseprintf("

b);

(A)2

(B)3

(C)5

(D)1

21.有以下程序

#include

{charc1=′1′,c2=′2′;

c1=getchar();

c2=getchar();

putchar(c1);

putchar(c2);

当运行时输入:

a<

后,以下叙述正确的是_____。

(A)变量c1被赋予字符a,c2被赋予回车符

(B)程序将等待用户输入2个字符

(C)变量c1被赋予字符a,c2中仍是原有字符2

(D)变量c1被赋予字符a,c2中将无确定值

22.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是________。

(A)INPUTx、y、z;

(B)scanf("

%d%d%d"

x,&

y,&

z);

(C)scanf("

x,y,z);

(D)read("

23.以下程序的输出结果是________。

#defineSQR(X)X*X

{inta=10,k=2,m=1;

a/=SQR(k+m)/SQR(k+m);

d\n"

a);

(A)16

(B)2

(C)9

24.有以下程序

main()

{inta=3,b=4,c=5,d=2;

if(a>

b)

if(b>

c)

printf("

%d"

d+++1);

else

++d+1);

d);

程序运行后的输出结果是________。

(C)43

(D)44

25.有以下程序

{chark;

inti;

for(i=l;

i<

i++)

{scanf("

%c"

k);

switch(k)

{case'

0'

:

another\n"

);

case'

l'

number\n"

程序运行时,从键盘输入:

01<

,程序执行后的输出结果是________。

(A)another

number

(B)another

number

another

(C)another

(D)number

26.有以下程序

{intx=0,y=5,z=3;

while(z-->

0&

++x<

5)y=y-l;

%d,%d,%d\n"

程序执行后的输出结果是________。

(A)3,2,0

(B)3,2,-1

(C)4,3,-1

(D)5,-2,-5

27.有以下程序

{inta[]={2,4,6,8,10},y=0,x,*p;

p=&

a[1];

for(x=1;

x<

x++)y+=p[x];

printf(″%d\n″,y);

(A)10

(B)11

(C)14

(D)15

28.有以下程序中若有如下说明和定义语句

charfun(char*);

main()

{

char*s="

one"

a[5]={0},(*f1)()=fun,ch;

...

}

以下选项中对函数fun的正确调用语句是______。

(A)(*f1)(a);

(B)*f1(*s);

(C)fun(&

a);

(D)ch=*f1(s);

29.有以下程序

intf(inta)

{returna%2;

{ints[8]={1,3,5,2,4,6},i,d=0;

for(i=0;

f(s[i]);

i++)d+=s[i];

(A)9

(C)19

(D)21

30.若有定义:

intx=0,*p=&

x;

则语句printf(″%d\n″,*p);

的输出结果是____。

(A)随机值

(B)0

(C)x的地址

(D)p的地址

31.设有定义:

intA,*pA=&

A;

以下scanf语句中能正确为变量A读入数据的是________。

(A)scanf("

pA);

(B)scanf("

A);

(C)scanf("

pA);

(D)scanf("

*pA);

32.有以下程序

{inta[3][3],*p,i;

a[0][0];

for(i=0;

9;

i++)p[i]=i;

i++)printf("

a[1][i]);

程序运行后的输出结果是______。

(A)012

(B)123

(C)234

(D)345

33.以下能正确定义二维数组的是________。

(A)inta[][3];

(B)inta[][3]={2*3};

(C)inta[][3]={};

(D)inta[2][3]={{1},{2},{3,4}};

34.若程序中已包含头文件stdio.h,以下选项中,正确运用指针变量的程序段是________。

(A)int*i=NULL;

scanf("

i);

(B)float*f=NULL

*f=10.5;

(C)chart='

*c=&

t;

*c=&

(D)long*L;

L='

\0'

35.有以下定义

chara[l0],*b=a;

不能给a数组输入字符串的语句是________。

(A)gets(A)

(B)gets(a[0]);

(C)gets(&

a[0]);

(D)gets(b);

36.已有定义:

inti,a[10],*p;

则合法的赋值语句是________。

(A)p=100;

(B)p=a[5];

(C)p=a[2]+2;

(D)p=a+2;

37.设有定义语句

intx[6]={2,4,6,8,5,7},*p=x,i;

要求依次输出x数组6个元素中的值,不能完成此操作的语句是________。

(A)for(i=0;

6;

%2d"

*(p++));

(B)for(i=0;

*(p+i));

(C)for(i=0;

*p++);

(D)for(i=0;

(*p)++);

38.若有以下说明和语句

intc[4][5],(*p)[5];

p=c;

能够正确引用c数组元素的是________。

(A)p+1

(B)*(p+1)

(C)*(p+1)+3

(D)*(p[0]+2)

39.设有定义:

intn=0,*p=&

n,**q=&

p;

,则以下选项中,正确的赋值语句是________。

(A)p=1

(B)*q=2

(C)q=p

(D)*p=5

40.已定义以下函数

fun(int*p)

{return*p;

该函数的返回值是________。

(A)不确定的值

(B)形参p中存放的值

(C)形参p所指存储单元中的值

(D)形参p的地址值

二、填空题(1-15每题2分,共30分)

请将答案分别写在答题卡中对应的的横线上。

1.有以下程序

{inti,n=0;

for(i=2;

5;

{do

{if(i%3)continue;

n++;

}while(!

i);

n=%d\n"

n);

程序执行后输出结果是____【1】____。

2.有以下程序

voidf(intv,intw)

{intt;

t=v;

v=w;

w=t;

main()

{intx=1,y=3,z=2

if(x>

y)f(x,y);

elseif(y>

z)f(y,z);

elsef(x,z);

执行后输出结果是____【2】____。

3.函数YangHui的功能是把杨辉三角形的数据赋给二维数组的下半三角,形式如下:

1

11

121

1331

14641

其构成规律是:

①第0列元素和主对角线元素均为1

②其余元素为其左上方和正上方元素之和

③数据的个数每行递增1

请将程序补充完整。

#defineN6

voidYangHui(intx[N][N])

{inti,j;

x[0][0]=1;

for(i=1;

i{x[i][0]=x[i][i]=1;

for(j=1;

jx[i][j]=_【3】________;

4.以下程序运行后的输出结果是__【4】____。

{charc;

intn=100;

floatf=10;

doublex;

x=f*=n/=(c=50);

%d%f\n"

n,x);

5.有以下程序

{inta=7,b=8,*p,*q,*r;

p=&

a;

q=&

b;

r=p;

p=q;

q=r;

%d,%d,%d,%d\n"

*p,*q,a,b);

程序运行后的输出结果是____【5】____。

6.以下程序运行后的输出结果是___【6】____。

#include

{charch[]="

abc"

x[3][4];

i++)strcpy(x[i],ch);

%s"

x[i][i]);

\n"

7.有以下程序

fun(inta,intb)

{if(a>

b)return(a);

elsereturn(b);

{intx=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);

%\d\n"

r);

程序运行后的输出的结果是____【7】____。

8.有以下程序

structSTU

{charname[10];

intnum;

};

voidf(char*name,intnum)

{structSTUs[2]={{"

SunDan"

20044},{"

Penghua"

20045}};

num=s[0].num;

strcpy(name,s[0].name);

YangSan"

20041},{"

LiSiGuo"

20042}},*p;

s[1];

f(p->

name,p->

num);

%s%d\n"

p->

程序运行后的输出结果是___【8】____。

9.有以下程序

{inta[3][3],*p,i;

i++)p[i]=i+1;

a[1][2]);

程序运行后的输出结果是____【9】____。

10.有以下程序

{inta[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+5,*q=NULL;

*q=*(p+5);

*p,*q);

程序运行后的输出结果是____【10】____。

11.有以下程序

voidf(int*x,int*y)

{intt;

t=*x;

*x=*y;

*y=t;

{inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;

p=a;

q=&

a[7];

while(p

{f(p,q);

p++;

q--;

8;

%d,"

a[i]);

程序运行后的输出结果是____【11】____。

12.有以下程序

prt(int*m,intn)

{inti;

i}

{inta[]={1,2,3,4,5},i;

prt(a,5);

程序运行后的输出结果是___【12】_____。

13.有以下程序

floatf1(floatn)

{returnn*n;

floatf2(floatn)

{return2*n;

{float(*p1)(float),(*p2)(float),(*t)(float),y1,y2;

p1=f1;

p2=f2;

y1=p2(p1(2.0));

t=p1;

p1=p2;

p2=t;

y2=p2(p1(2.0));

%3.0f,%3.0f\n"

y1,y2);

程序运行后的输出结果是___【13】____。

14.设有以下定义和语句

inta[3][2]={1,2,3,4,5},*p[3];

p[0]=a[1];

则*(p[0]+1)所代表的数组元素是__【14】______。

15.设函数findbig已定义为求3个数中的最大值,以下程序将利用函数指针调用findbig函数。

请填空。

{intfindbig(int,int,int);

int(*f)(),x,y,z,big;

f=____【15】_______;

big=(*f)(x,y,z);

big=%d\n"

,big);

参考答案与分析

1.C

2.D

3.C

4.C

5.C

6.D

7.D

8.D

9.B

10.C

11.C

12.C

13.C

14.B

15.A

16.B

17.A

18.B

19.A

20.B

21.A

22.B

23.D

24.A

25.C

26.B

27.C

28.A

29.A

30.B

31.A

32.D

33.B

34.A

35.B

36.D

37.D

38.D

39.D

40.C

1.【1】n=4

2.【2】1,3,2

3.【3】x[i-1][j-1]+x[i-1][j]

4.【4】220.000000

5.【5】8,7,7,8

6.【6】abcbcc

7.【7】12

8.【8】SunDan20042

9.【9】6

10.【10】运行后报错

11.【11】8,7,6,5,4,3,2,1,

12.【12】2,3,4,5,6,

13.【13】8,16

14.【14】a[1][1]

15.【15】findbig

答案及简单分析

一、选择题

1.分析:

顺序查找的最坏情况是所找的元素在线性表的最后,因此查找的比较次数是线性表的长度,即n。

2.分析:

程序是软件的一部分,软件是一种逻辑实体,它的开发、运行都依赖计算机系统,因此出现了软件的移植问题。

3.分析:

DFD(DataFlowDiagram)是数据流图结构化分析的常用工具。

软件设计中,常见的过程设计工具有:

(1)图形工具:

程序流程图,N-S,PAD,HIPO

(2)表格工具:

判定表

(3)语言工具:

PDL(过程设计语言)

4.分析:

软件测试包括需求分析、结构功能模块设计、编制程序等阶段。

程序的测试可以由专门的测试人员来完成。

程序经调试改错后还应进行再测试。

5.分析:

根据算法的特性,算法必须有0个或多个输入,和1个或多个输出。

6.分析:

选项D中有两条语句。

7.分析:

本题考查C语言基本知识。

本题中default是C语言的关键字。

8.分析:

本题中a是长整型变量,故应将一个长整型常量赋值给a,选项A、B、C中的数值的末尾都没有加L或l,所以不正确。

9.分析:

字符参与运算的值是其对应的ASCII码,小写英文字符的ASCII值比大写英文字符的ASCII值大32,执行语句m='

+32;

得出结果m=66+32=98,以"

的格式输出结果为b。

10.分析:

A、D选项是关系运算表达式,在C语言中,只要关系运算符两边是合法的表达式就

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

当前位置:首页 > 求职职场 > 简历

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

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