<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學(xué)習(xí)啦>知識(shí)大全>知識(shí)百科>百科知識(shí)>

        c語(yǔ)言基礎(chǔ)知識(shí)總結(jié)

        時(shí)間: 謝君787 分享

          C語(yǔ)言的設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語(yǔ)言。以下是由學(xué)習(xí)啦小編整理關(guān)于c基礎(chǔ)知識(shí)總結(jié)的內(nèi)容,希望大家喜歡!

          c語(yǔ)言基礎(chǔ)知識(shí)總結(jié)

          1.C語(yǔ)言中,變量必須先聲明后使用,即一個(gè)程序塊(花括號(hào)對(duì))中所有臨時(shí)變量必須在第一條可執(zhí)行語(yǔ)句之前全部聲明,而不能像C++那樣隨用隨聲明;

          2.C語(yǔ)言中參數(shù)傳值傳遞形參,即為參數(shù)的拷貝,此與C++/JAVA相同,同時(shí)值得注意,ANSI C不支持引用,此與C++/JAVA有區(qū)別,那么要對(duì)參數(shù)進(jìn)行修改只能使用指針方式(指針傳值指針本身仍是形參,要修改指針本身那必須使用雙重指針);

          3.C語(yǔ)言默認(rèn)類型為int,即參數(shù)無類型或函數(shù)無返回值類型聲明,則認(rèn)為是int(貌似一些編譯器不支持),同時(shí)不建議使用該特性;

          4.無參數(shù)的函數(shù)聲明應(yīng)當(dāng)使用void表明,否則C語(yǔ)言按照老式聲明方法忽略參數(shù)類型檢查;

          5.全局變量建議全大寫,局部變量建議全小寫,內(nèi)部變量31個(gè)字符有效,外部變量不區(qū)分大小寫,僅6個(gè)字符有效,所以必須保持唯一性;

          6.ANSI C是按照多字節(jié)實(shí)現(xiàn)的,UNICODE是后來發(fā)展的,所以有char/WCHAR,與.NET中char直接是雙字節(jié)有區(qū)別,在C#中導(dǎo)入dll時(shí)值得注意;

          7.C語(yǔ)言支持枚舉,并且枚舉和int直接強(qiáng)制類型轉(zhuǎn)換即可,比.NET方便;

          8.#define聲明宏定義直接在編譯時(shí)替換,不進(jìn)行類型檢查,const聲明常量則可以進(jìn)行類型檢查;

          9.運(yùn)算符的優(yōu)先級(jí)記憶比較麻煩,還是()可靠;

          10.goto并不是一無是處,在不考慮程序可讀性的情況下可能獲得更高的效率;

          11.函數(shù)實(shí)際也可以與特殊的類型相對(duì)應(yīng),那樣對(duì)于理解函數(shù)指針比較方便,函數(shù)為外部類型;

          12.static用于全局變量和函數(shù)則限定該變量和函數(shù)的使用范圍僅為該源文件(從而無需考慮與其他源文件不得重名),用于函數(shù)內(nèi)部變量則該變量的內(nèi)存分配和回收不再同于普通臨時(shí)變量(調(diào)用函數(shù)生成,函數(shù)返回銷毀),而是一直存在于靜態(tài)變量區(qū),從而可以保存一些狀態(tài);

          13.頭文件的作用體現(xiàn)在調(diào)用其他源文件時(shí)不需要再次寫函數(shù)定義,所以實(shí)現(xiàn)函數(shù)是不需要頭文件的,調(diào)用時(shí)才需要,可以采用富頭文件定義一大組接口,然后使用多個(gè)源文件分別實(shí)現(xiàn);

          14.寄存器變量使用register聲明,僅適用于使用頻率高的局部變量(含形參)(受限于底層硬件,不一定會(huì)被分配到寄存器,但是這么寫不影響效率);

          15.全局變量和靜態(tài)變量默認(rèn)初始化為全零且僅初始化一次,局部變量默認(rèn)初始化為未定義且每次都會(huì)重新初始化;

          16.遞歸調(diào)用的方法一般比較緊湊,但是每次調(diào)用會(huì)單獨(dú)維護(hù)調(diào)用的堆棧,所以效率不是最高;

          17.#include的作用體現(xiàn)于將一些內(nèi)容避免重新寫一遍(主要是類型、函數(shù)和外部變量定義),所以實(shí)際上不一定為h文件;

          18.\表示一行尚未結(jié)束,對(duì)于定義長(zhǎng)的字符串和define比較有用;

          19.函數(shù)調(diào)用的執(zhí)行順序不確定,所以對(duì)于a()+b()這樣函數(shù)中使用相同變量并且改變其值的需要借助臨時(shí)變量處理,防止不同實(shí)現(xiàn)的調(diào)用順序不一致;

          20.##用于宏定義中連接前后兩個(gè)部分,如cat(a, b)   a ## b;

          21.指針是C/C++的重要內(nèi)容,當(dāng)然也是雙面刃,用好了很方便而且高效,用不好那就造成程序不穩(wěn)定;

          22.使用va_list, va_start, va_arg, va_end來定義可變參數(shù)的函數(shù),具體可以參見http://blog.csdn.net/flyoxs/article/details/4099317,我的理解是通過va_start函數(shù)中的第一個(gè)不變參數(shù)將va_list指向參數(shù)列表(函數(shù)調(diào)用的棧中),然后通過va_arg獲取每個(gè)參數(shù)并將va_list移動(dòng)指定類型的長(zhǎng)度,最后則通過va_end完成必要的回收工作,需要指出的是va_arg沒有結(jié)束邊界,所以比較有效的方式有兩種,一種對(duì)于參數(shù)類型一致,則可以第一個(gè)參數(shù)指出后續(xù)參數(shù)的總數(shù),然后依次獲取,另一種對(duì)于不同類型的參數(shù)混用,則可以通過類型標(biāo)識(shí)+參數(shù)配對(duì)的方式進(jìn)行使用(第一個(gè)參數(shù)依然可以指定數(shù)量,當(dāng)然也可以檢查標(biāo)識(shí)),從而避免最后讀取無效的參數(shù),對(duì)于可變參數(shù)僅支持int和double兩種類型(參數(shù)未限定類型,故按照舊式聲明理解)以及指針類型;

          23.函數(shù)指針是用來在C語(yǔ)言中實(shí)現(xiàn)動(dòng)態(tài)調(diào)用的比較有效的方式

          24.結(jié)構(gòu)體用作參數(shù)依然是拷貝為形參傳遞,這點(diǎn)與JAVA中全部對(duì)象都是類有區(qū)別(類的對(duì)象通過引用傳值,C#支持struct),所以對(duì)于大的結(jié)構(gòu)體事宜使用指針傳遞,而對(duì)于小的結(jié)構(gòu)體拷貝傳值效率并不低;

          25.代碼中字符數(shù)組為靜態(tài)常量,對(duì)其操作無效,程序塊中數(shù)組的聲明是可以自動(dòng)回收的,通過malloc/calloc分配的內(nèi)存為堆內(nèi)存,需要自行通過free回收;

          c語(yǔ)言進(jìn)制知識(shí)總結(jié)

          1.什么是進(jìn)制

          進(jìn)制是一種計(jì)數(shù)的方式,常用的有二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制。任何數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中都是以二進(jìn)制的形式存放的。

          我對(duì)進(jìn)制的個(gè)人理解,二進(jìn)制數(shù)是以2為計(jì)算單元,滿2進(jìn)1位的數(shù);八進(jìn)制數(shù)是以8為計(jì)算單元,滿8進(jìn)1位的數(shù)。

          對(duì)于任何一個(gè)數(shù)字,我們都可以用不同的進(jìn)制來表示,比如,十進(jìn)制數(shù)12,用二進(jìn)制表示為1100,用八進(jìn)制表示為14,用十六進(jìn)制表示為0xC。

          2.進(jìn)制的轉(zhuǎn)換規(guī)則

          遵循滿進(jìn)制值進(jìn)1位,個(gè)位數(shù)變?yōu)?的原理,下面我們以十進(jìn)制數(shù)18為例,對(duì)1-18中每一個(gè)數(shù)值轉(zhuǎn)換各種進(jìn)制做一個(gè)詳細(xì)說明

          轉(zhuǎn)二進(jìn)制:

          1小于2,無需進(jìn)1位,1的二進(jìn)制值是1

          2為二進(jìn)制值1后面一個(gè)數(shù),由于1+1滿2,需要進(jìn)1位,個(gè)位數(shù)變?yōu)?,所以2的二進(jìn)制值是10

          3為二進(jìn)制值10后面一個(gè)數(shù),由于11的個(gè)位數(shù)1小于2,無需進(jìn)1位,所以3的二進(jìn)制值是11

          4為二進(jìn)制值11后面一個(gè)數(shù),由于11的個(gè)位數(shù)1+1滿2,需要進(jìn)1位,而二進(jìn)制值11的位數(shù)1+1又滿2,所以位數(shù)加1,最終轉(zhuǎn)換結(jié)果為100

          轉(zhuǎn)換思路:二進(jìn)制值11+1 ->10+(1+1)(個(gè)位等于2,進(jìn)1位,個(gè)位數(shù)變?yōu)?) ->(1+1)+0(位數(shù)滿2,進(jìn)1位) -> 100

          以此類推,最終十進(jìn)制數(shù)18的二進(jìn)制轉(zhuǎn)換結(jié)果是10010

          轉(zhuǎn)八進(jìn)制:

          1-7小于8,無需進(jìn)1位,1-7的八進(jìn)制由1-7表示

          8為八進(jìn)制值7后面一個(gè)數(shù),由于7+1滿8,需要進(jìn)1位,個(gè)位數(shù)變?yōu)?,所以8的八進(jìn)制值是10

          以此類推,最終十進(jìn)制數(shù)18的八進(jìn)制轉(zhuǎn)換結(jié)果是22

          轉(zhuǎn)十六進(jìn)制

          十六進(jìn)制中,個(gè)位數(shù)1-15分別為1 2 3 4 5 6 7 8 9 a b c d e f (a=10....f=15)

          16為十六進(jìn)制值c后面1個(gè)數(shù),由于c+1滿16,需要進(jìn)1位,個(gè)位數(shù)變?yōu)?,所以16的十六進(jìn)制是10。

          最終十進(jìn)制數(shù)18的十六進(jìn)制轉(zhuǎn)換結(jié)果是12
        看過“c語(yǔ)言基礎(chǔ)知識(shí)總結(jié)“的人還看了:

        1.c語(yǔ)言程序設(shè)計(jì)心得3篇

        2.計(jì)算機(jī)c語(yǔ)言基礎(chǔ)知識(shí)

        3.c語(yǔ)言公共基礎(chǔ)知識(shí)考點(diǎn)

        4.c語(yǔ)言實(shí)習(xí)心得

        5.c語(yǔ)言實(shí)訓(xùn)報(bào)告范文3篇

        1212975 主站蜘蛛池模板: 国产乱码字幕精品高清av | 久久这里只精品国产2| 一边亲着一面膜的免费版电视剧 | 人人妻人人做人人爽夜欢视频 | 国产精品亚欧美一区二区三区| 国产 浪潮av性色四虎| 国内在线视频一区二区三区| 精品午夜福利在线观看| 日韩中文字幕精品一区在线| 亚洲 欧美 视频 手机在线| 久久99爰这里有精品国产| 欧洲无码一区二区三区在线观看| 苍井空一区二区三区在线观看| 亚洲综合在线一区二区三区| 久久精品不卡一区二区| 午夜大片免费男女爽爽影院| 中文无码妇乱子伦视频| 欧美精品国产综合久久| 99精品国产闺蜜国产在线闺蜜| 久久国产乱子伦精品免费乳及| 国产欧美精品aaaaaa片| 欧美成人黄在线观看| 国产成人高清亚洲一区二区| 成人乱码一区二区三区四区| 国产边摸边吃奶边叫做激情视频| 色老板精品无码免费视频| 国产精品亚洲mnbav网站| 亚洲欧美综合精品成| 在线观看国产小视频| 国产成年无码aⅴ片在线观看| 蜜桃视频在线免费观看一区二区| 无码人妻一区二区三区线| 好吊视频一区二区三区在线 | 中文字幕制服国产精品| 十八禁午夜福利免费网站| 四虎永久地址WWW成人久久| 中文字幕乱码人妻二区三区| 夜夜爽夜夜叫夜夜高潮| 亚洲AV无码不卡一区二区三区| 性少妇videosexfreexxxx片 | 欧美三级视频在线播放|