首页>计算机等级考试>模拟试题>正文
2010年计算机等级考试二级C语言:一维数组与指针(十)

www.zige365.com 2010-7-13 9:54:34 点击:发送给好友 和学友门交流一下 收藏到我的会员中心
    (56) 执行以下程序后,y的值是

以下是引用片段:
  main ( )
  { int a[]={2,4,6,8,10};
  int y=1,x,*p;
  p=&a[1];
  for(x=0;x<3;x++) y + = * (p + x);
  printf("%d\n",y); }

  A) 17

  B) 18

  C) 19

  D) 20

  (57) 下面程序的输出是

  A) 3

  B) 4

  C) 1

  D) 2

以下是引用片段:
  main()
  { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
  printf("%d\n",*(p+2));}

  (58) 请读程序:

以下是引用片段:
以下是引用片段:
  #include 
  f(in b[], int n) 
  { int i, r; 
  r=1; 
  for(i=0; i<=n; i++) r=r*b[i]; 
  return r; 
  }

  main()
  { int x, a[]={ 2,3,4,5,6,7,8,9};
  x=f(a, 3);
  printf("%d\n",x);
  }

  上面程序的输出结果是

  A) 720

  B) 120

  C) 24

  D) 6

  (59) 请选出以下程序的输出结果

以下是引用片段:
  #include
  fun(s, n1, n2)
  int *s, n1, n2;
  { int i, j, t;
  i=n1; j=n2;
  while(i 
  { t= *(s+i); *(s+i)= *(s+j); *(s+j)=t;
  i++; j--;
  }
  }
  main()
  { int a[10]={1,2,3,4,5,6,7,8,9,0},i, *p=a;
  fun(p,0,3); fun(p,4,9); fun(p,0,9);
  for(i=0; i<10; i++) printf("%d", *(a+i));
  printf("\n");
  }

  A) 0 9 8 7 6 5 4 3 2 1

  B) 4 3 2 1 0 9 8 7 6 5

  C) 5 6 7 8 9 0 1 2 3 4

  D) 0 9 8 7 6 5 1 2 3 4

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

以下是引用片段:
  # include 
  findmax ( s , t , k )
  int *s , t , *k;
  { int p; for(p=0,*k=p;p 
  if ( s[p] > s[*k] )_________; }
  main()
  { int a[10] , i , k ;
  for ( i=0 ; i<10 ; i + + ) scanf("%d",&a[i]);
  findmax ( a,10,&k );
  printf ( "%d,%d\n" , k , a[k] ); }

  A) k=p

  B) *k=p-s

  C) k=p-s

  D) *k=p

我要投稿 新闻来源: 编辑: 作者:
相关新闻