C語言簡介
阿新 • • 發佈:2018-11-09
什麽 gist == register 忽略 而是 2個 關系運算符 精度
C語言僅有32個關鍵字,9種控制語句,34種運算符
數據類型關鍵字(12個) (1) char:聲明字符型變量或函數 (2) double:聲明雙精度變量或函數 (3) enum:聲明美劇類型 (4) float:聲明浮點型變量或函數 (5) int:聲明整型變量或函數 (6) long:聲明長整型變量或函數 (7) short:聲明短整型變量或函數 (8) signed:聲明有符號類型變量或函數 (9) struct:聲明結構體變量或函數 (10) union:聲明聯合數據類型 (11) unsigned:聲明無符號類型變量或函數 (12) void:聲明函數無返回值或無參數,聲明無類型指針 控制語句關鍵字(12個) 循環語句 (1) for:一種循環語句 (2) do:循環語句的循環體 (3) while:循環語句的循環條件 (4) break:跳出當前循環 (5) continue:結束當前循環,開始下一輪循環 條件語句 (1) if:條件語句 (2) else:條件語句否定分支 (3) goto:無條件跳轉語句 開關語句 (1) switch:用於開關語句 (2) case:開關語句分支 (3) default:開關語句中的“其他”分支 返回語句 (1)return:子程序返回語句 存儲類型關鍵字(4個) (1) auto:聲明自動變量 一般不使用 (2) extern:聲明變量是在其他文件正聲明(也可以看做是引用變量) (3) register:聲明寄存器變量 (4) static:聲明靜態變量 其他關鍵字(4個) (1) const:聲明只讀變量 (2) sizeof:計算數據類型長度 (3) typedef:用於給數據類型取別名 (4) volatile:說明變量在程序執行中可被隱含的改變
9種控制語句
goto語句:無條件轉向; if語句:判斷語句; while循環語句; do-while語句:先執行循環體,然後判斷循環條件是否成立. 之後繼續循環; for語句:循環,可替代while語句; 只是用法不同; break語句跳出本層的循環;(只跳出包含此語句的循環) continue語句:繼續(一般放到循環語句裏,不在執行它下面的語句,直接跳到判斷語句例:for語句,就直接跳到第二個分號處,while語句,就直接跳到while()的括號裏; switch語句:多相選擇; return語句:返回;
34種運算符
一、算術運算 C語言一共有34種運算符,包括常見的加減乘除運算。 ①. 加法:+ 還可以表示正號 ②. 減法:- 還可以表示負號 ③. 乘法:* 非數學意義上的X ④. 除法:/ 註意1/2的值為0而非0.5 ⑤. 取余(模運算):兩個整數相除之後的余數(註意兩邊都必須是整數,帶符號只和左值有關) 註意點: ①. Int a=10.8;//數據精度丟失警告。結果為10——自動類型轉換 ②. Int a=(int)10.8;//無警告。把10.8強制轉換為整型——強制類型轉換 ③. Double c=10.6+6//結果為16.600000。在計算機中,拿兩個數值進行運算,則運算符兩邊的數值需要類型相同,如果不同則進行自動類型提升。即把6轉為6.000000後再參與運算。 ④. 參與運算的兩個數是什麽類型,那麽其結果就是什麽類型。int a=10/3結果為3,double b=10/3結果為3.000000;double c=10.0/3結果為3.333333。要求精確值可以進行強制類型轉換。double d=(double)3/2把3轉換為double類型變為3.000000,之後2進行自動類型提升轉變為2.000000參與運算,結果為1.500000。也可以寫成3/(double)2。這種情況需要註意與對整體進行強制轉換的區別 double e=(double)(3/2)是先計算3/2的值為1再對1進行強制類型轉換,結果為1.000000。 二、賦值運算 (一)簡單賦值 Int a=10+5;a=b=10;//從右向左,左邊不能為常量 (二)復合賦值 a=a+5;=>a+=5; a=a*5;=>a*=5; a+=5*6+4;=>a=a+(5*6+4) 提示:預算順序取決於兩點:一是運算符的優先級,二是結合的順序。 三、自增自減運算 Int a=10; 把a的值加1有四種方法: ①. a=a+1; ②. a+=1; ③. a++; ④. ++a; 簡單區分a++和++a。 Int b; Int a=10; b=++a; //a==11,b==11;a先把值加1為11,再賦值給b b=a++; //a==11,b==10;a先把值10復制給b,a自己再加1為11 b=(a++)+(++a); //a1==10,a2==12,b==22 b=(++a)+(a++); //a1==11,a2==11,b==22 註意:int d=10++;//這種寫法是錯誤的,因為對常量進行自加和自減沒有任何意義。 四、Sizeof 作用:用來計算變量,常量或者是一種數據類型所占的內存字節數。 基本形式:sizeof(變量名|常量|數據類型),完成之後返回一個值。 ①. Sizeof 變量|常量 ②. Sizeof (變量|常量) ③. Sizeof (數據類型) 註意:數據類型一定要用括號括起來,不能寫成sizeof 數據類型這樣的形式。 五、關系運算符 (一)條件判斷 默認情況下。在程序中寫出的每一句正確的代碼都會被執行,但很多時候我們需要在某個條件成立的情形下才執行某一段代碼,如登錄操作,這種情況可以使用條件語句來完成。 (二)真假 在C語言中,條件成立稱為“真”,條件不成立稱為“假”。 C語言規定,任何數值都有真假性,任何非零值都為真,只有0才為假,無布爾類型。 (三)關系比較 關系運算的結果只有兩種情況,如果條件成立就為真,值為1,如果條件不成立就為假,值為0。有6種運算符,分別是:(1)< (2)<= (3) > (4) >= (5)== (6)!= (四)使用註意 ①. ==和!=優先級相等,其他四個關系運算符的優先級相等,且前者的優先級低於後者。如2==3>1 應該先計算3>1 ②. 關系運算符中,若優先級相同,則“從左往右”結合。如4>3<2,先計算4>3 ③. 關系運算符中的優先級小於算術運算符。如3+4>8-2 相當於(3+4)> (8-2) ④. 練習5!=4+2*7>3==10 先計算5!=18>3==10,5!=1==10,1==10,假 六、邏輯運算符 邏輯運算的結果只有兩個:真(0)和假(1) ①. 與 && 條件1&&條件2 只有的那個條件1和條件2都成立時,才為真否則為假。 ②. 或 || 條件1 ||條件2 當條件1或條件2中有一個成立時就為真,都不成立時為假。 ③. 非 ! !條件 取反 註意:邏輯運算符在進行運算時,只要能夠確定整體的真假性,後面的條件就不再進行而是直接忽略。 Int a=b=10; Int c=(a>5)&&(++b>=11);//此時a==10,b==11,c==1 Int c=(a<5)&&(++b>=11);//此時a==10,b==10,c==0 提示:在進行邏輯運算時,如果搞不清楚各個符號的優先級,可以使用()。 七、三目運算符 雙目:需要兩個值參與運算 單目:1個數值參與運算 如!5 三目:需要3個數值參與 格式:條件?數值1:數值2 先判斷?前的條件,若條件成立則返回數值1,若條件不成立則返回條件2。 要求比較a和b的值,把數值大的存入到c中 c=a>b?a:b 比較a,b,c三個數的值,把最大的值存入到d中 Int abmax=(a>b)?a:b; d=abmax>c:abmax:c;
C語言簡介