C/C++基礎程式設計班 控制敘述 講師:林業峻 CSIE, NTU 3/7, 2015.

Slides:



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

第一單元 建立java 程式.
C语言程序设计 主讲教师 :张群燕 电话:
第4章 條件判斷與迴圈 Java 2 程式設計入門與應用.
第一章 C语言概述 计算机公共教学部.
第4章 流程控制結構 4-1 結構化程式設計 4-2 程式區塊 4-3 簡單的條件控制敘述 4-4 巢狀條件敘述 4-5 多選一條件敘述
C/C++基礎程式設計班 陣列 (Array)
第三章 控制结构.
Chapter 5 迴圈.
循环结构又称为重复结构:用来处理需要重复处理的问题,它是程序中一种很重要的结构。
Class 2 流程控制-選擇敘述與迴圈.
Visual C++ introduction
Do.For.While.正三角.倒正三角.倒九九乘法表
第四章 流程控制(一) if,if-else 與 switch
Java程式概觀.
Introduction to the C Programming Language
C语言 程序设计基础与试验 刘新国、2012年秋.
第3讲 C++程序控制结构 3.1 顺序结构 3.2 分支结构 3.3 循环结构 3.4 转向控制 3.5 综合案例分析.
Introduction to the C Programming Language
邏輯關係運算 == 等於 & 且 (logical and) ~= 不等於 | 或 (logical or) < 小於
程序的三种基本结构 if条件分支语句 switch多路开关语句 循环语句 循环嵌套 break,continue和goto语句
計數式重複敘述 for 迴圈 P
程式設計實習課(四) ----C 函數運用----
第一單元 建立java 程式.
建立一 function s (type) 可以用來繪製cyclic-harmonic curves
第0章作业: 教材P12-练习与实践 1.写出用符号’*’输出描绘汉字”大”的流程图。
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
條件判斷指令 -if 指令 -switch 指令 迴圈指令 - for 迴圈 - while迴圈 - break、continue 指令
程式結構&語法.
輸入&輸出 函數 P20~P21.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
4 條件選擇 4.1 程式基本結構 循序式結構 選擇式結構 重複式結構 4-3
資料結構與C++程式設計進階 實作練習 講師:林業峻 CSIE, NTU 6/ 24, 2010.
C 语言程序设计 程序的循环结构 电大崇信县工作站 梁海亮.
CH05. 選擇敘述.
第2章 算法与C语言程序 程序 (1)数据的描述:数据的类型和组织形式(数据结构) (2)操作的描述:操作步骤(算法) 沃思指出:
期末考.
撰寫MATLAB基礎財務程式 柯婷瑱.
浙江长征职业技术学院—计算机与信息技术系—相方莉制作
7.1 C程序的结构 7.2 作用域和作用域规则 7.3 存储属性和生存期 7.4 变量的初始化
本节内容 字符与字符串 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
資料結構與C++程式設計進階 遞迴(Recursion) 講師:林業峻 CSIE, NTU 6/ 17, 2010.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
项目1 C程序设计起步 学习目标: 通过该项目你可以知道: C语言的用途。 C语言的基本符号和关键字。 C语言程序的结构及特点。
第二章 类型、对象、运算符和表达式.
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
程序设计基础.
#include <iostream.h>
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
PHP+MySQL互動式網頁程式設計班 範例實作-簡易線上購物車 講師:林業峻 CSIE, NTU 6 / 20, 2010.
第1章 数据结构基础概论 本章主要介绍以下内容 数据结构研究的主要内容 数据结构中涉及的基本概念 算法的概念、描述方法以及评价标准.
結構、檔案處理(Structure, File)
C/C++基礎程式設計班 字元與字串 講師:林業峻 CSIE, NTU 3/14, 2015.
資料結構與C++程式設計進階 期末考 講師:林業峻 CSIE, NTU 7/ 15, 2010.
迴圈(重複性結構) for while do while.
適用於多選一 可減少if 與 else配對混淆的錯誤.
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
多重條件選擇敘述
Programming & Language Telling the computer what to do
C/C++基礎程式設計班 陣列 講師:林業峻 CSIE, NTU 3/14, 2015.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
C语言基本语句 判断循环.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
C語言程式設計 老師:謝孟諺 助教:楊斯竣.
微 處 理 機 專 題 – 8051 C語言程式設計 主題:階乘計算
方法(Method) 函數.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
InputStreamReader Console Scanner
Presentation transcript:

C/C++基礎程式設計班 控制敘述 講師:林業峻 CSIE, NTU 3/7, 2015

課程大綱 選擇控制 (流程控制) 重覆控制 (迴圈) 作業 IF-ELSE SWITCH-CASE FOR WHILE 迴圈中的流程控制: break, continue 巢狀迴圈 作業

IF-ELSE 用途:程式執行時根據條件情況選擇要執行的程 式碼。 語法:

IF-ELSE 範例:寫個程式,判斷一個人的成績是否及格 (及 格分數為60分) Start End #include <stdio.h> int main() { int score; printf("輸入您的分數:"); scanf("%d",&score); if ( score < 60 ) printf("不及格\n"); } else printf("及格\n"); return 0; 輸入分數 分數 < 60 no yes 不及格 及格 End

IF-ELSE 邏輯判斷可以使用的運算符號如下 用來連結邏輯判斷的符號有 ! “非“, 條件不成立時, 整個判斷就會成立 運算符號 意義 > 大於 < 小於 >= 大於或等於 <= 小於或等於 == 等於 != 不等於 符號 意義 && "而且", 所有的條件都要成立, 整個判斷才會成立 || "或", 只要有任何一個條件成立, 整個判斷就會成立 ! “非“, 條件不成立時, 整個判斷就會成立

IF-ELSE IF 若我們要判斷的條件不只是做“對”或“錯”的 二分法時,可以在if後增加else if來做多重判斷。 語法: if( 條件判斷式1 ) {   條件1成立的話要做的程式碼; } else if ( 條件判斷式2 ) {   條件2成立的話要做的程式碼; } else {   以上條件都不成立的話要做的程式碼; }

IF-ELSE IF 範例:寫個程式,判斷一個人的成績是否及格 (大 學部及格分數為60分,研究所為70分) #include <stdio.h> int main() { int score, n; printf("(1)大學部 (2)研究所:"); scanf("%d",&n); printf("輸入您的分數:"); scanf("%d",&score); if ( score < 60 && n == 1) printf("不及格\n"); } else if ( score < 70 && n == 2) else printf("及格\n"); return 0;

練習 修改上頁程式, 若使用者輸入值不合下列格式則不 做任何輸出 100 只能輸入 1 或 2 代表大學部或研究所 成績只能輸入 0~100 100 score < 0 score >=0 && score <= 100 score >100

課程大綱 選擇控制 (流程控制) 重覆控制 (迴圈) 作業 IF-ELSE SWITCH-CASE FOR WHILE 迴圈中的流程控制: break, continue 巢狀迴圈 作業

SWITCH-CASE 用途:程式執行時根據資料數值選擇要執行的程 式。 語法: switch( 變數或運算式 ) {   case 值1:    程式碼;    break; //可不加, 程式結果不同!   case 值2:    程式碼;    break;   default:    程式碼;    break; }

SWITCH-CASE 範例, 輸入兩個數字, 再根據指定功能顯示兩數計 算結果 #include <stdio.h> int main() { double a,b,ans; int n; scanf("%lf%lf",&a,&b); printf("1: 加法\n"); printf("2: 減法\n"); printf("3: 乘法\n"); printf("4: 除法\n"); scanf("%d",&n); switch(n) case 1: ans=a+b; break; case 2: ans=a-b; case 3: ans=a*b; case 4: ans=a/b; default: printf("無此功能\n"); return 0; } printf("計算結果: %lf\n", ans);

課程大綱 選擇控制 (流程控制) 重覆控制 (迴圈) 作業 IF-ELSE SWITCH-CASE FOR WHILE 迴圈中的流程控制: break, continue 巢狀迴圈 作業

FOR迴圈 用途:當程式需要來回重複執行某一段程式碼時 語法: for通常用在已知重覆執行次數時。

FOR迴圈 範例:印出10行hello 所以在下面的例子中,進入迴圈前會做i=0;當i<10的時候,迴 圈會繼續跑。 #include <stdio.h> int main() { int i; for ( i=0; i<10; i++ ) printf("hello %d\n",i); } return 0;

FOR迴圈 範例:算出1+2+3+....+99+100 #include <stdio.h> int main() { int i; int sum=0; for ( i=1; i<=100; i++ ) sum+=i; } printf("%d\n",sum); return 0;

練習 輸入一個大於0的整數n 印出"1+2+3+…+n = 結果" 例如: 輸入5, 印出 1+2+3+4+5 = 15

課程大綱 選擇控制 (流程控制) 重覆控制 (迴圈) 作業 IF-ELSE SWITCH-CASE FOR WHILE 迴圈中的流程控制: break, continue 巢狀迴圈 作業

WHILE迴圈 用途:當程式需要來回重複執行某一段程式碼時 語法: while通常用在未知重覆執行次數時。 把for中的進入迴圈前要做的事與每跑完一次迴圈會做的事拿 掉,就是while迴圈。

WHILE迴圈 範例:輸入鍵盤按鍵,直到輸入q後程式結束。 #include <stdio.h> #include <conio.h> int main() { char key=0; while(key!='q') key=getche(); } return 0;

DO-WHILE迴圈 用途:當程式需要先做一次某一段程式碼再判斷 是否要重複執行該一段程式碼時 語法: while迴圈中的判斷式可以放在迴圈的最後端, 形成一個do- while迴圈. 這樣子的迴圈最少會跑一次

DO-WHILE迴圈 範例:輸入鍵盤按鍵,直到輸入q後程式結束。 #include <conio.h> int main() { char key; do key=getche(); }while(key!='q'); return 0; }

課程大綱 選擇控制 (流程控制) 重覆控制 (迴圈) 作業 IF-ELSE SWITCH-CASE FOR WHILE 迴圈中的流程控制: break, continue 巢狀迴圈 作業

迴圈中的流程控制 在迴圈中,有兩個指令可方便做控制: break:直接結束迴圈 continue:直接跳到迴圈開頭處繼續下一次執行 用途:常用來設定在迴圈中某些情形下,選擇做 結束(break)或回頭(continue)

迴圈中的流程控制: break 範例:輸入鍵盤按鍵,直到輸入q後程式結束。 #include <conio.h> int main() { char key; while(1) //while中條件為 1 稱為無窮迴圈  key=getche(); if ( key=='q' ) break; } return 0;

迴圈中的流程控制: continue 範例:假如有一棟大樓沒有4樓這個樓層,寫一個 程式顯示從1樓坐電梯到10樓所經過的樓層 #include <stdio.h> int main() { int i; for ( i=1; i<=10; i++ ) // 若是4樓就跳過, 回到迴圈開頭繼續執行 if ( i==4 ) continue; printf("floor %d\n",i); } return 0;

練習 寫個程式,判斷一個人的成績是否及格 (及格分數 為60分) 每次判斷完成績後可輸入 'y': 繼續 其他: 離開 Start End 輸入分數 分數 < 60 no yes 不及格 及格 輸入字元 是否繼續? yes End no End

課程大綱 選擇控制 (流程控制) 重覆控制 (迴圈) 作業 IF-ELSE SWITCH-CASE FOR WHILE 迴圈中的流程控制: break, continue 巢狀迴圈 作業

巢狀迴圈 迴圈中的迴圈 下面範例中, i每加三次, j才加一次, 試著觀察輸出結果 #include <stdio.h> int main() { int i, j; for ( j=0; j<3; j++ ) for ( i=0; i<3; i++ ) printf("* "); } printf("\n"); return 0;

練習 輸入一個整數, 印出n列*號, 每列各含1~n個* 例如: 輸入5 輸出:

練習 印出下列九九乘法表:

課程大綱 選擇控制 (流程控制) 重覆控制 (迴圈) 作業 IF-ELSE SWITCH-CASE FOR WHILE 迴圈中的流程控制: break, continue 巢狀迴圈 作業

作業: 中文大寫數字輸出 輸入一個金額1~99999整數, 印中文大寫數字金額 輸入輸出格式 (格式必須與下面程式結果一致) 中文大寫1~9: 壹,貳,參,肆,伍,陸,柒,捌,玖 需要印出單位: 萬,仟,佰,拾 不需輸出"零" 最後要印出"元整" 輸入錯誤數值範圍,顯示錯誤後程式直接結束 輸入輸出格式 (格式必須與下面程式結果一致) http://www.csie.ntu.edu.tw/~d95027/train/download/number.exe

繳交 使用FTP上傳 請使用FileZilla上傳作業至指定FTP主機 繳交期限:2015. 03/14(六) 主機: 使用者名稱: 密碼: 連接埠: 將程式存到自己學號之資料夾 (請自行新增) 檔名: 251XX_hw1_##.c XX為學號, ##為版本編號 Ex: 25100_hw1_01.c (25100號同學 作業1 第1版) 請使用FileZilla上傳作業至指定FTP主機 繳交期限:2015. 03/14(六) 公佈解答後,不再收作業