1. 程式人生 > >C語言簡介

C語言簡介

什麽 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語言簡介