main()
函式是乙個特殊的函式,並不需要引數。
符號常量大寫,語句結尾無需分號。
#define number 10
const cant_modified = 'always';
其值將不能被修改。
eof(end of file),定義在stdio.h
中,是個constant,乙個整型數。
在沒有輸入時,getchar將返回乙個特殊值,被稱為eof。
#include
main()
} /* simplify edition */
main()
}
賦值時也需要進行型別轉換,賦值運算子右邊的值需要轉換為左邊變數的型別,左邊變數的型別即賦值表示式結果的型別。
把較長的整數轉換為較短的整數或char型別時,超出的高位部分將被丟棄。
int i;
char c;
i = c;
c = i;
執行後,c的值將保持不變。但是如果反過來,把高位的轉換為低位,則有可能丟棄超出的高位部分。
所以當float f;
轉換為int i;
,即i = f;
,小數部分將被捨棄,是進行四捨五入還是捨棄取決於具體的實現。
在任何表示式中都可使用強制型別轉換:(型別名) 表示式
note:強制型別轉換只是生成乙個指定的n的值,n本身的值並沒有變。強制型別運算子和其他一元運算子優先順序相同。
#include
sqrt((double) n)
/* 2將被自動轉換為2.0 */
duble sqrt2(double);
root = sqrt2(2);
c中單雙引號是有區別的,單引號中表示字元,而雙引號表示字串。
因此'a'
表示字元, 在ascii碼中對應數字為97 。
printf("%d\n", 'a'); /* 將會列印97 */
如果單單是用在變數上,兩者最後結果是一樣的:如n++
和++n
結果是一樣的。 但是字首和字尾在c中還是有區別的:
++n
表示先將n的值遞增1;
n++
表示先使用變數n的值,再將n值遞增1。
所以,如果n的值為10:
x = n++;
x的值還是10,n為11
x = ++n;
x的值為11,n為11
表示式(a+b)++
是非法的。
#include
main()
結果為:wht
('\0'
為字串結束符號)
n=2, a[n++] = 't'
字尾自增此時最先作用的其實是a[n] = 't'
, 之後n才會做自增。
placeholder() {}
像這樣什麼不執行任何操作,不返回任何值的空函式一般用來做預留。
如果函式定義中省略了返回值型別,則預設認為 int 型別。
int a, b, samll;
a = 10;
b = 20;
small = (a < b) ? a: b;
/* like python: small = b if a > b else a */
MFC(筆記備忘)
mfc應用程式程式設計 一 mfc的發展 vc 1.0 vc 5.0 vc 6.0 vc2008 sp1 vs2010 二 mfc基礎 1 mfc 微軟基礎類庫 採用類的方式,將win32 api等進行封裝,形成的庫.2 mfc相關的標頭檔案 afxwin.h 類似於windows.h afxext...
awk筆記備忘
awk pattern 0變數是指整條記錄,1表示當前行的第乙個域,2表示當前行的第二個域,n當前記錄的第n個域,欄位間由fs分隔,每行按 fs 字段分隔符 預設是空格或tab cat 1.txt beth 4.00 0 dan 3.75 0 kathy 4.00 10 mark 5.00 20 m...
c 知識備忘
這裡是作者遇到的一些c 程式設計的知識簡介,可能每個條目都不全,只選取最常用的用法。template 形參 class可以用 typename代替 返回型別名 函式名 引數列表 函式體類模板 template class類名 編譯器將形參型別確定為實際的模板實參型別,並且獲得了乙個普通的類的過程 t...