1. 程式人生 > >C語言部落格05--指標

C語言部落格05--指標

1.本章學習總結(2分)

1.1 思維導圖

請以思維導圖總結本週的學習內容。如下圖所示:

1.2 本章學習體會及程式碼量學習體會

1.2.1 學習體會

描述本週學習感受,也可以在這裡提出你不理解地方、對教師教學建議等等。

1.2.2 程式碼累計

在excel中畫如下表格,儲存好,複製到部落格隨筆。注意要累計所有程式碼量。

2.PTA總分(2分)

2.1截圖PTA中函式題目集的排名得分

貼圖展示。

2.2 我的總分:

填寫本次題目集的總得分。
注意,請把PTA程式碼展示給批閱助教,並能完整回答助教問題,才能得滿分。否則根據回答情況給分。

3.PTA實驗作業(1分)

從PTA題目集中選1題你最滿意的題目,題目選難度越大,分值越高。

3.1 PTA題目1

簡要介紹題目

3.1.1 演算法分析

虛擬碼方式描述演算法思路。虛擬碼注意文字+C語法方式描述,不要純C程式碼或者C程式碼直接翻譯,能做到看了虛擬碼就知道你的思路是如何。

3.1.2 程式碼截圖

貼圖展示程式碼,不要複製。

3.1.4 PTA提交列表及說明

根據PTA提交列表,簡要描述下除錯程式碰到問題及解決辦法

4.大作業(5分)

題目:實現小學四則運算。

在函式那章,我們已經實現小學四則運算這份作業,現在要求大家把之前設計函式升級改造,原來的函式大家都是用全域性變數實現不同函式引數傳遞,這次作業要求改地址傳遞,減少全域性變數的使用。

題目要求:

題目有3個難度級別,分別為:

  • 第一級是1位數的一步加減乘除計算
  • 第二級是2位數的2步加減運算
  • 第三級是3位數的2步加減運算

改進內容:

-1.構造字元陣列存放算術表示式

不管哪個級別的算式,請都生成一個字元陣列存放。不管使用者選擇哪個級別題目,都能在表示式生成函式中生成一個算術式子。具體函式介面

  void CreateExp(char *exp,int level)
  { 
      switch(level)
       {
               case 1:生成一位數一步加減式子,寫入字元陣列exp;
               case 2:生成2位數2步加減式子,寫入字元陣列exp;
               case 3:生成3位數2步加減式子,寫入字元陣列exp;
       }
   // 注意三位數隨機數,應該也包含生成一位數,即用rand()%1000就可以。
  }

-2. 表示式是否合法(選做)

對於不合法或者超出該級別小學生學習範圍的表示式,視為不合法,需重造一個。不合法表示式體現有除數為0的表示式、1,2級別中出現不能整除的除法表示式或其他不合法情況

  int IsExp(char *exp,int level)
  { 
      
  }

-3.表示式運算
根據字元表示式,能計算其結果。有能力同學深入研究表示式優先順序。

  int ComputeExp(char *exp)
  { 
      
  }

這塊程式碼可以參考這題做法:

#include <stdio.h>
int main()
{ 
   int m=0, sum=0;
   char c, oldc='+';
   do {
      c = getchar();
      if( c<='9'&&c>='0' ) 
           m = 10*m + c - '0';//1
      else 
            {
           if( oldc == '+' )
              sum += m;
           else 
              sum -= m;
           m = 0;//2
           oldc = c;
      }
   } while(c!='=');
 printf("sum=%d", sum);
   return;
}

4.1.改造函式介紹

主要上述三個函式的改造說明

1.函式1

  • 虛擬碼介紹函式思路
  • 截圖函式程式碼。

2.函式2

  • 虛擬碼介紹函式思路
  • 截圖函式程式碼。

3.函式3

  • 虛擬碼介紹函式思路
  • 截圖函式程式碼。

4.3 與原有函式程式碼比較

  • 改造前函式1和改造後的函式1

    文字說明2者不同及區別,優缺點。
  • 改造前函式2和改造後的函式2

    文字說明2者不同及區別,優缺點。
  • 改造前函式3和改造後的函式3

    文字說明2者不同及區別,優缺點。
  • 等等

4.4 改進大作業總結

回顧兩次作業編寫過程,總結碰到問題及後續程式編寫注意事項。

四則運算程式碼提交

請把寫好的大作業程式碼,全部複製在一個word文件中。(記住,要複製過去,不能截圖,截圖則本次作業0分),文件儲存好請提交課堂派的作業中。我們會用課堂派對你寫的程式碼進行查重,發現抄襲者,將公佈名單,請務必要獨立完成

評分注意事項。

  • 注意用Markdown語法排版,否則倒扣1分。
  • 變數名不規範,沒註釋,沒縮排,括號不對齊,倒扣5分。
  • 大作業必須演示給助教看。