330 likes | 531 Views
C/C++ 基礎程式設計 班 -230 C 語言基本介紹與環境設定. 講師:鄒尚軒 , 8/5, 2013. 課程大綱. C 語言簡介 資料 型 態 與變數 基本資料處理 基本輸入輸出. 什 麼是 程 式、程式語言. 什麼是程式? 用說的不如用 玩 的 ! http:// armorgames.com/play/6061/light-bot-20 什麼是程式 語 言? 如 上 面的 遊 戲,把動作、功能都規定好,只要使用者去對動作進行分配、排程即可 遊戲中的方法就算是他所定義的一種語言 而真正的程式語言更為自由,功能更多更廣. C 語言是什麼.
E N D
C/C++基礎程式設計班-230C語言基本介紹與環境設定C/C++基礎程式設計班-230C語言基本介紹與環境設定 講師:鄒尚軒, 8/5, 2013
課程大綱 • C語言簡介 • 資料型態與變數 • 基本資料處理 • 基本輸入輸出
什麼是程式、程式語言 • 什麼是程式? • 用說的不如用玩的! • http://armorgames.com/play/6061/light-bot-20 • 什麼是程式語言? • 如上面的遊戲,把動作、功能都規定好,只要使用者去對動作進行分配、排程即可 • 遊戲中的方法就算是他所定義的一種語言 • 而真正的程式語言更為自由,功能更多更廣
C語言是什麼 • 我們的語言:中台客英法日德… • 你好! Hello! こんにちは! • 電腦:1101010110(抱歉,我聽不懂) • 我們需要翻譯,但我們語言太多需要很多翻譯 =>有人制定了C語言,和C語言的翻譯 • C語言是種語法介於人和電腦之間,用來命令電腦做事的一種程式語言。 C語言程式碼HelloWorld.c 執行檔HelloWorld.exe 編譯器(翻譯) Compiler
標準C語言範例 • 程式要有開始和結束(main、return) • 一個命令一個動作,以分號(;)作為動作結束 • 宣告要用的資料,用程式碼操作他們 #include <stdio.h>->引入函式庫 int main(){->程式進入點 /* 變數宣告 */ /* 主要程式碼 */ return0;->程式結束回傳0 }
第一個C程式 • HelloWorld • 使用 Visual Studio或Dev-C++ • 編譯並執行 #include <stdio.h> #include <stdlib.h> int main() { printf("Hello world\n"); system("pause"); return 0; }
註解 • 單行註解://內容 • 區域註解:/* 內容 */ #include <stdio.h> //引入標準函式庫 int main() //這行是主程式 { printf("Hello World !\n"); //printf("這行不會真的印出來!\n"); /*printf("這行跟下行也是!\n"); printf("不會印!\n");*/ return 0; }
註解 • 註解可以幫助日後閱讀程式時,不會忘記程式碼在做什麼 • 註解可以幫助他人了解自己程式在做什麼 • 最重要的是,註解是一群人在共同開發程式時,很重要的溝通方式
課程大綱 • C語言簡介 • 資料型態與變數 • 基本資料處理 • 基本輸入輸出
資料型態 • 在電腦中所有的數據都是0與1組成,而資料型態是要讓電腦知道如何使用資料 • 字元(char) • ‘A’, ‘a’… • 整數(int) • 123, 456, -1998 • 浮點數(float) • 0.1, 1.253, -1.2 • 資料都是靠變數進行存取運算
變數 • 當CPU進行運算時,會讀取資料運算後再將結果存下來,因此需要變數去存放資料 • 使用對的資料型態的變數存放對的資料 • 使用等號(=)將資料放進變數中 • 變數使用規則 • 先宣告,再使用 • 不可以是關鍵字 • 如:int, main 等 • 符合命名原則
宣告變數 • 語法 • 宣告一個變數:資料型態 變數名稱; • 宣告多個變數:資料型態 變數1, 變數2,…, 變數n; • 宣告並初始化變數:資料型態 變數名稱 = 內容; #include <stdio.h> int main() { int num1 = 123; //宣告num1為整數變數 double num2 = 123.456;//宣告num2為小數變數 char ch1 = 'A'; //宣告ch1為字元變數 double num3; //宣告num3為小數變數 intnum4; //宣告num1為整數變數 num3 = num1 + num2; //將num1+num2之結果存到num3 num4 = num1 + num2; //將num1+num2之結果存到num4 return 0; }
變數命名原則 • 開頭必須是英文字母或底線 • 大小寫視作不同 • 不得使用關鍵字 #include <stdio.h> int main() { intabc = 10; int ABC = 20; int 123a = 30; //錯誤:變數開頭為數字 int char = 40; //錯誤: 變數為關鍵字char return 0; }
變數的資料型態種類 • 1byte(8bits)可存放0~255間的任意數字 • 不同變數能存放的值有範圍限制 • 使用變數時請注意宣告的型態特性
課程大綱 • C語言簡介 • 資料型態與變數 • 基本資料處理 • 基本輸入輸出
資料運算 • 變數間的運算靠”運算子”進行 • 運算子主要分為: • 算術運算子 • 邏輯運算子 • 位元運算子 • 其他運算子
算術運算子 • 加、減、乘、除、負號、取餘數等運算子 • 加(+)、減(-)、乘(*)、除(/)為一般的四則運算 • 負號是指在變數前面加減號,得到負數。 • 取餘數(%)是將兩個整數相除後,取其餘數的運算。 • 運算子的優先權 • 如:1+2%3 結果是3 • 使用括號”()”改變順序 • 如:(1+2)%3結果是0
整數與浮點數的除法 • 注意以下範例的除法 • 整數除法結果為整數 • 使用型態轉換語法改變運算結果: (資料型態)變數 #include <stdio.h> int main() { int a1 = 46, a2 = 5; double b1 = 46, b2 = 5; double x, y, z; x = a1 / a2; // x = 9 y = b1 / b2; // y = 9.2 z = a1 / b2; // z = 9.2,會自動把a1轉成浮點數做運算 //使用型態轉換把a1轉成浮點數做運算 x = (double)a1 / a2; // x = 9.2 return 0; }
特殊算術運算子 • 常用的特殊算術預算子
特殊算術運算子 • 觀察下列程式變數a的變化 • #include<stdio.h> • int main() • { • int a = 0; • a+=5; • a++; • a/=3; • a*=5; • a-=4; • a%=3; • return 0; • }
邏輯運算子 • 一般用於控制流程等有條件的敘述當中 • 常用來比較或判斷變數內容資料為多少 • 在多數的程式語言中,等號(=)都為將值存入變數中,並非等於,等於(==)為兩個等號
基本運算子優先順序 • 可以使用括號改變優先順序
隨堂練習 • 計算梯形面積,將結果存入一個變數,並用偵錯觀察結果 • 梯形上底=2,下底=3,高=3 • 請注意答案是否是 7.5 呢
課程大綱 • C語言簡介 • 資料型態與變數 • 基本資料處理 • 基本輸入輸出
基本輸入輸出 • 讓使用者能夠輸入資料,也能看見結果 • 輸入:scanf • 預設為從鍵盤讓使用者輸入 • 輸出:printf • 預設為從螢幕輸出
基本輸入輸出 • 範例:利用鍵盤輸入一個整數,再將它由螢幕印出 • 注意:scanf中的變數前面有”&” • #include<stdio.h> • int main() • { • intnum; • scanf("%d", &num); //鍵盤輸入之整數存到num • printf("%d\n", num); //將整數num由螢幕輸出 • return 0; • }
基本輸出函數 • 格式化輸出函數 printf( ) • 語法如下: • printf(“格式化輸出內容”, 參數1, 參數2, ...參數n); • 格式化輸出內容,可加入列印格式、控制字元、修飾子 • 參數:為對應格式之資料內容 (可為變數、運算式、常數) • 要訣: • 參數:一個%對應一個參數 • 列印格式:%後可加對應參數型態之列印格式 • 修飾子:%後可加修飾子對列印格式做排版 • 控制字元:一般鍵盤無法輸入的字元要用控制字元 • 範例:在螢幕印一整數變數內容並換行 • printf(“%d\n”, num);
列印格式,控制字元 • 格式化輸出內容
修飾子 • 格式化輸出內容
基本輸出函數 • 範例: • #include<stdio.h> • #include<stdlib.h>//用到system()需要引入 • int main() • { • intx=42; • doubley=12.345; • charc='A'; • printf("%d %lf %c\n",x, y, c); • printf("|%15d|\n", x); • printf("|%-15d|\n", x); • printf("|%015d|\n", x); • printf("|%10lf|\n", y); • printf("|%10.3lf|\n", y); • system("pause"); //讓螢幕暫停 • return 0; • }
基本輸入函數 • 格式化輸入函數 scanf( ) • 語法如下: • scanf(“格式化輸入內容”, &參數1, &參數2, ...&參數n); • 格式化輸入內容, 格式與printf同 • &參數:為對應格式之變數記憶體位置 • 要訣: • &參數: • 一個%對應一個變數記憶體位置,輸入時以空白鍵,、TAB,、Enter區隔,以Enter做為輸入結束 • 列印格式:%後可加對應參數型態之格式 • 修飾子:一般不使用 • 控制字元:一般不使用 • 範例:將鍵盤輸入之兩個整數存到兩個整數變數 • scanf(“%d%d”, &num1, &num2);
基本輸入函數 • #include<stdio.h> • #include<stdlib.h> • int main() • { • int num1; • double num2; • charch; • scanf("%c", &ch); • scanf("%d", &num1); • scanf("%lf", &num2); • printf("%c\n", ch); • printf("%d\n", num1); • printf("%lf\n", num2); • system("pause"); • return 0; • } • 範例
隨堂練習 • 輸入兩個小數,印出兩者相除的結果(輸出到小數後兩位) • 範例: • 輸入:5.23.1 • 輸出:1.68 • 呈上題,將輸出改為向右對齊,總共有十格數字 • 例: 5.2 3.1 1.68