iOS開發(fā)之C語言實用概述

一迫肖、常量和變量:
常量的定義:const int a = 10;

常量:
整型常量
實型常量
字符型常量
字符串常量

變量:
整型變量
實型變量
字符型變量
字符串變量

變量定義:

  1. 先聲明,后賦值
    int a;
    a = 10;
    2)邊聲明,邊賦值
    int a = 10;

變量的屬性:
1述呐、變量的類型
說明變量存放什么類型的數(shù)據(jù)
2、變量的名稱,變量名
根據(jù)變量名來存取變量的值
3、變量的值
變量所占的內(nèi)存中實際存放的值
4零聚、變量的地址
如何獲取變量的地址?
int a = 10;
&a // 獲取到了變量啊的地址

二眶蕉、注釋的使用

  1. // 單行注釋
  2. /*
    多行注釋
    */

注意點: 多行注釋的嵌套,以/* 開始, 以*/結(jié)束勋乾。如果嵌套,會有問題。因此多行注釋不能嵌套使用枕磁。

三渡蜻、printf函數(shù),scanf函數(shù)。
1)计济、printf(“格式控制字符串”,輸出項列表);
%d 十進制整型
%lu 十進制無符號長整型
%f 浮點類型
%c 輸出字符
%s 輸出字符串

注意點
%f——》保留兩位小數(shù),%.2f

%5d 右對齊

%-5d 左對齊 ,如果位數(shù)不夠,用空格來頂位茸苇。

%05d 右對齊,如果位數(shù)不夠,以0來頂位。

輸出項列表中包含格式控制字符串中要輸出的對應類型的變量沦寂。
(類型要和格式控制一致,位置一一對應)

2)学密、scanf(“格式控制字符串”,輸入項列表);
輸入項列表使用的是變量的地址。
int a ;
scanf("%d",&a);
注意:
連續(xù)使用scanf函數(shù)做輸入,會出現(xiàn)跳過用戶輸入,直接執(zhí)行的問題传藏。
原因:
scanf函數(shù)的緩沖區(qū)腻暮。
解決:
清除緩沖區(qū)里的內(nèi)容。吸收'\n'毯侦。
getchar()

scanf();
getchar();

四哭靖、關(guān)鍵字和標示符
關(guān)鍵字:
就C語言已經(jīng)占用的單詞,我們不可以再重新定義。我們自己定義的標示符,不能和關(guān)鍵字重名侈离。
表示符的命名規(guī)則:
1试幽、只能能以字母、數(shù)字卦碾、下劃線铺坞、美元符號命名
2、不能數(shù)字開頭
3蔗坯、大小寫區(qū)分
4康震、不能和關(guān)鍵字重名

五、運算符
算數(shù)運算符:+-*/ % 左結(jié)合性
賦值運算符 := 結(jié)合性:右結(jié)合性
復合賦值運算符 += -= *= /= .... x += 1;相當于 x = x+1;
關(guān)系運算符 比較大小的,>, >= ,< ,<= 優(yōu)先級高于 ,== ,!= ,左結(jié)合性
sizeof運算符 看在當前編譯環(huán)境下,某個類型在內(nèi)存中占幾個字節(jié)宾濒。
sizeof(常量)腿短、sizeof(變量)、sizeof(數(shù)據(jù)類型)绘梦。
自增橘忱、自減運算符 ++ ,--。 如果++a(前綴),先加一,在使用; a++(后綴) ,先使用,在加一卸奉。邏輯運算符 && ,||, !.優(yōu)先級:!> && > ||
&& 都真才真
|| 一真就真
! 真假顛倒
邏輯短路:
與短路: 表達式1 && 表達式2,短路條件:表達式1的值:假,就不去計算表達式2的值了钝诚。
或短路: 表達式1 || 表達式2, 短路條件:表達式1的值 : 真,就不去計算表達式2的值了。
逗號運算符
,優(yōu)先級最低榄棵。
結(jié)合性:左結(jié)合性,(a+b,a+c,d+a); 從左往右計算凝颇。
逗號表達式返回值:是最右邊的表達式的值潘拱。
位運算符
& | ~,^ >> ,<<

六、進制轉(zhuǎn)換
10-2 互轉(zhuǎn)
10 -8,10 -16

x進制 基:X,從右數(shù)第n位:n;第n位的位權(quán):x^(n-1)拧略。
x進制轉(zhuǎn)換成10進制的萬能公式:
x進制數(shù)是:abcd,從有數(shù)的每一位上的數(shù)字乘以該位的位權(quán)后的值相加即等于十進制的值芦岂。
十進制值 = dx^0+cx1+b*x2+ax^3
2->10 :
16 8 4 2 1對應的位權(quán)
1 0 0 1 1=1
1 + 12 + 04 +08+116=18

2->16: 四合一
16->2 :一拆四
2-》 8 : 三合一
8-》2:一拆三

七、位運算
位運算符:
&(按位與,兩位同時為一,結(jié)果才是一) ,|(按位或,兩位有一個是一結(jié)果就是1),(安位異或,兩位不相同的時候結(jié)果才為1),~(0->1,1->0,符號位跟著一起變,和求反碼不一樣),<<(左移,向左移動n位,相當于乘以2n,有可能改變數(shù)值的正負,不夠補0),>>(右移,向右移動n位,相當除以2^n,不夠的補符號位,它不會改變一個數(shù)的正負,)

八垫蛆、三目運算符:禽最、
一般格式:表達式1?表達式2 : 表達式3
執(zhí)行過程: 先求表達式1的值,如果是真:計算表達式2,否則計算表達式3.
三目運算符的嵌套:能不用就不用。

九袱饭、結(jié)果化編程思想
告訴我們?nèi)魏喂δ艿某绦蚨伎梢杂?順序結(jié)構(gòu)川无、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)三種最基本的程序控制結(jié)構(gòu)來構(gòu)成。不使用goto,目的:提高程序的易讀性,提高開發(fā)效率虑乖。

十懦趋、三種節(jié)本的程序控制結(jié)構(gòu):
順序結(jié)構(gòu):按照代碼書寫的順序來順序執(zhí)行。
選擇結(jié)構(gòu):按照某個條件是否成立來選擇執(zhí)行不同的代碼塊决左。也叫分支結(jié)構(gòu)愕够。
if 語句
switch語句
循環(huán)結(jié)構(gòu):重復執(zhí)行某些功能的代碼。
while循環(huán)
do佛猛。。坠狡。while循環(huán)語句
for循環(huán)

十一继找、選擇結(jié)構(gòu)的if語句:
1)if語句的一半形式:
單分支
if(a >0 ){
// a是正數(shù)
}
雙分支
if(a > 0){

} else{
// a 不是一個正數(shù)
}
多分支
if(a > 0){
// a 正數(shù)
} else if(a < 0){
// a負數(shù)
}else{
// a = 0
}
if 語句只能選擇其中的一條邏輯分支,每個分支之間時互斥的。
2)if語句的嵌套
if(a > 0){

}else{// a <= 0
if( a < 0){
// a 負數(shù)
}else{
// a = 0
}
}
3)if語句使用的注意事項:
c語言的邏輯判斷:在對一個結(jié)果進行邏輯判斷的時候,認為0 代表假,非0代表真逃沿。
c語言進行邏輯結(jié)果返回:0 代表假,1代表真婴渡。
if(表達式),可以放任何的表達式。if(1) //永真
if(a > 0) printf("---"); // if語句后面如果沒有{},那么if的作用域就只有它后面的那一行代碼凯亮。
if(a > 0) int b = 9; // 編譯器會報錯边臼。如果想通過編譯,加上{}
if(a > 0) {int b = 9;}// 編譯通過。
if(a > 0){
int b = 9;
}
printf("b= %d",b);// 編譯不通過,報錯:沒有聲明的變量標示符b假消。

十二柠并、switch語句
switch一般格式:
switch (表達式1){
case 表達式2:
// 功能代碼;
break;
default:
break;
}
執(zhí)行流程:
先計算表達式1的值,然后比較表達式1的值和表達式2的值是否相等,如果相等,進入該條case 語句,并且向下順序執(zhí)行代碼,直到遇到break,結(jié)束switch語句。

switch語句注意點:
1)swtich語句后面的表達式1,允許的值:int類型的變量,常量或著結(jié)果為int類型的表達式;可以向上轉(zhuǎn)型為int類型的變量,常量或表達式富拗。(char ,short,枚舉類型)2)case語句可以任意多條;3)case語句后面可以加{},也可以不加,執(zhí)行效果一樣臼予。4)default位置:可以在switch{}內(nèi)部的任意位置。5)break語句可以省略啃沪。
case語句的注意點:1)case 語句的格式,空格和冒號都不可省略粘拾。2)case語句后面表達式2的值:整型常量:int類型。也可以是一個常量表達式(3+3),其他類型的常量(可以向上轉(zhuǎn)型為int類型的)创千。(char ,short,枚舉)缰雇。3)case 語句的作用域:直到遇到break 關(guān)鍵字入偷。4)case 后面不能在第一行代碼定義一個變量,編譯不通過;如果說非要在case語句的代碼塊中定義一個變量,1加上{};2把變量的定義,不要放在第一行。switch(表達式){
case 1:int a = 1;// 放在第一行定義,編譯不通過,printf("");int b = 2;break;
case 2:printf("b = %d",b );
break;default:

break;

分區(qū) 第四天 的第 2 頁

}

break;

5)編譯器的bug,使用了前面沒有滿足條件的分支中定義的變量,但是沒有使用其中定義的變量值,而是一個垃圾值械哟。
switch(2){case 1:
printf("");int b = 2;break;
case 2:printf("b = %d",b );
break;default:
break;
}6)default語句如果在最后,可以省略break;如果不在最后,break不能隨變省略,否則會造成邏輯錯誤疏之。
8、if和siwtch語句的選擇結(jié)論:
if的判斷比較靈活,如果判斷范圍的話用if簡單戒良。
switch只能判斷值是否相等,但是它能夠?qū)⒍鄺l邏輯分支通過case語句的穿透執(zhí)行來合并執(zhí)行体捏。9、if和switch的轉(zhuǎn)換
通過整除的方式,將分數(shù)范圍轉(zhuǎn)換成數(shù)值糯崎。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末几缭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子沃呢,更是在濱河造成了極大的恐慌年栓,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件薄霜,死亡現(xiàn)場離奇詭異某抓,居然都是意外死亡,警方通過查閱死者的電腦和手機惰瓜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門否副,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人崎坊,你說我怎么就攤上這事备禀。” “怎么了奈揍?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵曲尸,是天一觀的道長。 經(jīng)常有香客問我男翰,道長另患,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任蛾绎,我火速辦了婚禮昆箕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘秘通。我一直安慰自己为严,他們只是感情好,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布肺稀。 她就那樣靜靜地躺著第股,像睡著了一般。 火紅的嫁衣襯著肌膚如雪话原。 梳的紋絲不亂的頭發(fā)上夕吻,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天诲锹,我揣著相機與錄音,去河邊找鬼涉馅。 笑死归园,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的稚矿。 我是一名探鬼主播庸诱,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼晤揣!你這毒婦竟也來了桥爽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤昧识,失蹤者是張志新(化名)和其女友劉穎钠四,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體跪楞,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡缀去,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了甸祭。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缕碎。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖池户,靈堂內(nèi)的尸體忽然破棺而出阎曹,到底是詐尸還是另有隱情,我是刑警寧澤煞檩,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站栅贴,受9級特大地震影響斟湃,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜檐薯,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一凝赛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧坛缕,春花似錦墓猎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至宠页,卻和暖如春左胞,著一層夾襖步出監(jiān)牢的瞬間寇仓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工烤宙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留遍烦,地道東北人。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓躺枕,卻偏偏與公主長得像服猪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子拐云,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內(nèi)容