范文為教學(xué)中作為模范的文章,,也常常用來(lái)指寫(xiě)作的模板,。常常用于文秘寫(xiě)作的參考,也可以作為演講材料編寫(xiě)前的參考,。那么我們?cè)撊绾螌?xiě)一篇較為完美的范文呢,?下面是小編幫大家整理的優(yōu)質(zhì)范文,,僅供參考,大家一起來(lái)看看吧,。
c語(yǔ)言基礎(chǔ)知識(shí)必背概念篇一
第一代語(yǔ)言:機(jī)器語(yǔ)言
第二代語(yǔ)言:匯編語(yǔ)言
第三代語(yǔ)言:高級(jí)語(yǔ)言
1. 結(jié)構(gòu)化語(yǔ)言:c ,basic,,缺陷:數(shù)據(jù)結(jié)構(gòu)和操作是分離的
2. 面向?qū)ο蟮恼Z(yǔ)言:c++, java
函數(shù)和指針?lè)浅V匾?/p>
2. c語(yǔ)言的發(fā)展過(guò)程:
1983年,, ansi c
1987, ansi c 87
1994, c99
c 語(yǔ)言的優(yōu)缺點(diǎn):
優(yōu)點(diǎn):代碼量小,速度快,,功能強(qiáng)大
缺點(diǎn):危險(xiǎn)性高,,開(kāi)發(fā)周期長(zhǎng),可移植性不強(qiáng),。
怎么樣學(xué)習(xí)c語(yǔ)言?
學(xué)習(xí)c語(yǔ)言的目標(biāo)?
常見(jiàn)的問(wèn)題答疑
學(xué)習(xí)java語(yǔ)言為什么建議先學(xué)習(xí)c語(yǔ)言?
如果沒(méi)有學(xué)習(xí)過(guò)計(jì)算機(jī)專業(yè)課程,能否學(xué)懂c語(yǔ)言?
英語(yǔ)和數(shù)學(xué)不好,,能學(xué)習(xí)c語(yǔ)言嗎?
3. 課程計(jì)劃
基本編程知識(shí)
數(shù)據(jù)類型
運(yùn)算符和表達(dá)式
流程控制
函數(shù)
組件
指針
變量的作用域和存儲(chǔ)方式
擴(kuò)展數(shù)據(jù)類型
專題
字符串的處理
進(jìn)制轉(zhuǎn)換
補(bǔ)碼
動(dòng)態(tài)內(nèi)存分配
鏈表的使用
c語(yǔ)言基礎(chǔ)知識(shí)必背概念篇二
c程序是先由源文件經(jīng)編譯生成目標(biāo)文件,然后經(jīng)過(guò)連接生成可執(zhí)行文件,。???
源程序的擴(kuò)展名為 .c ,,目標(biāo)程序的擴(kuò)展名為 .obj , 可執(zhí)行程序的擴(kuò)展名為 .exe 。??
標(biāo)識(shí)符
在編寫(xiě)程序時(shí),,必須為函數(shù)、變量等命名,,這個(gè)名字稱為標(biāo)識(shí)符。c語(yǔ)言中標(biāo)識(shí)符的命名規(guī)則如下:?
標(biāo)識(shí)符只能由字母,、數(shù)字、下劃線組成;?
標(biāo)識(shí)符的第一個(gè)字母必須是字母和下劃線;
標(biāo)識(shí)符區(qū)分大小寫(xiě)字母,,如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語(yǔ)言庫(kù)函數(shù)相同,,在程序中各種標(biāo)識(shí)符盡量不要重復(fù),,以便區(qū)分,。選擇變量名和其他標(biāo)識(shí)符時(shí),應(yīng)注意做到 “見(jiàn)名知義”,。?
c語(yǔ)言基礎(chǔ)知識(shí)必背概念篇三
算法結(jié)構(gòu):
一、順序結(jié)構(gòu),、選擇結(jié)構(gòu),、循環(huán)結(jié)構(gòu);二、循環(huán)結(jié)構(gòu)又分為while型,、until型,、for循環(huán)結(jié)構(gòu);程序流程圖;
結(jié)構(gòu)化程序設(shè)計(jì)方法:
(1)自頂向下;(2)逐步細(xì)化;(3)模塊化設(shè)計(jì);(4)結(jié)構(gòu)化編碼,。
數(shù)據(jù)類型:
常量:常量包括字面常量、直接常量和符號(hào)常量;
變量:c語(yǔ)言規(guī)定標(biāo)志符只能由字母,、數(shù)字和下劃線三種字符組成,且第一個(gè)字符必須是字母或者下劃線;必須壓迫先定義后使用;每一個(gè)變量被定義以確定類型后,,在編譯時(shí)就能為其分配相應(yīng)的存儲(chǔ)單元;
整數(shù)類型:整數(shù)常量有十進(jìn)制,、八進(jìn)制和十六進(jìn)制;“%d”
整形變量:數(shù)據(jù)在內(nèi)存中存放形式是以二進(jìn)制形式存放;有int型,、short int型和long int型,無(wú)符號(hào)整型變量的范圍是-32768—32767,,有符號(hào)型為0~65535.通常把long定義為32位,把short定義為16位,,int可以是32位也可以為16位,,這都主要取決于機(jī)器字長(zhǎng)。
實(shí)型常量的表示方法:(1)十進(jìn)制,,0.0;(2)指數(shù)形式,123e3
實(shí)型變量:實(shí)數(shù)型數(shù)據(jù)在內(nèi)存中的存放形式,,一般在內(nèi)存中占4個(gè)字節(jié),分成整數(shù)部分和小數(shù)部分存放,。實(shí)型變量分為float型、double型long double型,。實(shí)型數(shù)據(jù)會(huì)存在舍入誤差,。
實(shí)型常量的類型:c編譯系統(tǒng)將實(shí)型常量作為雙精度來(lái)處理,。
字符型數(shù)組:(一)字符常量:轉(zhuǎn)義字符(\n——換行,\t——tab,\r——回車,,\f——換頁(yè),\b——退格,\ddd——1到3位8進(jìn)制的數(shù)代表的字符)
(二)字符變量:字符數(shù)據(jù)存儲(chǔ)形式實(shí)際是以ascii碼存儲(chǔ),。“%c”
字符串常量:雙撇號(hào)括起來(lái)的一系列字符序列,。
c的運(yùn)算符有以下幾種:
1,、算術(shù)運(yùn)算符(+ - * / %)結(jié)合方向自左向右
2、關(guān)系運(yùn)算符(> < =="">= <= !="">
3,、邏輯運(yùn)算符(! && ||)
4、位運(yùn)算符(<>> ~ | ^ &)
5,、賦值運(yùn)算符(=及符號(hào)擴(kuò)展賦值運(yùn)算符)
6,、條件運(yùn)算符(? : )
7,、逗號(hào)運(yùn)算符( , )
8、指針運(yùn)算符(* &)
9,、求字節(jié)運(yùn)算符(sizeof)
10、強(qiáng)制類型轉(zhuǎn)換運(yùn)算符((類型))
11,、分量運(yùn)算符( . ->)
12,、下標(biāo)運(yùn)算符([])
13、其他
控制語(yǔ)句:
完成一定的控制功能,。
1、if()~else~
2,、for()~
3、while()~
4,、do~while()
5、continue
6,、break
7,、switch
8,、goto
9、return
字符數(shù)據(jù)的輸入輸出:
1,、putchar()輸入字符變量
2,、getchar()只能接受一個(gè)字符
格式輸入輸出:
1,、printf(%d—整型,%c—字符型,,%ld,,%md,,%o,%u,,%s,,%-,,%e,%g)
2,、scanf(格式控制,,地址列表)
數(shù)組
一維數(shù)組的定義:類型說(shuō)明符 數(shù)組名【常量表達(dá)式】;先定義后引用;一維數(shù)組初始化時(shí)可以只對(duì)一部分元素初始化,,在對(duì)全部數(shù)組元素初始化的時(shí)候可以部規(guī)定長(zhǎng)度;但是若被定義的數(shù)組長(zhǎng)度與提供的初始值不一樣時(shí),則數(shù)組長(zhǎng)度不能省略,。
二維數(shù)組的定義:類型說(shuō)明符 數(shù)組名【常量表達(dá)式】【常量表達(dá)式】c語(yǔ)言中存放二維數(shù)組是先存放第一行的元素,,緊接著是第二行,,其實(shí)也是以一維的方式存放。如果初始化時(shí)能指定所有元素的初始值,,第一維大小可以省略,,但是第二維不能省略,。
字符數(shù)組:定義和初始化跟數(shù)組差不多,只是需要加單引號(hào),。字符和字符串結(jié)束標(biāo)志,,c語(yǔ)言規(guī)定,以'\0’代表,。
字符串處理函數(shù):
1、puts()將一個(gè)字符串輸出到終端
2、gets()從終端輸入一個(gè)字符串到字符數(shù)組,,并且得到一個(gè)函數(shù)值。
3,、strcat()鏈接兩個(gè)字符數(shù)組中的字符串,。
4、strcpy()字符串復(fù)制函數(shù),。
5、strcmp()比較字符串作用,。
6,、strlen()測(cè)試字符串長(zhǎng)度的函數(shù)不包括“\0”
7,、strlwr()將字符串中的大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母。
8,、strupr()將字符串中的小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母,。
函數(shù)
(1)一個(gè)源程序由多個(gè)函數(shù)組成,。
(2)c程序的執(zhí)行從main()函數(shù)開(kāi)始;
(3)所有函數(shù)都是平行的;
(4)函數(shù)分類;可以分為標(biāo)準(zhǔn)和自定義,還可以分為有參函數(shù)和無(wú)參函數(shù),。
函數(shù)定義的一般形式:
(1)類型標(biāo)志符 函數(shù)名()
{
聲明部分
語(yǔ)句
}
(2)類型標(biāo)志符 函數(shù)名(形式參數(shù)列表)
{
聲明部分
語(yǔ)句
}
關(guān)于形參和實(shí)參的說(shuō)明:
(1) 在定義函數(shù)中指定的形參,,在未出現(xiàn)函數(shù)調(diào)用時(shí),,他們并不占用內(nèi)存中的存儲(chǔ)單元,只有發(fā)生調(diào)用時(shí),,才會(huì)分配內(nèi)存,。
(2) 實(shí)參可以是常量、變量或者表達(dá)式;有時(shí)傳遞的時(shí)地址;
(3) 在被定義中,,形參必須指定類型;
(4) 實(shí)參與形參的類型應(yīng)相同或賦值兼容;
(5) c語(yǔ)言規(guī)定,,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,,即單向傳遞,只有實(shí)參傳遞給形參,而不能由形參傳遞給實(shí)參,。
函數(shù)的返回值:
希望通過(guò)函數(shù)調(diào)用使主調(diào)函數(shù)得到一個(gè)確定的值。
(1)函數(shù)的返回值是通過(guò)函數(shù)中的return語(yǔ)句獲取的,。
(2)函數(shù)值的類型;
(3)如果函數(shù)值的類型和return語(yǔ)句中表達(dá)式的值不一樣,則以函數(shù)類型為準(zhǔn),。
(4)如果調(diào)用函數(shù)中沒(méi)有return語(yǔ)句,,并不帶回一個(gè)確定的用戶需要的值,,函數(shù)不是不帶回值,而只是不帶回有用的值,,帶回一個(gè)不確定的值。
(5)如不需要帶回任何值,,用void。
函數(shù)的調(diào)用:
調(diào)用方式1,、函數(shù)語(yǔ)句;2,、函數(shù)表達(dá)式;3,、函數(shù)參數(shù)。
被調(diào)用的函數(shù)的聲明:
一個(gè)函數(shù)調(diào)用另一個(gè)函數(shù)所具備的條件:
1,、首先被調(diào)用的函數(shù)必須是已經(jīng)存在的函數(shù);
2、如果使用庫(kù)函數(shù),,一般應(yīng)該在本文件開(kāi)頭用#include命令將調(diào)用有關(guān)庫(kù)函數(shù)時(shí)在所需要用到的信息“包含”到本文件中,。.h文件是頭文件所用的后綴,。
3、如果使用用戶自己定義的函數(shù),,而且該函數(shù)與使用它的函數(shù)在同一個(gè)文件中,,一般還應(yīng)該在主調(diào)函數(shù)中對(duì)被調(diào)用的函數(shù)做聲明。
4,、如果被調(diào)用的函數(shù)定義出現(xiàn)在主調(diào)函數(shù)之前可以不必聲明,。
5、如果已在所有函數(shù)定義之前,,在函數(shù)的外部已做了函數(shù)聲明,則在各個(gè)主調(diào)函數(shù)中不必多所調(diào)用的函數(shù)在做聲明,。
局部變量和全局變量:
(一)局部變量在一個(gè)函數(shù)內(nèi)部定義的變量是內(nèi)部變量,,它只是在本函數(shù)范圍內(nèi)的有效,,主函數(shù)也不能使用其它函數(shù)中定義的變量;不同函數(shù)中可以使用相同的名字的變量,他們代表不同的對(duì)象,,互不干擾;形式參數(shù)也是局部變量;在一個(gè)函數(shù)內(nèi)部,可以在復(fù)合語(yǔ)句中定義變量,,這些變量只在本復(fù)合語(yǔ)句中有效,,這種復(fù)合句也可以稱為“分程序”或“程序塊”;
(二)全局變量,,在函數(shù)之外定義的變量稱為外部變量,全局變量可以增加函數(shù)間數(shù)據(jù)聯(lián)系的渠道,,一般不再必要時(shí)不要使用,他在程序的全部執(zhí)行過(guò)程中占用存儲(chǔ)單元,,是函數(shù)的通用性,,使用全局變量會(huì)使程序的清晰性降低,。還要注意若果同一源文件中,外部變量和局部變量同名,,則在局部變量作用范圍內(nèi),外部變量被“屏蔽”,,不起任何作用,。
變量的存儲(chǔ)類別:
(變量值存儲(chǔ)時(shí)間)動(dòng)態(tài)存儲(chǔ)方式,,在程序運(yùn)行期間進(jìn)行分動(dòng)態(tài)的分配存儲(chǔ)空間的方式,靜態(tài)存儲(chǔ)方式是指在程序運(yùn)行期間分配固定的存儲(chǔ)空間的方式;存儲(chǔ)空間分為程序區(qū),、靜態(tài)存儲(chǔ)區(qū)和動(dòng)態(tài)存儲(chǔ)區(qū);全局變量全部放在靜態(tài)存儲(chǔ)區(qū)中,程序開(kāi)始時(shí)分配空間,,完畢時(shí)釋放;動(dòng)態(tài)存儲(chǔ)區(qū)中存放以下數(shù)據(jù):
1,、函數(shù)形式參數(shù);
2、自動(dòng)變量;
3,、函數(shù)調(diào)用時(shí)的現(xiàn)場(chǎng)保護(hù)和返回地址;在c語(yǔ)言中每個(gè)變量和函數(shù)都有兩個(gè)屬性,是數(shù)據(jù)類型和數(shù)據(jù)存儲(chǔ)類型,,存儲(chǔ)類別是數(shù)據(jù)在內(nèi)存中存儲(chǔ)的方式。
存儲(chǔ)方式分為靜態(tài)和動(dòng)態(tài)存儲(chǔ)類,,具體包含有四種:自動(dòng)的(auto),靜態(tài)的(static),,寄存器的(register),,外部的(extern),,如果不加以聲明,就自認(rèn)為是auto型就會(huì)自動(dòng)分配存儲(chǔ)空間屬于動(dòng)態(tài)存儲(chǔ)方式,。
static聲明局部變量是在函數(shù)調(diào)用結(jié)束后不消失而保留原值,即占用存儲(chǔ)單元不釋放,,在下一次調(diào)用該函數(shù)時(shí),該變量已有值,,就是上次函數(shù)調(diào)用結(jié)束時(shí)的值,。其中需要說(shuō)明的是在定義局部變量不賦初值的話,,則靜態(tài)局部變量編譯時(shí)自動(dòng)賦值為0或者空字符,雖然靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束后仍然存在,,但是其他函數(shù)不能引用它的,。靜態(tài)局部變量主要用在當(dāng)初始化后,,變量只是被引用而不改變其值。
register變量是c語(yǔ)言中允許將局部變量的值放在cpu中的寄存器中需要時(shí)直接從寄存器中取出來(lái)參加運(yùn)算,,不必再到內(nèi)存中提取,,但是計(jì)算機(jī)系統(tǒng)中寄存器數(shù)量有限,不能任意定義任意多的存儲(chǔ)器,,局部靜態(tài)變量不能定義為寄存器變量,。
extern聲明外部變量,用以擴(kuò)展外部變量的作用域,。在一個(gè)文件中,如果定義之前的函數(shù)想引用該外部變量,,則應(yīng)該在引用之前用關(guān)鍵字extern對(duì)該變量做外部變量聲明,。在多文件中,,也可以采用extern聲明的辦法進(jìn)行外部變量聲明。有時(shí)希望某些局部變量只限于被本文件引用,,而不能被其他文件引用,,這時(shí)就可以采用在定義外部變量時(shí)外加一個(gè)static,,這在程序模塊化設(shè)計(jì)中加強(qiáng)了通用性。
static來(lái)聲明一個(gè)變量的作用有二個(gè),,一個(gè)是在聲明對(duì)局部變量時(shí),。則為該變量分配的空間在整個(gè)程序執(zhí)行期間始終存在;一個(gè)是在對(duì)全局變量聲明中,,該變量的作用域僅限于本文件模塊操作。