Introduction to the C Programming Language

Slides:



Advertisements
Similar presentations
While 迴圈 - 不知重複執行次數
Advertisements

CSIM, PU C Language Introduction to the C Programming Language 重覆敘述 (for,while,break,continue) 適合重複性的計算或判斷.
第一單元 建立java 程式.
Loops.
C语言程序设计 第十二章 位运算.
Introduction to the C Programming Language
C语言程序设计 第五章 选择结构程序设计.
C语言程序设计 课程 第5章 数组 主讲:李祥 博士、副教授 单位:软件学院软件工程系.
高级语言程序设计 主讲人:陈玉华.
第一章 C语言概述.
循环结构又称为重复结构:用来处理需要重复处理的问题,它是程序中一种很重要的结构。
Visual C++ introduction
Do.For.While.正三角.倒正三角.倒九九乘法表
函數 授課:ANT 日期:2009/3/24.
選擇排序法 通訊一甲 B 楊穎穆.
C的發展史 C程式初體驗 C程式設計基本注意事項 上機實習課程
Chen Yi Fen The C Language Chen Yi Fen
適用於多選一 可減少if 與 else配對混淆的錯誤.
If … else 選擇結構 P27.
第四章 流程控制(一) if,if-else 與 switch
Introduction to the C Programming Language
Introduction to the C Programming Language
Java程式概觀.
STRUCTURE 授課:ANT 日期:2010/5/12.
QQ: 李祥 QQ: 欢迎多种方式的学习交流,祝大家学有所成.
计算概论 第十八讲 C语言高级编程 结构与习题课 北京大学信息学院.
C語言簡介 日期 : 2018/12/2.
第12章 從C到C++語言 12-1 C++語言的基礎 12-2 C++語言的輸出與輸入 12-3 C++語言的動態記憶體配置
程式撰寫流程.
第5章 堆疊(Stacks) 5-1 堆疊的基礎 5-2 堆疊的表示法 5-3 堆疊的應用 - 運算式的計算與轉換
Introduction to the C Programming Language
Chap 3 分支结构 3.1 简单的猜数游戏 3.2 四则运算 3.3 查询自动售货机中商品的价格.
第四章 C 语言中的输入和输出.
THE C PROGRAMMING LANGUAGE
邏輯關係運算 == 等於 & 且 (logical and) ~= 不等於 | 或 (logical or) < 小於
計數式重複敘述 for 迴圈 P
C Programming in Action
Introduction to the C Programming Language
程式設計實習課(四) ----C 函數運用----
第七章 函数及变量存贮类型 7.1 函数基础与C程序结构 7.2 函数的定义和声明 7.3 函数的调用 7.4 函数的嵌套与递归
第一單元 建立java 程式.
C语言概述 第一章.
JAVA 程式設計 資訊管理系 - 網路組.
4 條件選擇 4.1 程式基本結構 循序式結構 選擇式結構 重複式結構 4-3
Introduction to the C Programming Language
Introduction to the C Programming Language
程式的時間與空間 Time and Space in Programming
輸出與輸入(I/O).
C程序设计.
C++程式設計入門 變數與運算子 作者:黃建庭.
Introduction to the C Programming Language
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
第三章 基本的輸出與輸入函數 (Basic Output & Input Function)
第四章 C 语言中的输入和输出.
Introduction to the C Programming Language
程式設計--linear search 通訊一甲 B 楊穎穆.
程式設計--Quick Sort 通訊一甲 B 楊穎穆.
適用於多選一 可減少if 與 else配對混淆的錯誤.
Introduction to the C Programming Language
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
Programming & Language Telling the computer what to do
C/C++基礎程式設計班 陣列 講師:林業峻 CSIE, NTU 3/14, 2015.
判斷(選擇性敘述) if if else else if 條件運算子.
第一次上機考參考答案 僅供參考,同學可自行再想更好的方法..
Array(陣列) Anny
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
C語言程式設計 老師:謝孟諺 助教:楊斯竣.
Introduction to the C Programming Language
函式庫補充資料 1.
隨機函數.
Presentation transcript:

Introduction to the C Programming Language 選擇敘述(if) 若傋註 C: 參見 “C語言教學手冊”,洪維恩著

複習---比較運算子 運算子 符號 名 稱 結合規則 使用語法範例 當a=6,b=2時前述範例的 比較結果 = = 等於 由左而右 6 = = 2 , 0(假) > 大於 a > b 6 > 2 , 1(真) < 小於 a < b 6 < 2 , 0(假) >= 大於或等於 a >= b 6 >= 2 , 1(真) <= 小於或等於 a <= b 6 <= 2 , 0(假) != 不等於 a != b 6 != 2 , 1(真)

if 敘述(if statement) if ( expr ) { statement1; expr } True(真)

if 敘述----範例 範例1:檢查密碼。 printf("請輸入你的密碼 : "); scanf("%d", &passwd); #include<stdio.h> #include<stdlib.h> int main() { int passwd; 宣告ㄧ變數為整數型態 printf("請輸入你的密碼 : "); scanf("%d", &passwd); if (passwd = = 8527) printf(“密碼正確!歡迎使用本系統”); /*密碼正確*/ system() return 0; } Ch1_1_1.c

if 敘述(if-else statements) expr true false Statement2 if-else 敘述的流程圖: if (expr) { Statement1; } else Statement2;

if 敘述----範例 範例1:輸入兩數,比較大小。 printf("請輸入兩個數字 : "); scanf("%d%d", &a,&b); #include<stdio.h> #include<stdlib.h> main() { int a , b; 宣告a,b兩變數為整數型態 printf("請輸入兩個數字 : "); scanf("%d%d", &a,&b); if (a>b) printf("%d is bigger than %d\n", a,b); /*a>b時印出*/ else printf("%d is less than %d\n", a ,b); /*a<=b時印出*/ system("pause"); } Ch1_1_1.c

if 敘述----範例 範例3 流程圖: 從鍵盤輸入一個任意數,判別是偶數還是奇數。 False True 流程圖符號說明 開始 輸入任意數 number rem =number%2 流程圖符號說明 處理符號 流向符號 判斷符號 起始符號/結束符號 輸入/輸出方塊 False rem =1? number為偶數 number為奇數 True 結束

if 敘述----範例 範例3 程式碼:從鍵盤輸入一個任意數,判別是偶數還是奇數。 #include<stdlib.h> #include<stdio.h> #include<stdlib.h> void main() { int number, rem; printf("\1 請輸入ㄧ數字以供測試= => "); scanf("%d",&number); rem = number % 2; if ( rem == 1 ) printf("\2: %d 是奇數\n",number); else printf("\2: %d 是偶數\n",number); system("pause"); } %為取餘數的符號 比較是否相等的符號 Ch1_1_3.c

if 敘述----範例 範例4: 讓使用者輸入 " yes " 或 " no " 的答案. #include <stdio.h> #include <stdlib.h> void main(void) { char ch; int ans; printf("Type yes or no?(y/n)"); ch = getchar(); if ((ch == ‘Y')||(ch =='y')) ans = 1; else if((ch =='N')||(ch =='n')) ans = 0; printf("The value of answer=%d\n",ans); system("pause"); } 宣告變數 ch 為字元型態 宣告變數 ans 為整數型態 讀取螢幕上的字元並存到變數ch中 Ch1_1_4.c

if 敘述----範例 範例5 流程圖: 輸入里程,並計算出車費。 開始 輸入里程數 cost =70 i<=1500? 輸出cost 結束 True False diff =i -1500 diff 為500 的倍數? cost =70+(diff/500)*5 cost =70+(diff/500+1)*5 範例5 流程圖: 輸入里程,並計算出車費。 假設里程在1500公尺以下皆為70元,每超過500公尺加5元,不足500公尺以500公尺計算。

if敘述----範例 範例5 程式碼: (假設里程在1500公尺以下皆為70元,每超過500公尺加5元,不足500公尺以500公尺計算。) #include <stdio.h> #include <stdlib.h> int main(void) { int i,diff,cost;  printf("請輸入里程(單位為公尺):"); scanf("%d",&i); if (i<=1500) /*里程數小於等於1500公尺*/ cost=70; else 續~

接續上頁 if (diff%500==0) /*里程數不足500公尺仍以500公尺費率計算*/ cost=70+(diff/500)*5; diff = i-1500; /*計算里程數超過1500公尺的里程費率*/ if (diff%500==0) /*里程數不足500公尺仍以500公尺費率計算*/ cost=70+(diff/500)*5; else cost=70+((diff/500)+1)*5; } printf("總共車資為: %d 元",cost); printf("\n");  system("pause"); return 0; Ch1_1_5.c

if 敘述(else if statements) if ( expr1) { statement1; } else if (expr2) statement2; else if (expr3) statement3; else statement4; staement5; true expr1 Statement1 false true expr2 Statement2 false true Statement3 expr3 false Statement4 Statement5

if 敘述(nested if) ----範例 void main() { char ch , ans; printf("\1是否要繼續安裝本系統 ? (1.yes / 2.no / 3.cancle)\n"); printf("請輸入1或2或3:") ch = getche(); if (ans == '1' ) printf("\2: 歡迎安裝本系統!\n"); else if(ans== '2 ') printf("\1: 結束安裝!\n"); else if(ans== '3') printf(“\1: 取消中…!\n"); else printf("\1:異常中止!請重新安裝!\n"); } 宣告兩變數 ch,ans 為字元型態 直接讀取螢幕上一個字元並存到變數ch中 Ch1_1_6.c

if 敘述(nested if) ----範例 #include<stdio.h> #include<stdlib.h> void main() { int a, b; printf("請輸入一個整數a : "); scanf("%d", &a); if (a<10) printf(" %d 為小於10 的整數\n", a); else if (a>10) printf(" %d 為大於10的正整數\n", a); else printf(" %d 為等於10 的正整數\n", a); system("pause"); } Ch1_1_7.c

if 敘述(nested if) ----練習 1 練習1:輸入學生的成績並依下列的分類方式分級。     00~59:E 級     60~69:D 級     70~79:C 級     80~89:B 級     90~100:A 級 hint:可使用巢狀 if Ch1_1_9.c

if 敘述(nested if) ----(練習 1 )cont. 1 #include<stdio.h> void main() {   int score; printf("\1:Please input the score of a student ==> "); scanf("%d",&score); if ( score >= 90 ) printf("\1:The score is in A grade.\n"); else if ( (score >= 80) && (score<=89) ) printf("\1:The score is in B grade.\n"); else if ( (score >= 70) && (score<=79)) printf("\1:The score is in C grade.\n"); else if ( (score >= 60) && (score<=69)) printf("\1:The score is in D grade.\n"); else printf("\1:The score is in E grade.\n"); } 60 70 80 90

簡潔版的if-else---條件運算子 可用「條件」運算子來替代if-else敘述 “?:”---根據條件的成立與否,來決定結果為?或:後的運算式 格式如下: 條件判斷 ? 運算式1 : 運算式2 範例: num1>num2 ? (larger=num1) : (larger=num2) 式1 if(num1>num2) 式2 larger=num1; else larger=num2;

簡潔版的if-else例子(補充) #include<stdio.h> #include<stdlib.h> int main(void) { int n1,n2,larger; printf(“please type two numbers:”); scanf(“%d %d”,&n1,&n2); n1>n2 ? (larger=n1) : (larger=n2); printf(“\nthe larger number is :%d\n”,larger); system(“pause”); return 0; }