c語言入門基礎(chǔ)知識(shí)點(diǎn)總結(jié)(3篇)

字號(hào):

    總結(jié)是對(duì)過去一定時(shí)期的工作、學(xué)習(xí)或思想情況進(jìn)行回顧、分析,并做出客觀評(píng)價(jià)的書面材料,它可使零星的、膚淺的、表面的感性認(rèn)知上升到全面的、系統(tǒng)的、本質(zhì)的理性認(rèn)識(shí)上來,讓我們一起認(rèn)真地寫一份總結(jié)吧??偨Y(jié)書寫有哪些要求呢?我們?cè)鯓硬拍軐懞靡黄偨Y(jié)呢?下面是小編帶來的優(yōu)秀總結(jié)范文,希望大家能夠喜歡!
    c語言入門基礎(chǔ)知識(shí)點(diǎn)總結(jié)篇一
    源程序的擴(kuò)展名為 .c ,目標(biāo)程序的擴(kuò)展名為 .obj , 可執(zhí)行程序的擴(kuò)展名為 .exe 。??
    標(biāo)識(shí)符
    在編寫程序時(shí),必須為函數(shù)、變量等命名,這個(gè)名字稱為標(biāo)識(shí)符。c語言中標(biāo)識(shí)符的命名規(guī)則如下:?
    標(biāo)識(shí)符只能由字母、數(shù)字、下劃線組成;?
    標(biāo)識(shí)符的第一個(gè)字母必須是字母和下劃線;
    標(biāo)識(shí)符區(qū)分大小寫字母,如if和if是兩個(gè)完全不同的標(biāo)識(shí)符。
    合法標(biāo)識(shí)符如下:?
    a6, b_3 , _mn?
    非法的標(biāo)識(shí)符如下:?
    ab#12 , 8m , tr3:4 , yes no?
    標(biāo)識(shí)符不能與程序中具有特殊意義的關(guān)鍵字相同,不能與用戶編制的函數(shù)名、c語言庫函數(shù)相同,在程序中各種標(biāo)識(shí)符盡量不要重復(fù),以便區(qū)分。選擇變量名和其他標(biāo)識(shí)符時(shí),應(yīng)注意做到 “見名知義”。?
    c語言入門基礎(chǔ)知識(shí)點(diǎn)總結(jié)篇二
    1.c語言中,變量必須先聲明后使用,即一個(gè)程序塊(花括號(hào)對(duì))中所有臨時(shí)變量必須在第一條可執(zhí)行語句之前全部聲明,而不能像c++那樣隨用隨聲明;
    2.c語言中參數(shù)傳值傳遞形參,即為參數(shù)的拷貝,此與c++/java相同,同時(shí)值得注意,ansi c不支持引用,此與c++/java有區(qū)別,那么要對(duì)參數(shù)進(jìn)行修改只能使用指針方式(指針傳值指針本身仍是形參,要修改指針本身那必須使用雙重指針);
    3.c語言默認(rèn)類型為int,即參數(shù)無類型或函數(shù)無返回值類型聲明,則認(rèn)為是int(貌似一些編譯器不支持),同時(shí)不建議使用該特性;
    4.無參數(shù)的函數(shù)聲明應(yīng)當(dāng)使用void表明,否則c語言按照老式聲明方法忽略參數(shù)類型檢查;
    5.全局變量建議全大寫,局部變量建議全小寫,內(nèi)部變量31個(gè)字符有效,外部變量不區(qū)分大小寫,僅6個(gè)字符有效,所以必須保持唯一性;
     c是按照多字節(jié)實(shí)現(xiàn)的,unicode是后來發(fā)展的,所以有char/wchar,中char直接是雙字節(jié)有區(qū)別,在c#中導(dǎo)入dll時(shí)值得注意;
    7.c語言支持枚舉,并且枚舉和int直接強(qiáng)制類型轉(zhuǎn)換即可,方便;
    8.#define聲明宏定義直接在編譯時(shí)替換,不進(jìn)行類型檢查,const聲明常量則可以進(jìn)行類型檢查;
    9.運(yùn)算符的優(yōu)先級(jí)記憶比較麻煩,還是()可靠;
    并不是一無是處,在不考慮程序可讀性的情況下可能獲得更高的效率;
    11.函數(shù)實(shí)際也可以與特殊的類型相對(duì)應(yīng),那樣對(duì)于理解函數(shù)指針比較方便,函數(shù)為外部類型;
    用于全局變量和函數(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ù),通過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語言中實(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語言入門基礎(chǔ)知識(shí)點(diǎn)總結(jié)篇三
    用一個(gè)簡(jiǎn)單的c程序例子,介紹c語言的基本構(gòu)成、格式、以及良好的書寫風(fēng)格,使小伙伴對(duì)c語言有個(gè)初步認(rèn)識(shí)。
    例1:計(jì)算兩個(gè)整數(shù)之和的c程序:
    #include main()
    { int a,b,sum;
    a=20; /*定義變量a,b,sum為整型變量*/
    b=15; /*把整數(shù)20賦值給整型變量a*/
    sum=a+b; /*把整數(shù)15賦值給整型變量b*/
    printf(“a=%d,b=%d,sum=%d\n”,a,b,sum); /*把兩個(gè)數(shù)之和賦值給整型變量sum*/
    }
    1、任何一個(gè)c語言程序都必須包括以下格式:main(){}—這是c語言的基本結(jié)構(gòu),任何一個(gè)程序都必須包含這個(gè)結(jié)構(gòu)。括號(hào)內(nèi)可以不寫任何內(nèi)容,那么該程序?qū)⒉粓?zhí)行任何結(jié)果。
    2、main()—在c語言中稱之為“主函數(shù)”,一個(gè)c程序有且僅有一個(gè)main函數(shù),任何一個(gè)c程序總是從main函數(shù)開始執(zhí)行,main函數(shù)后面的一對(duì)圓括號(hào)不能省略。
    3、被大括號(hào){}括起來的內(nèi)容稱為main函數(shù)的函數(shù)體,這部分內(nèi)容就是計(jì)算機(jī)要執(zhí)行的內(nèi)容。
    4、在{}里面每一句話后面都有一個(gè)分號(hào)(;),在c語言中,我們把以一個(gè)分號(hào)結(jié)尾的一句話叫做一個(gè)c語言的語句,分號(hào)是語句結(jié)束的標(biāo)志。
    5、printf(“a=%d,b=%d,sum=%dn”,a,b,sum);——通過執(zhí)行這條c語言系統(tǒng)提供給我們直接使用的屏幕輸出函數(shù),用戶即可看到運(yùn)行結(jié)果,本程序運(yùn)行后,將在顯示器上顯示如下結(jié)果:a=20,b=15,sum=35。
    6、#include—注意:以#號(hào)開頭。不以分號(hào)結(jié)尾這一行沒有分號(hào),所以不是語句,在c語言中稱之為命令行,或者叫做“預(yù)編譯處理命令”。
    7、程序中以/*開頭并且以*/結(jié)尾的部分表示程序的注釋部分,注釋可以添加在程序的任何位置,為了提高程序的可讀性而添加,但計(jì)算機(jī)在執(zhí)行主函數(shù)內(nèi)容時(shí)完全忽略注釋部分,換而言之就是計(jì)算機(jī)當(dāng)做注釋部分不存在于主函數(shù)中。