本次上機對應的教學内容:第5章 數組 - 字元數組,第六章 指針 指針的基本概念
第一部分 程式分析
閱讀下面的程式,先寫出其運作結果,再上機運作進行對比。必要時,單步執行程式,在監視(watch)視窗中觀察變量的動态變化,進而掌握程式的運作機理。
(1)
(2)
(3)
(4)
第二部分 上機任務
【項目1-小心地放開玩字元串/字元數組】
(1)讀程式,請分析其實作的功能
請自選下面有關字元串中字元統計的任務,完成兩個即可。
統計字母'a'(空格)出現的次數;
統計字元串中(大/小寫)字母個數;
統計每一個數字字元出現的次數(提示:笨辦法,設十個變量,例a0,a1,...,a9分别儲存個數;顯示學過數組的辦法,設數組a[10],a[0]代表'0'出現的個數,當str[i]為'0'時,a[str[i]-48]++);
統計每一個字母出現的個數(提示:沒有必要設26個或52個變量)
(2)讀程式,請分析其實作的功能
複制字元串str1,儲存到str2中;
在字元串str2後面增加符号"//comment:"
将str1和str2接起來存放到str3中;
将str1中的空格去除,仍儲存在str1中;
将str1和str2接起來,仍存放在str1中;
去除str1中的多餘空格(即兩個單詞中間僅保留一個空格)。
在字元串前加5個符号"note:"
【項目2-帶姓名的成績單(字元數組版)】(參考15周項目3)設score數組中存儲同學們的c++成績,增加一個數組char name[][20]并賦初值,表示同學們的姓名(注意:本周不使用更友善的string類)。這兩個數組中,同學的姓名與成績的下标保持一緻(例如name[1]和score[1]表示同一位同學的姓名和c++成績)。請(1)輸出按成績排序後的同學的名單;(2)輸出按同學姓名排序後的成績單(排序對象是字元串)。提示:比較、複制等需要用到字元串函數。
【項目3-打入“内部”尋“内幕”】下面是一段使用了指針的程式。請利用“單步”執行的方式運作程式,深刻了解“指針變量存儲的是位址值”、“通過指針變量間接通路”等概念。将在執行過程中留下深刻映像的界面截屏下來(不限一個),并加以點評。——學會單步調試,這件事不能再拖了!
下圖是我在單步運作時截屏出來的一個圖,供參考:

【項目4-指來指去】設計一個程式,利用指針完成下面的工作
(1)下面的程式,輸入10 100和100 10,均可以輸出max=100 min=10,請補充完整
(2)下面的程式将調用函數進行變量的交換,請設計出交換的函數
【項目5-填空學指針】采用指針通路方式從鍵盤給數組a[n]輸入資料,然後對元素值重新按逆序存放并輸出。請補充完整下面的程式。