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

            科普

            C語(yǔ)言入門基礎(chǔ)知識(shí)_C語(yǔ)言語(yǔ)法結(jié)構(gòu) IT知識(shí)

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

            C語(yǔ)言是僅產(chǎn)生少量的機(jī)器語(yǔ)言以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的高效率程序設(shè)計(jì)語(yǔ)言。下面一起來(lái)看看9252兒童網(wǎng)小編為大家整理的C語(yǔ)言入門基礎(chǔ)知識(shí),歡迎閱讀,僅供參考。

            c語(yǔ)言入門基礎(chǔ)知識(shí)

            賦值運(yùn)算符與賦值表達(dá)式

            一、賦值運(yùn)算符與賦值表達(dá)式?

            賦值符號(hào) “=“就是賦值運(yùn)算符,作用是將一個(gè)數(shù)據(jù)賦給一個(gè)變量或?qū)⒁粋€(gè)變量的值賦給另一個(gè)變量,由賦值運(yùn)算符組成的表達(dá)式稱為賦值表達(dá)式。一般形式為:?

            變量名 = 表達(dá)式?

            在程序中可以多次給一個(gè)變量賦值,每賦一次值,與它相應(yīng)的存儲(chǔ)單元中的數(shù)據(jù)就被更新一次,內(nèi)存中當(dāng)前的數(shù)據(jù)就是最后一次所賦值的那個(gè)數(shù)據(jù)。?

            例:a=12; 此表達(dá)式讀作“將10的值賦值給變量a”。?

            說(shuō)明:?a、如果賦值號(hào)兩邊的運(yùn)算對(duì)象類型不一致,系統(tǒng)會(huì)自動(dòng)進(jìn)行類型轉(zhuǎn)換,轉(zhuǎn)換的規(guī)則:將賦值號(hào)右邊表達(dá)式的值的類型轉(zhuǎn)換成賦值號(hào)左邊變量的類型,?

            例:int y=3.5; 在變量y中最終存儲(chǔ)的是整數(shù)3。?

            b、 可以將復(fù)制表達(dá)式的值再賦值給變量,形成連續(xù)賦值。?

            例如:x=y=25 是一個(gè)連續(xù)賦值表達(dá)式,x=y=25 等價(jià)于x=(y=25),所以表達(dá)式x=y=25 最終的值為25 。?

            二、復(fù)合的賦值運(yùn)算符?

            在賦值運(yùn)算符之前加上其他運(yùn)算符可以構(gòu)成復(fù)合賦值運(yùn)算符。其中與算術(shù)運(yùn)算有關(guān)的復(fù)合運(yùn)算符是:+=,-=,_=,/=,%= 。?

            兩個(gè)符號(hào)之間不可以有空格,復(fù)合賦值運(yùn)算符的優(yōu)先級(jí)與賦值運(yùn)算符的相同。表達(dá)式n+=1等價(jià)于n=n+1,作用是取變量n中的值增1再賦給變量n,其他復(fù)合的賦值運(yùn)算符的運(yùn)算規(guī)則依次類推。?

            如求表達(dá)a+=a-=a_a 的值,其中a的初值為12 。?

            步驟:?

            (1)先進(jìn)行“a-=a_a“運(yùn)算,相當(dāng)于a=a-a_a=12-144=-132 。?

            (2)再進(jìn)行“a+=-132“運(yùn)算,相當(dāng)于 a=a+(-132)=-132-132=-264 。?

            關(guān)系運(yùn)算符和關(guān)系表達(dá)式

            一、C語(yǔ)言中的邏輯值?

            C語(yǔ)言中的邏輯值只有兩個(gè):真(true)和假(flase)。用非零代表真,用零代表假。因此,對(duì)于任意一個(gè)表達(dá)式,如果它的值為零,就代表一個(gè)假值,如果它的值為非零,就代表一個(gè)真值。只要值不是零,不管是正數(shù),負(fù)數(shù),整數(shù),實(shí)數(shù),都代表一個(gè)真值。例如-5的邏輯值為真。?

            二、邏輯表達(dá)式?

            “&&”和“||”的運(yùn)算對(duì)象有兩個(gè),故它們都是雙目運(yùn)算符,而!的運(yùn)算對(duì)象只有一個(gè),因此它是單目運(yùn)算符。邏輯運(yùn)算舉例如下:?

            (1)a&&b: 當(dāng)&&兩邊都為“真”時(shí),表達(dá)式a&&b的值才是真。?

            值得注意的是:在數(shù)學(xué)中,關(guān)系式0?

            (2)a||b: 當(dāng)||兩邊有一個(gè)為“真”時(shí),表達(dá)式a||b的值就是真。?

            (3)!a: 表示取反,如果a為真,則!A為假,反之亦然。例如!-5的值就為0.?

            在C語(yǔ)言中,由&&或||組成的邏輯表達(dá)式,在某些特定情況下會(huì)產(chǎn)生“短路“現(xiàn)象。?

            (1)x && y && z ,只有當(dāng)x為真(非0)時(shí),才需要判別y的值;只有x和y都為真時(shí),才需要去判別z的值;只要x為假就不必判別y和z,整個(gè)表達(dá)式的值為0??谠E:“一假必假”。?

            例:(!5==1)&&(++i==0) (!5==1)表達(dá)式的值為0,所以計(jì)算機(jī)運(yùn)行中就跳過(guò)(++i==0)此表達(dá)式,(!5==1)&&(++i==0)表達(dá)式的值為0.?

            (2)x||y||z ,只要x的值為真(非零),就不必判別y和z的值 ,整個(gè)表達(dá)式的值為1,只有x的值為假,才需要判別y的值,只有x和y的值同時(shí)為假才需要判別z的值,口訣:“一真必真”。?

            位運(yùn)算

            一、位運(yùn)算符?

            在計(jì)算機(jī)中,數(shù)據(jù)都是以二進(jìn)制數(shù)形式存放的,位運(yùn)算就是指對(duì)存儲(chǔ)單元中二進(jìn)制位的運(yùn)算。C語(yǔ)言提供6種位運(yùn)算符。?

            二、位運(yùn)算?

            位運(yùn)算符 & |~<< >> ∧ 按優(yōu)先級(jí)從高到低排列的順序是:?

            位運(yùn)算符中求反運(yùn)算“~“優(yōu)先級(jí)最高,而左移和右移相同,居于第二,接下來(lái)的順序是按位與 “&“、按位異或 “∧“和按位或 “|“。順序?yàn)閪 << >> & ∧ | 。?

            例1:左移運(yùn)算符“<<”是雙目運(yùn)算符。其功能把“<< ”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0。?

            例如:?

            a<<4?

            指把a(bǔ)的各二進(jìn)位向左移動(dòng)4位。如a=00000011(十進(jìn)制3),左移4位后為00110000(十進(jìn)制48)。?

            例2:右移運(yùn)算符“>>”是雙目運(yùn)算符。其功能是把“>> ”左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位,“>>”右邊的數(shù)指定移動(dòng)的位數(shù)。?

            例如:?

            設(shè) a=15,?

            a>>2?

            表示把000001111右移為00000011(十進(jìn)制3)。?

            應(yīng)該說(shuō)明的是,對(duì)于有符號(hào)數(shù),在右移時(shí),符號(hào)位將隨同移動(dòng)。當(dāng)為正數(shù)時(shí),最高位補(bǔ)0,而為負(fù)數(shù)時(shí),符號(hào)位為1,最高位是補(bǔ)0或是補(bǔ)1 取決于編譯系統(tǒng)的規(guī)定。?

            例3:設(shè)二進(jìn)制數(shù)a是00101101 ,若通過(guò)異或運(yùn)算a∧b 使a的高4位取反,低4位不變,則二進(jìn)制數(shù)b是。?

            解析:異或運(yùn)算常用來(lái)使特定位翻轉(zhuǎn),只要使需翻轉(zhuǎn)的位與1進(jìn)行異或操作就可以了,因?yàn)樵瓟?shù)中值為1的位與1進(jìn)行異或運(yùn)算得0 ,原數(shù)中值為0的位與1進(jìn)行異或運(yùn)算結(jié)果得1。而與0進(jìn)行異或的位將保持原值。異或運(yùn)算還可用來(lái)交換兩個(gè)值,不用臨時(shí)變量。?

            如 int a=3 , b=4;,想將a與b的值互換,可用如下語(yǔ)句實(shí)現(xiàn):?

            a=a∧b;?

            b=b∧a;??

            a=a∧b;?

            所以本題的答案為: 11110000 。?

            C語(yǔ)言語(yǔ)法結(jié)構(gòu)

            順序結(jié)構(gòu)

            順序結(jié)構(gòu)的程序設(shè)計(jì)是最簡(jiǎn)單的,只要按照解決問(wèn)題的順序?qū)懗鱿鄳?yīng)的語(yǔ)句就行,它的執(zhí)行順序是自上而下,依次執(zhí)行。

            例如:a=3,b=5,現(xiàn)交換a、b的值,這個(gè)問(wèn)題就好像交換兩個(gè)杯子里面的水,這當(dāng)然要用到第三個(gè)杯子,假如第三個(gè)杯子是c,那么正確的程序?yàn)椋篶=a;a=b;b=c,執(zhí)行結(jié)果是a=5,b=c=3,如果改變其順序,寫成:a=b;c=a;b=c;則執(zhí)行結(jié)果就變成a=b=c=5,不能達(dá)到預(yù)期的目的,初學(xué)者最容易犯這種錯(cuò)誤。順序結(jié)構(gòu)可以獨(dú)立使用構(gòu)成一個(gè)簡(jiǎn)單的完整程序,常見(jiàn)的輸入、計(jì)算、輸出三步曲的程序就是順序結(jié)構(gòu),例如計(jì)算圓的面積,其程序的語(yǔ)句順序就是輸入圓的半徑r,計(jì)算s=3.14159__r__r,輸出圓的面積s。不過(guò)大多數(shù)情況下順序結(jié)構(gòu)都是作為程序的一部分,與其它結(jié)構(gòu)一起構(gòu)成一個(gè)復(fù)雜的程序,例如分支結(jié)構(gòu)中的復(fù)合語(yǔ)句、循環(huán)結(jié)構(gòu)中的循環(huán)體等。

            選擇結(jié)構(gòu)

            順序結(jié)構(gòu)的程序雖然能解決計(jì)算、輸出等問(wèn)題,但不能做判斷再選擇。對(duì)于要先做判斷再選擇的問(wèn)題就要使用選擇結(jié)構(gòu)。選擇結(jié)構(gòu)的執(zhí)行是依據(jù)一定的條件選擇執(zhí)行路徑,而不是嚴(yán)格按照語(yǔ)句出現(xiàn)的物理順序。選擇結(jié)構(gòu)的程序設(shè)計(jì)方法的關(guān)鍵在于構(gòu)造合適的分支條件和分析程序流程,根據(jù)不同的程序流程選擇適當(dāng)?shù)倪x擇語(yǔ)句。選擇結(jié)構(gòu)適合于帶有邏輯或關(guān)系比較等條件判斷的計(jì)算,設(shè)計(jì)這類程序時(shí)往往都要先繪制其程序流程圖,然后根據(jù)程序流程寫出源程序,這樣做把程序設(shè)計(jì)分析與語(yǔ)言分開(kāi),使得問(wèn)題簡(jiǎn)單化,易于理解。程序流程圖是根據(jù)解題分析所繪制的程序執(zhí)行流程圖。

            循環(huán)結(jié)構(gòu)

            循環(huán)結(jié)構(gòu)可以減少源程序重復(fù)書寫的工作量,用來(lái)描述重復(fù)執(zhí)行某段算法的問(wèn)題,這是程序設(shè)計(jì)中最能發(fā)揮計(jì)算機(jī)特長(zhǎng)的程序結(jié)構(gòu),C語(yǔ)言中提供四種循環(huán),即goto循環(huán)、while循環(huán)、do while循環(huán)和for循環(huán)。四種循環(huán)可以用來(lái)處理同一問(wèn)題,一般情況下它們可以互相代替換,但一般不提倡用goto循環(huán),因?yàn)閺?qiáng)制改變程序的順序經(jīng)常會(huì)給程序的運(yùn)行帶來(lái)不可預(yù)料的錯(cuò)誤。

            特別要注意在循環(huán)體內(nèi)應(yīng)包含趨于結(jié)束的語(yǔ)句(即循環(huán)變量值的改變),否則就可能成了一個(gè)死循環(huán),這是初學(xué)者的一個(gè)常見(jiàn)錯(cuò)誤。

            三個(gè)循環(huán)的異同點(diǎn):用while和do while循環(huán)時(shí),循環(huán)變量的初始化的操作應(yīng)在循環(huán)體之前,而for循環(huán)一般在語(yǔ)句1中進(jìn)行的;while循環(huán)和for循環(huán)都是先判斷表達(dá)式,后執(zhí)行循環(huán)體,而do while循環(huán)是先執(zhí)行循環(huán)體后判斷表達(dá)式,也就是說(shuō)do while的循環(huán)體最少被執(zhí)行一次,而while循環(huán)和for就可能一次都不執(zhí)行。另外還要注意的是這三種循環(huán)都可以用break語(yǔ)句跳出循環(huán),用continue語(yǔ)句結(jié)束本次循環(huán),而goto語(yǔ)句與if構(gòu)成的循環(huán),是不能用break和continue語(yǔ)句進(jìn)行控制的。

            順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)并不彼此孤立的,在循環(huán)中可以有分支、順序結(jié)構(gòu),分支中也可以有循環(huán)、順序結(jié)構(gòu),其實(shí)不管哪種結(jié)構(gòu),均可廣義的把它們看成一個(gè)語(yǔ)句。在實(shí)際編程過(guò)程中常將這三種結(jié)構(gòu)相互結(jié)合以實(shí)現(xiàn)各種算法,設(shè)計(jì)出相應(yīng)程序,但是要編程的問(wèn)題較大,編寫出的程序就往往很長(zhǎng)、結(jié)構(gòu)重復(fù)多,造成可讀性差,難以理解,解決這個(gè)問(wèn)題的方法是將C程序設(shè)計(jì)成模塊化結(jié)構(gòu)。

            具體內(nèi)容:

            for循環(huán)

            for循環(huán)結(jié)構(gòu)是c語(yǔ)言中最具有特色的循環(huán)語(yǔ)句,使用最為靈活方便,它的一般形式為:

            for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體語(yǔ)句。(其中;不能省略)

            表達(dá)式1為初值表達(dá)式,用于在循環(huán)開(kāi)始前為循環(huán)變量賦初值。

            表達(dá)式2是循環(huán)控制邏輯表達(dá)式,它控制循環(huán)執(zhí)行的條件,決定循環(huán)的次數(shù)。

            表達(dá)式3為循環(huán)控制變量修改表達(dá)式,它使for循環(huán)趨向結(jié)束。

            循環(huán)體語(yǔ)句是在循環(huán)控制條件成立的情況下被反復(fù)執(zhí)行的語(yǔ)句。

            但是在整個(gè)for循環(huán)過(guò)程中,表達(dá)式1只計(jì)算一次,表達(dá)式2和表達(dá)式3則可能計(jì)算多次,也可能一次也不計(jì)算。循環(huán)體可能多次執(zhí)行,也可能一次都不執(zhí)行。

            先執(zhí)行表達(dá)式2,然后執(zhí)行循環(huán)結(jié)構(gòu),最后表達(dá)式3,一直這樣循環(huán)下去。

            for循環(huán)語(yǔ)句是c語(yǔ)言種功能最為強(qiáng)大的語(yǔ)句,甚至在一定程度上可以代替其他的循環(huán)語(yǔ)句。

            do

            do循環(huán)結(jié)構(gòu),do 1 while(2);的執(zhí)行順序是1->2->1...循環(huán),2為循環(huán)條件。

            while

            while循環(huán)結(jié)構(gòu),while(1) 2;的執(zhí)行順序是1->2->1...循環(huán),1為循環(huán)條件

            以上循環(huán)語(yǔ)句,當(dāng)循環(huán)條件表達(dá)式為真則繼續(xù)循環(huán),為假則跳出循環(huán)。

            C語(yǔ)言基礎(chǔ)知識(shí)點(diǎn)

            【知識(shí)點(diǎn)1】C程序

            C語(yǔ)言程序結(jié)構(gòu)有三種: 順序結(jié)構(gòu) , 循環(huán)結(jié)構(gòu)(三個(gè)循環(huán)結(jié)構(gòu)), 選擇結(jié)構(gòu)(if 和 switch)

            【知識(shí)點(diǎn)2】main函數(shù)

            每個(gè)C語(yǔ)言程序中main 函數(shù)是有且只有一個(gè)。讀程序都要從main()入口, 然后從最上面順序往下讀(碰到循環(huán)做循環(huán),碰到選擇做選擇)。

            【知識(shí)點(diǎn)3】存儲(chǔ)形式

            計(jì)算機(jī)的數(shù)據(jù)在電腦中是以二進(jìn)制的形式保存。最低的存儲(chǔ)單元是bit(位),位是由為 0 或者1構(gòu)成。 byte 是指字節(jié), 一個(gè)字節(jié) = 八個(gè)位。數(shù)據(jù)存放的位置就是它的地址。

            【知識(shí)點(diǎn)4】注釋

            是對(duì)程序的`說(shuō)明,可出現(xiàn)在程序中任意合適的地方,注釋從“/__”開(kāi)始到最近一個(gè)“__/”結(jié)束,其間任何內(nèi)容都不會(huì)被計(jì)算機(jī)執(zhí)行,注釋不可以嵌套。

            【知識(shí)點(diǎn)5】書寫格式

            每條語(yǔ)句的后面必須有一個(gè)分號(hào),分號(hào)是語(yǔ)句的一部分。一行內(nèi)可寫多條語(yǔ)句,一個(gè)語(yǔ)句可寫在多行上。

            【知識(shí)點(diǎn)6】標(biāo)識(shí)符

            合法的用戶標(biāo)識(shí)符考查:

            合法的要求是由字母,數(shù)字,下劃線組成。有其它元素就錯(cuò)了。

            并且第一個(gè)必須為字母或則是下劃線。第一個(gè)為數(shù)字就錯(cuò)了。

            C語(yǔ)言標(biāo)識(shí)符分如下3類

            (1)關(guān)鍵字。它們?cè)诔绦蛑杏泄潭ǖ暮x,不能另作他用。如int、for、switch等。

            (2)預(yù)定義標(biāo)識(shí)符。預(yù)先定義并具有特定含義的標(biāo)識(shí)符。如define、include等。

            (3)用戶標(biāo)識(shí)符。用戶根據(jù)需要定義的標(biāo)識(shí)符,符合命名規(guī)則且不與關(guān)鍵字相同。

            關(guān)鍵字不可以作為用戶標(biāo)識(shí)符號(hào)。main define scanf printf 都不是關(guān)鍵字。迷惑你的地方If 是可以做為用戶標(biāo)識(shí)符。因?yàn)镮f 中的第一個(gè)字母大寫了,所以不是關(guān)鍵字。

            【知識(shí)點(diǎn)7】實(shí)型數(shù)據(jù)

            實(shí)型數(shù)據(jù)的合法形式:小數(shù)形式和指數(shù)形式。掌握判定指數(shù)形式合法性。

            2.333e-1 就是合法的,且數(shù)據(jù)是2.333×10-1。

            考試口訣:e 前e 后必有數(shù),e 后必為整數(shù)。

            【知識(shí)點(diǎn)8】字符

            字符數(shù)據(jù)的合法形式::

            1 是字符占一個(gè)字節(jié),"1"是字符串占兩個(gè)字節(jié)(含有一個(gè)結(jié)束符號(hào))。

            0 的ASCII 數(shù)值表示為48,a 的ASCII 數(shù)值是97,A的ASCII 數(shù)值是65。

            字符型和整數(shù)是近親:

            char a = 65 ;

            printf(“%c”, a); 得到的輸出結(jié)果:a

            printf(“%d”, a); 得到的輸出結(jié)果:65

            一般考試表示單個(gè)字符錯(cuò)誤的形式:65 "1"

            字符是可以進(jìn)行算術(shù)運(yùn)算的,記?。?0-0=48

            大寫字母和小寫字母轉(zhuǎn)換的方法: A+32=a 相互之間一般是相差32。

            【知識(shí)點(diǎn)9】整型數(shù)據(jù)

            整型一般是兩個(gè)字節(jié), 字符型是一個(gè)字節(jié),雙精度一般是4 個(gè)字節(jié):

            考試時(shí)候一般會(huì)說(shuō),在16 位編譯系統(tǒng),或者是32 位系統(tǒng)。碰到這種情況,不要去管,

            一樣做題。掌握整型一般是兩個(gè)字節(jié), 字符型是一個(gè)字節(jié),雙精度一般是4 個(gè)字節(jié)就可以了。

            【知識(shí)點(diǎn)10】轉(zhuǎn)義字符

            轉(zhuǎn)義字符的考查:

            在程序中 int a = 0x6d,是把一個(gè)十六進(jìn)制的數(shù)給變量a 注意這里的0x 必須存在。

            在程序中 int a = 06d, 是一個(gè)八進(jìn)制的形式。

            在轉(zhuǎn)義字符中, ’x6d’ 才是合法的,0 不能寫,并且x 是小寫。

            ‘141’ 是合法的, 0 是不能寫的。

            ‘108’是非法的,因?yàn)椴豢梢猿霈F(xiàn)8。

            【知識(shí)點(diǎn)11】算術(shù)運(yùn)算

            算術(shù)運(yùn)算符一共有+、—、__、/、%這五個(gè)。%符號(hào)兩邊要求是整數(shù)。不是整數(shù)就錯(cuò)了。

            三種取整丟小數(shù)的情況:不是四舍五入是舍掉小數(shù)部分。

            1、int a =1.6;

            2、(int)a;

            3、1/2; 3/2;

            【知識(shí)點(diǎn)12】強(qiáng)制類型轉(zhuǎn)換

            將一個(gè)運(yùn)算對(duì)象轉(zhuǎn)換成指定類型,格式為(類型名)表達(dá)式

            一定是 (int)a 不是 int(a),注意類型上一定有括號(hào)的。

            注意(int)(a+b) 和(int)a+b 的區(qū)別。前是把a(bǔ)+b 轉(zhuǎn)型,后是把a(bǔ) 轉(zhuǎn)型再加b。

            【知識(shí)點(diǎn)13】賦值

            是表達(dá)式就一定有數(shù)值。

            賦值表達(dá)式:表達(dá)式數(shù)值是最左邊的數(shù)值,a=b=5;該表達(dá)式為5,常量不可以賦值。

            復(fù)合賦值運(yùn)算符:注意:a__=m+2 是 a=a__(m+2)

            自加、自減表達(dá)式:假設(shè)a=5,++a(表達(dá)式的值為6), a++(表達(dá)式的值為5);

            j=a++;等價(jià)于j=a;a=a+1; 而j=++a;等價(jià)于a=a+1;j=a;。

            考試口訣:++在前先加后用,++在后先用后加。

            【知識(shí)點(diǎn)14】逗號(hào)運(yùn)算

            逗號(hào)表達(dá)式:優(yōu)先級(jí)別最低; 表達(dá)式的數(shù)值逗號(hào)最右邊的那個(gè)表達(dá)式的數(shù)值。

            (2,3,4)的表達(dá)式的數(shù)值就是4。

            【知識(shí)點(diǎn)15】數(shù)制轉(zhuǎn)換

            一定要記住二進(jìn)制 如何轉(zhuǎn)換成十進(jìn)制。

            八進(jìn)制是沒(méi)有8 的,逢8 進(jìn)1,018 的數(shù)值是非法的。

              為你推薦