C 程式設計— 控制敘述 台大資訊工程學系 資訊系統訓練班.

Slides:



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

CSIM, PU C Language Introduction to the C Programming Language 重覆敘述 (for,while,break,continue) 適合重複性的計算或判斷.
第4章 條件判斷與迴圈 Java 2 程式設計入門與應用.
迴圈 迴圈基本觀念 while迴圈 do 迴圈 for迴圈 巢狀迴圈 迴圈設計注意事項 其他控制指令 迴圈與選擇的組合.
C#程序设计案例教程 第3章 程 序 结 构.
第一章 C语言概述 计算机公共教学部.
TQC+ 物件導向程式認證-JAVA.
上課囉 職場甘苦談 小資男孩向錢衝 育碁數位科技 呂宗益/副理.
14 JavaScript语言基础 JavaScript是一种轻量级、解释型的Web开发语言。所谓轻量级,就是语言的体系结构不是很庞杂,例如,没有C、Java等语言中的类、内存管理、系统管理等高深的知识范畴;所谓解释型,就是语言在浏览器或服务器等环境中直接被解释执行,不需要对源代码进行编译操作。
第 5 章 流程控制 (一): 條件分支.
Chapter 4 流程控制.
選擇 運算式 邏輯運算 if指令 流程圖基本觀念 程式註解 巢狀if指令 switch指令.
第三章 控制结构.
Ch07 PHP程式基礎 網頁程式設計.
程式設計實作.
控制流程 邏輯判斷 迴圈控制.
Class 2 流程控制-選擇敘述與迴圈.
C++Primer 3rd edition 中文版 Chap 5
第一次随堂作业(10.16) 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
流程控制結構 4-1 流程控制與UML活動圖 4-2 程式區塊與主控台基本輸入 4-3 條件控制敘述 4-4 迴圈控制敘述 4-5 巢狀迴圈
C 程式設計— 指標.
C 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
程式敘述執行順序的轉移 控制與重複、方法 Lecturer:曾學文.
第3章 語法入門 第一個Java程式 文字模式下與程式互動 資料、運算 流程控制.
C 程式設計— 指標 台大資訊工程學系 資訊系統訓練班.
C++ 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
C 語言簡介 - 2.
第三單元 Control Structure II
新觀念的 VB6 教本 第七章 讓程式轉彎的控制敘述.
PHP 程式流程控制結構.
第三章 流程控制與例外處理 資訊教育研究室 製作 注意:本投影片僅供上課使用,非經同意,請勿散播或轉載。
Introduction to the C Programming Language
Chap 3 分支结构 3.1 简单的猜数游戏 3.2 四则运算 3.3 查询自动售货机中商品的价格.
實作輔導 3 日期: 4/14(星期六) 09:10~12:00、13:10~16:00
電腦解題─流程圖簡介 臺北市立大同高中 蔡志敏老師.
本章中將會更詳細地考慮有關重複的概念,並且會 介紹for和do…while等兩種用來控制重複的敘述 式。 也將會介紹switch多重選擇敘述式。 我們會討論直接和迅速離開某種控制敘述式的 break敘述式,以及用來跳過重複敘述式本體剩餘 部份的continue敘述式。 本章會討論用來組合控制條件的邏輯運算子,最後.
寫作評估 實用文寫作講解 1.
程序的三种基本结构 if条件分支语句 switch多路开关语句 循环语句 循环嵌套 break,continue和goto语句
計數式重複敘述 for 迴圈 P
陳維魁 博士 儒林圖書公司 第五章 控制結構 陳維魁 博士 儒林圖書公司.
第2章 C++流程控制语句 if 语句 switch语句 for语句 while语句 do - while语句 break语句
第三章 C# 基础知识.
第3章 Java語法的JSP程式 3-1 Java語言的基礎 3-2 JSP程式的基本架構 3-3 Java的變數與資料型態
第二章Java基本程序设计.
程式結構&語法.
4 條件選擇 4.1 程式基本結構 循序式結構 選擇式結構 重複式結構 4-3
第三章 C++的语句和简单的程序设计 主要内容:
第2章 算法与C语言程序 程序 (1)数据的描述:数据的类型和组织形式(数据结构) (2)操作的描述:操作步骤(算法) 沃思指出:
大豆有望继续跨年度牛市行情 各位领导,各位同仁,大家下午好,我是浙商期货的徐文杰,今天下午我们团队将要讲的题目是 大豆有望展开跨年度牛市行情
Instructor:Po-Yu Kuo 教師:郭柏佑
程式的時間與空間 Time and Space in Programming
第3章 JavaScript基本语句.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第二章 Java语法基础.
目标 流程控制 字符串处理 C# 的类和对象 C# 访问修饰符 C# 构造函数和析构函数.
問題解決與流程圖 高慧君 台北市立南港高中 2006年12月22日.
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
PHP程式設計 五、程式流程控制結構 建國科技大學 資訊管理學系 饒瑞佶.
第1章 数据结构基础概论 本章主要介绍以下内容 数据结构研究的主要内容 数据结构中涉及的基本概念 算法的概念、描述方法以及评价标准.
Do While 迴圈 東海大學物理系‧資訊教育 施奇廷.
第6章 PHP基本語法介紹.
多重條件選擇敘述
判斷(選擇性敘述) if if else else if 條件運算子.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
C 程式設計— 字元與字串 台大資訊工程學系 資訊系統訓練班.
C语言基本语句 判断循环.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
第二章 Java基础语法 北京传智播客教育
第二章 Java基本语法 讲师:复凡.
Presentation transcript:

C 程式設計— 控制敘述 台大資訊工程學系 資訊系統訓練班

本期課程大綱 C語言簡介 基本資料型態, 變數, 基本輸入輸出 控制敘述- 選擇控制與重複控制 陣列 函式 指標 字元與字串 結構 檔案處理

本次課程大綱 C語言結構化特性 C語言的條件控制敘述 C語言的重複控制敘述 C語言的巢狀結構

演算法 問題 演算法: 程式的控制流程 有系統化的去解決問題 演算法圖形化表示 每個問題都可以藉由一連串的行動來解決 定義哪些行動要被執行 定義行動執行的順序 程式的控制流程 決定每一個敘述執行的順序 有系統化的去解決問題 演算法圖形化表示 流程圖

選擇控制 if if – else switch - case

有條件選擇 if (1) if(條件運算式) { ………………… 條件為真的敘述; ……………......... } true false grade >= 60 print “Passed” if(條件運算式) { ………………… 條件為真的敘述; ……………......... }

舉例 例子1: 輸入一個整數, 若其值為正數, 則印出其為正整數. 例子2: 使用if敘述判斷m的值是否為1

多重條件選擇 if-else if(條件運算式) { 條件為真的敘述; } else 條件為假的敘述; if(a==1) xxx; true false print “Failed” print “Passed” grade >= 60 if(a==1) xxx; if(a>1) yyy; if(a<1) if(a==1) xxx; else yyy;

舉例 例子1: 比較兩個數m跟n, 若m>n則輸出 m>n; 反之,則輸出m<=n. 例子2: 判斷輸入之數為奇數或偶數

多重條件選擇 if-else (2) 同一條件下的一連串敘述必須利用 {} 包含 若沒有{ } 例子: if ( grade >= 60 ) printf( “過關.\n" ); else { printf( “當掉.\n" ); printf( “你必須重修.\n" ); } 若沒有{ } printf( “你必須重修.\n” );會自動被執行 A pair of braces

if-else 巢狀架構 If student’s grade is greater than or equal to 90 Print “A” else If student’s grade is greater than or equal to 80 Print “B” else If student’s grade is greater than or equal to 70 Print “C” else If student’s grade is greater than or equal to 60 Print “D” else Print “F”

練習時間 題目: 輸入一個年份, 測試其是否為閏年. 如果該年份可以被4整除, 又不可以被100整除,則為閏年. 如果該年份可以被400整除也是閏年. 否則就不是閏年.

多重條件選擇 switch-case (1) switch (expression) //expression要是整數或字元 { case 條件運算式 1 : 敘述1 ; break; case 條件運算式 2 : 敘述2 ; break; ………… default: 敘述n ; } break; 離開這個敘述條件 通常適用於一個運算元在多個不同值上有不同的表現Useful when a variable or expression is tested for all the values it can assume and different actions are taken

多重條件選擇 switch-case (2) 例子1: 例子2: true false . case a case a action(s) break case b case b action(s) case z case z action(s) default action(s) 例子1: 例子2:

重複控制 for while do - while

指定運算元

for 敘述 (1) 使用方式 例子: 將counter從1印到10 for (初始值; 判斷式; 遞增或遞減運算式){ 敘述 } for( int counter = 1; counter <= 10; counter++ ) printf( "%d\n", counter ); 將counter從1印到10 counter++ 指counter=counter+1;   最後一個式子不需要分號

for 敘述 (2) for (counter = 1; counter <= 10; counter++ ) { printf( "%d\n", counter ); } counter = 1 counter = 1 true counter <= 10 printf( "%d", counter ); counter++ false

舉例 例子1: 計算1累加至100的總和,並輸出其值. 例子2: 同時累加兩個整數 Note: for(;;)代表無窮迴圈

for的巢狀結構 for迴圈裡面又有for迴圈. for(...) { for(…) } 例子: 99乘法表

while 敘述 例子 while (條件運算式) { 條件為真的敘述 } int product = 2; while ( product <= 1000 ) product = 2 * product; product <= 1000 product = 2 * product true false

舉例 例子: 使用while去計算1累加至100的值, 並且輸出. Note: while(1)代表無窮迴圈

while的巢狀結構 while的巢狀結構跟for的巢狀結構相同,彼此可以互相使用. while (條件運算式) { ………. }

do – while 敘述 do { 敘述 } while(條件運算式) 例子:利用do-while去計算1累加至10之值. true false action(s) condition do { 敘述 } while(條件運算式) 例子:利用do-while去計算1累加至10之值. 和while的不同

練習時間 for的巢狀結構或是while的巢狀結構來設計一個九九乘法表.

break 敘述 break有兩種用法 中斷case敘述(switch) 中斷一般迴路敘述 (for, while, do-while) { if(…) break; } 例子: 任意輸入10個數, 若輸入之數字為0, 則結束執行該程式.

continue 敘述 continue敘述應用於迴圈,當在迴圈遇到continue時,便直接回到迴圈開始的地方. for(…) { if(…) continue; } 例子: 計算sum=1+3+…+999

1 2 3 4 Broke out of loop at x == 5 Copyright 1992-2004 by Deitel & Associates, Inc. and Pearson Edition Inc. All right Reserved.

1 2 3 4 6 7 8 9 10 Used continue to skip printing the value 5 Copyright 1992-2004 by Deitel & Associates, Inc. and Pearson Edition Inc. All right Reserved.

程式三部曲 由上往下步步重建 先決定解題步驟 分割成一件件小工作 初始化工作 : 輸入成績 逐步處理的程序: 計算成績 結束時的工作: 列印成績統計

Scan Check Add . Copyright 1992-2004 by Deitel & Associates, Inc. and Pearson Edition Inc. All right Reserved.

Rolling them up!! Scan Check Add Copyright 1992-2004 by Deitel & Associates, Inc. and Pearson Edition Inc. All right Reserved.

Program Output Enter grade, -1 to end: 75 Enter grade, -1 to end: 94 Class average is 82.50 Enter grade, -1 to end: -1 No grades were entered Program Output

想想看: for(…) Scan Check Add . Scan Check Add Scan Check Add Do…while While…do Scan Check break Add 想想看: for(…) While(1)

條件控制的結構性 if switch if…else T F statement (single selection) T F (multiple selection) break . T F if…else statement (double selection) Selection

巢狀結構

重複控制的結構性 while statement do … while statement for statement T F T F T

今天學到什麼… 什麼是C語言結構化特性 如何使用C語言的條件控制敘述 如何使用C語言的重複控制敘述 如何使用C語言的巢狀結構 if, if…else or switch 如何使用C語言的重複控制敘述 while, do…while or for 如何使用C語言的巢狀結構