基本C语言介绍.doc_第1页
基本C语言介绍.doc_第2页
基本C语言介绍.doc_第3页
基本C语言介绍.doc_第4页
基本C语言介绍.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ITRC 99th 程設教學講義2008/05/27基本C語言介紹 C 語言 本課程使用 C 語言教學。 C 的語法簡潔、執行效率高,又有跨平台的特性,因此成為專業程式設計師的最愛,也是資訊科系必備的語言基礎。也由於會用 C/C+ 的程式設計師很多,因此許多新興的程式語言也都以 C/C+ 的語法為基礎,例如:網頁特效及手機遊戲的 Java、網頁語法的JavaScript、動態網頁技術的 PHP 和 Flash 動畫的控制語法 ActionScript,在語法上和 C/C+ 都很相似,因此只要學會了 C 語言,要學會上述其他語言都很快就可以上手。 軟體 慣用的軟體是 DevC+ ,在網路上google一下便可找到。 建議:最上層的選項列 工具 編譯器選項 一般 智慧型Tab按掉。 因為寫程式的排版是否清楚很重要,而此設計非常沒有智慧。 排版時可以多使用Tab鍵。宣告函式庫 簡單的 C 程式 圖例說明印出 C 語言是個區分大小寫,並忽略換行的程式語言。 main() 是 C 語言的主程式,每一個 C 的程式都必須有一個 main 函數,函數名稱後面接著一 對小括號,而下面的一對大括號 則是 main 函數的程式主體,請注意程式主體的每一行敘 述必須以分號 ; 做為結束。 上述程式中, printf() 這個函數的功能是把結果印在螢幕上,括號裡面的文字就是要印出來的內容(前後要用 夾起來)。而要使用 printf() 這個函數之前,必須要先宣告它的函式庫才行,第一行的 #include 便是包含 printf() 函式的函式庫之一。 而 scanf() 函式此時是暫時把程式停下來的功用,否則剛用 printf() 印出的東西若是稍縱即逝, 豈不可惜了寫這個程式的作用了嗎?而關於 scanf() 的用法,下次上課時會詳述。 練習 試著在妳的 DevC+ 裡頭打上這個簡單的 C 程式吧! 打完之後按下 F9 看看螢幕上是否出現了 printf() 函式裡 中夾起來的東西呢? 若出現的話,代表妳成功了!這也許是妳生平寫下的第一個程式呢! 若出現問題的話,請舉手發問噢!2008/06/10變數使用 變數當我們在寫程式的時候,會需要紀錄一些資料,無論是數字或是文字,而在一個程式裡面,可能會用到不同的資料,所以我們需要幫那些資料取個名字,把它存到電腦的記憶體中。 型態可以說電腦是個分工精細的東西,當你需要指使它去做事情的時候,你必須要讓它明確的知道你要它做什麼,你交給它的東西又是什麼。另一方面,型態也告訴了電腦,要怎麼分配記憶體來儲存這些資料,因為不同種類的資料,適合存取的方式也不同。舉例來說,當你想要電腦處理整數的運算時,就必須要用到int這個型態,它代表了整數。(變數型態與代號之間的對照表如附表一) 宣告變數宣告變數的語法: 變數型態 變數名稱 例如: int (整數) a變數名稱也可以在一開始就預設它的値 int b=1;但是必須要注意的一點就是,C語言有一些保留字,比如像剛剛用到的int ,就是一個保留字,我們的變數名稱不可以是那些保留字,否則電腦會神經錯亂不知道你到底指的是哪個東西。不過也不用煩惱自己不小心就取了保留字的變數名稱,因為貼心的Dev會把保留字用粗黑體標起來,當發現的時候在換個名字就OK了。 輸入輸出輸入輸出,就是把資料送進去電腦裡面,再讓電腦把處理過的數據送出來的行為。輸入輸出在程式設計裡面是最基本也是最重要的兩個行為,因為要讓電腦幫我們處理事情,就一定要輸入數據,而電腦處理完如果沒有告訴我們結果為何,這程式也就沒有意義了。輸入的基本函式: scanf(“變數型態”,&變數名稱);舉例而言,我們要讀入5這個數字,作為變數a的値,就要寫成:scanf(“%d”,&a); 要注意的是,這裡的變數型態並不可以寫成int,而要寫作%d(唸成百d),它代表了int這個型態 的種類,你可以想像成我們寫了%d告訴電腦,讀入的這個數字是個整數,那這整數要存在哪裡 呢? 就是要存在變數a裡面。 而變數a的&代表這變數在記憶體中位置,也就是把5這個數字放進去這個記憶體位置,用變數 a來代替它。 寫成%d的另外一個功用就是在我們想要印出一段英文句子的時候,英文字不會和int搞混在一 起,造成我們的困擾。2008/06/10變數使用 練習輸入自己的年齡,並印出完整的句子。 附表一變數種類資料型態資料型態%dint%ld 整數Long 長整數%ffloat %lf 浮點數Double 倍精確度浮點數%cchar %s 字串String 字串 筆記欄2008/06/06條件敘述 條件式條件式是在程式中做一些判斷時要用的句型,最常用的是比較兩個數值的關係。因為條件式本身還不是一行指令,所以後面是不用加分號。語法大概是長這樣: 數值一 關係運算元 數值二關係運算元有: 大於= 等於(注意,是兩個等號)= 大於或等於 != 不等於例如: ab a=b ab 三式大概表示了數學上的三一律,只是相等時要打兩個等號。另外,有時候必須有兩個以上的條件,則可以使用 & (And 且) 及 | (Or 或)。例如: (ab) | (a=b) 代表 a 小於 b 或 a 等於 b ,也可以結合寫成 a60) & (a9) 和 a=9 代表的意義是一模一樣的。 if、else if、else 的語法 if 顧名思義就是如果的意思, if 的語法長這樣: if (條件式) 指令一; 此時,如果情況符合該條件式,就會執行指令一的指令。 有時候,在條件不成立的時候也必需執行一些指令,這時候就可以使用 else 。 語法大概是長這樣: if (條件式) 指令一; else 指令二; 這樣代表,若符合條件式的情況,則執行指令一。否則就會執行指令二的指令。 然而,並不是每次都只有一個判斷式,這時候就要使用到 else if 了。 那語法就會變成這樣: if (條件式1) 指令一; else if(條件式2) 指令二; else 指令n;符合 if 或 else if 裡面的條件式,就會執行後面對應的指令。若完全不符合前面任何一個條件式,則會執行 else 後面的指令。 前面的判斷式不包含的,全部屬於 else 的範圍, 故 else 後面沒有條件式。 練習寫一個程式,輸入兩個整數 a、b,印出兩個變數的大小關係。2008/06/06迴圈敘述 迴圈有的時候我們必須要讓電腦重複執行一些指令,直到某個條件成立或不成立的時候,就會用到這種語法,而這就是迴圈的基本意思。 while迴圈while基本上可以用英文的意思來解讀,也就是當。簡單來說,就是當這個條件式成立的時候,就做while迴圈裡面的動作,它的語法是:while(條件式)指令一;指令二;指令三;很多很多指令;如果我們要執行很多指令的話,就要像上面的範例一樣,用一個大括號把指令都包起來,而如果只有一個指令的話,就可以省略大括號。在迴圈裡面,我們也可以用break來讓它強制脫離迴圈,執行迴圈以外的下一行程式,或者是continue,讓它忽略迴圈裡面之後的指令,直接跳入下一個迴圈。而把break和continue配合條件式的使用,就可以讓程式幫助我們處理更複雜的情況。 for迴圈另一種迴圈敘述的種類是for迴圈,和while不同的地方是,for可以比較方便的控制要跑幾個迴圈(這樣不代表while不能寫出來),因為我們多設計了一個變數來跟著迴圈跑。它的語法是: for(起始値;條件式;更新値)一些指令; 起始値:設定一個變數,通常會把它叫做i,i = 數字(作為起始值) 條件式:一個判斷的式子,如果符合條件,就繼續這個迴圈,如果沒有符合條件的話,就跳出 這個迴圈。 更新值:跑完一個迴圈後,根據我們寫的運算式子,去更新i的值,而同時如果i不符合條件式 的話,就會跳出迴圈。和while一樣的地方是,如果只有一個指令的時候,也可以不用大括號,而for同樣也可以使用break和continue。注意的是,這裡的continue跳到下一個迴圈的時候,I的值也是會被更新的。 練習印出九九乘法表2008/06/06陣列敘述 陣列在寫一個程式的時候,我們可能會需要儲存大筆資料,而要用到很多變數。假設有一個程式需要用到100個變數,那我們可能會宣告到頭昏眼花。這時候我們就需要陣列來幫助我們。你可以把陣列想像成一個表格,就像這樣子:0123456789注意,陣列的格子編號是從0開始的。陣列幫助我們開了一條記憶體,讓你可以把要存的資料存放進去,因為它是有規則且有秩序的把資料存進去,所以我們可以用一些簡單的方法,來一次讀入,或取出,甚至可以用陣列來完成一些較複雜的計算。 宣告陣列int 陣列名字n;基本上,宣告陣列的時候裡面並不能放變數,這裡是為了方便說明才這樣做。n表示需要幾個格子。這裡要注意的一點是,因為編號是從0開,假設我們宣告了一個100格的陣列,其實最後一格的編號會是99,有的時候為了美觀、為了方便、為了怕自己粗心弄出一些錯誤,我們會把陣列開到101,這樣最後一格會是100,比較恰當。假設我們宣告了一個陣列:int a11;我們可以指定一個數字進去任何一個編號的格子裡(噢編號正式的名稱叫作索引値)Ex:a5=7, a0=8;雖然宣告的時候不可以把變數放在裡面宣告,但是索引値卻可以是用變數寫成的,也可以做運算。Ex:int x=6;ax+1=7; 那這樣a7這格就會被輸入7了。 輸入輸出基本上陣列的輸入輸出會配合迴圈。但現在先舉只讀入一個數字進入陣列的例子:scanf(“%d”,&an); 這裡的n表示要把數字讀到陣列的索引值,要注意的是,第一個的n其實是0。printf(“%d”,an);那現在如果我們要一次

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论