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