自考资讯

导航

自学考试《C语言程序设计》试题及答案

来源 :中华考试网 2017-01-31

  【2.31】下面程序的输出结果是____。

  #include

  #include

  main( )

  { char str[100] ="How do you do";

  strcpy( str + strlen(str)/2, "es she");

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

  }

  A) How do you do B) es she C) How are you D) How does she

  【2.32】下面程序的输出结果是____。

  #include

  func(int a,int b)

  { int c;

  c=a+b;

  return(c);

  }

  main()

  { int x=6,y=7,z=8,r;

  r=func((x--,y++,x+y),z--);

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

  }

  A) 11 B) 20 C) 21 D) 31

  【2.33】下面程序的输出结果是____。

  #include

  void fun(int *s)

  { static int j=0;

  do

  { s[j]+=s[j+1];

  }while(++j<2);

  }

  main()

  { int k,a[10]={1,2,3,4,5};

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

  fun(a);

  for(k=0;k<5;k++)

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

  }

  A) 35756 B) 23445 C) 35745 D) 12345

  【2.34】下面程序的输出结果是____。

  #include

  int k=1;

  main( )

  { int i=4;

  fun(i);

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

  }

  fun(int m)

  { m+=k;k+=m;

  { char k='B';

  printf("\n%d",k-'A'); /* ② */

  }

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

  }

  ① A) 4,1 B) 5,6 C) 4,6 D) A,B,C参考答案都不对

  ② A) 1 B) -59 C) -64 D) A,B,C参考答案都不对

  ③ A) 5,66 B) 1,66 C) 5,6 D) A,B,C参考答案都不对

  【2.35】下面程序的输出结果是____。

  #include

  fun(int n, int *s)

  { int f1, f2;

  if(n==1||n==2)

  *s=1;

  else

  { fun(n-1, &f1);

  fun(n-2, &f2);

  *s=f1+f2;

  }

  }

  main()

  { int x;

  fun(6, &x);

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

  }

  A) 6 B) 7 C) 8 D) 9

  【2.36】下面程序的输出结果是____。

  int w=3;

  main()

  { int w=10;

  printf("%d\n",fun(5)*w);

  }

  fun(int k)

  { if(k==0) return(w);

  return(fun(k-1)*k);

  }

  A) 360 B) 3600 C) 1080 D) 1200

  【2.37】下面程序的输出结果是____。

  #include

  funa(int a)

  { int b=0;

  static int c=3;

  a=c++,b++;

  return(a);

  }

  main()

  { int a=2,i,k;

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

  k=funa(a++);

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

  }

  A) 3 B) 0 C) 5 D) 4

  【2.38】下面程序的输出结果是____。

  #include

  void num()

  { extern int x,y;

  int a=15,b=10;

  x=a-b;

  y=a+b;

  }

  int x,y;

  main()

  { int a=7,b=5;

  x=a-b;

  y=a+b;

  num();

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

  }

  A) 12,2 B) 5,25 C) 1,12 D) 输出不确定

  【2.39】下面程序的输出结果是____。

  main()

  { int a=2,i;

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

  printf("%4d",f(a));

  }

  f(int a)

  { int b=0;

  static int c=3;

  b++;

  c++;

  return(a+b+c);

  }

  A) 7 7 7 B) 7 10 13 C) 7 9 11 D) 7 8 9

  【2.40】下面程序的输出结果是____。

  #include

  try( )

  { static int x=3;

  x++;

  return(x);

  }

  main( )

  { int i, x;

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

  x=try( );

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

  }

  A) 3 B) 4 C) 5 D) 6

  【2.41】下面程序的输出结果是____。

  #include

  main( )

  { int x=1;

  void f1( ), f2( );

  f1( );

  f2(x);

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

  }

  void f1(void)

  { int x=3;

  printf("%d ", x);

  }

  void f2( x )

  int x;

  { printf("%d ", ++x);

  }

  A) 1 1 1 B) 2 2 2 C) 3 3 3 D) 3 2 1

  【2.42】下面程序的输出结果是____。

  #include

  #define SUB(X,Y) (X)*Y

  main()

  { int a=3,b=4;

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

  }

  A) 12 B) 15 C) 16 D) 20

  【2.43】下面程序的输出结果是____。

  main()

  { int a[]={1,2,3,4,5,6};

  int *p;

  p=a;

  printf("%d ",*p);

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

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

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

  p+=3;

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

  }

  A) 1 2 3 3 5 4 B) 1 2 3 4 5 6 C) 1 2 2 3 4 5 D) 1 2 3 4 4 5

  【2.44】下面程序的输出结果是____。

  main()

  { int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

  int *p=a;

  p+=6;

  printf("%d ",*p); /* ① */

  printf("%d ",*(*(a+6))); /* ② */

  printf("%d ",*(a[1]+=2)); /* ③ */

  printf("%d",*(&a[0][0]+6));/* ④ */

  }

  A) 7 7 7 7 B) ②句语法错误 C) ③句语法错误 D) ④句语法错误

  【2.45】下面程序的输出结果是____。

  #define FMT "%X\n"

  #include

  main( )

  { static int a[ ][4] = { 1,2,3,4,5,6,7,8,9,10,11,12 };

  printf( FMT, a[2][2]); /* ① */

  printf( FMT, *(*(a+1)+1) ); /* ② */

  }

  ① A) 9 B) 11 C) A D) B

  ② A) 6 B) 7 C) 8 D) 前面三个参考答案均是错误的

  【2.46】下面程序的输出结果是____。

  #include

  main ( )

  { int a[]={1, 2, 3, 4, 5} ;

  int x, y, *p;

  p=&a[0];

  x=*(p+2);

  y=*(p+4);

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

  }

  A) 1,3,5 B) 1,2,3 C) 1,2,4 D) 1,4,5

  【2.47】下面程序的输出结果是____。

  void ive(x,n)

  int x[],n;

  { int t,*p;

  p=x+n-1;

  while(x

  { t=*x;

  *x++=*p;

  *p--=t;

  }

  return;

  }

  main()

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

  ive(a,10);

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

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

  printf("\n");

  }

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

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

  【2.48】下面程序的输出结果是____。

  #include "string.h"

  fun(char *w,int n)

  { char t,*s1,*s2;

  s1=w;s2=w+n-1;

  while(s1

  { t=*s1++;

  *s1=*s2--;

  *s2=t;

  }

  }

  main()

  { static char *p="1234567";

  fun(p,strlen(p));

  printf("%s",p);

  }

  A) 7654321 B) 1717171 C) 7171717 D) 1711717

  【2.49】下面程序的输出结果是____。

  #include

  char *p = "abcdefghijklmnopq" ;

  main( )

  { int i=0;

  while( *p++!='e' );

  printf("%c\n", *p);

  }

  A) c B) d C) e D) f

  【2.50】下面程序的输出结果是____。

  #include

  f(int x, int y)

  { return (y-x);

  }

  main( )

  { int a=5, b=6, c;

  int f(), (*g)()=f;

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

  }

  A) 1 B) 2 C) 3 D) 前面三个参考答案均是错误的

分享到

您可能感兴趣的文章