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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

2、針 名等。 注意: 用戶標識符絕對不能用關鍵字。 二) 整數和實數 整型常量: 十進制整型常量。 二進制整型常量。 十六進制整型常量,由Ox或0X (數字0)開頭。 每位可由( 0、1、2、3、4、 5、6、7、 8、9、 a、b、c、d、e、f )組成。 八進制整型常量,由數字 0 開頭。 整型變量: 由關鍵字 int 定義; 實型常量(小數) 1) 小 數點前后可以沒有數, 但是不能同時沒有數 例如正確的小數: .0123 0.0123 100. 3.14 (2)指數形式: e前e后必有數, e 后必須為整數; 例如正確的: 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 實型變量 1)單 精度: 由 float 定義 例如: float a; 2) 雙 精度: 由 double 定義 例如: double a; 注:雙精度比單精度的精確度高; 即小數點后的精確位數多。 (三)算數表達式 在 c 中算術運算符有: +、 *、/、% 注意: 5/2=2 5.0/2=2.5 5./2=2.5 5.0/2.0=2.5 %(取余數)運算符二邊的數必須為整型 例如: 5.0%2(錯誤) 5.0%2.0(錯誤)5%2(正確) 復合運算符 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 ; 計算 n 的值 解析: 1)先計算 n-2 的值為 6; 2)在計算 n*=6 的值即 n=n*6 ;n 的值變?yōu)?48 (3)計算 n+=48;即 n=96; 所以 n 的值為 96 五)自加自減運算 說明: 自家自減是一種賦值運算所以是對變量的運算。 例如: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)+(-) 在變量后時先用后加 逗號表達式; 逗號表達式的職為最后一個表達式的值; 例子: a=( 1,2,3) a的值為3 章:數據輸入輸出 在 c 語言中本身沒有輸入輸出語句;輸入輸出都是由函數庫 中的函數完成的;所以在輸入輸出時必須有頭文件。 常用標準輸入輸出頭文件為: #include 常用輸出函數: printf (輸出控制,輸出數據列表)

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

7、數 %o 八進制整數 e.g. 0123 %x(%X) 十六進制整數 0f( 0F) e. %p 指針 %s 字符串 程序輸出結果為; 666 g. 0 x1234 數據輸入常用函數: scanf (“輸入格式“,變量或數組地址); 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語言結構 (一)選擇結構 (1)if(表達式)語句

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論