數組、字符串和函數的總結

1、字符串:位於雙引號中的字符序列,以\0結束,所佔字節比實際多一個。


2、字符常量可以賦給字符變量,字符串常量不可以賦給字符串變量。C語言中用字符數組來存放字符串。


3、字符數組:memset(a,\0,10);用來給數組清0的。需要加頭文件#include<string.h>。


注意:定義數組時,應確保數組長度比字符串長度至少多1,未被使用的元素自動初始化爲0。


4、\0代表ASCII碼爲0的字符(NUL)。爲“空操作符”,用它作爲字符串結束標誌不會產生附加的操

作或增加有效字符,只起一個供辨別的標誌。


5、字符數組的輸入輸出的兩種方法:

(1)逐個字符輸入輸出(%c);(輸出字符不包含‘\0’)


(2)整個字符串一次輸入輸出(%s)。(輸出的是字符數組名)


6、scanf()格式化輸入:接收字符串,不接收空格。輸入字符串時,數組名前不加&。


7、gets()可以接收空格,以回車結束輸入;getchar()輸入回顯;getch()不回顯,而且可以接收‘\r’

,需要#include <conio.h>


8、puts()輸出字符串函數程序開頭用#include <string.h>;輸出字符函數putchar()。


9、字符數組的一些方法


(1)統計字符串長度:strlen();(遇到‘\0’結束)。


(2)內存賦值函數:memset(字符數組名,要替換的內容,要替換的個數),根據要替換的個數,用膏藥替換的內容,替換字符串數組的內容(清0)。


(3)字符串拷貝:strcpy(字符數組1,字符數組2);strcpy(字符數組名,字符常量)。


(4)字符串拷貝:strncpy(目標數組,原數組,個數);將指定個數的字符串拷貝到指定的數組中。

意:strncpy不檢查目標字符串的大小,當目標字符串內存不足,會導致崩潰。


(5)字符串比較:strcmp(字符串1,字符串2)。(規則:講兩個字符串自左至右逐個字符比較,直到遇到

相同的字符或\0結束)。


比較的結果由函數值帶回:

1>如果字符串1=字符串2,則函數值爲0;

2>如果字符串1>字符串2,則函數值爲一個正整數

3>如果字符串1<字符串2,則函數值爲一個負整數


(6)字符串連接函數:strcat(字符數組1,字符數組2)。


(7)字符串轉小寫:strlwr(字符串)。


(8)字符串轉大寫:strupr(字符串)。


10、C語言函數:C語言是通過函數來實現模塊化程序設計的。每個模塊都有特定的功能,稱爲子程序。

數式C語言程序的基本單位。


11、主函數可以調用其他函數,其他函數也可以互相調用,其它函數不可以調用主函數。


12、程序使用函數的優點:

1)使用函數可以控制任務的規模

2)使用函數可以控制變量的作用範圍

3)使用函數,程序的開發可以由多人分工協作

4)使用函數,可以重新利用已有的、調試好的、成熟的程序模塊

5)函數模塊相對獨立,功能單一,可混合編寫也可獨立編寫調試


12、函數的定義形式


(1)無參函數 :函數類型 函數名(){可執行語句部分}


(2)有參函數 : 函數類型 函數名(形參列表){可執行語句部分}


(3)空函數 :函數類型 函數名(){   }


13、命名規範

(1)首字母必須大寫.

(2)函數名用大小寫字母組合

(3)最好用下劃線進行間隔


14、自定義頭文件(*.h)。


頭文件中一般放一些重複使用的代碼,例如函數聲明,變量聲明,常數定義,宏的定義等等。


15、函數聲明:又稱爲函數原型。


格式爲:函數類型 函數名(參數類型1,參數類型2,...,參數類型n)。


返回值:return語句,函數中能出現多個return語句,但是每次只能有一個return執行,只有一個返回

值。

16、變量的兩種存儲方式:靜態存儲方式(系統固定分配存儲空間)和動態存儲方式(根據需要進行動態

分配存儲空間)。


17、內存區域分配:


代碼段:可執行代碼、字符串常量

數據段:已初始化全局變量、已初始化全局靜態變量、局部靜態變量、常量數據

BSS:未初始化全局變量,爲初始化全局靜態變量

棧:局部變量、函數參數

堆:動態內存分配


18、棧和堆的區別:

(1)申請空間方式不同:棧是系統自動分配;堆是程序員自己申請的。

(2)堆是手動釋放內存空間,棧是自動釋放內存空間。


19、函數之外的是全局變量,函數之內的變量叫做局部變量。


20、靜態變量隨函數的定義而定義,如果已經存在就延用,但並不隨函數的結束而消亡。若未賦以初值

,則由系統自動賦以0值。靜態全局變量:靜態存儲方式。


21、函數嵌套的調用:即調用一個函數的過程中,又可以調用另一個函數。


22、函數遞歸調用:在調用一個函數的過程中又出現直接或間接地調用該函數本身,稱爲函數的遞歸調

用。

每個子問題必須比原來問題的規模更小,如果能夠迅速減小更好必須有一個明確的結束遞歸的條件。


23、const修飾函數參數:表示函數內部不能對函數的參數進行修改。


24、數組名作爲函數參數:向形參傳遞的是數組首元素的地址。


用數組元素做實參時向形參變量傳遞的是數組元素的值。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章