適用於多選一 可減少if 與 else配對混淆的錯誤.

Slides:



Advertisements
Similar presentations
CSIM, PU C Language Introduction to the C Programming Language 重覆敘述 (for,while,break,continue) 適合重複性的計算或判斷.
Advertisements

第4章 條件判斷與迴圈 Java 2 程式設計入門與應用.
C#程序设计案例教程 第3章 程 序 结 构.
项目五——校园一卡通程序功能模块化设计 5-1项目显示查询和退出函数设计.
第 5 章 流程控制 (一): 條件分支.
補充: Input from a text file
第三章 控制结构.
第4章 选择结构程序设计 在现实生活中,需要进行判断和选择的情况是很多的 如果你在家,我去拜访你 如果考试不及格,要补考
第一章 程序设计入门.
C语言程序设计 第五章 选择结构程序设计.
C语言程序设计 课程 第5章 数组 主讲:李祥 博士、副教授 单位:软件学院软件工程系.
第一章 C语言概述.
第2章 分支结构 P if语句 2.2 switch语句 2.3 用条件运算符转换大小写字母 2.4 程序举例
循环结构又称为重复结构:用来处理需要重复处理的问题,它是程序中一种很重要的结构。
Class 2 流程控制-選擇敘述與迴圈.
函數 授課:ANT 日期:2009/3/24.
選擇排序法 通訊一甲 B 楊穎穆.
C的發展史 C程式初體驗 C程式設計基本注意事項 上機實習課程
C++Primer 3rd edition 中文版 Chap 5
函數 授課:ANT 日期:2011/3/28.
第4章 选择结构程序设计 4.1 选择结构和条件判断 4.2 用if语句实现选择结构 4.3关系运算符和关系表达式
C程序设计.
第五章 选择结构程序设计 一、关系运算符和表达式 1、关系运算符 在程序中经常需要比较两个量的大小关系, 以决定程序下一步
Introduction to the C Programming Language
Introduction to the C Programming Language
QQ: 李祥 QQ: 欢迎多种方式的学习交流,祝大家学有所成.
计算概论 第十八讲 C语言高级编程 结构与习题课 北京大学信息学院.
第5章 堆疊(Stacks) 5-1 堆疊的基礎 5-2 堆疊的表示法 5-3 堆疊的應用 - 運算式的計算與轉換
Introduction to the C Programming Language
Chap 3 分支结构 3.1 简单的猜数游戏 3.2 四则运算 3.3 查询自动售货机中商品的价格.
C语言 程序设计基础与试验 刘新国、2012年秋.
第3讲 C++程序控制结构 3.1 顺序结构 3.2 分支结构 3.3 循环结构 3.4 转向控制 3.5 综合案例分析.
計數式重複敘述 for 迴圈 P
第5讲 结构化程序设计(Part II) 周水庚 2018年10月11日.
第七章 函数及变量存贮类型 7.1 函数基础与C程序结构 7.2 函数的定义和声明 7.3 函数的调用 7.4 函数的嵌套与递归
第0章作业: 教材P12-练习与实践 1.写出用符号’*’输出描绘汉字”大”的流程图。
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
自我參考結構 (self-reference – 1)
目录 9.1 结构体类型 9.2 共用体类型 9.3 枚举类型 9.4 类型声明符typedef 1.
C语言概述 第一章.
程式結構&語法.
4 條件選擇 4.1 程式基本結構 循序式結構 選擇式結構 重複式結構 4-3
C语言程序设计 教案 崔武子制作
目录 4.1选择结构程序设计的概述 4.2关系运算符和表达式 4.3逻辑运算符和表达式 4.4用if语句实现选择结构程序设计
浙江长征职业技术学院—计算机与信息技术系—相方莉制作
Chap 5 函数 5.1 计算圆柱体积 5.2 数字金字塔 5.3 复数运算.
輸出與輸入(I/O).
第十四章 若干深入问题和C独有的特性 作业: 函数指针 函数作参数 函数副作用 运算 语句 位段 存储类别 编译预处理
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第二章 Java语法基础.
Introduction to the C Programming Language
第三章 基本的輸出與輸入函數 (Basic Output & Input Function)
第二章 Java基本语法 讲师:复凡.
本节内容 指针类型.
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
Introduction to the C Programming Language
程式設計--linear search 通訊一甲 B 楊穎穆.
第1章 数据结构基础概论 本章主要介绍以下内容 数据结构研究的主要内容 数据结构中涉及的基本概念 算法的概念、描述方法以及评价标准.
適用於多選一 可減少if 與 else配對混淆的錯誤.
Introduction to the C Programming Language
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
多重條件選擇敘述
C#快速導讀 流程控制.
第一次上機考參考答案 僅供參考,同學可自行再想更好的方法..
Chap 10 函数与程序结构 10.1 圆形体积计算器 10.2 汉诺塔问题 10.3 长度单位转换 10.4 大程序构成.
C语言基本语句 判断循环.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
本节内容 指针类型 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Introduction to the C Programming Language
C语言基础学习 从外行到入门.
Presentation transcript:

適用於多選一 可減少if 與 else配對混淆的錯誤. 多重選擇---switch 適用於多選一 可減少if 與 else配對混淆的錯誤.

switch 敘述(switch statement) 根據括號內運算式的結果,來找case後面的選擇值 switch ( 運算式 ) { case 選擇值 1: 敘述主體1; break; …….. case 選擇值 n: 敘述主體n; default : /*若運算式的結果不等於1~n,就執行此部份*/ 敘述主體; } 有無break的差異

Switch簡略流程圖 expr 選擇值1 敘述主體1 break 選擇值2 敘述主體2 選擇值n 敘述主體n default 敘述主體 … 其它敘述

Example 1 程式碼(數學運算) printf("you type a non-standard expression!!\n"); #include<stdio.h> #include<stdlib.h> int main(void) { int a,b,output; char oper; printf("please input a expression(like 3+2):"); scanf("%d %c %d",&a,&oper,&b); switch(oper) case '+': output=a+b; break; /*計算a+b*/ case '-': output=a-b; break; /*計算a-b*/ case '*': output=a*b; break; /*計算a*b*/ case '/': output=a/b; break; /*計算a/b*/ default: printf("you type a non-standard expression!!\n"); } printf("the calculated result:%d\n",output); system(“pause"); return 0;

Example 1 流程圖 * / + - 開始 輸入運算式 oper default a/b a+b a-b a*b 非標準的 運算式 break - a-b / a/b default * a*b oper 輸入運算式 開始 輸出運算結果 結束 非標準的 運算式

switch 敘述(不加break) ----範例 1 若將此”break;”拿掉,試試看輸入b會有什麼結果 #include<stdio.h> int main(void) { char grade; printf("Input grade : "); scanf("%c", &grade); switch (grade) /*檢查 grade 值,做多重選擇*/ case 'a': case 'A': printf("Excellent!\n"); break; /*輸入a或A時*/ case 'b': case 'B': printf("Good!\n"); break; /*輸入b或B時*/ case 'c': case 'C': printf("Be study hard!\n"); break; /*輸入c或C時*/ default: printf("Failed\n"); /*輸入其他字元時*/ } system("pause"); return 0; } Ch2_1_1.c

switch 敘述(switch statement) 範例2: 設電力公司的電費計算方式分成三類: 家庭用電:100度以下,每度2.5元;101~300度,每度3.3元; 301度(含)以上每度4.2元。 工業用電:其本費為每一契約馬力150元,實際用電費每度1.9元。 營業用電:0~300度,每度6元;301度(含)以上每度6.8元。 輸入用電類別及使用度數後,計算其應繳電費為何?

範例2流程圖

switch 敘述(switch statement) ---- 範例 2 程式碼(1): #include<stdio.h> int main(void) { int T; /* 用電類別 */ float Deg; /* 用電度數 */ float C; /*工業用電契約馬力*/ float Fee; /* 電費 */ float TypeA1=2.5; float TypeA2=3.3; float TypeA3=4.2; float TypeB2=1.9; float TypeB1=150.0; float TypeC1=6.0; float TypeC2=6.8; printf("1. 家庭用電"); printf("\n"); printf("2. 工業用電"); printf("3. 營業用電"); printf("請輸入用電類別(1~3): "); scanf("%d", &T); if (T>=1 && T<=3) { printf("用電度數= "); scanf("%f", &Deg); Ch2_1_2.c

switch 敘述(switch statement) ---- 範例 2 程式碼(2): case 3: if (Deg<=300) Fee = Deg*TypeC1; else Fee = (Deg-300)*TypeC2 + 300*TypeC1; break; } printf("電費共為%f", Fee); printf("\n"); { printf("類別錯誤!"); system("pause"); return 0; switch(T) { case 1: if (Deg<=100) Fee = Deg*TypeA1; else if (Deg<=300) Fee = (Deg-100)*TypeA2 + 100*TypeA1; else Fee = (Deg-300)*TypeA3 + 200*TypeA2 + 100*TypeA1; break; case 2: printf("契約馬力= "); scanf("%f", &C); Fee = C*TypeB1 + Deg*TypeB2;