c語言復(fù)習(xí)資料_第1頁
c語言復(fù)習(xí)資料_第2頁
c語言復(fù)習(xí)資料_第3頁
c語言復(fù)習(xí)資料_第4頁
c語言復(fù)習(xí)資料_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C 語言復(fù)習(xí)資料 15 編輯:肖貴乾 章 c 基礎(chǔ) 一)標(biāo)示符:在程序中使用的變量名、函數(shù)名、標(biāo)號等統(tǒng)稱為標(biāo)識 符。 注意:( 1)標(biāo)識符只能由字母、下劃線、數(shù)字組成。 2)標(biāo)識符第一個字符必須為字母或下劃線。 例如:合法的標(biāo)識符:a x c name ab1 _tyo file_5 不合法的標(biāo)識符: wei ?123x jikji/ 標(biāo)識符分類: 1)關(guān)鍵字 解釋:在 C 語言中由特殊意義,由小寫字母組成 . 例如 : int float 2)預(yù)定義標(biāo)識符 解釋: c 語言系統(tǒng)中已使用的標(biāo)識符。 例如: printf scanf 3) 用戶標(biāo)識符 解釋:用戶用來定義變量名、函數(shù)名、數(shù)組名、指

2、針 名等。 注意: 用戶標(biāo)識符絕對不能用關(guān)鍵字。 二) 整數(shù)和實(shí)數(shù) 整型常量: 十進(jìn)制整型常量。 二進(jìn)制整型常量。 十六進(jìn)制整型常量,由Ox或0X (數(shù)字0)開頭。 每位可由( 0、1、2、3、4、 5、6、7、 8、9、 a、b、c、d、e、f )組成。 八進(jìn)制整型常量,由數(shù)字 0 開頭。 整型變量: 由關(guān)鍵字 int 定義; 實(shí)型常量(小數(shù)) 1) 小 數(shù)點(diǎn)前后可以沒有數(shù), 但是不能同時沒有數(shù) 例如正確的小數(shù): .0123 0.0123 100. 3.14 (2)指數(shù)形式: e前e后必有數(shù), e 后必須為整數(shù); 例如正確的: 1e5 (表示1*10八5) 1.25E+4 (表示 1.25*

3、10八4) 1.25E -4 (表示 1.25*10八-4) 錯誤的表示: E5 1.25e 2.0e1.3 實(shí)型變量 1)單 精度: 由 float 定義 例如: float a; 2) 雙 精度: 由 double 定義 例如: double a; 注:雙精度比單精度的精確度高; 即小數(shù)點(diǎn)后的精確位數(shù)多。 (三)算數(shù)表達(dá)式 在 c 中算術(shù)運(yùn)算符有: +、 *、/、% 注意: 5/2=2 5.0/2=2.5 5./2=2.5 5.0/2.0=2.5 %(取余數(shù))運(yùn)算符二邊的數(shù)必須為整型 例如: 5.0%2(錯誤) 5.0%2.0(錯誤)5%2(正確) 復(fù)合運(yùn)算符 n+=100 等價于: n=

4、n+100 n-=100 等價于: n=n-100 n*=m+1 等價于: n=n* (m+1) n/=m+1 等價于: n=n /( m+1) 例子: int n=8; n+=n*=n-2 ; 計(jì)算 n 的值 解析: 1)先計(jì)算 n-2 的值為 6; 2)在計(jì)算 n*=6 的值即 n=n*6 ;n 的值變?yōu)?48 (3)計(jì)算 n+=48;即 n=96; 所以 n 的值為 96 五)自加自減運(yùn)算 說明: 自家自減是一種賦值運(yùn)算所以是對變量的運(yùn)算。 例如:3+,+3,-3,3-;都是錯誤的( 3 為常量)。 例如; int i=0,j=1 ; 1) i+; (i+本身的值為0但是i的值為1) +

5、i(+i 本身的值為 1,i 的值也為 1) j- (j-本身的值為 1 但是 j 的值為 0) 4) 注: -j (-j 本身的值為 0,j 的值也為 0) 區(qū)分 + + ( - )號在變量前和后時的區(qū)別; 1) +(-) 在變量前時先加后用 2)+(-) 在變量后時先用后加 逗號表達(dá)式; 逗號表達(dá)式的職為最后一個表達(dá)式的值; 例子: a=( 1,2,3) a的值為3 章:數(shù)據(jù)輸入輸出 在 c 語言中本身沒有輸入輸出語句;輸入輸出都是由函數(shù)庫 中的函數(shù)完成的;所以在輸入輸出時必須有頭文件。 常用標(biāo)準(zhǔn)輸入輸出頭文件為: #include 常用輸出函數(shù): printf (輸出控制,輸出數(shù)據(jù)列表)

6、 puts 字符串的首地址) ; putchar ( 字符) ; fprintf (“文件名“ ,文件指針) ;注:該函數(shù)為 文件部分的函數(shù) 例子:(1) printf (“a=%d, b=%dn“, 2,3 ); 將會輸出: a=2 ,b=3 解釋: n 為換行的意思,在輸出控制中原樣輸出; 依次用參數(shù)列表中的數(shù)替代 %d 2) #include Main int a=666,b=555; printf( “ %dn”a,b); 格式說明: %c 字符 %d 有符號十進(jìn)制整數(shù) %f 浮點(diǎn)數(shù)(包括 float 和 doulbe ) %i 有符號十進(jìn)制整數(shù)(與 %d 相同) %u 無符號十進(jìn)制整

7、數(shù) %o 八進(jìn)制整數(shù) e.g. 0123 %x(%X) 十六進(jìn)制整數(shù) 0f( 0F) e. %p 指針 %s 字符串 程序輸出結(jié)果為; 666 g. 0 x1234 數(shù)據(jù)輸入常用函數(shù): scanf (“輸入格式“,變量或數(shù)組地址); gets (字符串首地址); getchar (); 輸入格式和輸出格式相同。 例子: #in clude mai n() int i=0,j=0 , k=0; scanf( %d%d%d”, pri ntf( %d,%d,%d”,i,j,k); 如果輸入10 20 30回車 將輸出 10 ,20, 30 第二章c語言結(jié)構(gòu) (一)選擇結(jié)構(gòu) (1)if(表達(dá)式)語句

8、; 注:表達(dá)式的值為非0時執(zhí)行語句,語句可以為復(fù)語 句即語句一;語句二;語句3;.語句n; 為一句復(fù)合語句; 假如(a1=1 , b=2)區(qū)別表達(dá)式:a=b和a=b 前一個表達(dá)式的值為0后一表達(dá)式的 值為 1 2)if( 表達(dá)式 ) 語句一; else 語句二; 注:如果表達(dá)式的值非 0 執(zhí)行語句一否則執(zhí)行語句 3)if( 表達(dá)式一 ) 語句一; else if(表達(dá)式二)語句二; else 語句 n 注:滿足表達(dá)式的都執(zhí)行如果都不滿足表達(dá)式則執(zhí)行語句 n 嵌套的 if 語句; if( 表達(dá)式 1) if( 表達(dá)式 2) 語句 1; else 語句 2; else if( 表達(dá)式 3) 語句

9、3; else 語句 4; 注:else總是和他前面最近且未配對的if配對。 二)三種循環(huán)結(jié)構(gòu) a)for(; ;) ; while(); do- while() 三種。 b)for 循環(huán)當(dāng)中必須是兩個分號,千萬不要忘記。 c) 寫程序的時候一定要注意,循環(huán)一定要有結(jié)束的條件,否則成了 死循環(huán)。 d) do-while()循環(huán)的最后一個while();的分號一定不能夠丟。 2) break 和 continue 的差別 記憶方法: break:是打破的意思,(破了整個循環(huán))所以看見 break就退出整個 一層循環(huán)。 continue:是繼續(xù)的意思,(繼續(xù)循環(huán)運(yùn)算),但是要結(jié)束本次循環(huán), 就是循

10、環(huán)體內(nèi)剩下的語句不再執(zhí)行, 跳到循環(huán)開始, 然后判斷循環(huán)條 件,進(jìn)行新一輪的循環(huán)。 步一步耐心 3) 嵌套循環(huán) 就是有循環(huán)里面還有循環(huán), 這種比較復(fù)雜, 要一層一層 的計(jì)算, 一般記住兩層是處理二維數(shù)組的。 4) while (c=getchar() != n)禾口 while (c=getchar() != n)的 差別 先看 a = 3 != 2 和( a=3)!=2 的區(qū)別: !=號的級別高于 =號 所以第一個先計(jì)算 3!=2) 第一個 a 的數(shù) 值是得到的1;第二個a的數(shù)值是3。 函數(shù):是具有一定功能的一個程序塊; 函數(shù)定義:返回值類型 函數(shù)名(參數(shù)類型參數(shù),參數(shù)類型參數(shù)) 語句 1

11、語句2 例子:int max (int x,int y) return xy ? x : y; 調(diào)用函數(shù) mai n() int a = 5,b=6,c; c = add(a,b); printf( “ d” ,c); a,b是實(shí)參 整個函數(shù)得到一個數(shù)值就是 Add函數(shù)的返回?cái)?shù)值。 int add ( int x, int y) int z; z=x+y; return z; 被調(diào)用函數(shù) x, y 是形式參數(shù) 函數(shù)返回?cái)?shù)值是整型 z 就是這個 add 函數(shù)計(jì)算后得到的結(jié)果,就是函數(shù)返回給主程序的返 回?cái)?shù)值。 程序是在從上往下順序執(zhí)行,當(dāng)碰到了函數(shù)add后,把a(bǔ), b的數(shù)值 穿給調(diào)用函數(shù),程序暫

12、時中斷等待返回?cái)?shù)值。當(dāng)?shù)玫搅朔祷財(cái)?shù)值后, 再順序的往下執(zhí)行 2)一定要注意參數(shù)之間的傳遞 實(shí)參和形參之間 傳數(shù)值,和傳地址的差別。 (考試的重點(diǎn)) 傳數(shù)值的話,形參的變化不會改變實(shí)參的變化。 傳地址的話,形參的變化就會有可能改變實(shí)參的變化。 3)函數(shù)聲明的考查: 一定要有: 函數(shù)名,函數(shù)的返回類型,函數(shù)的參數(shù)類型。 不一定要有:形參的名稱。 第五章指針 指針變量的本質(zhì)是用來放地址,而一般的變量是放數(shù)值的 int *p中*p和P的差別: *p可以當(dāng)做變量來用;*的作用是取后面地址P里面的數(shù)值 P是當(dāng)作地址來使用。 *p+和(*p)+的之間的差別:改錯題目中很重要 *p+是地址會變化 三名主義:(

13、考試的重點(diǎn)) 數(shù)組名:表示第一個元素的地址。數(shù)組名不可以自加,他是地 址常量名。(考了很多次) 函數(shù)名:表示該函數(shù)的入口地址。 字符串常量名:表示第一個字符的地址。 第六章數(shù)組 (一)一維數(shù)組的定義: 數(shù)據(jù)類型數(shù)組名數(shù)組長度; 例如:int ab10; 注:(1)數(shù)組長度必須為常量;不能為變量。 (2)ab表示數(shù)組名,是第一個元素的地址,也就是元素a10 的地址。 (3) ab是地址常量,所以只要出現(xiàn) a+,或者是a=a+2賦 值的都是錯誤的 二維數(shù)組的定義:數(shù)據(jù)類型數(shù)組名行數(shù)列的長度 例: int a1020; int a3=0; (正確) int a2=0; (錯誤) 二維數(shù)組也可以看做一

14、維數(shù)組; 二)字符串?dāng)?shù)組 char a50=”重慶理工大學(xué) 字符串不能直接賦值,必須用函數(shù)strcpy(a,b); a,b 為指針或是字符串首地址。 例如: char a50; 慶理工大學(xué) ”); strc py (a,”重 此操作為字符串?dāng)?shù)組 a 賦值; 字符串常用函數(shù):必須用頭文件 #include Strcpy(char *p,char *s) Strlen(char*p); (該函數(shù)為計(jì)算 p 所指字符串 的長度) Strcat(char *p,char *d); (此函數(shù)將 d 所指的字符串復(fù)制到 p 所指字 符串的末尾 ) Strcmp(char*p,char*g); (此函數(shù)將比較 二個字符串的大?。?第六章:復(fù)雜數(shù)據(jù)類型 常用的有: 結(jié)構(gòu)體、共用體、枚舉(很少考) 。 結(jié)構(gòu)體為最??嫉模?關(guān)鍵字 struct 定義: Struct 結(jié)構(gòu)體名 結(jié)構(gòu)體成員; ; 說明: 1)一定要以“;”結(jié)尾 3) 結(jié)構(gòu)體常和結(jié)構(gòu)體指針來構(gòu)造 鏈

溫馨提示

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

最新文檔

評論

0/150

提交評論