1.#include
使用標頭檔案stdio.h這是c語言常用的標頭檔案,經常用的還有stdlib.h math.h string.h
c++ 用的是iostream.h
也可以寫成#include 」stdio.h」,建議使用這種方法,因為以後會學到一種類似於結構體的類,當你需要自己在別的地方寫了類以後,需要用#include 「」,而不能使用<>
2. int main()
void main() {}
int 型別的主函式需要return 0;結束函式,因為return 0;代表正常結束
void型別可以不用return 0;
3.輸入語句
int a; scanf( 「%d」 , &a );
int : %d double : %lf float : %f char : %c string(字串) : %s
& 後面指標的時候會詳細介紹,在這裡只需要記住,除了輸入字串的時候都需要寫
如果前面有好幾個輸入數 則可 &a , &b
4.輸出語句
int a; printf( 「%d\n」 , a );
scanf printf 語句是在stdio.h類庫中的
%m.nf 共佔m行,其中有n位小數,不夠位數左側補0
\n 換行符 \t 橫向跳轉 \r 回車 \\ 反斜槓
5.c語言的單詞們
標記符保留字
int long void char float short return double else( if語句 ) break( 跳出 ) if( 選擇語句 ) union( 共用體) struct( 結構體 ) do( while語句 ) for( 迴圈語句 ) case( swich語句 ) enum( 列舉型別 ) while( 迴圈語句 ) signed( 有符號的 ) switch( 選擇語句 ) unsigned( 無符號的 ) extern( 使用外部函式 ) const( 不能修改定義的變數的值 ) countinue( 跳出當前此次迴圈體 ) typedef( 給你指定的型別更換名字 ) register( 將變數存放到暫存器,數量有限,謹慎使用 ) static( 靜態變數,在靜態記憶體區域分配變數儲存空間 ) sizeof( 位元組的長度,例double a[5]; sizeof(a[5])的值為8 ) goto( 制定到哪步後跳轉到**,不建議使用,容易出錯 ) default( swich語句中不滿足上面任何乙個case,則執行default ) volatile( 每次重新從記憶體中讀取資料到暫存器,而非直接從暫存器中讀取 )
標記符的命名規則:
標記符由字母 數字 下劃線組成,其中第乙個字元必須是字母或下劃線
常量運算子
分隔號; # [ ] ( )
5.注釋 空格 空行
注釋/* */
盡量養成寫注釋的習慣,省的以後自己或他人,不知定義的是什麼意思
適度的空格 空行也容易使程式清晰易懂
6.定義
變數定義
1. 型別名 變數名錶
2. 命名規則
見名知義,命名時字母習慣用小寫
3. 變數使用前必須先定義
4. c語言分大小寫,所以fa與fa是不同的
函式定義
1. 函式型別 函式名(形式參數列)
2. 如果呼叫函式在主函式的後面,那麼主函式前面必須先定義
結構體定義
7.運算子
初等運算子 () -> .
單目運算子 ! ~ + - (型別名) * & ++ -- sizeof
邏輯非 !
按位取反 ~
正號 + 負號 -
型別強制轉換 (型別名)
取值 * 取址 &
自加 ++ ( a++與++a不同,a++是先用a的值再自加,++a是先自加再賦值 )
自減 --
長度運算子 sizeof
算數運算子 + - * / %
( /int型除以int型求得的數一定是int型的 )
移位運算子 << >>
<< 左移
>> 右移
關係運算子 < > <= >= == !=
< 小於 <= 小於等於 >大於 >=大於等於 ==相等 !=不等
位邏輯運算子 & ^ |
邏輯運算子 && ||
三目運算子 ?:
賦值運算子 = += -= *= /= %= &= ^= != >>= <<=
= 與 == 是不同的,= 是賦值,== 是判斷左右是否相等
逗號運算 ,
8.迴圈語句
for語句
1. 語法
for(語句1 ; 語句2 ; 語句3)
執行語句1;然後看是否滿足語句2;若不滿足則結束;若滿足執行函式體,然後執行語句3;再看是否滿足語句2;然後迴圈至不滿足語句2
2. for語句中用 ; 鏈結
3.語句2若沒有則說明要一直迴圈
while語句( do-while語句 )
1. while(a)
a為真時,執行語句部分
2. dowhile(a);
先執行語句,然後看a語句是否正確,若真,則執行語句部分
3. continue跳出此次迴圈,繼續下一次迴圈
9.字元型資料
字元 』 』 字串 」 」
字元型變數 char a;
%cgetchar()函式 ch =getchar();
putchar()函式 putchar(ch);
字串結束符 『 \0 』
10.選擇語句
switch語句
1. switch(a) else{}
if(){} else if(){} else{}
if後括號裡的值為真或1,則執行if後大括號裡的語句
11.陣列
一位陣列
1. 定義
型別說明符 陣列名[ 常量表示式 ]
2. 陣列是從0開始計算的
3. 不允許出現定義時,a[ k ]
二維陣列
常用的函式
1. puts( 字元陣列 ) 輸出字串後換行
2. gets( 字元陣列 ) 輸入字串
3. strcat(字元陣列1 , 字元陣列2) 把陣列2放在陣列1後面
4. strcpy(字元陣列1 , 字元陣列2) 陣列2複製到陣列1中
5. strcmp(字元陣列1 , 字元陣列2) 比較,如果1>2,函式返回正數;1<2,負數;1=2,函式值為0
6. strlen(字元陣列1 , 字元陣列2) 測試長度
7. strlwr(字串) 將大寫字母改為小寫字母
8. strupr(字串) 將小寫字母改為大寫字母
12.靜態變數
static 上一次使用完的值這次接著使用
13.指標
定義型別 *變數名
*的兩種用法
變數定義時*無意義,只是說明變數是指標
其餘地方*代表取指標所指的值
指標的賦值
只能賦給型別相同的指標
int a[5];int *p;
p = a; 與p = a[0];相等
函式間傳值,使用指標可以改變傳入變數的值,否則呼叫函式一般不會改變傳入引數的值
*p. p-> 都可以說明為訪問結構體成員
14.結構體
形式struct 結構體名字 {}
常用函式
1. malloc函式
分配記憶體為size的連續空間,若沒成功就返回null
( int * )malloc ( sizeof( int ) )
2. calloc函式
分配n個記憶體為size的連續空間
3. free函式
釋放記憶體區域
free( p );
15. 檔案
typedef structfile
開啟檔案
fopen(」 檔名 」 , 」 檔案開啟方式 」);
使用方式 含義
r 開啟文字檔案唯讀
w 建立文字檔案只寫
a 開啟文字檔案追加
r+ 開啟文字檔案進行讀寫
w+ 建立文字檔案進行讀寫
a+ 開啟文字檔案進行讀寫
exit( 0 ) 關閉所有開啟的檔案,並終止程式的執行
關閉檔案
fclose(檔案指標);
fgets() fgetc() fputc(ch,fp) fputs(s,n,fp) fscanf() fprintf()
fputc( ch , fp ) 把ch寫到fp所指的檔案中
16.全域性 區域性變數
全域性變數 函式外面
區域性變數 函式裡面
17.預處理
#define m x+y
需注意預處理的意思是把m代替x+y,比如說x = 1 ; y = 2;則m*m其實是x+y*x+y為5,不是9
C 程式設計知識點彙總
15 多型 16 虛函式 物件導向程式設計是將物件抽象成類,把類的資料與操作封裝在一起而進行的程式設計。優點 易維護 提高 復用率 用於不同引數型別獲引數數目不同時 inline 在被呼叫的每乙個地方都插入它的乙份拷貝,適用於小函式。全域性靜態變數 作用域在本檔案中,程度執行期間一直存在。區域性靜態...
C 小技巧知識點彙總
include include include using namespace std intmain break case2 break case3 break case4 break return0 1 setw int n 是c 中在輸出操作中使用的字段寬度設定,設定輸出的域寬,n表示字段寬度...
演算法知識點彙總
1.求陣列元素之間相鄰的元素個數或者求字串的長度 指向同乙個陣列的不同元素的兩個指標可以相減,其差便是兩個指標之間相隔的元素個數。例如在乙個字串中,讓乙個指向該串的首元素,讓另乙個指向字串的結束符,兩個指標相減,其差便是字串的長度 2.怎樣判斷兩個指標指向的是陣列的同乙個元素?指標可以互相比較。如指...