c語言學(xué)習(xí)筆記_第1頁
c語言學(xué)習(xí)筆記_第2頁
c語言學(xué)習(xí)筆記_第3頁
c語言學(xué)習(xí)筆記_第4頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、c+ 學(xué)習(xí)筆記 ( 關(guān)系運(yùn)算符 ) 原創(chuàng) 2006-01-29 16:14:50 | 發(fā)表者 : 51fC+提供 6 種關(guān)系運(yùn)算符,用于數(shù)值之間的比較, 表達(dá)式的值或?yàn)?(表示 true ),或?yàn)?0 (表示 false )運(yùn)算符名字實(shí)例= =等于5=5/得出 1! =不等于5!=5/得出 0小于55.5/得出 1 =小于或等于5大于55.5/得出 0 =大于或等于6.3 = 5 /得出 1應(yīng)該注意: = 運(yùn)算符不能寫成 = ,= 是無效的運(yùn)算符。關(guān)系運(yùn)算符的操作數(shù)應(yīng)當(dāng)是一個(gè)數(shù)值,字符是有效的操作數(shù),因?yàn)樗鼈兪怯脭?shù)值來表示的。例如(假定采用 ASCII 編碼): A F / 得出 1 ( 它等

2、價(jià)于 65 70)字符串不應(yīng)當(dāng)用關(guān)系運(yùn)算符比較,因?yàn)楸槐容^的不是字符串的內(nèi)容本身,而是字符串的地址。例如:HELLO 0xa1 是無符號(hào)整數(shù)。給的結(jié)果是 a 小于 0xa1 。因?yàn)閍 賦值后其實(shí)是小于0 的a 是符號(hào)整數(shù),而0xa1標(biāo)簽 :私房菜學(xué)習(xí)筆記c+ 學(xué)習(xí)筆記 ( 自增、自減運(yùn)算符 ) 原創(chuàng) 2006-01-2915:30:19 |發(fā)表者 : 51f是自增運(yùn)算符, 自減運(yùn)算符,這兩個(gè)運(yùn)算符都是單目運(yùn)算符,且功能相近,都是將數(shù)值變量的值加 1 或減 1 ,用戶只能將這類操作符應(yīng)用于變量而不能應(yīng)用于常量。要替代下列代碼valuel=valuel+1;可使用+valuel;或valuel+;

3、這里前一種方式稱為前綴方式, 后一種稱為后綴方式, 其目的都是使 valuel加 1 。二者的區(qū)別是:前綴式先將操作數(shù)增 1(或減 1),然后取操作數(shù)的新值參與表達(dá)式的運(yùn)算。 后綴是先將操作數(shù)增 1(或減 1 )之前的值參與表達(dá)式的運(yùn)算,到表達(dá)式的值被引用之后再做加 1 (或減 1 )假定變量 valuel已預(yù)定義 :int valuel =5;運(yùn)算符名字實(shí)例+ +自加( 前綴)+valuel + 10 /得出 16 , valuel變?yōu)?6+ +自加( 后綴)valuel+ + 10 /得出 15 , valuel變?yōu)?6- -自減( 前綴)-valuel + 10 /得出 14,value

4、l變?yōu)?4- -自減( 后綴)valuel- + 10 /得出 15,valuel變?yōu)?4標(biāo)簽 :學(xué)習(xí)筆記c+ 學(xué)習(xí)筆記 (c+ 運(yùn)算符 2) 原創(chuàng) 2006-01-2915:10:06 |發(fā)表者 : 51f在進(jìn)行除運(yùn)算時(shí),需要注意右操作數(shù),即除數(shù)應(yīng)為非零值,否則就會(huì)產(chǎn)生浮點(diǎn)運(yùn)算錯(cuò)誤。編程時(shí),我們通常用if 語句判別除數(shù)是否為0 ,例如:if (a != 0) /只有 a 不等于0 時(shí)才執(zhí)行下面的操作c = b / a;*同時(shí)需要注意的是:加法和乘法運(yùn)算有可能超過計(jì)算機(jī)能表示的最大數(shù),產(chǎn)生溢出。如:1.e307 * 1.e307則會(huì)產(chǎn)生一個(gè)不確定數(shù), 即計(jì)算機(jī)不能表示的數(shù)。計(jì)算機(jī)表示的常用數(shù)據(jù)

5、類型的取值范圍可以見下表。類型最小值最大值signed char-128+127unsigned char0+255signed short-32768+32767unsigned short0+65535signed long-2147483648+2147483647unsigned long0+4294967295Float-3.402823466e+3.402823466e+38F+38FDouble-1.7976931348+1.7976931348623158e+308623158e+308標(biāo)簽 :學(xué)習(xí)筆記私房菜c+ 學(xué)習(xí)筆記 (c+ 運(yùn)算符 2) 原創(chuàng) 2006-01-29 15

6、:10:05 | 發(fā)表者 : 51f在進(jìn)行除運(yùn)算時(shí),需要注意右操作數(shù),即除數(shù)應(yīng)為非零值,否則就會(huì)產(chǎn)生浮點(diǎn)運(yùn)算錯(cuò)誤。編程時(shí),我們通常用if 語句判別除數(shù)是否為0 ,例如:if (a != 0) /只有 a 不等于0 時(shí)才執(zhí)行下面的操作c = b / a;標(biāo)簽 :學(xué)習(xí)筆記私房菜c+ 學(xué)習(xí)筆記 (c+ 運(yùn)算符 1) 原創(chuàng) 2006-01-2914:48:57 |發(fā)表者 : 51f所謂運(yùn)算符就是指運(yùn)算的符號(hào),例如加運(yùn)算符( + )、乘運(yùn)算符( * )、取地址運(yùn)算符( & )等。表達(dá)式與運(yùn)算符密不可分,它由運(yùn)算符與操作數(shù)組合而成,并由運(yùn)算符指定對(duì)操作數(shù)要進(jìn)行的運(yùn)算,一個(gè)表達(dá)式的運(yùn)算結(jié)果是一個(gè)值。C+ 提

7、供的運(yùn)算符有以下幾種:算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符、條件運(yùn)算符、賦值運(yùn)算符、逗號(hào)運(yùn)算符、 sizeof 運(yùn)算符及其它運(yùn)算符 ( 這是按功能分的 ) 。不同的運(yùn)算符,需要指定的操作數(shù)的個(gè)數(shù)并不相同。根據(jù)運(yùn)算符需要的操作數(shù)的個(gè)數(shù),可將其分為三種:?jiǎn)文窟\(yùn)算符(一個(gè)操作數(shù))、雙目運(yùn)算符(兩個(gè)個(gè)操作數(shù))和三目運(yùn)算符(三個(gè)操作數(shù))。5 種基本的算術(shù)運(yùn)算符運(yùn)算符名字實(shí)例+加12 + 4.9 /得出 16.9-減3.98-4/得出 -0.02*乘2 *3.4 /得出 6.8/除9/2.0/得出 4.5%取余13%3/得出 1以上 5 個(gè)算術(shù)運(yùn)算符都是雙目運(yùn)算符。除% 運(yùn)算符外,其它算術(shù)運(yùn)算符的

8、兩個(gè)操作數(shù)可以是整型 (short int、int 、long int、unsigned short int、unsignedint 或 unsigned long int型)和實(shí)型( float或 double型)的混合類型,運(yùn)算結(jié)果的數(shù)據(jù)類型是:兩個(gè)操作數(shù)的數(shù)據(jù)類型中,具有較高級(jí)別的數(shù)據(jù)類型。例如,一個(gè) int 型操作數(shù)和一個(gè) float 型操作數(shù)的運(yùn)算結(jié)果是 float 型;一個(gè) float 型操作數(shù)和一個(gè) double 型操作數(shù)的運(yùn)算結(jié)果是 double 型。取余運(yùn)算符( % )的兩個(gè)操作數(shù)都必須是整型數(shù),運(yùn)算結(jié)果是整除后的余數(shù)。例如 13%3的結(jié)果是 1 。算術(shù)運(yùn)算的結(jié)果可能太大,而

9、不能存儲(chǔ)在一個(gè)指定的變量中,這種情形稱之為溢出。例如: unsigned char k = 10 * 92; /溢出 : 920 255標(biāo)簽 :私房菜學(xué)習(xí)筆記c+學(xué)習(xí)筆記 原創(chuàng) 2006-01-29 02:15:48 |發(fā)表者 :51f 標(biāo)識(shí)符是用來標(biāo)識(shí)變量、 函數(shù)、數(shù)據(jù)類型等的字符序列。 C+ 中的標(biāo)符可以由大寫字母、小寫字母、下劃線( _ )和數(shù)字 09 組成,但必須是以大寫字母、小寫字母或下劃線( _ )開頭。 C+ 語言中預(yù)定義了一些標(biāo)識(shí)符,稱之為關(guān)鍵字,它們不能被再定義。 布爾型、字符型、整型、浮點(diǎn)型和空類型是基本數(shù)據(jù)類型。指針、數(shù)組、引用、結(jié)構(gòu)和類可以通過基本數(shù)據(jù)類型進(jìn)行構(gòu)造,稱之

10、為復(fù)合數(shù)據(jù)類型。 變量就是機(jī)器一個(gè)內(nèi)存位置的符號(hào)名,在該內(nèi)存位置可以保存數(shù)據(jù),并可通過符號(hào)名進(jìn)行訪問。為了提高程序的可讀性,給變量命名時(shí),應(yīng)該注意使用有意義的名字。變量第一次賦值稱之為初始化,變量在使用之前應(yīng)當(dāng)先聲明。 常量是在程序運(yùn)行過程中,其值不能改變的量。 C+ 語言本身沒有輸入輸出功能, 而是通過輸入輸出庫完成 I/O 操作。C 程序使用的 stdio (標(biāo)準(zhǔn) I/O )I/O 庫也能夠在 C+ 中使用;另外 C+ 語言還提供了一種稱之為 iostream (I/O 流庫)的 I/O 庫。標(biāo)簽 :學(xué)習(xí)筆記私房菜c+ 學(xué)習(xí)筆記 ( 枚舉類型 ) 原創(chuàng) 2006-01-28 02:39:4

11、8 | 發(fā)表者 : 51f我們常常需要一些整型常量表示某一個(gè)的數(shù)據(jù)范圍。例如,假定需要表示汽車的顏色:const int cRED = 0;const int cBLUE = 1;int auto_colour;auto_colour = cBLUE;上面的程序語句是用整型變量auto_colour表示顏色,下面的語句也是合法的:auto_colour = -1;顯然,-1 并不是所需要的顏色值。 如果能夠限定 auto_colour 在限定的整數(shù)范圍(即規(guī)定的幾種顏色集合)內(nèi)取值就比較好, C+ 中的枚舉類型能夠讓我們做到這一點(diǎn)。枚舉類型是一種用戶定義的數(shù)據(jù)類型,其一般定義形式為:enum枚

12、舉類型名標(biāo)識(shí)符 = 整型常數(shù) ,標(biāo)識(shí)符 = 整型常數(shù) ,.標(biāo)識(shí)符 = 整型常數(shù) ,; 枚舉類型名 右邊花括號(hào)中的內(nèi)容稱之為枚舉表,枚舉表中的每一項(xiàng)稱之為枚舉成員,枚舉成員是常量,也就是說,枚舉表是整型常量的集合。枚舉成員之間用逗號(hào)隔開,方括號(hào)中的 整型常數(shù) 是枚舉成員的初值。如果不給枚舉成員賦初值, 即省掉了標(biāo)識(shí)符后的 = 整型常數(shù) 時(shí),則編譯器為每一個(gè)枚舉成員給一個(gè)不同的整型值,第一個(gè)成員為0 ,第二個(gè)為 1 ,等等。當(dāng)枚舉類型中的某個(gè)成員賦值后,其后的成員則按依次加1 的規(guī)則確定其值。下面是一個(gè)枚舉類型定義實(shí)例:enum Colour eRED, eBLUE, eYELLOW, eGREE

13、N, eSILVERGREY,eBURGUNDY ;這樣就定義了一個(gè)稱之為Colour的枚舉類型,編譯器給枚舉成員eRED , ,eBURGUNDY的值分別為 0 , ,5 。 定義了枚舉類型,就可以定義枚舉類型的變量,其值限定為某一個(gè)枚舉成員。例如:Colour auto_colour;auto_colour = eBURGUNDY;Colour類型變量 auto_colour只能取 eRED , ,eBURGUNDY六個(gè)值中的一個(gè),下面的語句將會(huì)出現(xiàn)編譯錯(cuò)誤:auto_colour = 4;我們也可以在定義枚舉類型時(shí),為枚舉成員指定初值,例如:enum Colour eRED=5, eBL

14、UE, eYELLOW, Egreen=30,Esilvergrey=40,eBURGUNDY ;這時(shí), eBLUE=6 、 Eyellow=7、 Eburgundy=41。由上述幾種基本數(shù)據(jù)類型通過各種組合可以得到復(fù)合數(shù)據(jù)類型,這些數(shù)據(jù)類型在以后章節(jié)會(huì)有詳細(xì)講解。標(biāo)簽 :學(xué)習(xí)筆記c+ 學(xué)習(xí)筆記 ( 變量 2) 原創(chuàng) 2006-01-27 21:49:43 | 發(fā)表者 : 51f字符型字符變量用 char 定義,一個(gè)字符變量僅占用一個(gè)字節(jié), 存放該字符的編碼。該編碼是一個(gè)數(shù)字,并依賴于所使用的編碼系統(tǒng)(即與機(jī)器相關(guān))。最普通的編碼是 ASCII( American Standard Code

15、for Information Interchange),即美國信息交換標(biāo)準(zhǔn)編碼。例如:字符A 的 ASCII碼為 65 ,字符 a 的 ASCII碼為 97。char ch = A;象整型數(shù)一樣,字符變量也可被指定為signed或unsigned。大多數(shù)機(jī)器上,char 與 signed char 意義相同。有些機(jī)器上,char 可能與 unsigned char 意義相同。一個(gè)有符號(hào)字符變量可以保存 -128 127 之間的整數(shù),而一個(gè)無符號(hào)字符變量可以保存 0 255 之間的整數(shù),它們均可用于表示小整數(shù),象整型數(shù)一樣賦值:signed char offset = -88;unsigned

16、 char row = 2, column = 26;A 。C+ 中還有一些不能打印一個(gè)字符是用一對(duì)單引號(hào)包圍起來,例如:的特殊字符,稱之為轉(zhuǎn)義字符。例如2-1 :字符也可以用它們的編碼指定,轉(zhuǎn)義字符通常用三位8 進(jìn)制數(shù)表示,例如2-2 :(假定為 ASCII 碼):C+ 的字符由下列字符組成。1、大小寫英文字母az ,AZ2、數(shù)字字符309、特殊符號(hào)空格! #%&*_-+=/|.,;?()*例2-1 :n /r /t /v /b /f / / / /換行回車水平 tab垂直 tab退格進(jìn)紙單引號(hào)()雙引號(hào) ()反斜杠 ()例2-2 :12 /換行 (10 進(jìn)制編碼= 10)11 /水平 ta

17、b (10進(jìn)制編碼 = 9)101 / A (10進(jìn)制編碼 = 65)0 / null (10進(jìn)制編碼 = 0)標(biāo)簽 :學(xué)習(xí)筆記c+( 字符串處理函數(shù) ) 備忘 原創(chuàng) 2006-02-05 03:04:15 | 發(fā)表者 : 51fstrcpy(char destination, const char source);strcpy:將字符串 source拷貝到字符串 destination中。strcpy函數(shù)應(yīng)用舉例原型: strcpy(char destination, const char source);功能:將字符串 source 拷貝到字符串 destination 中例程:#incl

18、ude #include void main(void)char str110 = TsinghuaOK;char str210 = Computer;coutstrcpy(str1,str2)endl;運(yùn)行結(jié)果是 :Computer第二個(gè)字符串將覆蓋掉第一個(gè)字符串的所有內(nèi)容!注意:在定義數(shù)組時(shí),字符數(shù)組 1 的字符串長度必須大于或等于字符串 2 的字符串長度。不能用賦值語句將一個(gè)字符串常量或字符數(shù)組直接賦給一個(gè)字符數(shù)組。所有字符串處理函數(shù)都包含在頭文件string.h中。strncpy(char destination, const char source, int numchars);st

19、rncpy :將字符串 source 中前 numchars 個(gè)字符拷貝到字符串 destination 中。strncpy函數(shù)應(yīng)用舉例原型: strncpy(char destination, const char source, int numchars);功能:將字符串source中前 numchars個(gè)字符拷貝到字符串destination例程:中#include #include void main(void)char str110 = Tsinghua ;char str210 = Computer;coutstrncpy(str1,str2,3)endl;運(yùn)行結(jié)果: Comngh

20、ua注意:字符串 source中前 numchars個(gè)字符將覆蓋掉字符串destination中前 numchars 個(gè)字符!strcat(char target, const char source);strcat:將字符串 source接到字符串 target的后面。strcat函數(shù)應(yīng)用舉例原型: strcat(char target, const char source);功能:將字符串 source 接到字符串 target 的后面例程:#include #include void main(void)char str1 = Tsinghua ;char str2 = Computer

21、;coutstrcpy(str1,str2)endl;運(yùn)行結(jié)果: Tsinghua Computer注意:在定義字符數(shù)組1 的長度時(shí)應(yīng)該考慮字符數(shù)組2 的長度,因?yàn)檫B接后新字符串的長度為兩個(gè)字符串長度之和。進(jìn)行字符串連接后,字符串 1 的結(jié)尾符將自動(dòng)被去掉,在結(jié)尾串末尾保留新字符串后面一個(gè)結(jié)尾符。strncat(char target, const char source, int numchars);strncat:strncat將字符串 source函數(shù)應(yīng)用舉例:的前numchars個(gè)字符接到字符串target的后面。原型: strncat(char target, const char

22、source, int numchars);功能:將字符串source的前 numchars個(gè)字符接到字符串例程:target的后面#include #include void main(void)char str1 = Tsinghua ;char str2 = Computer;coutstrncat(str1,str2,3)endl;運(yùn)行結(jié)果: Tsinghua Comint strcmp(const char firststring, const char secondstring);strcmp:比較兩個(gè)字符串 firststring和 secondstring。strcmp函數(shù)應(yīng)用

23、舉例原型: int strcmp(const char firststring, const char secondstring); 功能:比較兩個(gè)字符串 firststring 和 secondstring例程:#include #include void main(void)char buf1 = aaa;char buf2 = bbb;char buf3 = ccc;int ptr;ptr = strcmp(buf2,buf1);if(ptr 0)coutBuffer 2 is greater than buffer 1endl;elsecoutBuffer 2 is less than

24、 buffer 1 0)coutBuffer 2 is greater than buffer 3endl;elsecoutBuffer 2 is less than buffer 3endl;運(yùn)行結(jié)果是 :Buffer 2 is less than buffer 1Buffer 2 is greater than buffer 3strlen( const char string );strlen:統(tǒng)計(jì)字符串 string中字符的個(gè)數(shù)。strlen函數(shù)應(yīng)用舉例原型: strlen( const char string );功能:統(tǒng)計(jì)字符串string中字符的個(gè)數(shù)例程:#include #in

25、clude void main(void)char str100;coutstr;coutThe length of the string is :strlen(str)個(gè)endl;運(yùn)行結(jié)果The length of the string is x (x為你輸入的字符總數(shù)字)注意: strlen函數(shù)的功能是計(jì)算字符串的實(shí)際長度,不包括0在內(nèi)。另外,strlen函數(shù)也可以直接測(cè)試字符串常量的長度,如:strlen(Welcome)。標(biāo)簽 :私房菜學(xué)習(xí)筆記c+ 學(xué)習(xí)筆記 ( 位運(yùn)算符 ) 原創(chuàng) 2006-01-29 18:19:22 | 發(fā)表者 : 51fC+提供 6 種位運(yùn)算符,可以進(jìn)行二進(jìn)制位

26、的運(yùn)算。位運(yùn)算符要求操作數(shù)是整型數(shù),并按二進(jìn)制位的順序來處理它們。取反運(yùn)算符是單目運(yùn)算符,其它位運(yùn)算符是雙目運(yùn)算符。 取反運(yùn)算符( )將操作數(shù)的二進(jìn)制位逐位取反。逐位與運(yùn)算符( & )比較兩個(gè)操作數(shù)對(duì)應(yīng)的二進(jìn)制位,當(dāng)兩個(gè)二進(jìn)制位均為 1 時(shí),該位的結(jié)果取 1 ,否則取 0。逐位或運(yùn)算符( | )比較兩個(gè)操作數(shù)對(duì)應(yīng)的二進(jìn)制位,當(dāng)兩個(gè)二進(jìn)制位均為 0 時(shí),該位的結(jié)果取 0 ,否則取 1 。逐位異或運(yùn)算符( )比較兩個(gè)操作數(shù)對(duì)應(yīng)的二進(jìn)制位,當(dāng)兩個(gè)二進(jìn)制位均為 1 或均為 0 時(shí),該位的結(jié)果取 0 ,否則取 1 。逐位左移運(yùn)算符( )均有一個(gè)正整數(shù) n 作為右操作數(shù),將左操作數(shù)的每一個(gè)二進(jìn)制位左移或右移n 位,空缺的位設(shè)置為0或 1 。對(duì)于無符號(hào)整數(shù)或有符號(hào)整數(shù),如果符號(hào)位為 0(即為正數(shù)),空缺位設(shè)置為 0 ;如果符號(hào)位為 1(即為負(fù)數(shù)),空缺位是設(shè)置為 0 還是設(shè)置為 1 ,要取決于所用的計(jì)算機(jī)系統(tǒng)。位運(yùn)算符運(yùn)算符名字實(shí)例取反011 /得出 3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論