一、統計輸入的字符個數
同學們在學習C語言課程中,經常會遇到一道題,就是要求你寫一個C程序,這個C程序能夠讀取你從鍵盤上輸入的字符,並且統計其中的字符個數,最後輸出總的字符個數並且把這些輸入的字符再輸出來。
不少同學遇到這道題沒啥思路,不知該如何上手。其實需要按照分解題目、每個分解的部分對應的C語言的哪些知識點、每個分解的部分寫成偽C程序代碼,最後完善為一個可以編譯與執行的C程序代碼的步驟來。每一個C程序上機題看著難,其實不然,同學們需要掌握做題的思路,按照思路一步一步地走下去。這篇文章及後續的上機題都會教同學們思路。C程序代碼不重要,重要的是思路。
二、題目分解思路
同學們在拿到一道C程序上機題時,要仔細審題,就像我們小時候寫作文一樣要仔細審題。通過審題,同學們要分解題目,通過分解提煉出題目中的關鍵點,也就是只要把這些關鍵點做出來,這道題也就做出來了。
關於這道題,我們仔細分解試題後可以提取出這道題的幾個關鍵點,如下:
1、要求實現一段C程序。
2、C程序要讀取你從鍵盤上輸入的字符。
3、統計字符的個數。
4、輸出字符的個數。
5、輸出所有的字符。
好了,這道C程序題的關鍵點我們都提取出來了,下面來說說每個關鍵點對應的C語言知識點。
三、C語言知識點
上面提取出了5個關鍵點,同學們要能迅速在腦海中找到這5個關鍵點對應的C語言知識點,這個就需要同學們平時認真地學習C語言、打好C語言的基礎了。如果不記得的話,趕緊查查書再溫習溫習。
這5個關鍵點對應的C語言知識點如下。
1、要求實現一段C程序。
但凡是C程序,總有一些固定的東西,比如該包含的頭文件要包含進來,然後把main函數先寫好,就像這樣:
剩下的事兒不就是慢慢地填其他代碼嗎。
2、C程序要讀取你從鍵盤上輸入的字符。
要從鍵盤上讀取輸入的字符,同學們想想有哪些函數是可以從鍵盤讀入字符的?這個時候你應
該能快速地想打scanf、getchar等,對吧。最起碼你得想到scanf吧,這個都想不到的話趕緊再去看看書,溫習溫習。
這裡我們先用getchar吧。
3、統計字符的個數。
既然要統計字符的個數,那麼就需要一個變量吧,這個變量專門存放字符的個數的。而且字符的個數肯定是個整數對吧,又不可能是個小數。既然是整數,同學們腦海裡立馬就應該想到C語言中標記整數的那些類型,比如short,int,long等。這道題輸入的字符數不會很多,那麼這個變量的類型可以選用int。
4、輸出字符的個數。
輸出字符的個數,那當然就要用到輸出函數了,同學們腦海裡就應該立即想到有哪些輸出的函數呢?最常見的肯定是printf函數了,行,我們就用printf函數吧。
5、輸出所有的字符。
哎呀,還要輸出所有的字符。那麼同學們就要想想了,C程序裡什麼時候輸出呢?是把所有的字符都收下來再輸出還是一邊收字符一邊輸出呢?
如果是都收下來再輸出的話,那麼就需要一個能夠存放字符的地方,比如數組。
如果是邊收邊輸出的話,那就無需數組了。
這裡我建議採用邊收邊輸出的方法,我留道題給同學們思考,如果採用數組的方式,會有什麼問題呢?歡迎留言討論。
好了,5個關鍵點對應的C語言知識點都講到了,下面我們試著用這些C語言知識點寫一段C程序的偽代碼吧。
四、C程序偽代碼
現在我們把上面分析到的結果用C程序偽代碼寫出來。偽代碼就是你自己隨便寫,只要能幫助你自己理解就行。一個C程序偽代碼如下:
{!-- PGC_COLUMN --}
五、最後生成一個完整的C程序
完成偽代碼之後,我們就要對偽代碼做「藝術加工」,慢慢完善它,使得它成為一個可以被編譯和運行的C程序。下面我們來把偽代碼變成真正的C程序代碼吧。
1. 聲明一個字符變量val。這個字符變量用來存儲輸入的每一個字符。
這句偽代碼轉換成正式的C程序代碼不難吧,如下:
char val = 『\0』;
這裡我再次強調啊,聲明一個變量的時候最好是給它一個初始值哦。
2.聲明一個整型變量count,來存儲字符的個數
這句偽代碼轉換成正式的C程序代碼也不難吧,如下:
unsigned int count = 0;
由於count是專門存放字符個數的,所以它肯定是個正數,而unsigned int就表示正數的整型的意思。
3. while循環裡
這段循環的C程序代碼是本程序的關鍵部分,轉換為正式的C程序代碼如下:
每次使用getchar讀取到一個字符後就給變量val。由於同學們輸入完字符之後肯定會按下一個回車鍵,也就是產生了一個換行符\n,因此C程序判斷變量val是換行符的話就認為輸入結束了。
循環裡面變量count就會自己不斷地加1,同時輸出讀取到的字符。getchar也在不斷地讀取輸入的字符。
5.printf函數輸出字符的個數
輸出字符個數很簡單,如下:
printf("\n輸入的字符個數為: %u", count);
這裡由於count是正數,因此使用%u來輸出count的值而不是%d。
C程序運行結果如下:
同學們以後在做上機題時,需要按照本文介紹的方法:題目分解、想起對應的知識點、寫出偽代碼、寫出正式的C程序。