就业数据资源平台
当前位置:首页 > C语言程序设计
2013年计算机等级考试二级C语言备考试题及答案一(2)

  二、填空题(每空2分,共计30分)


  1.长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为 【1】 。  


  2.用树型结构表示实体类型及实体间联系的数据模型称为 【2】 。 


  3.类是一个支持集成的抽象数据类型,而对象是类的 【3】 。  


  4.数据流图的类型有 【4】 和事务型。  


  5.当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的 【5】 。 


  6.以下程序运行结果是 【6】 。


  long fib (int g)


  { switch (g)


  { case 0∶return 0;


  case 1∶case2∶return 1; 


  }


  return (fib(g-1)+fib(g-2));


  }


  main ()


  { long k;


  k=fib (5);


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


  } 


  7.以下程序段中,错误的行号是 【7】 。


  ① #include


  ② main ()


  ③ { char str [14];str []={" I love China"};


  ④ printf ("%s",str);


  ⑤ } 


  8.将以下程序写成三目运算表达式是 【8】 。


  if(a>b)max=a;


  else max=b; 


  9.设x和y均为int型变量,且x=1,y=2,则表达式double(1+x/y)的值为 【9】 。 


  10.下面程序的功能是输出数组s中最大元素的下标,请填空。


  main()


  { int k, p,s[]={1, -9, 7, 2, -10, 3};


  for(p =0, k =p; p< 6; p++)


  if(s[p]>s[k]) 【10】 


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


  } 


  11.设有以下定义和语句,则*(*(p+2)+1)的值为 【11】 。


  int a[3][2]={10, 20, 30, 40, 50, 60}, (*p)[2];


  p=a;  


  12.下面程序的运行结果是 【12】 。


  #define N 10


  #define s(x) x*x


  #define f(x) (x*x)


  main()


  { int i1,i2;


  i1=1000/s(N); i2=1000/f(N);


  printf("%d %d\n",i1,i2);


  } 


  13.以下程序的输出结果是 【13】 。


  unsigned fun6(unsigned num)


  { unsigned k=1;


  do{k *=num;num/=10;} while (num);


  return k; 


  }


  main()


  { unsigned n=26;


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


  } 


  14.以下程序的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。


  例如,若一维数组中的数据是2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。删除后,数组中的内容应该是2 3 4 5 6 7 8 9 10。请填空。


  #include


  #define N 80


  int fun(int a[], int n)


  { int i,j=1;


  for(i=1;i


  if(a[j-1] 【14】 a[i])


  a[j++]=a[i];


  【15】;


  }


  main()


  { int a[N]={ 2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10}, i, n=19;


  printf("The original data :\n");


  for(i=0; i


  for(i=0; i


  } 


  49 != return j 

就业数据资源平台