最新国产在线不卡AV,国产又爽又黄的视频免费看,精品综合久久久久久97,日韩欧美高清中文字幕免费一区二区

            科普

            關(guān)于c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)知識(shí) IT知識(shí)

            電腦知識(shí)優(yōu)爾供稿

            C語(yǔ)言的設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語(yǔ)言。下面一起來(lái)看看9252兒童網(wǎng)小編為大家整理的c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)知識(shí),歡迎閱讀,僅供參考。

            初學(xué)C語(yǔ)言編程基礎(chǔ)知識(shí)

            (1)學(xué)習(xí)過(guò)C語(yǔ)言的同學(xué)在對(duì)單片機(jī)有了基本了解之后,就可以開(kāi)始試著寫(xiě)一兩個(gè)基于單片機(jī)的C語(yǔ)言的程序了。C51語(yǔ)言繼承了ANSI C 的絕大部分的特性,基本的語(yǔ)法相同,同學(xué)們上手會(huì)比較快。但是,由于C51語(yǔ)言是對(duì)硬件進(jìn)行控制的編程語(yǔ)言,其本身又在硬件結(jié)構(gòu)上有所擴(kuò)展以增強(qiáng)C語(yǔ)言對(duì)硬件的控制,如關(guān)鍵字sbit,data,code等(后面會(huì)講他們是做什么的)。

            (2)因?yàn)閱纹瑱C(jī)不是我們平時(shí)用的計(jì)算機(jī),他的英文名為MCU(微控制器),特點(diǎn)體現(xiàn)在這個(gè)“微”字。因而,它里面的硬件資源是非常少的,所以你在寫(xiě)程序的時(shí)候就要注意對(duì)RAM(存儲(chǔ)數(shù)據(jù))和ROM(存儲(chǔ)程序)的使用。說(shuō)白了,就是也程序的時(shí)候要盡量精簡(jiǎn),如各種算法,不要讓系統(tǒng)負(fù)擔(dān)太大。少用浮點(diǎn)運(yùn)算,能夠使用unsigned的無(wú)符號(hào)型數(shù)據(jù),就不要使用有符號(hào)的(當(dāng)你寫(xiě)程序時(shí),你會(huì)發(fā)現(xiàn)很多位置都用的unsigned,不像我們?cè)贏NSI C里面不同,不太注意,C51里面就非常注意資源的控制)。避免乘除,多用移位運(yùn)算(寫(xiě)走馬燈程序時(shí),會(huì)使用到,很有意思,不是我們想象的用循環(huán)控制)。

            基本的特性了解之后,我們來(lái)講下,具體的東西:

            首先,是C51針對(duì)硬件控制增加的一些關(guān)鍵字,數(shù)據(jù)類(lèi)型。

            (1)bit : 和我們平時(shí)用的int,char相同,只不過(guò)int是兩個(gè)字節(jié)(16位,16bit),char是單字節(jié)(8位,8bit),bit就是一位,取值范圍是0和1,類(lèi)似windows編程里的BOOL。

            (2)sbit : sbit是對(duì)應(yīng)可位尋址空間的一個(gè)位,可位尋址區(qū):20H~2FH。一旦用了sbit x x x = REGE^6這樣的定義(例如,sibt a = P0^0,定義P0口的第0位為變量a,此時(shí)對(duì)a賦值0或者1時(shí),就是在對(duì)P0口的第0位進(jìn)行控制,賦低電平或高電平),這個(gè)sbit量就確定地址了。(sbit大部分是用在特殊功能寄存器中的,方便對(duì)寄存器的某位進(jìn)行操作的`。)

            (3)sfr:用于定義特殊功能寄存器(8位的)(在程序中會(huì)寫(xiě)頭文件#include,在Keil中右鍵點(diǎn)擊打開(kāi)reg51.h,就可以看到很多sfr的定義),如sfr P0 = 0x80,就定義了端口P0。

            (4)sfr16:同上用于16位的

            其次,C51還提供了對(duì)8051所有存儲(chǔ)區(qū)的訪問(wèn)。

            8051芯片的存儲(chǔ)區(qū)從邏輯上分為內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū),外部數(shù)據(jù)存儲(chǔ)區(qū)和程序存儲(chǔ)區(qū)(內(nèi)外統(tǒng)一編址)。

            80C51有4KB的內(nèi)部程序存儲(chǔ)區(qū)(片內(nèi)ROM)(0000H~0FFFH),其中前43單元有特殊用處,0000H~0002H無(wú)條件跳轉(zhuǎn),0003H~002AH用于存放中斷程序(中斷程序這里不解釋)

            256B的內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)(片內(nèi)RAM),分為低128B和高128B,有不同作用(可見(jiàn)硬件資源有多小了吧,所以我們要節(jié)省使用),低128B又分為為工作寄存器區(qū),又稱(chēng)通用寄存器(00H~1FH),位尋址區(qū)(20H~2FH,之前的sbit就是對(duì)應(yīng)位尋址空間中的一位),數(shù)據(jù)緩沖區(qū)(30H~7FH,這個(gè)區(qū)域就是給用戶用得,沒(méi)有任何限制,一共80個(gè)單位)

            高128B為特殊功能寄存器(就是上面說(shuō)的sfr),具體的內(nèi)容在很多書(shū)上面都有。

            http://www.mytutorialcafe.com/MicrocontrollerSpecialFunctionRegister.htm

            給個(gè)英文的sfr的解釋的網(wǎng)址,不過(guò)沒(méi)必要看,看書(shū)就行了。

            在這里講這么多的原因是因?yàn)镃51中在對(duì)變量進(jìn)行聲明的時(shí)候還可以明確的指定存儲(chǔ)空間。關(guān)鍵字有:DATA,IDATA,BDATA(RAM中高128B),CODE等。

            (1)DATA指定RAM中低128B,可以在一個(gè)機(jī)器周期內(nèi)直接尋址,尋址速度最快,所以應(yīng)該把經(jīng)常使用的變量放在DATA區(qū)

            例如:unsigned char data system_status = 0;

            (2)BDATA指定的是RAM中的位尋址區(qū),在這個(gè)區(qū)域定義的變量可以進(jìn)行位操作,什么意思呢?舉例吧

            unsigned char bdata status_byte,這里定義變量status_byte,是一個(gè)單字節(jié)(8位)的數(shù)據(jù)變量,我們可以對(duì)這個(gè)變量中的一位進(jìn)行置0或置1的操作。我們把 status_byte=0x00,即變量里面的8位都置為了0,前面講過(guò)一個(gè)sbit,用于位尋址區(qū)域中的一位,sbit a = status_byte^2;a = 1,表示把變量 status_byte的第2位置為了1(0,1,2,3,4,5,6,7共八位),于是變量 status_byte就等于了0x02;

            (3)CODE 程序存儲(chǔ)區(qū),他里面的內(nèi)容是不變的,我們要使用的一些固定數(shù)據(jù)存于這個(gè)里面就不用占用RAM的空間了,比如我們學(xué)習(xí)數(shù)碼管顯示程序時(shí),數(shù)碼管上面的每一個(gè)數(shù)字都對(duì)應(yīng)一個(gè)16進(jìn)制的數(shù)字,我們可以把它存到程序存儲(chǔ)區(qū)中去,例如:

            unsigned char code table[]={

            0x3f,0x06,0x5b,0x4f,

            0x66,0x6d,0x7d,0x07,

            0x7f,0x6f,0x77,0x7c,

            0x39,0x5e,0x79,0x71};

            關(guān)于特殊功能寄存器sfr的使用,我們以一個(gè)簡(jiǎn)單的程序?yàn)槔?0C51芯片的P0^0上接上一個(gè)發(fā)光二極管LED,一個(gè)電阻RES和一個(gè)電源VCC,三者串聯(lián),電流方向是從電源流向P0^0口。給80C51接上電源,接地,晶振,復(fù)位電路。如果使用proteus仿真,則這些電路不用接。

            在Keil軟件中寫(xiě)程序

            #include

            sbit a = P0^0;

            void main(){

            a = 0;

            while(1);

            }

            因?yàn)樾酒瑒倓偵想?,P0管教為高電位,我們?cè)诔绦蛑邪阉脼?;電流就可以流過(guò)LED,于是LED燈就會(huì)發(fā)光。并用while(1)讓程序停在這里。

            一個(gè)最簡(jiǎn)單的單片機(jī)C語(yǔ)言程序就寫(xiě)完了。講了這么多希望同學(xué)們了解,C51對(duì)C語(yǔ)言的擴(kuò)展有所了解,知道可以通過(guò)C語(yǔ)言對(duì)硬件進(jìn)行控制,學(xué)會(huì)常用的關(guān)鍵字。

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

            算法結(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ù)類(lèi)型:

            常量:常量包括字面常量、直接常量和符號(hào)常量;

            變量:C語(yǔ)言規(guī)定標(biāo)志符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符必須是字母或者下劃線;必須壓迫先定義后使用;每一個(gè)變量被定義以確定類(lèi)型后,在編譯時(shí)就能為其分配相應(yīng)的存儲(chǔ)單元;

            整數(shù)類(lèi)型:整數(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í)型常量的類(lèi)型:C編譯系統(tǒng)將實(shí)型常量作為雙精度來(lái)處理。

            字符型數(shù)組:(一)字符常量:轉(zhuǎn)義字符(\n——換行,\t——tab,\r——回車(chē),\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)制類(lèi)型轉(zhuǎn)換運(yùn)算符((類(lèi)型))

            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,%-m.nf,%e,%g)

            2、scanf(格式控制,地址列表)

            數(shù)組

            一維數(shù)組的定義:類(lèi)型說(shuō)明符 數(shù)組名【常量表達(dá)式】;先定義后引用;一維數(shù)組初始化時(shí)可以只對(duì)一部分元素初始化,在對(duì)全部數(shù)組元素初始化的時(shí)候可以部規(guī)定長(zhǎng)度;但是若被定義的數(shù)組長(zhǎng)度與提供的初始值不一樣時(shí),則數(shù)組長(zhǎng)度不能省略。

            二維數(shù)組的定義:類(lèi)型說(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ù)分類(lèi);可以分為標(biāo)準(zhǔn)和自定義,還可以分為有參函數(shù)和無(wú)參函數(shù)。

            函數(shù)定義的一般形式:

            (1)類(lèi)型標(biāo)志符 函數(shù)名()

            {

            聲明部分

            語(yǔ)句

            }

            (2)類(lèi)型標(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) 在被定義中,形參必須指定類(lèi)型;

            (4) 實(shí)參與形參的類(lèi)型應(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ù)值的類(lèi)型;

            (3)如果函數(shù)值的類(lèi)型和return語(yǔ)句中表達(dá)式的值不一樣,則以函數(shù)類(lèi)型為準(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ù)合句也可以稱(chēng)為“分程序”或“程序塊”;

            (二)全局變量,在函數(shù)之外定義的變量稱(chēng)為外部變量,全局變量可以增加函數(shù)間數(shù)據(jù)聯(lián)系的渠道,一般不再必要時(shí)不要使用,他在程序的全部執(zhí)行過(guò)程中占用存儲(chǔ)單元,是函數(shù)的通用性,使用全局變量會(huì)使程序的清晰性降低。還要注意若果同一源文件中,外部變量和局部變量同名,則在局部變量作用范圍內(nèi),外部變量被“屏蔽”,不起任何作用。

            變量的存儲(chǔ)類(lèi)別:

            (變量值存儲(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ù)類(lèi)型和數(shù)據(jù)存儲(chǔ)類(lèi)型,存儲(chǔ)類(lèi)別是數(shù)據(jù)在內(nèi)存中存儲(chǔ)的方式。

            存儲(chǔ)方式分為靜態(tài)和動(dòng)態(tài)存儲(chǔ)類(lèi),具體包含有四種:自動(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ì)全局變量聲明中,該變量的作用域僅限于本文件模塊操作。

            注意:這些方法同樣適用于函數(shù)的聲明

            C語(yǔ)言程序設(shè)計(jì) 基礎(chǔ)知識(shí)點(diǎn)

            1、&是取地址符號(hào),&x表示的是x在內(nèi)存中的地址,表示把輸入的數(shù)據(jù)放到x所在的內(nèi)存單元中去。

            2、C程序源程序擴(kuò)展名為.c。目標(biāo)程序擴(kuò)展名為.obj。可執(zhí)行程序的擴(kuò)展名為.exe。

            3、指針用來(lái)表示某個(gè)變量在內(nèi)存儲(chǔ)器中的地址。

            4、十進(jìn)制寫(xiě)法除非要寫(xiě)的整數(shù)本身就是0,否則開(kāi)頭第一個(gè)數(shù)字字符不能為0.

            5、八進(jìn)制整常數(shù)必須以0開(kāi)頭,數(shù)碼取值為0-7。八進(jìn)制數(shù)通常為無(wú)符號(hào)數(shù)。

            6、十六進(jìn)制數(shù)常數(shù)的前綴為0X或者0x。其數(shù)直碼維阿0—9,A—F或者a—f。

            二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換

            7、字符串常量在內(nèi)存中存儲(chǔ)時(shí)有串尾標(biāo)記 ‘ \0 ’,所以字符常量占一個(gè)字節(jié)的內(nèi)存空間,而字符串常量占的內(nèi)存字節(jié)數(shù)等于字符串中字符所占的字節(jié)數(shù)加1.

            8、可以把一個(gè)字符常量賦予一個(gè)字符變量,但不能把一個(gè)字符串常量賦予一個(gè)字符變量。C語(yǔ)言中沒(méi)有專(zhuān)門(mén)的字符串變量。字符串如果需要存放在變量中,需要使用字符型數(shù)組來(lái)存放。

            9、++i與i++的區(qū)別:

            n = ++i;先加再賦值。n = i++;先賦值再加。eg:i = 1時(shí),n = ++i,n = 2,i = 2;n = i++,n = 1,i = 2。

            int i = 5,j;

            j = ++i+i++;

            printf(“%d,%d”,i,j); //7,12

            j=(++i)+(++i);

            printf(“%d,%d”,i,j); //9,17

            10、數(shù)據(jù)類(lèi)型轉(zhuǎn)換;double類(lèi)型最高。

            11、

            int m,n,k;

            m = 15,n = 20;

            k = (--m)+(--n);

            printf(“k = %d,m = %d,n = %d”,k,m,n); //k = 33,m = 14,n = 19

            m = 15,n = 20;

            k = (m--)+(n--);

            printf(“k = %d,m = %d,n = %d”,k,m,n); //k = 35,m = 14,n = 19

              為你推薦