计算机等级考试 二级C语言 笔试模拟试题 北邮四.docx

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

计算机等级考试 二级C语言 笔试模拟试题 北邮四.docx

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

计算机等级考试 二级C语言 笔试模拟试题 北邮四.docx

计算机等级考试二级C语言笔试模拟试题北邮四

一、选择题(1-11每题2分,11-21每题1分,21-40每题2分,共70分)

下列各题A、B、C、D四个选项中,只有一个选项是正确的。

请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

1.下列对于线性链表的描述中正确的是______。

(A)存储空间不一定是连续,且各元素的存储顺序是任意的

(B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面

(C)存储空间必须连续,且各前件元素一定存储在后件元素的前面

(D)存储空间必须连续,且各元素的存储顺序是任意的

2.下列关于栈的描述正确的是______。

(A)在栈中只能插入元素而不能删除元素

(B)在栈中只能删除元素而不能插入元素

(C)栈是特殊的线性表,只能在一端插入或删除元素

(D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素

3.为了使模块尽可能独立,要求________。

(A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强

(B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱

(C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱

(D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强

4.下列叙述中,正确的是________。

(A)用E-R图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系

(B)用E-R图只能表示实体集之间一对一的联系

(C)用E-R图只能表示实体集之间一对多的联系

(D)用E-R图表示的概念数据模型只能转换为关系数据模型

5.以下叙述中正确的是________。

(A)C语言的源程序不必通过编译就可以直接运行

(B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令

(C)C源程序经编译形成的二进制代码可以直接运行

(D)C语言中的函数不可以单独进行编译

6.以下有4组用户标识符,其中合法的一组是________。

(A)For

-sub

Case

(B)4d

DO

Size

(C)f2_G3

IF

abc

(D)WORD

void

define

7.以下选项中不属于C语言的类型的是________。

(A)signedshortint

(B)unsignedlongint

(C)unsignedint

(D)longshort

8.有以下程序

int*f(int*x,int*y)

{if(*x<*y)

returnx;

else

returny;

}

main()

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

p=&a;

q=&b;

r=f(p,q);

print("%d,%d,%d\n",*p,*q,*r);

}

执行后输出结果是________。

(A)7,8,8

(B)7,8,7

(C)8,7,7

(D)8,7,8

9.有以下程序

main()

{chara,b,c,d;

scanf("%c,%c,%d,%d",&a,&b,&c,&d);

printf("%c,%c,%c,%c\n",a,b,c,d);

}

若运行时从键盘上输入:

6,5,65,66<回车>。

则输出结果是________。

(A)6,5,A,B

(B)6,5,65,66

(C)6,5,6,5

(D)6,5,6,6

10.有以下程序

main()

{charstr[][10]={"China","Beijing"},*p=str;

printf("%s\n",p+10);

}

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

(A)China

(B)Beijing

(C)ng

(D)ing

11.以下程序运行后的输出结果是________。

main()

{inta,b,c;

a=10;b=20;c=(a%b<1)||(a/b>1);

printf("%d%d%d\n",a,b,c);

}

(A)10200

(B)20100

(C)10100

(D)20200

12.下列关于单目运算符++、--的叙述中正确的是________。

(A)它们的运算对象可以是任何变量和常量

(B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量

(C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量

(D)它们的运算对象可以是char型变量、int型变量和float型变量

13.有以下程序

main()

{inta;charc=10;

floatf=100.0;doublex;

a=f/=c*=(x=6.5);

printf("%d%d%3.1f%3.1f\n",a,c,f,x);

}

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

(A)16516.5

(B)1651.56.5

(C)1651.06.5

(D)2651.56.5

14.有以下程序

main()

{intc=35;printf("%d\n",c&c);}

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

(A)0

(B)70

(C)35

(D)1

15.已知i、j、k为int型变量,若从键盘输入:

1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是________。

(A)scanf("%d%d%d",&i,&j,&k);

(B)scanf("%d,%d,%d",&i,&j,&k);

(C)scanf("%2d%2d%2d",&i,&j,&k);

(D)scanf("i=%d,j=%d,k=%d",&i,&j,&k);

16.有定义语句:

intx,y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是________。

(A)1112<回车>

(B)11,12<回车>

(C)11,12<回车>

(D)11,<回车>

12<回车>

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

main()

{intx=0210;printf("%x\n",x);

}

(A)88

(B)86

(C)77

(D)21

18.当把以下4个表达式用作if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是______。

(A)k%2

(B)k%2==1

(C)(k%2)!

=0

(D)!

k%2==1

19.设变量a、b、c、d和y都已正确并赋值。

若有以下if语句

if(aif(c==d)y=0;

elsey=1;

该语句所表示的含义是______。

(A)

(B)

(C)

(D)

20.有以下程序

main()

{intn=0,m=l,x=2;

if(!

n)x-=l;

if(!

m)x-=2;

if(!

x)x-=3;

printf("%d\n",x);

执行后输出结果是________。

(A)2

(B)1

(C)3

(D)6

21.若变量已正确定义,要求程序段完成5!

的计算,不能完成此操作的程序段是________。

(A)for(i=1,p=1;i<=5;i++)p*=i;

(B)for(i=1;i<=5;i++){p=1;p*=i;}

(C)i=1;p=1;while(i<=5){p*=i;i++;}

(D)i=1;p=1;do{p*=i;i++;}while(i<=5);

22.有以下程序

main()

{inti,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中偶数之和

23.面程序的功能是输出以下形式的金字塔图案:

*

***

*****

*******

main()

{inti,j;

for(i=1;i<=4;i++;)

{for(j=l;j<=4-i;j++)printf("");

for(j=1;;j<=;j++)printf("*");

printf("\n");

在下划线处应填入的是________。

(A)i

(B)2*i―l

(C)2*i+l

(D)i+2

24.已定义以下函数

fun(char*p2,char*p1)

{while((*p2=*p1)!

='\0'){p1++;p2++}}

函数的功能是________。

(A)将p1所指字符串复制到p2所指内存空间

(B)将p1所指字符串的地址赋给指针p2

(C)对p1和p2两个指针所指字符串进行比较

(D)检查p1和p2两个指针所指字符串中是否有'\0'

25.有以下程序

voidsort(inta[],intn)

{inti,j,t;

for(i=0;ifor(j=i+2;jif(a[i]}

main()

{intaa[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,

26.设有定义:

intA,*pA=&A;以下scanf语句中能正确为变量A读入数据的是________。

(A)scanf("%d",pA);

(B)scanf("%d",A);

(C)scanf("%d",&pA);

(D)scanf("%d",*pA);

27.有以下程序

#include

voidf(char*s,char*t)

{chark;

k=*s;*s=*t;*t=k;

s++;t--;

if(*s)f(s,t);

}

main()

{charstr[10]="abcdefg",*p;

p=str+strlen(str)/2+1;

f(p,p-2);

printf("%s\n",str);

}

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

(A)abcdef

(B)gfedcba

(C)gbcdefa

(D)abedcfg

28.有以下程序

main()

{chars[]="\n123\\";

printf(%d,%d\n",strlen(s),sizeof(s));

}

执行后输出结果是________。

(A)赋初值的字符串有错

(B)6,7

(C)5,6

(D)6,6

29.有以下程序

main()

{char*p[l0]={"abc","aabdfg","dcdbe","abbd","cd"};

printf("%d\n",strlen(p[4]));

执行后输出结果是________。

(A)2

(B)3

(C)4

(D)5

30.以下关于函数的叙述中正确的是_______。

(A)每个函数都可以被其它函数调用(包括main函数)

(B)每个函数都可以被单独编译

(C)每个函数都可以单独运行

(D)在一个函数内部可以定义另一个函数

31.下列函数定义中,会出现编译错误的是________。

(A)max(intx,inty,int*z)

{*z=x>y?

x:

y;}

z=x>y?

x:

y;

returnz;

}

(B)intmax(intx,y)

{intz;

(C)max(intx,inty)

{intz;

z=x>y?

x:

y;return(z);

}

(D)intmax(intx,inty)

{return(x>y?

x:

y);}

32.有以下程序

#include

main()

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

*q=*(p+5);

printf("%d%d\n",*p,*q);

}

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

(A)运行后报错

(B)66

(C)611

(D)510

33.有以下程序

voidfun(int*a,inti,intj)

{intt;

if(i{t=a[i];a[i]=a[j];a[j]=t;}

fun(a,++i,--j);

}

}

main()

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

fun(a,0,5);

for(i=0;i<6;i++)

printf("%d",a[i]);

}

执行后输出结果是________。

(A)654321

(B)432156

(C)456123

(D)123456

34.有以下程序

voidfun(char*a,char*b)

{a=b;(*a)++;}

main()

{charc1='A',c2='a',*p1,*p2;

p1=&c1;p2=&c2;fun(p1,p2);

printf("%c%c\n",c1,c2);

}

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

(A)Ab

(B)aa

(C)Aa

(D)Bb

35.有以下程序

voidf(inty,int*x)

{y=y+*x;*x;=*x+y;}

main()

{intx=2,y=4;

f(y,&x);

printf("%d%d\n",x,y);

执行后输出结果是________。

(A)84

(B)88

(C)48

(D)42

36.设有定义语句

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

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

(A)for(i=0;i<6;i++)printf("%2d",*(p++));

(B)for(i=0;i<6;i++)printf("%2d",*(p+i));

(C)for(i=0;i<6;i++)printf("%2d",*p++);

(D)for(i=0;i<6;i++)printf("%2d",(*p)++);

37.设有定义:

intn=0,*p=&n,**q=&p;,则以下选项中,正确的赋值语句是________。

(A)p=1;

(B)*q=2

(C)q=p

(D)*p=5

38.已有定义:

inti,a[10],*p;,则合法的赋值语句是________。

(A)p=100;

(B)p=a[5];

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

(D)p=a+2;

39.下列选项中正确的语句组是________。

(A)chars[8];s={"Beijing"};

(B)char*s;s={"Beijing"};

(C)chars[8];s="Beijing";

(D)char*s;s="Beijing";

40.已定义以下函数

fun(int*p)

{return*p;}

该函数的返回值是________。

(A)不确定的值

(B)形参p中存放的值

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

(D)形参p的地址值

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

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

1.有以下程序

main()

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

p=&a;q=&b;

r=p;p=q;q=r;

printf("%d,%d,%d,%d\n",*p,*q,a,b);

}

程序运行后的输出结果是__【1】__。

2.有以下程序

#include

main(intargc,char*argv[])

{inti,len=0;

for(i=l;iprintf("%d\n",len);

经编译连接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行:

exabcdefgh3k44

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

3.有以下程序

main()

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

p=&a[0][0];

for(i=0;i<9;i++)p[i]=i+1;

printf("%d\n",a[1][2]);

}

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

4.有以下程序

voidf(inta[],inti,intj)

{intt;

if(i{t=a[i];a[i]=a[j];a[j]=t;

f(a,i+1,j-1);

main()

{inti,aa[5]={1,2,3,4,5};

f(aa,0,4);

for(i=0;i<5;i++)printf("%d,",aa[i]);printf("\n");

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

5.目前实际存在和使用的广域网基本上都是采用拓扑结构类型。

有以下程序

#include

structSTU

{intnum;

floatTotalScore;};

voidf(structSTUp)

{structSTUs[2]={{20041,703},{20045,537}};

p.num=s[1].num;p.TotalScore=s[1].TotalScore;

}

main()

{structSTUs[2]={{20041,703},{20042,580}};

f(s[0]);

printf("%d%3.0f\n",s[0].num,s[0].TotalScore);

}

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

6.若有以下程序

intf(intx,inty)

{return(y-x)*x;}

main()

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

d=f(f(3,4),f(3,5));

printf("%d\n",d);

}

执行后输出结果是___【6】___。

7.有以下程序

voidswap1(intc[])

{intt;

t=c[0];c[0]=c[1];c[1]=t;

voidswap2(intc0,intcl)

{intt;

t=c0;c0=cl;cl=t;

main()

{inta[2]={3,5},b[2]={3,5};

swaplA);swap2(b[0],b[1]);

printf("%d,%d,%d,%d\n",a[0],a[1],b[0],b[1]);

其输出结果是____【7】____。

8.有以下程序

inta=2;

intf(int*A)

{return(*A)++;}

main()

{ints=0;

{inta=5;

s+=f(&A)

s+=f(&A)

printf("%d\n",s)

执行后输出结果是__【8】______。

9.有以下程序段

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

b=p[5];

b中的值是____【9】____。

10.以下程序的运行结果是:

___【10】___。

#include

char*ss(char*s)

returns+strlen(s)/2;}

main()

{char*p,*str="abcdefgh";

p=ss(str);printf("%s\n",p);

11.有如下程序段

main(intargc,char*argv[])

{intn,i=0;

while(argv[1][i]!

='\0')

{n=fun();i++;}

printf("%d\n",n*argc);

}

intfun()

{staticints=0;

s+=1;

returns;

}

假设程序经编译、连接后生成可执行文件exam,exe,若键入如下命令行:

exam123<回车>

则运行结果为____【11】____。

12.以下程序运行后的输出结果是【12】_。

#defineS(x)4*x*x+1

main()

{inti=6,j=8;

printf("%d\n",S(i+j));

}

13.以下程序运行后的输出结果是_【13】_。

#include

voidfun(char*s,intp,intk)

{inti;

for(i=p;i}

main()

{chars[]="abcdefg";

fun(s,3,strlen(s));puts(s);

}

14.若有以下程序

main()

{inta[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};

inti,j,s=0;

for(i=0;i<4;i++)

{for(j=0;j<4;j++)

{if(a[i][j]<0)

continue;

if(a[i][j]==0)

break;

s+=a[i][j];

}

}

printf("%d\n",s);

}

执行后输出结果是__【14】。

15.若有以下程序

main()

{chara;

a='H'-'A'+'0';

printf("%c\n",a);

}

执行后输出结果是__【15】__。

参考答案与分析

一、选择题(1-11每题2分,11-21每题1分,21-40每题2分,共70分)

1.A

2.C

3.B

4.A

5.B

6.C

7.D

8.B

9.A

10.B

11.A

12.D

13.B

14.C

15.A

16.A

17.A

18.D

19.C

20.B

21.B

22.D

23.B

24.A

25.C

26.A

27.B

28.C

29.A

30.B

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

当前位置:首页 > PPT模板 > 商务科技

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

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