《C#程序开发基础-程序控制结构.ppt》由会员分享,可在线阅读,更多相关《C#程序开发基础-程序控制结构.ppt(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第3章 C#程序开发基础程序控制结构 赋值和注释语句 分支结构语句 循环结构语句 字符串操作3.1 赋值和注释语句o赋值语句和注释是程序代码中最基本的语句,本节将介绍二者的用法。3.1.1 赋值语句赋值语句执行赋值操作,就是给变量或常量一个数值,比如,让变量A的值是3,用语句表示就是A=3。赋值语句一般包括3部分,赋值运算符(=),变量,给变量的值。给变量的值可以是表达式的结果。o01 double x;/定义一个double型变量xo02 int y=3;/定义一个int型变量y,让y的值为3,可以读为把3赋给y,o03 int z=8;/定义一个int型变量z,把8赋给zo04 x=y+z
2、+Math.Sin(3.65);3.1.2 注释语句o注释就是解释,就是对代码添加的描述性文字用来说明程序的功能、语句的作用等信息,以方便代码的阅读和维护。C#的注释方法有三种,分别是单行注释、多行注释和XML注释。o单行注释以“/”开始,多行注释使用“/*/”跨行注释,XML注释使用特殊的注释语法,以“/”开头。在/之后,你可以使用预先定义的标签注释代码,也可以插入自己定义标签。o01 /*o多行注释,介绍程序的名称、功能和开发时间。o02 *程序名:HelloWorld *o03 *功 能:输出字符串Hello World!*o04 *时 间:2009-10-10 *o05 */o06 n
3、amespace HelloWorld o07 o08 public class HelloWorld o09 oXML注释,说明程序的入口点和参数及返回值。o10 /o11 /控制台应用程序入口点 o12 /命令行参数 o13 /运行成功返回0 o14 /o15 o16 public static int Main(string args)/程序入口点o17 /单行注释,说明语句的功能!o18 System.Console.WriteLine(Hello World!);/输出Hello World!o19 string name=System.Console.ReadLine();/暂停程
4、序的运行,接收键盘输入的字符o20 return(0);/运行成功返回 0o单行注释,说明语句的功能。o21 o22 o23 第3章 C#程序开发基础程序控制结构 赋值和注释语句 分支结构语句 循环结构语句 字符串操作3.2 选择正确的道路-分支结构3.3.1 条件语句o条件语句就是对条件进行判断,根据判断结果选择执行不同的分支。C#中提供了多种形式的条件语句。包括:if语句、if-else语句和switch语句。下面我们来一个个的学习。单分支结构的if 语句语法格式如下:if(条件表达式)语句块if(天气晴朗)/(条件)去海滩玩耍 双分支结构的if-else语句语法格式如下:if(条件表达式
5、)语句块1else语句块201 static void Main(string args)02 03 Console.Write(请输入一个字母:);04 char c=(char)Console.Read();/接收从键盘上输入的一个字符赋给c05 if(Char.IsLower(c)/判断输入的字母是否为小写字母06 /如果是小写字母执行下面语句07 Console.WriteLine(您输入的是小写字母.);/输出“您输入的是小写字母”08 09 else10 /如不是小写字母执行下面语句11 Console.WriteLine(您输入的是大写字母.);/输出“您输入的是大写字母”12
6、13 多分支结构if语句实现多分支结构的语法为 oif(表达式1)o 语句块1/表达式1的值为真时执行的语句oelse if(表达式2)o 语句块2/表达式2的值为真时执行的语句ooelse if(表达式n)o 语句块n/表达式n的值为真时执行的语句oelseo 语句块n+1/表达式1到n的值都不为真时执行的语句。例:检查输入字符是否是小写字符、大写字符或数字。否则,输入字符不是字母字符。1.01 Console.Write(请输入一个字符:);2.02 char c=(char)Console.Read();/接收键盘上输入的一个字符赋给字符型变量c3.03 if(Char.IsUpper(
7、c)/如果c是大写字母,执行下面语句4.04 /下面语句输出“输入的字符是大写字母.”5.05 Console.WriteLine(输入的字符是大写字母.);6.06 7.07 else if(Char.IsLower(c)/如果c是小写字母,执行下面语句8.08 /输出“输入的字符是小写字母.”9.09 Console.WriteLine(输入的字符是小写字母.);10.10 11.11 else if(Char.IsDigit(c)/如果c是数字符号,执行下面语句12.12 /输出“输入的字符是数字.”13.13 Console.WriteLine(输入的字符是数字.);14.14 15.
8、15 else/如果c不是数字符号和字母,执行下面语句16.16 /输出“输入的字符不是数字和字母.”17.17 Console.WriteLine(输入的字符不是数字和字母.);18.18 3.2.2 switch结构oswitch语句能够根据表达式的值来选择要行的代码。在if语句中,if语句只能测试单个条件,如果需要测试多个条件,则需要书写冗长的代码。而switch语句能有效的避免冗长的代码并能测试多个条件。switch语句的语法是:oswitch(表达式)o ocase 常量表达式1:语句1 break;o case 常量表达式2:语句2 break;o o case 常量表达式n:语句
9、n break;o default:语句n+1 break;o o【范例3-1】输入两个数和运算符号,计算相应的运算结果。o 在Visual Studio 2008中新建控制台应用程序,项目名称为“Calculator”。o 在program.cs的main方法中输入如下代码(代码3-1.txt):第3章 C#程序开发基础程序控制结构 赋值和注释语句 分支结构语句 循环结构语句 字符串操作3.3.1 while循环oC#语言使用while语句实现当型循环,while循环的语法为:while (表达式)/循环体语句例如,计算前100个自然数的和,即,即1+2+3+100。1 int i,sum;
10、/定义int变量i用于控制循环次数,sum用于累加求和2 i=1;/循环变量赋初始值为13 sum=0;/累加器变量sum赋初值为04 while(i 101)/while循环,当i小于101时循环5 /循环体,累加求和6 sum=sum+i;/累加求和7 i+;/循环变量的值增18 93.3.2 for循环oFor循环语句是C#语句中使用最广泛,最灵活的一种循环控制语句。语法为:for(表达式1;表达式2;表达式3)/循环体【范例3-2】用for循环计算 1+2+3+100的和。1 int sum;/定义累加变量sum2 sum=0;/累加变量赋初始值为03 Console.WriteLin
11、e(”计算1+2+3+100的和:“);4 for(int i=1;i=100;i+)/循环变量i从1开始到100变化循环,i每次增15 /循环,累加求和6 sum=sum+i;/累加求和7 8 Console.WriteLine(”1+2+3+100=0“,sum);3.3.3 foreach循环ofor each循环用于遍历整个集合或数组,可以获取集合中的所有对象,循环条件不使用布尔表达式。foreach循环简单易用,代码简洁。在以后的学习中,我们会经常用到。语法如下:foreach(数据类型 局部变量 in 集合或者数组)/代码块例如:输出数组中的每个元素。string str=”Jan
12、“,”Feb“,”Mar“,”Apr“,”May“,”Jun“;/定义数组并赋初值 foreach(string s in str)/如果数组中存在元素则执行循环 Console.WriteLine(s);/分别输出数组中的每个元素 3.3.4 循环嵌套o循环嵌套就是在循环体中还可以使用循环语句,前面讲过的几种循环都可以互相嵌套的。o例:找出100之内的素数。o1 static void Main(string args)2 3 Console.Write(”100之中的素数有:“);/输出提示信息4 for(int i=2;i 100;i+)/外层循环,i从2到100循环分别判断i是否是素数
13、5 6 bool isPrime=true;/定义isPrime变量,标志某个数是否为素数7 for(int j=2;j 0”,sb1.Capacity);/输出sb1的容量3 Console.WriteLine(sb1的初始长度为:-0,sb1.Length);/输出sb1的长度4 sb1.Append(hello world);/向sb1中添加字符串,构造新字符串5 Console.WriteLine(向sb1中添加后sb1的容量为:-0,sb1.Capacity);6 Console.WriteLine(向sb1中添加后sb1的长度为:-0,sb1.Length);7 sb1.Appen
14、d(hello C#I am very like learning English.);8 Console.WriteLine(在次向sb1中添加后sb1的容量为:-0,sb1.Capacity);9 Console.WriteLine(在次向sb1中添加后sb1的长度为:-0,sb1.Length);10 StringBuilder sb2=new StringBuilder(I Love java,30);/创建动态串sb211 Console.WriteLine(sb2的原始内容是:);12 Console.WriteLine(sb2);13 Console.WriteLine(使用re
15、place方法将sb2中的java换成C#后内容为:);14 Console.WriteLine(sb2.Replace(java,C#);/输出替换后的sb2的内容15 Console.WriteLine(使用insert方法在sb2第七个字符中添加java and 后sb2的内容为);16 Console.WriteLine(sb2.Insert(7,java and);/输出添加java and后sb2的内容17 Console.WriteLine(使用remove方法将sb2中第个字符以后的删除后sb2的内容为:);18 Console.WriteLine(sb2.Remove(0,7);/输出删除第7个字符后的sb2的内容3.6 跟我上机o编写程序,利用循环语句求两个正整数的最大公约数和最小公倍数。o编写一个程序打印字母表和对应的ASCII码值。oGood bye