關係運算子的優先順序大小:
<, >, <= ,>=這四個優先順序相同,並且高於==和!=
它們的運算子大小比較:!(非)>算數運算子》關係運算子》&&和||>賦值運算子。
迴圈:
switch:括號裡面必須為整數或者字元型
case:後面加上 常量:語句;break;
break表示跳出switch語句,要是沒加就無條件執行後面的語句。
雖然有scanf、printf、getchar、putchar等輸入輸出方式,但是有些不安全,這兩個輸入輸出方式是安全的!
輸入函式fgets:
形式:char *fgets(char *s, int size , file *stream)
char *s : 就是存放陣列名。
size:指的是能接收多少個字元。
file *stream -stdin
功能:從stream中讀取字元,儲存到s中,知道存現換行、讀到檔案結尾或者size-1個字元為止,最後會自動加上 『\0』 作為字串結尾符。
注意事項:換行符也能被儲存進去,佔乙個位置,但是出現換行的時候就結束輸入!!!
輸出函式fputs:
形式:int fputs(const char *str,file *stream)
char *str 就是陣列名
file *stream -stdout
功能:就是向螢幕輸出字串,並且字串結尾不加結束符 『\0』
注意事項:不會預設加換行符
strlen函式
形式:size-t strlen(const char*str)
char *str 就是陣列名
功能:計算指定字串長度,不包括結束符 『\0』
計算長度的原理,從首元素開始到 『\0』 結束(也許字串中間有結束符,但是它就不計算後面的了)
strcpy函式
形式:char *strcpy(char *dest,char *src);
char *dest -目標陣列名。
char *src -源陣列名。
功能:將src所指向的字串拷貝至dest中, 『\0』 也會拷貝過來。
原理:從首元素開始,』\0』結束。
strncpy函式
形式:char *strncpy(char *dest,char *src, size_t n);
char *dest -目標陣列名
char *src -源陣列名
size_t n -前n個
功能:將src所指向的字串的前n個字串拷貝至dest中,是否拷貝 『\0』 看指定的長度是否包含 『\0』 決定。
strcmp函式
形式:int strcmp(const chars1,const char*s2);
char *s1 -陣列名1
char *s2 -陣列名2
功能:比較s1和s2的大小,實際上比較的是字元的ascii
原理:按元素依次比較。
strcat函式
形式:char strcat(chardest,char*src);
char *dest -陣列名1
char *src -陣列名2
功能:將src的字串連線到dest,』\0』也會追加上去。
strncat函式
形式:char strncat(chardest,char*src,size_t n);
char *dest -陣列名1
char *src -陣列名2
功能:將src的字串前n個字元追加到dest尾部,』\0』也會追加上去。
return和exit()的區別
在主函式中作用一樣,但是在子函式中,執行return就是結束子函式,執行exit()就是結束程式。
靜態區域性變數
函式中的區域性變數在函式呼叫結束後仍然保持原始值。
注意:1、靜態區域性變數的初始化只會執行一次。
2、靜態區域性變數在函式呼叫前就已經分配記憶體空間了。
3、當離開{}時,靜態變數的值不會自動釋放,而是等到程式結束後才釋放。
4、靜態區域性變數的作用域時當前{}內,離開此處{},則無法使用此變數。
5、如果靜態區域性變數不初始化,則系統則會預設初始化為0。
6、靜態區域性變數只能使用常量初始化。
普通區域性變數和靜態區域性變數的區別
1、普通只有在執行到定義變數的語句時,才會分配記憶體。static區域性變數在編譯階段變數已經分配記憶體。普通會在離開它所在的{}之後就會自動釋放,static在程式執行完畢才釋放。
2、從初始化角度看:普通不初始化,如果不初始化它的值就是隨機值。static區域性變數如果不初始化它的值就是0,static區域性變數初始化語句只會執行一次,並且必須使用常量。
全域性變數
在函式外面定義的變數被稱為全域性變數,被本檔案以及其他檔案所呼叫,不同檔案的全域性變數變數名不能一樣。(全域性變數的宣告:當定義的全域性變數在將要呼叫它的函式的後面要提前宣告:extern int a;普通區域性變數不需要宣告)
普通全域性變數和靜態全域性變數
1、static全域性變數和普通全域性變數作用域是不一樣(檔案作用域)
2、extern只使用普通全域性變數。
3、普通全域性變數所有檔案都能使用,提前宣告即可。
4、不同檔案只能出現乙個普通全域性變數的定義。
5、static全域性變數只能在本檔案中使用,不能再其他檔案中使用。
6、乙個檔案只能有乙個static全域性變數的定義,不同檔案之間,就算名字一樣,也是沒有關係的兩個變數。
全域性函式和靜態函式
1、一般預設為是全域性函式,但是可以通過static宣告函式為靜態函式。
2、將函式定義為static以後,就意味著這個函式只能在本檔案中使用(定義函式的檔案),其他檔案不能呼叫。
關於函式返回值作用域的一些思考
函式中的變數的作用域只能是在這個函式內,在arc環境內,例如,uiview methodview的作用域只能在這個函式內,所以按理說應該在函式結束後就會將view的記憶體計數減一,但是實際上並不是這樣,如下測試 void viewdidload uiview method 輸出的view的寬度是10...
c 語言中一些特殊函式的整理
1 gets 函式 gets認為回車 是輸入結束標示,空格不是輸入結束標示,所以用gets這個函式就可以實現輸入帶空格的字串 gets和scanf一樣存在緩衝區溢位的問題 int main gets ch int len 0 while ch len len printf s ch return 0...
php一些基本的函式作用
一 ifnull expr1,expr2 作用 如果expr1不是為null,則返回expr1 否則返回expr2 二 spintf 作用 把格式化的陣列寫入某個字串函式的原型 三 list 作用 用陣列中的元素為變數賦值 注意 這裡的陣列變數只能為數字索引的陣列,且假定數字索引從 0 開始。引數說...