2013年计算机二级考试C语言课后习题(第八章)_第2页

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年1月11日

  8.8 以下程序的输出结果是

  A) 23

  B) 24

  C) 25

  D) 26

  void prtv(int *x)

  { printf("%d\\n",++*x); }

  main()

  { int a=25;

  prtv(&a);

  }

  答案: D

  8.9 以下程序的输出结果是

  A) 运行出错

  B) 100

  C) a的地址

  D) b的地址

  main()

  { int **k, *a b=100;

  a=&b; k=&a;

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

  }

  答案: B

  8.10 以下程序的输出结果是

  A) 4,3

  B) 2,3

  C) 3,4

  D) 3,2

  void fun(float *a,float *b)

  { float w;

  *a=*a+*a;

  w=*a;

  *a=*b;

  *b=w;

  }

  main()

  { float x=2.0,y=3.0;

  float *px=&x,*py=&y;

  fun(px,py);

  printf("%2.0f,%2.0f\\n",x,y);

  }

  答案: C

  8.11 以下程序的输出结果是

  A) 9.000000

  B) 1.500000

  C) 8.000000

  D)

  10.500000

  void sub(float x,float *y,float *z)

  { *y=*y-1.0;

  *z=*z+x;

  }

  main()

  { float a=2.5,b=9.0,*pa,*pb;

  pa=&a,pb=&b;

  sub(b-a,pa,pa);

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

  }

  答案: C

  8.12 以下四个程序中不能对两个整形值进行交换的是

  A) main()

  { int a=10,b=20;

  swap(&a,&b);

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

  }

  swap(int *p, int *q)

  { int *t,a;

  t=&a;

  *t=*p; *p=*q; *q=*t;

  }

  B) main()

  { int a=10,b=20;

  swap(&a,&b);

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

  }

  swap(int *p, int *q)

  { int t;

  t=*p; *p=*q; *q=t;

  }

  C) main()

  { int *a,*b;

  *a=10,*b=20;

  swap(a,b);

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

  }

  swap(int *p, int *q)

  { int t;

  t=*p; *p=*q; *q=t;

  }

  D) main()

  { int a=10,b=20;

  int *x=&a,*y=&b;

  swap(x,y);

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

  }

  swap(int *p, int *q)

  { int t;

  t=*p; *p=*q; *q=st;

  }

  答案:C


相关文章