C 語 言 的 格 式 - SO-NET_第1頁
C 語 言 的 格 式 - SO-NET_第2頁
已閱讀5頁,還剩10頁未讀 繼續(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 語 言 的 格 式 - so-net c 語 言 的 格 式 - so-net c 語 言 的 格 式 什麼是 c 語言? c 語言執(zhí)行過程?原始程式 - 經(jīng)由編譯器 - 變成目的檔 - 經(jīng)由連結(jié)器 - 變成執(zhí)行檔 source.c - compiler - source.obj - linker - source.exe c 語 言 的 特 性(1) 可 以 像 組 合 語 言 一 樣 進(jìn) 行 硬 體 之 直 接 存 取 . (2) 為 語 法 規(guī) 則 簡(jiǎn) 單 , 清 楚 , 容 易 使 用 之 結(jié) 構(gòu) 化 語 言 . (3) 必 要 時(shí) 可 以 與 組 合 語 言 連 結(jié) . ( 4

2、) 可 攜 性 ( portability ) 極 佳 , 跨 平 臺(tái) 的 能 力 強(qiáng) . 標(biāo) 準(zhǔn) c 語 言 格 式#include stdio.h - 前置處理器 subroutine( ) - 副程式 . . subroutine( ) - 副程式 main( ) - 主程式 int i=0 ; /* 變 數(shù) 宣 告 */ i=i+1; /* 算 數(shù) 運(yùn) 算 */- 程式主體 printf(i=%dn,i) ; /* 輸 出 至 螢 幕 */ c 語言簡(jiǎn)介 c 語 言 的 格 式 - so-net 基 本 資 料 型 態(tài) 變 數(shù) 命 名 的 原 則 ?1. 2. 3. 開 頭 必 須 是

3、 字 母 ( letter ) 或 底 線 ( underscore ) . 字 元 的 大 寫 小 寫 所 代 表 的 意 義 不 同 . 不 得 使 用 關(guān) 鍵 字 ( keyword ) . (在 borland c+ 軟體中已粗體顯現(xiàn)) 變 數(shù) 的 資 料 型 態(tài) 種 類 :類 別 符號(hào)位元 位元長(zhǎng)(bits) 有 整 數(shù) 無 16 32 16 16 32 浮點(diǎn)數(shù) 有 字元 無 32 64 8 表 示 法 int(short) long unsigned int 數(shù) 值 範(fàn) 圍 -32768-32767 -2147483648-2147483647 0-65535 unsigned s

4、hort 0-65535 unsigned long 0-4294967295 float double char 10-38-1038 10-308-10308 0-255 c 語言簡(jiǎn)介 c 語 言 的 格 式 - so-net 變 數(shù) 的 宣 告 方 法 :(1) 整 數(shù) 部 份 : int a; int b,c=45; short int name; long int var_name; unsigned int argu1=30; (2) 浮 點(diǎn) 數(shù) 部 份 : float a=12.3456; /*單精準(zhǔn)度*/ float b=0.12345e2; double score=4.98

5、7654322e-7; /*雙精準(zhǔn)度*/ (3) 字 元 部 份 : char c='c' char bell=7; /*7 為 ascii 之響聲字元*/ c 語言簡(jiǎn)介 c 語 言 的 格 式 - so-net 儲(chǔ) 存 類 別 自 動(dòng) 變 數(shù) ( auto variable ) 自 屬 當(dāng) 變 動(dòng) 的 程 數(shù) 變 區(qū) 式 就 數(shù) 塊 執(zhí) 不 只 結(jié) 行 存 在 構(gòu) 離 在 它 所 定 義 的 區(qū) 塊 內(nèi) 有 效 。 只 要 在 變 數(shù) 所 內(nèi) 執(zhí) 行,該 變 數(shù) 的 資 料 是 有 效 而 正 確 的。 開 了 該 區(qū) 塊 , 所 有 於 區(qū) 塊 內(nèi) 定 義 的 自 動(dòng) 了

6、。 example 1: main( ) int x=1; inner( ); printf(%dn,x); int x=2; printf(%dn,x); inner( ) 靜 態(tài) 變 數(shù) ( static variable)靜 態(tài) 變 數(shù) 與 自 動(dòng) 變 數(shù) 一 樣 , 是 某 特 定 函 數(shù) 內(nèi) 的 區(qū) 域 性 變 數(shù) , 但靜 態(tài) 變 數(shù) 的 值 不 會(huì) 因 函 數(shù) 的 執(zhí) 行 結(jié) 束 而 消 失 。 靜 態(tài) 變 數(shù) 的 宣 告 如 下 所 示 : static int a; static int b=12345; static char c; static float d=13.45

7、; . . . example 1:main() increment(); increment(); increment(); increment() int x=0; x=x+1; printf(%dn,x); result = ? main() example 2: increment(); increment(); increment(); increment() static int x=0; x=x+1; printf(%dn,x); result = ?4 c 語 言簡(jiǎn)介 c 語 言 的 格 式 - so-net 外 部 變 數(shù) ( extern variable)外 部 變 數(shù)

8、和 前 面 所 提 到 的 變 數(shù) 不 同。外 部 變 數(shù) 的 有 效 範(fàn) 圍 不 是 區(qū) 域 性 , 而 是 整 體 性 ( global ) , 外 部 變 數(shù) 定 義 在 任 何 函 數(shù) 的 外 面 , 表 示 可 以 被 其 他 函 數(shù) 所 共 用 。 example 1:int x=123; main() printf(%dn,x); int x=123; example 2: main() int x=321; printf(%dn,x); result = ? result = ? example 3:#include stdio.h #include extern.c int

9、x=123; main() printf(%dn,x); run1(); run2(); run1() printf(%dn,x); extern.c 內(nèi) 容 如 下 : #include stdio.h run2() extern int x; printf(%dn,x); result = ? c 語言簡(jiǎn)介 c 語 言 的 格 式 - so-net /* = */ /* 程式實(shí)例: */ /* 局部(local)和整體(global) 變數(shù) */ /* = */ #include stdio.h int step = 10; int count = 5; /* 整體變數(shù)宣告 */ /* 整

10、體變數(shù)宣告 */ /* - */ /* 將變數(shù)值加一 */ /* - */ void increment() int step = 0; step+; count+; printf( 副程序 /* - */ /* 主程式 /* - */ void main() int count = 0; count+; step+; printf( 程序名 increment(); printf( 主程序 step %2d /* 局部變數(shù) step 宣告 */ /* 局部變數(shù)加一 */ /* 整體變數(shù)加一 */ %2d n,step, count); %2d */ /* 局部變數(shù)宣告 */ /* 局部變數(shù)加

11、一 */ /* 整體變數(shù)加一 */ count n); /* 副程序呼叫 */ %2d n,step, count); /* = */ 執(zhí)行結(jié)果 程序名 副程序 主程序 step 1 11 count 6 16 c 語言簡(jiǎn)介 c 語 言 的 格 式 - so-net 基 本 輸 入 / 輸 出 函 數(shù) 格 式 化 輸 出 函 數(shù) printf( )語 法 如 下 : printf(format_string,arg1,arg2,.argn);轉(zhuǎn)換字元的種類 種 類 表 示 法 d o 功 能 敘 述 以十進(jìn)位方式印出。 以八進(jìn)位方式印出。 以十六進(jìn)位方式印出。 以不帶符號(hào)的十進(jìn)位方式印出。 以

12、長(zhǎng)整數(shù)(long)方式印出。 以 xxx.xxxxxxx 方式印出。 以指數(shù)的方式印出。 以字元方式印出。 以字串方式印出。 向左邊靠齊印出 。 指定欄位寬。 分隔欄寬。 指定浮點(diǎn)數(shù)之精確度。 整 數(shù)(integer) x u l f e c s dd . *.* 浮點(diǎn)數(shù)(float) 字元(char) 其他(other) int x=42; float y=12.345; char c='a',c14=abc ; printf(/%d/n,x); printf(/%15d/n/%-15d/n,x,x); printf(/%f %4.3f/n,y,y); printf(/%08

13、.4f/n,y); printf(/%0*.*f/n,8,4,y); printf(/%c %s/n,c,c1); result: /42/ / /42 /12.3450000 /012.3450/ /012.3450/ /a abc/ 42/ / 12.345/ c 語言簡(jiǎn)介 c 語 言 的 格 式 - so-net 表二.特別掌握碼種 類 n r t b f ' 功 能 敘 述 newline 新行。 carriage return 回歸鍵。 tab 跳格。 backspace 退位。 form feed 跳頁。 backslash 反斜線。 single quote 單引號(hào)。 d

14、ouble quote 雙引號(hào)。 格 式 化 輸 入 函 數(shù) scanf( )語 法 如 下 : scanf(format_string,argptr1,argptr2,.argptrn); main( ) int x; float y; char z; scanf(%d %f %c,x,y,z); printf(%d %f %cn,x,y,z); scanf(%3d %4f,x,y); printf(%d %fn,x,y); result : 24 12.45 g - 此處為鍵盤輸入之資料 24 12.4500001 g 123 4567890 - 此處為鍵盤輸入之資料 123 4567.0

15、0000 c 語言簡(jiǎn)介 c 語 言 的 格 式 - so-net c 語言基本資料處理 算 術(shù) 運(yùn) 算 元 ( arithmetic operators ) 將 整 數(shù)及浮 點(diǎn) 數(shù) 或 字 元 指 定 給 某 一 不 特 定 的 變 數(shù) 之 動(dòng) 作 加、減、乘、除、負(fù) 數(shù) 及 模 數(shù) 運(yùn) 算子加 (+) 減 (-) 乘 (*) 除 (/) 為 一 般 的 四 則 運(yùn) 算,而 模 數(shù) 運(yùn) 算 (%) 、 、 、 是 經(jīng) 由 兩 常 數(shù) 相 除 所 得 的 餘 數(shù) 稱 之。負(fù) 數(shù) 是 在 某 個(gè) 常 數(shù) 前 面 加 個(gè) 減 號(hào) 所 成 的 組 合 稱 之 。 運(yùn) 算 子 的 優(yōu) 先 權(quán)*、/、%、

16、+、- 以 上 所 標(biāo) 示 的 運(yùn) 算 子 , 其 運(yùn) 算 的 優(yōu) 先 順 序 由 左 至 右 。 負(fù)號(hào) (-) 乘 ( * )、除 ( / )、餘數(shù)( % ) 加 ( +)、減 ( - ) 高優(yōu)先順序 中優(yōu)先順序 低優(yōu)先順序 型別之轉(zhuǎn)換:語法: (type) expressionmain( ) int x1; float y1,y2; x1=(int)4.123; y1=(float)46/5; y2=(int)5.3456; printf(%d %f %fn,x1,y1,y2); result: 4 9.20000000 5.00000000 c 語言簡(jiǎn)介 c 語 言 的 格 式 - so

17、-net 遞 增 與 遞 減遞 增 與 遞 減 又 分 為 前 置 模 式 ( prefix ) 與 後 置 模 式( postfix ) ; 前 置 模 式:是 將 + 或 - - 置 於 變 數(shù) 之 前,其運(yùn)算是在使用此運(yùn)算元之前 先進(jìn)行加一或減一之動(dòng)作。 後 置 模 式: 是 將 + 或 - - 置 於 變 數(shù) 之 後,其運(yùn)算是在使用此運(yùn)算元之後 才進(jìn)行加一或減一之動(dòng)作 。main() int a=1,b=1,c=1,d=1; int aplus,bplus; int cminus,dminus; aplus=+a; bplus=b+; cminus=-c; dminus=d-; pri

18、ntf(%d %dn,aplus,bplus); printf(%d %dn,a,b); printf(%d %dn,cminus,dminus); printf(%d %dn,c,d); 2 2 0 0 1 2 1 0 result: 設(shè)定特別運(yùn)算式特別運(yùn)算式 a += b a -= b a *= b a /= b a %= b 基本運(yùn)算式 a=a+b a=a-b a=a*b a=a/b a=a%b c 語言簡(jiǎn)介 c 語 言 的 格 式 - so-net 邏 輯 運(yùn) 算 子 ( logical operators )邏 輯 運(yùn) 算 的 種 類 運(yùn)算子 | ! 功能敘述 and(及) or(或

19、) not(反向) 運(yùn)算子 功能敘述 1' complement(一的補(bǔ)數(shù)) left shift(左移) right shift 關(guān) 係 運(yùn) 算 子 ( relational operators ) :程 或 有 條 件 的 敘 述 當(dāng) 中 , 一 般 用 於 控 制 流 關(guān) 係 運(yùn) 算 子 運(yùn)算子 = 小於 小於等於 大於 功能敘述 = = != !, 負(fù)號(hào) (-), +, -乘 ( * )、除 ( / )、餘數(shù)( % ) 加 ( +)、減 ( - ) , =, , = =, != | 運(yùn)算子 功能敘述 大於等於 等於 不等於 基本運(yùn)算子優(yōu)先順序表 c 語言簡(jiǎn)介 c 語 言 的 格

20、 式 - so-net 流 程 控 制 控 制 結(jié) 構(gòu) ( control structure )結(jié) 構(gòu) 化 程 式 設(shè) 計(jì) 的 基 礎(chǔ) 建 立 在 下 列 三 個(gè) 結(jié) 構(gòu) : ( 1 ) 循 序 ( sequential ) : 以 一 個(gè) 接 著 一 個(gè) 方 式 進(jìn) 行 作 業(yè) 。 ( 2 ) 條 件 執(zhí) 行 ( conditional ) : if_then_else 。 ( 3 ) 迴 路 ( looping ) : 條 件 執(zhí) 行 if 的 運(yùn) 用以 下 是 if_then_else 流 程 控 制 可 能 出 現(xiàn) 的 四 種 語 法 syntax 1: if (關(guān)係運(yùn)算元) sta

21、tement ; syntax 2: if (關(guān)係運(yùn)算元) statement 1 ; statement 2 ; . . . statement n ; syntax 3: if (關(guān)係運(yùn)算元) statement ; else statement ; syntax 4: if (關(guān)係運(yùn)算元) statement 1 ; statement 2 ; . statement n ; else statement 1 ; statement 2 ; . statement n ;12 c 語言簡(jiǎn)介 c 語 言 的 格 式 - so-net ps. 假如 statement 超 過 一 個(gè) 以 上

22、,則 須 以 將 其區(qū)塊分隔開來 。 example 1:void main(void) int x; scanf(%d,x); if ( x = 10 ) printf(%d = 10n,x); else printf(%d 10n,x); example 2:void main(void) char c; scanf(%c,c); if( c = 'a' ) printf(c=%cn,c); printf(this is true.n); else printf(c!=an); printf(that isn't true.n); result: a - 此處為鍵盤

23、輸入值 c=a this is true result: 10 - 此處為鍵盤輸入值 10 = 10 c 語言簡(jiǎn)介 c 語 言 的 格 式 - so-net 迴 路 while 的 運(yùn) 用在 while 的敘述中,當(dāng)關(guān)係運(yùn)算元之條件為真時(shí) , 會(huì)不斷地重覆執(zhí)行位於 while 後 所 列 的 敘 述 , 直 到 條 件 變 為 否 定 才 停 止 。 syntax 1: syntax 2: while ( 關(guān)係運(yùn)算元 ) statement ; while ( 關(guān)係運(yùn)算元 ) statement 1 ; statement n ; example 1: example 2: void main

24、( ) int i=0; while ( i 5 ) printf(%dn,i+); printf(out of loop.n); void main( ) int i=0,c=0; while ( i 5 ) printf(%d,i+); printf(%dn,+c); printf(out of loop.n); result = ? result = ? c 語言簡(jiǎn)介 c 語 言 的 格 式 - so-net 迴 路 do-while 的 運(yùn) 用do-while 迴 路 , 由 於 測(cè) 試 條 件 在 迴 路 的 後 面 , 所 以 迴 路 中 的 敘 述 至 少 會(huì) 被 執(zhí) 行 一 次

25、 , syntax 1: example: do statement ; while ( 關(guān)係運(yùn)算元 ) ;syntax 2: void main( ) int i=0,c=0; do printf(%d,i+); printf(%dn,+c); while ( i 5 ) ; printf(out of the loop.n); do statement 1 ; statement 2 ; . statement n ; while ( 關(guān)係運(yùn)算元 ) ; result = ? c 語言簡(jiǎn)介 c 語 言 的 格 式 - so-net 迴 路 for 的 運(yùn) 用for 允 許 使 用 者 在

26、同 一 行 敘 述 中 就 設(shè) 定 了 迴 路 的 三 個(gè) 部 份 。 (1) 計(jì) 數(shù) 器 的 初 值,(2) 關(guān) 係 運(yùn) 算 元,(3) 增 減 迴 路 計(jì) 數(shù) 器 的 值 。 其 語 法 如 下 所 示 ,for ( 計(jì)數(shù)器初值,關(guān)係運(yùn)算元,計(jì)數(shù)器值更新 ) statement ; or for ( 計(jì)數(shù)器初值,關(guān)係運(yùn)算元,計(jì)數(shù)器值更新 ) statement 1 ; . statement n ; example 1:void main( ) example 2:void main( ) int i,c; for (i=0, c=1 ; i 5 ; +i,+c ) printf(%d,i

27、); printf(%dn,c); printf(out of loop.n); result = ? int i; for( i = 0 ; i = 5 ; +i ) printf(%d ,i); result = ? 012345 c 語言簡(jiǎn)介 c 語 言 的 格 式 - so-net goto 的 運(yùn) 用在 一 個(gè) 程 式 中 , 使 用 got o 敘 述 可 以 強(qiáng) 制 改 變 程 式 執(zhí) 行 的 步 驟 , 但 也 會(huì) 因 此 使 程 式 的 結(jié) 構(gòu) 混 亂 , 所 以 此 敘 述 應(yīng) 儘 量 不 用 。 其 語 法 如 下 所 述 。 example:syntax : goto

28、. . . label : . label ; main( ) int i=1111; repeat : printf(%dn,i); goto repeat ; 條 件 執(zhí) 行 switch 的 運(yùn) 用switch 語 法 如 下 所 示 switch ( 變數(shù)) case 常數(shù) 1 : statement 1 ; case 常數(shù) 2 : statement 2 ; . case 常數(shù) n : statement n ; default : statement ; ps. 此 處 常 數(shù) 的 資 料 型 態(tài) 為 整 數(shù) 與 字 元 兩 種 。 c 語言簡(jiǎn)介 c 語 言 的 格 式 - so-

29、net example 1:void main( ) char var='d' switch (var ) case 'a' : printf(var = an); break; case 'b' : printf(var = bn); break; case 'c' : printf(var =cn); break; default : printf(i'm in default.); /* end of switch */ /*end of main */ example 2:void main( ) int var=

30、3; switch ( var ) case 1 : printf(var = 1n); break; case 2 : printf(var = 2n); break; case 3 : printf(var = 3n); break; default : printf(i'm in default); /* end of switch */ /*end of main */ c 語言簡(jiǎn)介 c 語 言 的 格 式 - so-net 函 數(shù) 何 謂 函 數(shù) ?1. 2. c 語言使用的函數(shù)可以寫出特別美麗的程式結(jié)構(gòu),使程式簡(jiǎn)單化,偵錯(cuò)簡(jiǎn)單。 將重複之某些指令撰寫成一個(gè)函數(shù),可減少編輯程式時(shí)間,更可使程式精 簡(jiǎn)

溫馨提示

  • 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)論