小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

C 05 程序中的順序點(diǎn)和運(yùn)算符優(yōu)先級(jí)

 戴維圖書(shū)館 2017-08-07
1 程序存在一定順序點(diǎn) 指的的在執(zhí)行過(guò)程中修改變量值的最晚時(shí)刻
  在程序達(dá)到順序點(diǎn)的時(shí)候 之前所做的一切操作必須反映到后續(xù)的訪問(wèn)中
2順序點(diǎn)如下:
 ·每個(gè)完整表達(dá)式結(jié)束時(shí)
 ·&& || ?:三目運(yùn)算符  以及逗號(hào)表達(dá)式;的每個(gè)預(yù)算對(duì)象計(jì)算之后
 ·函數(shù)調(diào)用中對(duì)所有實(shí)際參數(shù)的求值完成之后(進(jìn)入函數(shù)體之前) 即先計(jì)算在傳入值
  @f(k, k++);    /* 在進(jìn)入函數(shù)前已經(jīng)計(jì)算好了 k k++; 遇到;逗號(hào)表達(dá)式++生效k++-> k=2 所以 2 ,1 */
  @k = k++ + k++; /* 1. 2+2=4 未到達(dá)順序點(diǎn) 2. 此時(shí)遇到;順序點(diǎn)++計(jì)算生效 再計(jì)算兩個(gè)++ 得到6      */
  @if( a-- && a ) /* 這里的順序點(diǎn)為&& 當(dāng)預(yù)算到&&時(shí)--預(yù)算 所以為false                      */
4.注釋 ///**/建議使用 // 避免一些版本控制軟件出現(xiàn)解析問(wèn)題
1. // this is \ ok heh 加\表示 換行 \為換行符
2. 會(huì)在編譯過(guò)程不是簡(jiǎn)單刪除注釋 而是用空格代替
3. ""內(nèi)的注釋無(wú)效 編譯器認(rèn)為都是字符串
4. "/*.....*/"不能被嵌套
5. 出色的注釋:
  1 準(zhǔn)確易懂 防止二義性 錯(cuò)誤的注釋有害而無(wú)利
  2 注釋是對(duì)代碼的提示 避免臃腫
  3 一目了然的代目避免加注釋
  4 不要用縮寫(xiě)來(lái)注釋代碼 這樣可能會(huì)產(chǎn)生誤解
  5 注釋用于闡述原因不是用于描述程序的運(yùn)行過(guò)程
5.接續(xù)符\ 和轉(zhuǎn)義符
1.在連續(xù)單詞時(shí) 反斜杠不能有空格 下一行之前也不能有空格
2.接續(xù)符適合在定義宏代碼塊時(shí)用
3.轉(zhuǎn)義符\主要用于表示無(wú)回顯字符 作為轉(zhuǎn)義符使用時(shí)必須出現(xiàn)在字符或者字符串中
6.邏輯運(yùn)算符 || && !
1.注意||&&的短路運(yùn)算
  ||有1則為真
  &&有0則為假
  ! c語(yǔ)言中的"!"只認(rèn)得0 只知道見(jiàn)了0就返回1 因此只要不是0 其運(yùn)算結(jié)果都是0 eg:!100 = 0;
2.三目運(yùn)算符
(a? b:c) 當(dāng)a為真時(shí)返回b的值 否則返回c的值
7.++ --
1.  int k = (++x, x++, x+10); // k=15 x=3 從左往右計(jì)算
2.  int i = 0;
    int j = (++i)+(++i)+(++i);
    /*  j=7 原因是先加前兩個(gè)括號(hào)內(nèi)的為1+2 再加 4*/
    貪心法讀++
    1. 編譯器處理的每個(gè)字符應(yīng)該盡可能多的包含字符
    2. 編譯器以從左向右的順序一個(gè)一個(gè)盡可能多的讀入字符
    3. 當(dāng)即將讀入的字符不可能和已讀入的字符組成合法符號(hào)為止
8.位運(yùn)算
1.& 按位與0&1 = 0 
  | 按位或0|1= 1
  ^ 按位異或0^0 1^1= 0 相同取0 不同取1 與0異或?yàn)锳不變
  ~ 取反
 << 左移高位丟棄 低位補(bǔ)0
 >> 右移高位補(bǔ)符號(hào)位 低位丟棄 正數(shù)符號(hào)位為0 eg:8>>3 (1000>>3) = 0001 = 1
2.放錯(cuò)準(zhǔn)則
  1. 避免邏輯運(yùn)算符 位運(yùn)算符出現(xiàn)在同一表達(dá)式中 當(dāng)出現(xiàn)時(shí)盡量用括號(hào)()來(lái)
  2. 小技巧:
    左移n位相當(dāng)于*2的n次方
    右移n位相當(dāng)于/2的n次方
  3.右移x>>2 右端低位移除部分舍棄 左端高位根據(jù)符號(hào)位補(bǔ)0或者1 無(wú)符號(hào)或正數(shù)補(bǔ)0 負(fù)數(shù)補(bǔ)1
3.通過(guò)異或交換a b的值 表面上看去少使用了一個(gè)變量 但是實(shí)際上對(duì)內(nèi)存的讀寫(xiě)次數(shù)提高了 所以效率并不高
  a = a^b;
  b = a^b;
  a = a^b; 
  
9.C語(yǔ)言的隱式轉(zhuǎn)換類型
  1 算術(shù)運(yùn)算式中 低類型轉(zhuǎn)換為高類型
  2 賦值表達(dá)式中 表達(dá)式的值轉(zhuǎn)換為左邊變量的類型
  3 函數(shù)調(diào)用時(shí) 實(shí)參轉(zhuǎn)換為形參的類型
  4 函數(shù)返回值 return 表達(dá)式轉(zhuǎn)換為返回值類型
    char ->shortchar->int
    short->int 
    int ->unsigned int ->long ->unsigned long ->double <- float
江老師的神圖: http://www./
 
10.換行
windows \r\n
unix \n
mac \r
11.運(yùn)算符優(yōu)先級(jí) 來(lái)自:http://www./

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多