<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            C語言

            計算機等級二級C語言上機考前預測題

            時間:2025-04-02 10:41:21 C語言 我要投稿
            • 相關推薦

            2017年計算機等級二級C語言上機考前預測題

              學習是要持之以恒的一件事,堅持就是勝利!下面是小編整理的2017年計算機等級二級C語言上機考前預測題,希望對大家有用,更多消息請關注應屆畢業生網。
              一、程序填空題
              請補充函數proc(),該函數的功能是建立一個帶頭結點的單向鏈表并輸出到文件“out.dat"和屏幕上,各結點的值為對應的下標,鏈表的結點數及輸出的文件名作為參數傳人。
              注意:部分源程序給出如下。
              請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的橫線上填入所編寫的若干表達式或語句。
              試題程序:
              #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);}
              二、程序改錯題
              下列給定程序中,proe()函數的功能是:根據形參n,計算下列公式的值:
              t=1-1/2+1/3-1/4+…+(-1)(n+1)/n
              例如,若輸入6,則應輸出0.616667。
              請修改程序中的錯誤,使它能得到正確結果。
              注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。
              試題程序:
              #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));}
              三、程序設計題
              請編寫函數proc(),其功能是:計算并輸出F列多項式的值。
              S=1+1/(1+2)十1/(1+2+3)+…+1/(1+2+3+…m)
              例如,若主函數從鍵盤給m輸入20后,則輸出為S=1.904762。
              注意:部分源程序給出如下。
              請勿改動main()函數和其他函數中的任何內容,僅在函數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);
              }
              上機考試試題答案與解析
              一、程序填空題
              【1】i【2】p->next=S【3】p->next
              【解析】s->data指向節點S的值,其下標為i,題目中要求各節點的值為對應的下標,因此,【1】處填“i”。函數的功能是建立一個帶頭節點的單向鏈表,因此每生成一個節點上一個節點的next指針指向該結點。由程序可知,指針p一直都指向上一個結點,因此,【2】處填“p->next=S”。每生成一個節點,P指向下一個節點,因此,【3】處填“p-> next”。
              二、程序改錯題
              (1)錯誤:int proc(int n)
              正確:double proc(int n)
              (2)錯誤:for(i=1;i  正確:for(i=2;i<=n;i++)【解析】由主函數中的函數調用以及函數proc()中返回值的類型,可知函數proc()的返回值類型為double型數據。因此,“int proc(int n)”應改為“double proc(int n)”。由題目中給出的表達式可知,循環的最大值應該取到n,因此,“for (i=1;i  三、程序設計題double proc(int m){
              int i;
              double s=0.0,s1=0.0; //s表示分數的和,sl為分數for(i=1;i<=m;i++) //通過循環求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返回到主函數中
              }
              【解析】由題目中所給公式可知,多項式的值為rrl項的和。多項式每一項的分子均為1,第i項的分母為1~i所有整數的和。根據這個特點,通過m次循環求出多項式的每一項并求和。最后將多項式的和返回到主函數中。
             

            【計算機等級二級C語言上機考前預測題】相關文章:

            計算機二級C語言預測上機精選訓練題07-05

            計算機二級C語言考前預測上機試題及解析07-04

            2017計算機二級C語言上機最終預測題07-08

            計算機二級C語言考前預測上機復習題及解析06-29

            2017年計算機二級C語言精準預測上機訓練題06-18

            計算機二級考試C語言預測上機鞏固試題06-17

            計算機二級C語言上機編程題講解07-10

            2017計算機二級C語言上機特訓題08-12

            全國計算機等級考試二級c語言上機題庫10-28

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看