c语言学习周报(2020.11.21-11.28)
字符數組
%c——逐個輸入元素和字符(char)
%s——整體輸入和輸出字符串(string)
用格式%c逐個輸入時,必須輸夠定義的字符,否則不會自動加結束符\0。輸出時也不會自動檢測\0。
用格式%s輸入時,數組名本身就代表該數組首地址,無需加&。末尾自動加\0。當輸入多個字符串,scanf()中空格為其分隔符,只有第一個空格前的字符串生效。(當輸入一句話時,需定義和單詞相等數量的數組)(存儲了包括\0的n+1個字符)
如果數組中沒有\0,輸出時會將內存中該數組其他內容也一并輸出,直到遇見\0為止。因此最好用%c輸出各元素。
只有字符數組可以整體輸入和輸出。
字符串處理函數
1、gets:將字符串整行輸入
2、puts:將字符串整行輸出,結尾自動加\n
3、strlen:測字符串長度(strlen與sizeof結果不一定相同)
4、strcmp:比較兩字符串大小,1比2大則輸出正數,反之輸出負數,相等則為0.(大寫的ASC碼比小寫小32)
5、strcpy:將字符串2包括\0全部復制到1中
6、strcat:將字符串2連接到1后變為一個字符串,1的\0被覆蓋。
函數遞歸算法
1、遞推歸納:將原問題歸類為同類規模更小的問題,歸納出一般遞推公式。
2、遞歸終止:規模小到一定程度自動結束調用。
調用的執行分兩階段完成,先逐層調用(函數自身),再逐層返回返回到調用該層的位置后繼續執行操作。每層調用都用堆棧保護主調層的現場和返回地址。調用的層數稱為遞歸的深度。(堆棧的概念暫時看不懂,先放在這里)
堆棧(英語:stack)又稱為棧或堆疊,是計算機科學中一種特殊的串列形式的抽象數據類型,其特殊之處在于只能允許在鏈表或數組的一端(稱為堆棧頂端指針,英語:top)進行加入數據(英語:push)和輸出數據(英語:pop)的運算。另外堆棧也可以用一維數組或鏈表的形式來完成。堆棧的另外一個相對的操作方式稱為隊列。
堆棧數據結構使用兩種基本操作:推入(壓棧,push)和彈出(彈棧,pop):
推入:將數據放入堆棧的頂端(數組形式或串列形式),堆棧頂端top指針加一。
彈出:將頂端數據數據輸出(回傳),堆棧頂端數據減一。
遞歸三要素
1、找出函數功能,找出基礎公式
2、找出遞歸結束的條件
此處書上考慮到0!=1,更為嚴謹。
3、找出函數的等價關系式,即歸納一般遞推公式
總結
以上是生活随笔為你收集整理的c语言学习周报(2020.11.21-11.28)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据分析 学习小结记录
- 下一篇: 调皮的小宝宝