必胜高考网 > 计算机类 > 计算机等级 > 资讯 >

2015年计算机二级《C语言》考试上机测试题(2)

时间: 家辉2 资讯

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

  main()

  {int a[3][3]={{1,2},{3,4),{5,6}},i,j,s=0;

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

  for(j=0;j<=i;j++)s+=a[i][j];

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

  }

  A.18

  B.19

  C.20

  D.21

  22.有下列程序:

  main()

  { int k=5;

  while(--k) printf("%d",k=1);

  printf("/n");

  )

  执行后的输出结果是( )。

  A.1

  B.2

  C.4

  D.死循环

  23.若有定义:“int a[2][3];”,则对a数组的第i行第J列元素的正确引用为( )。

  A.*(*(a+i)+j)

  B.(a+i)[j]

  C.*(a+i+j)

  D.*(a+i)+j

  24.下列能正确进行字符串赋值的是( )。

  A.char s[5]={"ABCDE"};

  B.char s[5]={’A’,’B’,’C’,’D’,’E’}; 、

  C.char*S;S="ABCDE";

  D.char*s;printf("%《",s);

  25.现有以下结构体说明和变量定义,如图所示,指针P、q、r分别指定一个链表中连续的3个结点。

  struct node

  {har data;

  struct node*next;)*P,*q,*r;

  现要将q和r所指结点交换前后位置,同时要保持链表的结构,下列不能完成此操作的语句是( )。

  A.q-:>next=r->next;p--:>next=r;rm:>next=q;

  B.q-:>next=r;q->next=r->next;r->next=q;

  C.q-:>next=r->next;r->next=q;p->next=r;

  D.q-:>next=q;p->next=r;q->next=r->next;

  26.有下列程序:

  main()

  {int i,j,x=0;

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

  {x++;

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

  {if(j%2)continue;

  x++:

  )

  x++:

  }

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

  }

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

  A.x=4

  B.x=8

  C.x=6

  D.x=12

  27.有下列程序:

  int funl(double a){return a*=a;} 、

  int fun2(double x,double y)

  {double a=0,b=0;

  a=funl(x);b=funl(y);return(int)(a+b);

  )

  main()

  {double w;w=fun2(1.1,2.0),……}

  程序执行后变量w中的值是( )。 、

  A.5.21 B.5 C.5.0 D.0.0

  28.有下列程序:

  main()

  {int i,s=0,t[]={1,2,3,4,5,6,7,8,9};

  for(i=0;i<9;i+=2)s+=*(t+i);

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

  }

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

  A.45

  B.20

  C.25

  D.36

  29.有下列程序:

  int fun(int n)

  {if(n= =1))return l;

  else

  return(n+fun(n-1)):

  }

  main()

  { int x;

  seanf("%d",&x);x=fun(x);printf("%d\n",x);

  }

  执行程序时,给变量x输入l0,程序的输出结果是( )。

  A.55

  B.54

  C.65

  D.45

  30.有下列程序:

  int fun(int x[],int n)

  { static int sum=0,i;

  for(i=0;i   return sum;

  }

  main()

  {int a[3]={1,2,3,4,5),b[3]={6,7,8,9),s=0;

  s=fun(a,5)+fun(b,4);printf("%d\n",s);

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

  A.45

  B.50

  C.60

  D.55

  31.有下列程序:

  main()

  f char*P[]={"3697","2584");

  int i,j;long num=0;

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

  {j=0;

  while(p[i][j]!=’\0’)

  {if((p[i][j]-t\0’)%2)num=10*num+p[j][j]-’0’;

  j+=2;

  )

  )

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

  )

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

  A.35 B.37 C.39 D.3975

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

  main()

  { char st[20]="hell0\O\t\\\”;

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

  }

  A.9 9

  B.5 20

  C.13 20

  D.20 20

  33.若有下的定义:"int t[3][2];",能正确表示t数组元素地址的表达式是( )。

  A.&t[3][2]

  B.t[3]

  C.t[l]

  D.t[2][2]

  34.函数fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始点是( )。

  A.文件开始

  B.文件末尾

  C.文件当前位置

  D.以上都不对

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

  #include

  main()

  {int i;

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

  {if(i*i>=20)&&(i*i<=lOO))

  break;

  }

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

  )

  A.49

  B.36

  C.25

  D.64

  36.若有定义“int b[8],*p=b;”,则p+6表示( )。

  A.数组元素b[6]的值

  B.数组元素b[6]的地址

  C.数组元素b[7]的地址

  D.数组元素b[0]的值加上6

  37.设变量已正确定义,则以下能正确计算f=n!的程序是( )。

  A.f=0; for(i=1;i<=n;i++)f*=i;

  B.f=1;for(i=1;i  C.f=1;for(i=n;i>1;i++)f*=i;

  D.f=1;for(i=n;i>=2;i--)f*=i;

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

  #include

  main()

  {char a[2][4]; ,

  strcpy(a。"are");strcpy(a[1],"you");

  a[o][3]=’&’;

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

  )

  A.are&you

  B.you

  C.are

  D.&

55649