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、數組名作爲函數參數:向形參傳遞的是數組首元素的地址。
用數組元素做實參時向形參變量傳遞的是數組元素的值。