欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

C語言

計(jì)算機(jī)等級二級C語言上機(jī)考前預(yù)測題

時(shí)間:2025-04-02 10:41:21 C語言 我要投稿
  • 相關(guān)推薦

2017年計(jì)算機(jī)等級二級C語言上機(jī)考前預(yù)測題

  學(xué)習(xí)是要持之以恒的一件事,堅(jiān)持就是勝利!下面是小編整理的2017年計(jì)算機(jī)等級二級C語言上機(jī)考前預(yù)測題,希望對大家有用,更多消息請關(guān)注應(yīng)屆畢業(yè)生網(wǎng)。
  一、程序填空題
  請補(bǔ)充函數(shù)proc(),該函數(shù)的功能是建立一個(gè)帶頭結(jié)點(diǎn)的單向鏈表并輸出到文件“out.dat"和屏幕上,各結(jié)點(diǎn)的值為對應(yīng)的下標(biāo),鏈表的結(jié)點(diǎn)數(shù)及輸出的文件名作為參數(shù)傳人。
  注意:部分源程序給出如下。
  請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的橫線上填入所編寫的若干表達(dá)式或語句。
  試題程序:
  #include
  #include
  #include
  typedef struct ss
  {
  int data;
  struct SS*next;
  }NODE;
  void proc(int n,char*filename)
  {
  NODE*h,*p,*S;
  FILE*pf;
  int i:
  h=p=(NODE*)malloc(sizeof(N()DE));
  h->data=0;
  for(i=1;i   {
  s=(N()DE*)malloc(sizeof(N()DE));
  s>data= 【1】 ;
  【2】 ;
  p= 【3】 ;
  }
  P->newt=NULL;
  if((pf=fopen(filename,"W"))==NULL)
  {
  printf("Can not open out98.dat!");
  exit(0);
  }
  P=h;
  {printf(pf,"\n***THE LIST***\n");
  printf("\n***THE LIST***\n");
  while(p)
  {
  fprintf(pf,"%3d",P->data):
  printf("%3d",p->data);
  if(p>next!=NULL)
  {
  fprintf(pf,"->"):
  printf(" >"):
  }
  p=p->next;
  }
  fprintf(pf,"\n"):
  printf("\n"):
  fclose(pf);
  p=h;
  while(p)
  {
  s=p:
  p=p- >next;
  free(s):
  }
  }
  void main()
  {
  char*filename- "out dat":
  int n;
  system("CLS"):
  printf("\nlnput n:");
  scanf("%d",&n);
  proc(n,filename);}
  二、程序改錯(cuò)題
  下列給定程序中,proe()函數(shù)的功能是:根據(jù)形參n,計(jì)算下列公式的值:
  t=1-1/2+1/3-1/4+…+(-1)(n+1)/n
  例如,若輸入6,則應(yīng)輸出0.616667。
  請修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。
  注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
  試題程序:
  #include
  #include
  #include
  //****found****
  int proc(int n)
  {
  double t=1.0,j=1.0;
  int i;
  //****found****
  for(i=1:i   {j=-1*j;t十=j/i;}
  return t;
  }
  void main()
  {
  int n;
  system("CLS"):
  printf("\nPlease enter 1 integer number:");scanf("%d",&n);printf("\nThe result is%1f\n",proc(n));}
  三、程序設(shè)計(jì)題
  請編寫函數(shù)proc(),其功能是:計(jì)算并輸出F列多項(xiàng)式的值。
  S=1+1/(1+2)十1/(1+2+3)+…+1/(1+2+3+…m)
  例如,若主函數(shù)從鍵盤給m輸入20后,則輸出為S=1.904762。
  注意:部分源程序給出如下。
  請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。
  試題程序:
  #include
  double proc(int m)
  {
  }
  void main()
  {
  int m;
  double s;
  printf("\nInput m:");
  scanf("%d",&m);
  s=proc(m):
  printf("\n\ns=%f\n\n",s);
  }
  上機(jī)考試試題答案與解析
  一、程序填空題
  【1】i【2】p->next=S【3】p->next
  【解析】s->data指向節(jié)點(diǎn)S的值,其下標(biāo)為i,題目中要求各節(jié)點(diǎn)的值為對應(yīng)的下標(biāo),因此,【1】處填“i”。函數(shù)的功能是建立一個(gè)帶頭節(jié)點(diǎn)的單向鏈表,因此每生成一個(gè)節(jié)點(diǎn)上一個(gè)節(jié)點(diǎn)的next指針指向該結(jié)點(diǎn)。由程序可知,指針p一直都指向上一個(gè)結(jié)點(diǎn),因此,【2】處填“p->next=S”。每生成一個(gè)節(jié)點(diǎn),P指向下一個(gè)節(jié)點(diǎn),因此,【3】處填“p-> next”。
  二、程序改錯(cuò)題
  (1)錯(cuò)誤:int proc(int n)
  正確:double proc(int n)
  (2)錯(cuò)誤:for(i=1;i  正確:for(i=2;i<=n;i++)【解析】由主函數(shù)中的函數(shù)調(diào)用以及函數(shù)proc()中返回值的類型,可知函數(shù)proc()的返回值類型為double型數(shù)據(jù)。因此,“int proc(int n)”應(yīng)改為“double proc(int n)”。由題目中給出的表達(dá)式可知,循環(huán)的最大值應(yīng)該取到n,因此,“for (i=1;i  三、程序設(shè)計(jì)題double proc(int m){
  int i;
  double s=0.0,s1=0.0; //s表示分?jǐn)?shù)的和,sl為分?jǐn)?shù)for(i=1;i<=m;i++) //通過循環(huán)求S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n)
  { s1=s1+i;
  s=s+1.0/s1;
  }
  return s;//最后把和s返回到主函數(shù)中
  }
  【解析】由題目中所給公式可知,多項(xiàng)式的值為rrl項(xiàng)的和。多項(xiàng)式每一項(xiàng)的分子均為1,第i項(xiàng)的分母為1~i所有整數(shù)的和。根據(jù)這個(gè)特點(diǎn),通過m次循環(huán)求出多項(xiàng)式的每一項(xiàng)并求和。最后將多項(xiàng)式的和返回到主函數(shù)中。
 

【計(jì)算機(jī)等級二級C語言上機(jī)考前預(yù)測題】相關(guān)文章:

計(jì)算機(jī)二級C語言預(yù)測上機(jī)精選訓(xùn)練題07-05

計(jì)算機(jī)二級C語言考前預(yù)測上機(jī)試題及解析07-04

2017計(jì)算機(jī)二級C語言上機(jī)最終預(yù)測題07-08

計(jì)算機(jī)二級C語言考前預(yù)測上機(jī)復(fù)習(xí)題及解析06-29

2017年計(jì)算機(jī)二級C語言精準(zhǔn)預(yù)測上機(jī)訓(xùn)練題06-18

計(jì)算機(jī)二級考試C語言預(yù)測上機(jī)鞏固試題06-17

計(jì)算機(jī)二級C語言上機(jī)編程題講解07-10

2017計(jì)算機(jī)二級C語言上機(jī)特訓(xùn)題08-12

全國計(jì)算機(jī)等級考試二級c語言上機(jī)題庫10-28