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

            科普

            C語言入門基礎知識_C語言語法結(jié)構 IT知識

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

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

            c語言入門基礎知識

            賦值運算符與賦值表達式

            一、賦值運算符與賦值表達式?

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

            變量名 = 表達式?

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

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

            說明:?a、如果賦值號兩邊的運算對象類型不一致,系統(tǒng)會自動進行類型轉(zhuǎn)換,轉(zhuǎn)換的規(guī)則:將賦值號右邊表達式的值的類型轉(zhuǎn)換成賦值號左邊變量的類型,?

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

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

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

            二、復合的賦值運算符?

            在賦值運算符之前加上其他運算符可以構成復合賦值運算符。其中與算術運算有關的復合運算符是:+=,-=,_=,/=,%= 。?

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

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

            步驟:?

            (1)先進行“a-=a_a“運算,相當于a=a-a_a=12-144=-132 。?

            (2)再進行“a+=-132“運算,相當于 a=a+(-132)=-132-132=-264 。?

            關系運算符和關系表達式

            一、C語言中的邏輯值?

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

            二、邏輯表達式?

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

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

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

            (2)a||b: 當||兩邊有一個為“真”時,表達式a||b的值就是真。?

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

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

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

            例:(!5==1)&&(++i==0) (!5==1)表達式的值為0,所以計算機運行中就跳過(++i==0)此表達式,(!5==1)&&(++i==0)表達式的值為0.?

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

            位運算

            一、位運算符?

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

            二、位運算?

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

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

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

            例如:?

            a<<4?

            指把a的各二進位向左移動4位。如a=00000011(十進制3),左移4位后為00110000(十進制48)。?

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

            例如:?

            設 a=15,?

            a>>2?

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

            應該說明的是,對于有符號數(shù),在右移時,符號位將隨同移動。當為正數(shù)時,最高位補0,而為負數(shù)時,符號位為1,最高位是補0或是補1 取決于編譯系統(tǒng)的規(guī)定。?

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

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

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

            a=a∧b;?

            b=b∧a;??

            a=a∧b;?

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

            C語言語法結(jié)構

            順序結(jié)構

            順序結(jié)構的程序設計是最簡單的,只要按照解決問題的順序?qū)懗鱿鄳恼Z句就行,它的執(zhí)行順序是自上而下,依次執(zhí)行。

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

            選擇結(jié)構

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

            循環(huán)結(jié)構

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

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

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

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

            具體內(nèi)容:

            for循環(huán)

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

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

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

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

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

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

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

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

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

            do

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

            while

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

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

            C語言基礎知識點

            【知識點1】C程序

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

            【知識點2】main函數(shù)

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

            【知識點3】存儲形式

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

            【知識點4】注釋

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

            【知識點5】書寫格式

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

            【知識點6】標識符

            合法的用戶標識符考查:

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

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

            C語言標識符分如下3類

            (1)關鍵字。它們在程序中有固定的含義,不能另作他用。如int、for、switch等。

            (2)預定義標識符。預先定義并具有特定含義的標識符。如define、include等。

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

            關鍵字不可以作為用戶標識符號。main define scanf printf 都不是關鍵字。迷惑你的地方If 是可以做為用戶標識符。因為If 中的第一個字母大寫了,所以不是關鍵字。

            【知識點7】實型數(shù)據(jù)

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

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

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

            【知識點8】字符

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

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

            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

            一般考試表示單個字符錯誤的形式:65 "1"

            字符是可以進行算術運算的,記?。?0-0=48

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

            【知識點9】整型數(shù)據(jù)

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

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

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

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

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

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

            在程序中 int a = 06d, 是一個八進制的形式。

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

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

            ‘108’是非法的,因為不可以出現(xiàn)8。

            【知識點11】算術運算

            算術運算符一共有+、—、__、/、%這五個。%符號兩邊要求是整數(shù)。不是整數(shù)就錯了。

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

            1、int a =1.6;

            2、(int)a;

            3、1/2; 3/2;

            【知識點12】強制類型轉(zhuǎn)換

            將一個運算對象轉(zhuǎn)換成指定類型,格式為(類型名)表達式

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

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

            【知識點13】賦值

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

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

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

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

            j=a++;等價于j=a;a=a+1; 而j=++a;等價于a=a+1;j=a;。

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

            【知識點14】逗號運算

            逗號表達式:優(yōu)先級別最低; 表達式的數(shù)值逗號最右邊的那個表達式的數(shù)值。

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

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

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

            八進制是沒有8 的,逢8 進1,018 的數(shù)值是非法的。

              為你推薦