色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

大學(xué)c語言必背基礎(chǔ)知識_c語言基礎(chǔ)知識大全

倩倩 ? 來源:網(wǎng)絡(luò)整理 ? 2018-02-08 16:02 ? 次閱讀

對于剛學(xué)計算機編程的同學(xué)來說,沒一個編程知識都覺得很重要,其實不是的。下面小編為大家整理了相關(guān)大學(xué)c語言必背基礎(chǔ)知識,希望大家喜歡。

大學(xué)c語言必背基礎(chǔ)知識

大學(xué)c語言必背基礎(chǔ)知識_c語言基礎(chǔ)知識大全

舉例說明:

printf(“-”,123 ); 第二部分有三位,大于指定的兩位,原樣輸出123

printf(“]”,123 ); 第二部分有三位,小于指定的五位,左邊補兩個空格 123

printf(“f”,1.25 ); 小數(shù)要求補足6位的,沒有六位的補0,。結(jié)果為1.250000

printf(“%5.3f”,125 ); 小數(shù)三位,整個五位,結(jié)果為1.250(小數(shù)點算一位)

printf(“%3.1f”,1.25 );小數(shù)一位,整個三位,結(jié)果為1.3(要進行四舍五入)

第三節(jié) 數(shù)據(jù)輸入

1、scanf(“a=%d,b=%d”,&a,&b) 考試超級重點!一定要記住是以第一部分的格式在終端輸入數(shù)據(jù)。考試核心為:一模一樣。在黑色屏幕上面輸入的為 a=12,b=34才可以把12和34正確給a和b 。有一點不同也不行。

2、scanf(“%d,%d”,x,y);這種寫法絕對錯誤,scanf的第二個部分一定要是地址!scanf(“%d,%d”,&x,&y);注意寫成這樣才可以!

3、特別注意指針在scanf的考察例如: int x=2;int *p=&x;scanf(“%d”,x); 錯誤 scanf(“%d”,p);正確scanf(“%d”,&p); 錯誤 scanf(“%d”,*p)錯誤

4、指定輸入的長度 (考試重點)終端輸入:1234567scanf(“-M%d”,&x,&y,&z);x為12,y為3456,z為7終端輸入:1 234567 由于1和2中間有空格,所以只有1位給xscanf(“-M%d”,&x,&y,&z);x為1,y為2345,z為67

5、字符和整型是近親:int x=97;printf(“%d”,x); 結(jié)果為97printf(“%c”,x); 結(jié)果為 a

6、輸入時候字符和整數(shù)的區(qū)別(考試超級重點)

scanf(“%d”,&x);這個時候輸入1,特別注意表示的是整數(shù)1

scanf(“%c”,&x);這個時候輸入1,特別注意表示的是字符‘1’ASCII為整數(shù)48。

補充說明:

1)scanf函數(shù)的格式考察:

注意該函數(shù)的第二個部分是&a 這樣的地址,不是a;scanf(“%d%d%*d%d”,&a,&b,&c); 跳過輸入的第三個數(shù)據(jù)。

2)putchar ,getchar 函數(shù)的考查:

char a = getchar() 是沒有參數(shù)的,從鍵盤得到你輸入的一個字符給變量a。putchar(‘y’)把字符y輸出到屏幕中。

3)如何實現(xiàn)兩個變量x ,y中數(shù)值的互換(要求背下來)

不可以把 x=y ,y=x; 要用中間變量 t=x;x=y;y=t。

4)如何實現(xiàn)保留三位小數(shù),第四位四舍五入的程序,(要求背下來)

y=(int)(x*100+0.5)/100.0 這個保留兩位,對第三位四舍五入

y=(int)(x*1000+0.5)/1000.0 這個保留三位,對第四位四舍五入

y=(int)(x*10000+0.5)/10000.0 這個保留四位,對第五位四舍五入

這個有推廣的意義,注意 x = (int)x 這樣是把小數(shù)部分去掉。

第三章

特別要注意:C語言中是用非0表示邏輯真的,用0表示邏輯假的。

C語言有構(gòu)造類型,沒有邏輯類型。

關(guān)系運算符號:注意《=的寫法,==和=的區(qū)別!(考試重點)

if只管后面一個語句,要管多個,請用大括號!

1)關(guān)系表達式:

a、表達式的數(shù)值只能為1(表示為真),或0(表示假)。

如 9》8這個關(guān)系表達式是真的,所以9》8這個表達式的數(shù)值就是1。

如 7《6這個關(guān)系表達式是假的,所以7《6這個表達式的數(shù)值就是0

b、考試最容易錯的:就是int x=1,y=0,z=2;

x《y《z是真還是假?帶入為1《0《2,從數(shù)學(xué)的角度出發(fā)肯定是錯的,但是如果是C語言那么就是正確的!因為要1《0為假得到0,表達式就變成了0《2那么運算結(jié)果就是1,稱為了真的了!

c、等號和賦值的區(qū)別!一定記住“=”就是賦值,“= =”才是等號。雖然很多人可以背誦,但我依然要大家一定好好記住,否則,做錯了,我一定會強烈的鄙視你!

2)邏輯表達式:

核心:表達式的數(shù)值只能為1(表示為真),或0(表示假)。

a) 共有&& || ! 三種邏輯運算符號。

b) !》&&》|| 優(yōu)先的級別。

c) 注意短路現(xiàn)象。考試比較喜歡考到。 詳細請見書上例子,一定要會做例1和例2

d) 表示 x 小于0大于10的方法。

0《x《10是不行的(一定記住)。是先計算0《x 得到的結(jié)果為1或則0;再用0,或1與10比較得到的總是真(為1)。所以一定要用 (0《x)&&(x《10)表示比0大比10小。

3)if 語句

a、else 是與最接近的if且沒有else的語句匹配。

b、交換的程序?qū)懛ǎ簍=x;x=y;y=t;

c、if(a《b)t=a;a=b;b=t;if(a《b){t=a;a=b;b=t;}兩個的區(qū)別,考試多次考到了!

d、單獨的if語句:if(a《b)t=a;標準的if語句:if(a《b)min=a;else min=b;嵌套的if語句:if(a《b)if(b》c)printf(“ok!”);多選一的if語句if(a= =t)printf(“a”);else if(b= =t)printf(“b”);else if(c= =t)printf(“c”);else pritnf(“d”);

通過習(xí)題,要熟悉以上幾種if語句!

經(jīng)典考題:結(jié)合上面四種if語句題型做題,答錯了,請自行了斷!預(yù)備,開始!

int a=1,b=0;if(!a)b++;else if(a= =0)if(a)b+=2;else b+=3;請問b的值是多少?

如果沒有看懂題目,你千萬不要自行了斷,這樣看得懂不會做的人才會有理由的活著。

正確的是b為3。

int a=1,b=0;

if(!a)b++; 是假的不執(zhí)行

else if(a= =0) 是假的部執(zhí)行

if(a)b+=2; 屬于else if的嵌套if語句,不執(zhí)行。

else b+=3; if-else-if語句沒有一個正確的,就執(zhí)行else的語句!

4)條件表達式:

表達式1 ?表達式2 :表達式3

a、考試口訣:真前假后。

b、注意是當(dāng)表達式1的數(shù)值是非0時,才采用表達式2的數(shù)值做為整個運算結(jié)果,當(dāng)表達式1的數(shù)值為0時,就用表達式3的數(shù)值做為整個的結(jié)果。

c、int a=1,b=2,c=3,d=4,e=5;

k=a》b?c:d》e?d:e;求k的數(shù)值時多少? 答案為san

5)switch語句:

a) 執(zhí)行的流程一定要弄懂!上課時候詳細的過程講了,請自己一定弄懂!

b)注意有break 和沒有break的差別,書上的兩個例子,沒有break時候,只要有一個case匹配了,剩下的都要執(zhí)行,有break則是直接跳出了swiche語句。break在C語言中就是分手,一刀兩斷的意思。

c) switch只可以和break一起用,不可以和continue用。

d) switch(x) x:是整型常量,字符型常量,枚舉型數(shù)據(jù)。

{case 1: …。 不可以是變量。case 2: …。}e)switch是必考題型,請大家一定要完成書上的課后的switch的習(xí)題。

大學(xué)C語言復(fù)習(xí)重點

1)程序結(jié)構(gòu)是三種: 順序結(jié)構(gòu) 、選擇結(jié)構(gòu)(分支結(jié)構(gòu))、循環(huán)結(jié)構(gòu)。

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

3)計算機的數(shù)據(jù)在電腦中保存是以 二進制的形式。 數(shù)據(jù)存放的位置就是 他的地址。

4)bit是位 是指為0 或者1。 byte 是指字節(jié), 一個字節(jié) = 八個位。

概念常考到的:

1、編譯預(yù)處理不是C語言的一部分,不占運行時間,不要加分號。C語言編譯的程序稱為源程序,它以ASCII數(shù)值存放在文本文件中。

2、define PI 3.1415926; 這個寫法是錯誤的,一定不能出現(xiàn)分號。

3、每個C語言程序中main函數(shù)是有且只有一個。

4、在函數(shù)中不可以再定義函數(shù)。

5、算法:可以沒有輸入,但是一定要有輸出。

6、break可用于循環(huán)結(jié)構(gòu)和switch語句。

7、逗號運算符的級別最低,賦值的級別倒數(shù)第二。

C語言基礎(chǔ)知識大全

C語言程序的結(jié)構(gòu)認識

用一個簡單的c程序例子,介紹c語言的基本構(gòu)成、格式、以及良好的書寫風(fēng)格,使小伙伴對c語言有個初步認識。

例1:計算兩個整數(shù)之和的c程序:

#include main() { int a,b,sum; /*定義變量a,b,sum為整型變量*/ a=20; /*把整數(shù)20賦值給整型變量a*/ b=15; /*把整數(shù)15賦值給整型變量b*/ sum=a+b; /*把兩個數(shù)之和賦值給整型變量sum*/ printf(“a=%d,b=%d,sum=%d\n”,a,b,sum); /*把計算結(jié)果輸出到顯示屏上*/ }

重點說明:

1、任何一個c語言程序都必須包括以下格式:

main() { }

這是c語言的基本結(jié)構(gòu),任何一個程序都必須包含這個結(jié)構(gòu)。括號內(nèi)可以不寫任何內(nèi)容,那么該程序?qū)⒉粓?zhí)行任何結(jié)果。

2、main()----在c語言中稱之為“主函數(shù)”,一個c程序有且僅有一個main函數(shù),任何一個c程序總是從main函數(shù)開始執(zhí)行,main函數(shù)后面的一對圓括號不能省略。

3、被大括號{ }括起來的內(nèi)容稱為main函數(shù)的函數(shù)體,這部分內(nèi)容就是計算機要執(zhí)行的內(nèi)容。

4、在{ }里面每一句話后面都有一個分號(;),在c語言中,我們把以一個分號結(jié)尾的一句話叫做一個c語言的語句,分號是語句結(jié)束的標志。

5、printf(“a=%d,b=%d,sum=%d\n”,a,b,sum); ----通過執(zhí)行這條c語言系統(tǒng)提供給我們直接使用的屏幕輸出函數(shù),用戶即可看到運行結(jié)果,本程序運行后,將在顯示器上顯示如下結(jié)果:

a=20,b=15,sum=35

6、#include

注意:(1)以#號開頭 (2)不以分號結(jié)尾 這一行沒有分號,所以不是語句,在c語言中稱之為命令行,或者叫做“預(yù)編譯處理命令”。

7、程序中以 /*開頭并且以*/結(jié)尾的部分表示程序的注釋部分,注釋可以添加在程序的任何位置,為了提高程序的可讀性而添加,但計算機在執(zhí)行主函數(shù)內(nèi)容時完全忽略注釋部分,換而言之就是計算機當(dāng)做注釋部分不存在于主函數(shù)中。

C程序的生成過程

C程序是先由源文件經(jīng)編譯生成目標文件,然后經(jīng)過連接生成可執(zhí)行文件。

源程序的擴展名為 .c ,目標程序的擴展名為 .obj , 可執(zhí)行程序的擴展名為 .exe 。

標識符

在編寫程序時,必須為函數(shù)、變量等命名,這個名字稱為標識符。C語言中標識符的命名規(guī)則如下:

標識符只能由字母、數(shù)字、下劃線組成;

標識符的第一個字母必須是字母和下劃線;

標識符區(qū)分大小寫字母,如If和if是兩個完全不同的標識符。

合法標識符如下: A6, b_3 , _mn 非法的標識符如下: ab#12 , 8m , tr3:4 , yes no

標識符不能與程序中具有特殊意義的關(guān)鍵字相同,不能與用戶編制的函數(shù)名、C語言庫函數(shù)相同,在程序中各種標識符盡量不要重復(fù),以便區(qū)分。選擇變量名和其他標識符時,應(yīng)注意做到 “見名知義”。

標識符分為如下三類:

1、關(guān)鍵字

關(guān)鍵字是具有特定含義的,專門用來說明c語言特定成分的一類標識符,不能用作用戶的標識符。

auto break case char union do double else enum extern goto if int long short signed static sizof struct switch unsigned void for while typedef continue float return typedef default

2、預(yù)定義標識符

預(yù)定義標識符在c語言中也有特定的含義,但可以用作用戶標識符,預(yù)定義標識符分為兩類:

(1)、庫函數(shù)名字,比如(printf,scanf,sin,isdigit等) (2)、編譯處理命令名,比如(define,include)

3、用戶標識符

用戶根據(jù)需要自己定義的標識符稱為用戶標識符。無論如何自定義標識符,都必須符合標識符的三條命名規(guī)則。

常量

在程序運行中,其值不能被改變的量稱為常量。常量有5種類型:整型常量、實型常量、字符常量、字符串常量和符號常量。

(一)數(shù)值轉(zhuǎn)換

數(shù)字的四種表現(xiàn)形式:

①:二進制:所有數(shù)字由0,1構(gòu)成,逢二進一,二進制數(shù)中不會出現(xiàn)2.。 例: ②:八進制:以數(shù)字0(注意不是以字母O,o)開頭,所有數(shù)字由0~7構(gòu)成,逢八進一,八進制數(shù)中不會出現(xiàn)8。 例:0112,0123,077等 ③:十進制:所有數(shù)字由0~9構(gòu)成,逢十進一,十進制數(shù)中不會出現(xiàn)10。 例:0,12,-15等 ④:十六進制:以0x或者0X(數(shù)字0加字母x)開頭,所有數(shù)字由0~9,A~F(或者a~f)構(gòu)成,逢十六進一(其中A、B、C、D、E、F分別代表10、11、12、13、14、15) 例:0x4A、0X14c7等

在計算機內(nèi)部,數(shù)字均以二進制形式表示和存放,用戶輸入的普通十進制數(shù)字都要被計算機轉(zhuǎn)換成二進制才能在計算機內(nèi)部存儲,同樣計算機的運算結(jié)果也為二進制,一般要將其轉(zhuǎn)換成十進制數(shù)再輸出給用戶閱讀,這種轉(zhuǎn)換通常由計算機自動實現(xiàn)。

(1)將十進制轉(zhuǎn)換二進制、八進制和十六進制

除法:將十進制數(shù)除以2,記錄余數(shù),得到的商繼續(xù)除以2,直到商為0,然后將各次相處所得的余數(shù)從后往前逆序排列,所得余數(shù)數(shù)字序列就是該十進制數(shù)對應(yīng)的二進制數(shù)。八進制和十六進制轉(zhuǎn)換方法同上。

例:十進制數(shù)13轉(zhuǎn)換成二進制數(shù)的值為1101,轉(zhuǎn)換八進制為015,轉(zhuǎn)換成十六進制為D.

(2)將二進制、八進制和十六進制轉(zhuǎn)換成十進制

乘積求和:將二進制的每一位從低位到高位(右邊為低位,左邊為高位)分別乘以20,21,22。。。。,然后將這些積求和。

例如:=(13)10 (317)8= (23E)16=

(3)二進制與八進制、十六進制數(shù)之間的相互轉(zhuǎn)換

①:二進制轉(zhuǎn)八進制:從右往左每三位一組轉(zhuǎn)換成十進制數(shù),將所得數(shù)據(jù)組合就是對應(yīng)的八進制數(shù)(注意:高位不足三位補零)。 例:(010 110 111)2=(267)8 ②:二進制轉(zhuǎn)十六進制:從右往左每四位一組轉(zhuǎn)換成十進制數(shù),將所得數(shù)據(jù)組合就是對應(yīng)的十六進制數(shù)(注意:高位不足四位補零)。 例:(0101 1011)2=(5B)16 ③:八進制轉(zhuǎn)化二進制:每一位數(shù)字轉(zhuǎn)換為三位二進制數(shù)字 例:(13)8=(001 011)2= (注意:去掉前面的兩個00,因為0在高位沒有意義) ④:十六進制轉(zhuǎn)化二進制:每一位數(shù)字轉(zhuǎn)換為四位二進制數(shù)字 例:(E3)16=(1110 0011)2

二)整型常量

整型常量有3種形式:十進制整型常量、八進制整型常量和十六進制整型常量。

(注意:c語言中沒有直接表示二進制的整型常量,在c語言源程序中不會出現(xiàn)二進制。)

書寫方式如下:

十進制整型常量:123 , 0 ,-24 , 85L(長整型常量) 等 八進制整型常量:051 ,-026 ,0773 等 十六進制整型常量:0x55 , 0x1101 , 0x , 0x5AC0 , -0xFF。 其中L為長整型。

(三)實型常量

實型常量有兩種表示形式:小數(shù)形式和指數(shù)形式。

小數(shù)形式:5.4 0.074 -23.0 指數(shù)形式:5.4e0 4.3e-3 -3.3e4

(1)小數(shù)部分為0的實型常量,可以寫為453.0 或453。 (2)用小數(shù)表示時,小數(shù)點的兩邊必須有數(shù),不能寫成“ .453“和“453.“,而應(yīng)該寫成“0.453“和“453.0“。 (3)用指數(shù)寫法時,e前必須有數(shù)字,e后面的指數(shù)必須為整數(shù)(注意:整數(shù)階碼可以是正數(shù),負數(shù),也可以是八進制數(shù)、十六進制數(shù),但必須為整數(shù))。

(四)字符常量

字符常量的標志是一對單引號‘ ’,c語言中的字符常量有兩類:

(1)由一對單引號括起來的一個字符,如‘a(chǎn) ’, ‘r’ ,‘#’。注意: ′a′ 和 ′A′ 是兩個不同的字符常量。

(2)由一對單引號括起來,以反斜杠\開頭,后跟若干數(shù)字或者字母,比如‘\n’,其中“\“是轉(zhuǎn)義的意思,后面跟不同的字符表示不同的意思,這類字符常量叫轉(zhuǎn)義字符。具體如圖所示 。

轉(zhuǎn)義字符 轉(zhuǎn)義字符的意義 ASCII碼

\n 回車換行 10 \t 橫向跳到下一制表位置 9 \b 退格 8 \r 回車 13 \f 走紙換頁 12 \\ 反斜線符“\” 92 \‘ 單引號符 39 \” 雙引號符 34 \a 鳴鈴 7 \ddd 1~3位八進制數(shù)所代表的字符 \xhh 1~2位十六進制數(shù)所代表的字符

五)字符串常量

C語言中,以雙引號括起來的,由若干個字符組成的序列即為字符串常量。

例:“ni hao” “happy”等等。

(六)符號常量

符號常量是由宏定義“#define“定義的常量,在C程序中可用標識符代表一個常量。

例:計算圓的面積的c程序。

#include #define PI 3. main() { float r,s; r=12.5; S=PI *r*r; printf(“s= %f ”,s); }

說明:

#define 是宏定義,此程序中所有出現(xiàn)PI的地方都代表3.,同時PI稱為符號常量。習(xí)慣上我們用大寫字母來表示符號常量,小寫字母表示變量,這樣比較容易區(qū)別。

變量

變量就是其值可以改變的量。變量要有變量名,在內(nèi)存中占據(jù)一定的存儲單元,存儲單元里存放的是該變量的值。不同類型的變量其存儲單元的大小不同,變量在使用前必須定義。

(一)整型變量

整型變量分為4種:基本型(int)、短整型(short int 或short)、長整型(long int 或 long)和無符號型(unsigned int ,unsigned short,unsigned long)。

不同的編譯系統(tǒng)對上述四種整型數(shù)據(jù)所占用的位數(shù)和數(shù)值范圍有不同的規(guī)定。

類型說明符

大學(xué)c語言必背基礎(chǔ)知識_c語言基礎(chǔ)知識大全

單詞signed來說明“有符號”(即有正負數(shù)之分),不寫signed也隱含說明為有符號,unsigned用來說明“無符號”(只表示正數(shù))。

(二)實型變量

C語言中,實型變量分為單精度類型( float )和雙精度類型( double )兩種。如:

float a , b ; double m ;

在vc中,float 型數(shù)據(jù)在內(nèi)存中占4個字節(jié)(32位),double型數(shù)據(jù)占8個字節(jié)。單精度實數(shù)提供7位有效數(shù)字,雙精度實數(shù)提供15~16位有效數(shù)字。實型常量不分float型和double型,一個實型常量可以賦給一個float 型或double型變量,但變量根據(jù)其類型截取實型常量中相應(yīng)的有效數(shù)字。

注意:實型變量只能存放實型值,不能用整型變量存放實型值,也不能用實型變量存放整型值。

(三)字符變量

字符變量用來存放字符常量,定義形式:

char 變量名;

其中關(guān)鍵字char定義字符型數(shù)據(jù)類型,占用一個字節(jié)的存儲單元。

例:char cr1,cr2; cr1= ‘A’ , cr2=‘B’ ;

將一個字符賦給一個字符變量時,并不是將該字符本身存儲到內(nèi)存中,而是將該字符對應(yīng)的ASCII碼存儲到內(nèi)存單元中。例如,字符 ′A′ 的ASCII碼為65,在內(nèi)存中的存放形式如下:0

由于在內(nèi)存中字符以ASCII碼存放,它的存儲形式和整數(shù)的存儲形式類似,所以C語言中字符型數(shù)據(jù)與整型數(shù)據(jù)之間可以通用,一個字符能用字符的形式輸出,也能用整數(shù)的形式輸出,字符數(shù)據(jù)也能進行算術(shù)運算,此時相當(dāng)于對它們的ASCII碼進行運算。

類型的自動轉(zhuǎn)換和強制轉(zhuǎn)換

當(dāng)同一表達式中各數(shù)據(jù)的類型不同時,編譯程序會自動把它們轉(zhuǎn)變成同一類型后再進行計算。轉(zhuǎn)換優(yōu)先級為:

char 《 int 《 float 《 double

即左邊級別“低“的類型向右邊轉(zhuǎn)換。具體地說,若在表達式中優(yōu)先級最高的數(shù)據(jù)是double型,則此表達式中的其他數(shù)據(jù)均被轉(zhuǎn)換成double型,且計算結(jié)果也是double型;若在表達式中優(yōu)先級最高的數(shù)據(jù)是float型,則此表達式中的其他數(shù)據(jù)均被轉(zhuǎn)換成float型,且計算結(jié)果也是float型。

在做賦值運算時,若賦值號左右兩邊的類型不同,則賦值號右邊的類型向左邊的類型轉(zhuǎn)換;當(dāng)右邊的類型高于左邊的類型時,則在轉(zhuǎn)換時對右邊的數(shù)據(jù)進行截取。

除自動轉(zhuǎn)換外,還有強制轉(zhuǎn)換,表示形式是:

( 類型 )(表達式); 例:(int)(a+b)

討論:當(dāng)a值賦值為3.4,b值賦值為2.7,(int)(a+b)和(int)a+b的值分別為多少?

C運算符認識

C語言的運算符范圍很廣,可分為以下幾類:

、算術(shù)運算符:用于各類數(shù)值運算。包括加(+)、減(-)、乘(*)、除(/)、求余(%)、自增(++)、自減(--)共七種。

、賦值運算符:用于賦值運算,分為簡單賦值(=)、復(fù)合算術(shù)賦值(+=,-=,*=,/=,%=)和復(fù)合位運算賦值(&=,|=,^=,》》=,《《=)三類共十一種。 《=“” span=“”》

、逗號運算符:用于把若干表達式組合成一個表達式(,)。

、關(guān)系運算符:用于比較運算。包括大于(》)、小于(《)、等于(==)、 大于等于(=“”》=)、小于等于(《=)和不等于(!=)六種。 《=“” span=“”》

、邏輯運算符:用于邏輯運算。包括與(&&)、或(||)、非(!)三種。

、條件運算符:這是一個三目運算符,用于條件求值(?:)。

、位操作運算符:參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(《《)、右移(》》)六種。

8、指針運算符:用于取內(nèi)容(*)和取地址(&)二種運算。

9、求字節(jié)數(shù)運算符:用于計算數(shù)據(jù)類型所占的字節(jié)數(shù)(sizeof)。

10、特殊運算符:有括號(),下標[],成員(→,。)等幾種。

另外,按參與運算的對象個數(shù),C語言運算符可分為:單目運算符 (如 !)、雙目運算符 (如+,- )和三目運算符 (如 ? : )。

算術(shù)運算符和算術(shù)表達式

一、 基本的算術(shù)運算符

(1)+(加法運算符或正值運算符,如2+5)。

(2)-(減法運算符或負值運算符,如4-2)。

(3)*(乘法運算符,如3*8)。

(4)/(除法運算符,如11/5)。

/的運算分為兩種情況:

a、“除”的左右兩邊都為整數(shù)時,所得結(jié)果必然是整數(shù)(注意:僅取整數(shù)部分,不是四舍五入)

比如:5/2的值為2,不是2.5,1/2的值為0。

b、“除”的左右兩邊至少有一個是實型數(shù)據(jù)(即小數(shù))時,所得結(jié)果為實型數(shù)據(jù)。

比如:5/2.0的值為2.5,7.0/2.0的值為3.5.

(5)%(模運算符或稱求余運算符,%兩側(cè)均應(yīng)為整型數(shù)據(jù),如9%7的值為2)。

需要說明的是:當(dāng)運算對象為負數(shù)時,所得結(jié)果隨編譯器不同而不同,在vc中,結(jié)果的符號與被除數(shù)相同,比如:13%-2值為1,而-15%2值為-1。

二、 算術(shù)表達式和運算符的優(yōu)先級與結(jié)合性

算術(shù)表達式是用算術(shù)運算符和括號將運算量(也稱操作數(shù))連接起來的、符合C語言語法規(guī)則的表達式。運算對象包括函數(shù)、常量和變量等。

在計算機語言中,算術(shù)表達式的求值規(guī)律與數(shù)學(xué)中的四則運算的規(guī)律類似,其運算規(guī)則和要求如下。

(1)在算術(shù)表達式中,可使用多層圓括號,但括號必須配對。運算時從內(nèi)層圓括號開始,由內(nèi)向外依次計算各表達式的值。

(2)在算術(shù)表達式中,對于不同優(yōu)先級的運算符,可按運算符的優(yōu)先級由高到低進行運算,若表達式中運算符的優(yōu)先級相同,則按運算符的結(jié)合方向進行運算。

(3)如果一個運算符兩側(cè)的操作數(shù)類型不同,則先利用自動轉(zhuǎn)換或強制類型轉(zhuǎn)換,使兩者具有相同類型,然后進行運算。

三、 自增自減運算符

作用:使變量的值增1或減1。

如:++i,--i (在使用i之前,先使i的值加1、減1)。 i++,i-- (在使用i之后,使i的值加1、減1)。

(1)只有變量才能用自增運算符 (++)和自減運算符(--),而常量或表達式不能用,如10++或(x+y)++都是不合法的。

(2)++和--的結(jié)合方向是“自右向左“,如 -i++ ,i的左邊是負號運算符,右邊是自增運算符,負號運算和自增運算都是 “自右向左“結(jié)合的,相當(dāng)于 -(i++)。

在循環(huán)語句中常用到自增(減)運算符,在指針中也常用到該運算符,考生要弄清楚“i++”和“++i”及“i--”和“--i”的區(qū)別,特別弄清楚表達式的值和變量的值。

賦值運算符與賦值表達式

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

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

變量名 = 表達式

在程序中可以多次給一個變量賦值,每賦一次值,與它相應(yīng)的存儲單元中的數(shù)據(jù)就被更新一次,內(nèi)存中當(dāng)前的數(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、 可以將復(fù)制表達式的值再賦值給變量,形成連續(xù)賦值。

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

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

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

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

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

步驟:

(1)先進行“a-=a*a“運算,相當(dāng)于a=a-a*a=12-144=-132 。 (2)再進行“a+=-132“運算,相當(dāng)于 a=a+(-132)==-264 。

逗號運算符和逗號表達式

在c語言中,逗號除了作為分隔符,還可以用作一種運算符----逗號運算符,用逗號運算符將幾個表達式連接起來,例如a=b+c,a=b*c等稱為逗號表達式。

一般形式為:

表達式1 ,表達式2 ,表達式3 , …,表達式n

例:x=2,y=3,z=4

逗號表達式具有從左至右的結(jié)合性,即先求解表達式1,然后依次求解表達式2,直到表達式n的值。表達式n的值就是整個逗號表達式的值。上述的逗號表達式的值就是表達式z=4的值4.需要注意的是,逗號運算符是所有運算符中級別最低的。

例:有如下程序段:

main() { int a=2,b=4,c=6,x,y; y=(x=a+b),(b+c); printf(“y=%d,x=%d”,y,x); }

程序顯示結(jié)果為:y=6,x=6

討論:將y=(x=a+b),(b+c);改為y=((x=a+b),b+c) 的程序結(jié)果?

關(guān)系運算符和關(guān)系表達式

一、 C語言中的邏輯值

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

二、 邏輯表達式

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

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

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

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

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

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

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

例:(!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。=“” 《=“” span=“”》

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

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

例如: 設(shè) a=15, a》》2 表示把右移為十進制3)。

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

例3:設(shè)二進制數(shù)a是00 ,若通過異或運算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;

所以本題的答案為: 。

C語言作為一門非常適合編程入門的語言,打好基礎(chǔ)的重要性不言而喻。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7608

    瀏覽量

    137111
收藏 人收藏

    評論

    相關(guān)推薦

    C語言基礎(chǔ)知識科普

    C語言是單片機開發(fā)中的必備基礎(chǔ)知識,本文列舉了部分STM32學(xué)習(xí)中比較常見的一些C語言基礎(chǔ)知識
    發(fā)表于 07-21 10:58 ?1910次閱讀

    STM32單片機中的C語言基礎(chǔ)知識

    C語言是單片機開發(fā)中的必備基礎(chǔ)知識,本文列舉了部分STM32學(xué)習(xí)中比較常見的一些C語言基礎(chǔ)知識
    發(fā)表于 09-21 17:21 ?4585次閱讀

    C語言基礎(chǔ)知識(5)--循環(huán)語句

    C語言基礎(chǔ)知識(5)--循環(huán)語句
    的頭像 發(fā)表于 06-15 10:18 ?2398次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>基礎(chǔ)知識</b>(5)--循環(huán)語句

    c語言基礎(chǔ)知識

    c語言基礎(chǔ)知識
    發(fā)表于 08-17 17:03

    Linux下C語言編程基礎(chǔ)知識

    Linux下C語言編程基礎(chǔ)知識
    發(fā)表于 08-20 17:21

    關(guān)于C語言基礎(chǔ)知識

    一、C語言基礎(chǔ)知識關(guān)于C語言C語言相對于匯編是屬于高
    發(fā)表于 08-20 07:03

    C語言基礎(chǔ)知識匯總

    單片機-C語言基礎(chǔ)知識總結(jié)本文為個人學(xué)習(xí)筆記,僅供學(xué)習(xí)參考用,如有侵權(quán),請聯(lián)系zhankun3280@139.com(一)簡單理解32位操作系統(tǒng)只能支持4G內(nèi)存(二)數(shù)據(jù)類型(?表示重要程度)重點
    發(fā)表于 01-24 07:28

    C++語言基礎(chǔ)知識講解

    C++語言基礎(chǔ)知識講解,喜歡的朋友可以下載來學(xué)習(xí)。
    發(fā)表于 01-14 15:30 ?21次下載

    適合C語言小白看的基礎(chǔ)知識梳理總結(jié)

    C語言是當(dāng)代人學(xué)習(xí)及生活中的必備基礎(chǔ)知識,應(yīng)用十分廣泛,下面為大家?guī)?b class='flag-5'>C語言基礎(chǔ)知識梳理總結(jié),
    的頭像 發(fā)表于 01-04 11:07 ?4752次閱讀

    C語言基礎(chǔ)知識及流水燈的實現(xiàn)程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是C語言基礎(chǔ)知識及流水燈的實現(xiàn)程序免費下載。
    發(fā)表于 04-15 18:24 ?2次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>的<b class='flag-5'>基礎(chǔ)知識</b>及流水燈的實現(xiàn)程序免費下載

    單片機C語言的幾點基礎(chǔ)知識說明

    本文檔的主要內(nèi)容詳細介紹的是單片機C語言的幾點基礎(chǔ)知識說明。
    發(fā)表于 07-05 17:41 ?2次下載
    單片機<b class='flag-5'>C</b><b class='flag-5'>語言</b>的幾點<b class='flag-5'>基礎(chǔ)知識</b>說明

    C語言基礎(chǔ)知識講解

    C語言基礎(chǔ)知識講解
    發(fā)表于 05-19 17:39 ?13次下載

    單片機C語言基礎(chǔ)知識

    單片機C語言基礎(chǔ)知識
    發(fā)表于 10-08 09:30 ?7次下載

    STM32中C語言基礎(chǔ)知識

    C語言是單片機開發(fā)中的必備基礎(chǔ)知識,本文列舉了部分STM32學(xué)習(xí)中比較常見的一些C語言基礎(chǔ)知識
    的頭像 發(fā)表于 04-27 17:42 ?1312次閱讀
    STM32中<b class='flag-5'>C</b><b class='flag-5'>語言</b>的<b class='flag-5'>基礎(chǔ)知識</b>

    C++語言基礎(chǔ)知識

    電子發(fā)燒友網(wǎng)站提供《C++語言基礎(chǔ)知識.pdf》資料免費下載
    發(fā)表于 07-19 10:58 ?7次下載
    主站蜘蛛池模板: 亚洲一级特黄| 亚洲精品tv久久久久久久久久| 国产乱色伦影片在线观看| wwwxxc| 国内精品久久久久久久999下| 超碰caoporn| ppypp日本欧美一区二区| 最新国自产拍 高清完整版| 野花日本免费完整版高清版动漫| 午夜宅宅伦电影网| 无码区国产区在线播放| 特黄AAAAAAA片免费视频| 私人玩物在线观看| 天海翼精品久久中文字幕| 双性将军粗壮H灌满怀孕| 四虎成人影院| 偷拍亚洲制服另类无码专区| 天天综合亚洲综合网站| 天美传媒果冻传媒入口视频| 色欲无码国产喷水AV精品| 少妇第一次交换| 四川老师边上网课边被啪视频| 婷婷久久无码欧美人妻| 羞羞答答影院在线| 亚洲欧美人成视频在线| 一级毛片皇帝 宫女| 19十主播福利视频| 99热久久这里只有精品视频| A级超碰视频在线观看| 草草久久久无码国产专区全集观看| 扒开黑女人p大荫蒂老女人| 俄罗斯美女啪啪| 国产人妻午夜无码AV天堂| 黄瓜视频苹果直接安装| 啦啦啦 中文 中国 免费 高清在线| 免费伦理片网站| 日韩精品特黄毛片免费看| 美女脱18以下禁止看免费| 女人的选择hd| 日日噜噜夜夜爽爽| 亚洲AV久久无码精品蜜桃|