C#程序设计基础 $5 流程控制.

Slides:



Advertisements
Similar presentations
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
Advertisements

鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
迴圈 迴圈基本觀念 while迴圈 do 迴圈 for迴圈 巢狀迴圈 迴圈設計注意事項 其他控制指令 迴圈與選擇的組合.
四資二甲 第三週作業 物件導向程式設計.
C#程序设计案例教程 第3章 程 序 结 构.
第一章 C语言概述 计算机公共教学部.
第4章 JavaScript脚本语言基础 4.1 JavaScript简介 4.2 JavaScript语法基础
第 5 章 流程控制 (一): 條件分支.
第二章 JAVA语言基础.
第三章 控制结构.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
BLANK overview.
程式設計實作.
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
.NET 程式設計入門(使用 C#) 講師:鄧智鴻.
第二章 C# 基础知识.
第四章 在 C# 中实现 OOP 概念.
C++Primer 3rd edition 中文版 Chap 5
第一次随堂作业(10.16) 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
EBNF 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
程式敘述執行順序的轉移 控制與重複、方法 Lecturer:曾學文.
第3章 語法入門 第一個Java程式 文字模式下與程式互動 資料、運算 流程控制.
第2章回顾 标识符:不用记,动手 关键字:if, else, switch, for, while, do, break, continue, void, …… 局部变量和成员变量 ①变量作用域 ②内存布局 基本数据类型 ①4类8种 ②互相转换 流程控制语句 ①分支 if……else, switch.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
C#程序设计基础 $3 成员、变量和常量.
第三章 C++中的C 面向对象程序设计(C++).
2 C++ 的基本語法和使用環境 親自撰寫和執行程式是學好程式語言的不二法門。本章藉由兩個簡單的程式,介紹C++ 程式的基本結構和開發環境,讓初學者能逐漸建立使用C++ 的信心。
第4章 数组和集合 4.1 一维数组 4.2 二维数组 4.3 Array类 4.4 交错数组 4.5 ArrayList类
PHP 程式流程控制結構.
第三章 流程控制與例外處理 資訊教育研究室 製作 注意:本投影片僅供上課使用,非經同意,請勿散播或轉載。
C#面向对象程序设计 $7 继承和多态性.
C语言 程序设计基础与试验 刘新国、2012年秋.
第3讲 C++程序控制结构 3.1 顺序结构 3.2 分支结构 3.3 循环结构 3.4 转向控制 3.5 综合案例分析.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
程序的三种基本结构 if条件分支语句 switch多路开关语句 循环语句 循环嵌套 break,continue和goto语句
C#程序设计基础 第二章 数据类型.
類別與物件 I (Classes and Objects I)
第三章 C# 基础知识.
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
C++大学基础教程 第3章 C++控制语句 北京科技大学 信息基础科学系.
第4章 PHP流程控制语句.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
第二章Java基本程序设计.
程式結構&語法.
4 條件選擇 4.1 程式基本結構 循序式結構 選擇式結構 重複式結構 4-3
C#程序设计基础 $3 成员、变量和常量.
第三章 C++的语句和简单的程序设计 主要内容:
C++语言程序设计 C++语言程序设计 第三章 控制语句 第十一组 C++语言程序设计.
第二章 Java基本语法 讲师:复凡.
C++语言程序设计教程 第2章 数据类型与表达式 第2章 数据类型与表达式 制作人:杨进才 沈显君.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第二章 Java语法基础.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
目标 流程控制 字符串处理 C# 的类和对象 C# 访问修饰符 C# 构造函数和析构函数.
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
第1章 数据结构基础概论 本章主要介绍以下内容 数据结构研究的主要内容 数据结构中涉及的基本概念 算法的概念、描述方法以及评价标准.
Do While 迴圈 東海大學物理系‧資訊教育 施奇廷.
C# 匿名委派 + Lambda + Func 建國科技大學 資管系 饒瑞佶.
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
第2章 Java语言基础.
C#快速導讀 流程控制.
判斷(選擇性敘述) if if else else if 條件運算子.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
C语言基本语句 判断循环.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
第二章 Java基础语法 北京传智播客教育
第二章 Java基本语法 讲师:复凡.
Presentation transcript:

C#程序设计基础 $5 流程控制

流程控制 选择结构 循环结构 跳转结构

选择结构

选择结构 if (exp) statement; True exp statement False Exit

选择结构 if (exp) statement else statement1; False exp statement1 True Exit

选择结构 if (exp) statement; else if (exp1) statement1; else statement2; False False exp1 exp2 statement2 True True statement statement1 Exit if语句中嵌套中,每个else分支都与其前面最近的一条不带else分支的if语句组成if-else对。

选择结构 switch(exp) { case A: s1; break; case B: s2; break; case C: s3; break; …… default: s; break; } if (exp == A) s1; else if (exp == B) s2; else if (exp == C) s3; …… else s;

选择结构示例 //程序清单P5_1.cs: using System; namespace P5_1 { class SwitchSample static void Main() Console.WriteLine("请输入1~5之间的一个分数:"); int x = int.Parse(Console.ReadLine()); switch (x) case 5: Console.WriteLine("优秀"); break; case 4: Console.WriteLine("良好"); break; case 3: Console.WriteLine("及格"); default: //3分以下均不及格 Console.WriteLine("不及格"); }

循环结构

while循环结构 while (exp) statement; False exp Exit True 修改exp statement

while循环示例 //程序清单P5_2.cs: using System; namespace P5_2 { class WhileCycleSample static void Main() Console.WriteLine("请输入1~5之间的一个分数(按X键退出):"); char ch = Console.ReadKey().KeyChar; while (ch != 'x' && ch != 'X') switch (ch) case '5': Console.WriteLine("优秀"); break; case '4': Console.WriteLine("良好"); case '3': Console.WriteLine("及格"); break; case '2': Console.WriteLine("不及格"); case '1': default: Console.WriteLine("请输入1~5之间的整数"); } Console.WriteLine("请输入分数(按X键退出):"); ch = Console.ReadKey().KeyChar;

do-while循环结构 do statement while (exp); statement True False exp Exit

do-while循环示例 class CzMath { public static ulong Fact(uint x) //程序清单P5_3.cs: using System; namespace P5_3 { class DoWhileCycleSample static void Main() Console.Write("请输入计算项数:"); uint n; uint.TryParse(Console.ReadLine(), out n); double e = 1; /*uint i = 1; do e += 1.0 / CzMath.Fact(i); i++; } while(i <= n);*/ /*for (uint i = 1; i <= n; i++) e += 1.0 / CzMath.Fact(i);*/ for (uint i = 1, j = 1; i <= n; i++) j *= i; e += 1.0 / j; Console.WriteLine("自然对数e的近似值为" + e); class CzMath { public static ulong Fact(uint x) ulong result = 1; do result *= x--; } while (x > 1); return result;

for循环结构 for(init; cond; iter) statement; init False exp Exit True iter

for循环示例 //程序清单P5_4.cs: using System; namespace P5_4 { class ForCycleSample static void Main() Console.Write("请输入三角形边长:"); int n; int.TryParse(Console.ReadLine(), out n); if (n <= 0) return; int[,] a = new int[n, n]; a[0, 0] = 1; a[1, 0] = 1; a[1, 1] = 1; //计算第2行之后的元素 for (int i = 2; i < n; i++) { a[i, 0] = 1; a[i, i] = 1; for (int j = 1; j < i + 1; j++) a[i, j] = a[i - 1, j - 1] + a[i - 1, j]; } //打印输出 for (int i = 0; i < n; i++) for (int j = 0; j <= i; j++) Console.Write("{0} ", a[i, j]); Console.WriteLine();

循环结构 foreach(T x in array) statement; for(int i=0; i<array.Length; i++) statement; 注意:不能修改array内容!

foreach循环示例 //程序清单P5_5.cs: using System; namespace P5_5 { class SortSample static void Main() int[] iArray = { 7, 19, 5, -6, 0, 7, 3, 12, 11, -3 }; Console.WriteLine("排序前"); for (int i = 0; i < iArray.Length; i++) Console.Write("{0}, ", iArray[i]); BubbleSort(iArray); Console.WriteLine("\r\n排序后"); } public static void BubbleSort(int[] array) { int tmp; for (int i = array.Length; i > 0; i--) for (int j = 0; j < i - 1; j++) if (array[j] > array[j + 1]) tmp = array[j]; array[j] = array[j + 1]; array[j + 1] = tmp; }

跳转结构

break语句 break语句用于跳出当前的代码段 适用结构 while do-while for foreach switch

break语句示例 //程序清单P5_7.cs: using System; namespace P5_7 { class BreakSample static void Main() Console.WriteLine("请输入一个正整数:"); ulong n, i; ulong.TryParse(Console.ReadLine(), out n); for (i = 2; i <= n / 2; i++) if (n % i == 0) Console.WriteLine("{0}不是一个素数", n); break; } if (i > n / 2) Console.WriteLine("{0}是一个素数", n); } }}

continue语句 continue语句跳出循环,并将控制权转移到这些语句的开始点。即结束本次循环,开始下一次循环。 适用结构 while do-while for foreach

continue语句示例 //程序清单P5_8.cs: using System; namespace P5_8 { class ContinueSample static void Main() Console.WriteLine("请输入一个字符串:"); string str = Console.ReadLine(); if (str == "") return; Console.Write(str[0]); int i = 0; while (i < str.Length - 1) if (str[i++] == str[i]) continue; else Console.Write(str[i]); }

return语句 return语句用于方法的返回,将控制权转移给方法的调用程序。 //程序清单P5_9.cs: using System; namespace P5_9 { class ReturnSample static void Main() Console.WriteLine("请输入身份证号码:"); string s = Console.ReadLine(); if (s.Length != 15 && s.Length != 18) Console.WriteLine("长度不正确"); return; } //继续执行程序 if ((s.Length == 15 && s[14] % 2 == 0) || (s.Length == 18 && s[16] % 2 == 0)) Console.WriteLine("性别为女"); else Console.WriteLine("性别为男");

goto语句 goto语句用于程序指令无条件跳转。使用goto语句时需要在程序中预先声明一个标号,并在goto语句关键字后面指定该标号,从而将程序控制权转移给标号之后的语句。 不建议使用,不做介绍