您现在的位置:首页> 考试报考 > C语言 > 计算机二级考试C语言模拟试题(二)

计算机二级考试C语言模拟试题(二)

21.下列程序的运行结果为(  )。

#include

main()

{struct date

{int year,month,day;

}today;

printf("%d\n",sizeof(struct date));

}

A.8

B.6

C.10

D.12

22.有以下程序:

#include<

struct stu

{ int num;

char name[10]:

int age;}

void fun(struct stu*p)

{printf("%s\n",(*p).name);}

tllain()

{

struct stu students[3]={{9801,"Zhang".20},

{9802,"Wang",19},{9803,"Zhao",1 8}}

fun(students+2);

}

输出的结果是(  )。

A.Zhang

B.Zhao

C.Wang

D.18

23.有以下程序:

viod fun(int a,int b,int C)

{ a=456:b=567;c=678;}

main()

{ int x=10,y=20,Z=30;

fun(x,y,z):

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

}

输出的结果是(  )。

A.30,20,10

B.10,20,30

C.456,567,678

D.678,567,456

24.有以下结构说明和变量定义,指针p、q、r分别指向链表中的3个连续结点。

struct node

{ int data;struct node*next;)*p,*q,*r;

现要将q所指结点从链表中删除,同时要保持链表的连续,以下不能按要求完成操作的语句是(  )。

A.p->next=q->next;

B.P-next=P->next->next;

C.p->next=r;

D.p=q->next;

25.有定义:“int a=2,b=3,c=4;”,则下列选项中值为0的表达式是(  )。

A.(!a==1)&&(!b==O)

B.(a  C.a&&b

D.a||(b+b)&&(c-a)

26.设fun()函数的定义形式为

void fun(char ch,float x){…}

则下列对函数fun的调用语句中,正确的是(  )。

A.fun("abc",3.0);

B.t=fun(’D’.16.5);

C.fun(’65’,2.8);

D.fun(32,32);

27.有下列程序:

main()

{ char p[]={’a’,’h’,’c’},q[]="a";

printf("%d%d\n".sizeof(P),sizeof(q));

}

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

A.4 4

B.3 3

C.3 4

D.4 3

28.有下列程序:

main()

{ int k=5,n=0;

while(k>0)

{switch(k)

{dcfault:break;

case 1:n=n+k;

case 2:

case 3:n+=k;

}

k--;

}

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

}

程序运行后的输出结果足(  )。

A.0

B.4

C.6

D.7

29.有以下程序:

main()

{ int a[]=(2,4,6,8,10},y=0,x,*P;

p=&a[1];

for(x=1;x<3;x++) y+=p[x];

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

}

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

A.10

B.11

C.14

D.15

30.有下列程序:

void sort(int a[],int n)

{int i,j,t;

for(i=0;i   for(j=i+1;j  if(a[i]  }

main()

{int aa[10]:{1,2,3,4,5,6,7,8,9,10),i;

sort(aa+2,5);

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

printf("\n");

}

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

A.1,2,3,4,5,6,7,8,9,l0,

B.1,2,7,6,3,4,5,8,9,10,

C.1,2,7,6,5,4,3,8,9,10,

D.1,2,9,8,7,6,5,4,3,10,

31.有以下程序:

#include

int abe(int u,int v);

main()

{ int a=24,b一16,c;

c=abc(a,b);

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

}

int abc(int u,int v)

{ int w;

while(v)

{w=u%v;u=v;v=w;)

return;

}

输出结果是(  )。

A.6

B.7

C.8

D.9

32.下列程序的输出结果是(  )。

int fl(int x,int y){return x>y?x:y;)

int f2(int x,int y){return x>y?y:x;}

main()

{ int a=4,b=3,c=5,d=2,e,f,g;

e=f2(f1(a,b),f1(c,d));

f=f1(f2(a,b),f2(c,d));

g=a+b+c+d-e-f;

printf("%d,%d,%d\n",e,f,g);}

A.4,3,7

B.3,4,7

C.5,2,7

D.2,5,7

33.语句int(*ptr)()的含义是(  )。

A.ptr是一个返回值为int的函数

B.ptr是指向int型数据的指针变量

C.ptr是指向函数的指针,该函数返回一个int型数据

D.ptr是一个函数名,该函数的返回值是指向int型数据的指针

34.下述程序的输出结果是(  )。

#include

main()

{ char chE2][5]一{”1234”,”5678”},*p[2];

int i,j,s=0;

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

p[i]=ch[i];

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

{s=p[i][j]一’0’;

printf("%d",s);}

}

A.6357

B.6135

C.1357

D.691357

35.下述程序的输出结果是(  )。

#include

main()

{ int a[2][3]={{1,2,3),{4,5,6}},(*p)[3],i;

p=a ;

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

{ if(i<2)

p[1][i]=p[1][i]一1;

else

p[1][i]=1;)

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

A.8

B.7

C.12

D.9

36.若有以下说明,则(  )不是对strcpy库函数正确的调用。

strcpy库函数用于复制一个字符串:char*strl="abcd",str2[10],*str3="hijklmn",*str4[2],*str5="aaaa";

A.strcpy(str2,strl)

B.strcpy(str3,strl)

C.strcpy(strl,str2)

D.strcpy(str5,strl)

37.执行下述程序后,输出的结果是(  )。

#include

#define S(X)X*X

void main()

{int a=9,k=3,m=2;

a/=S(k+m)/s(k+m);

printf("%d",a);

}

A.1

B.4

C.9

D.0

38.已知有如下结构体:

struct sk

{int a;

float b;

}data,*p;

若有P=&data,则对data的成员a引用正确的是(  )。

A.(*p).data.a

B.(*p).a;

C.p->data.a

D.p.data.a

39.下述程序的输出结果是(  )。

#include

void main()

{int b[6]={2,4,6,8,10,12);

int*p=b,**q=&p;

printf("%d,",*(p++));

printf("%d,",**q);

}

A.4,4

B.2,2

C.4,5

D.2,4

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

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、;

}

A.20

B.21

C.22

D.23

注:本站稿件未经许可不得转载,转载请保留出处及源文件地址。
免费领取考试冲刺试题

一对一 咨询课程

点我开始