《c40与winform基础教学资料》第三章 c语言基础(2).ppt
,C#与Winform程序设计,第三章 C#语言基础(2),2019/6/29,1,中国职业教育联盟课程体系,中国职业教育联盟课程体系,成就百万精英,回顾,定义常量的关键字? const switch语句中break是否可以省略? 不能 只有两种情况时,可以使用哪种条件分支语句? if else,本章目标,掌握循环语句的使用 掌握数组的基本概念及用法 掌握字符串的处理,预习检查,C#中的循环结构有哪几种? do.while;while;for;foreach; 使用什么语句可以跳出循环? break; 哪个函数用于格式化字符串? Format();,本章任务,会使用循环语句 会使用一维数组 会处理字符串,C# 中的循环迭代,回顾:C语言中的循环语句有哪些?执行过程怎样?,foreach 循环结构,foreach循环一般用于遍历整个集合或数组,foreach (元素类型 变量名 in 集合或者数组名) / 语句 ,输入一个字符串,输出其中的每个字符,演示实现过程,示例1分析,static void Main(string args) Console.WriteLine(“请输入一个字符串:“); / 输入提示 / 从控制台读入字符串 string line = Console.ReadLine(); / 循环输出字符串中的字符 foreach (char c in line) Console.WriteLine(c); Console.ReadLine(); ,依次循环字符串中的每个字符,关键代码分析,二重循环,用 * 打印一个直角三角形图案,二重循环:外层控制行数,内层打印每行的 * 图形特点:每行的 * 个数与行数相等,演示过程,流程控制进阶,回顾:在循环结构中, continue 和 break怎样跳转?,for() continue; ,for() break; ,跳出循环结构,跳到下次循环,在二重循环中会怎样呢?,流程控制进阶break,5个专卖店促销,每个专卖店每人限购3件衣服,可以随时选择离开,离店时要结账,for(i=0;i5;i+) / 每次进一个专卖店 for(j=0;j3;j+) / 每个店限购3件 if(离开这家店) break; 选购一件衣服 结账 ,C# 中的一维数组,回顾:为什么要使用数组?,如何声明一维数组?,×,在C#中声明数组:数据类型 数组名 不能将数组名放在数据类型和方括号之间!,×,一维数组长度,获得数组的长度(元素的个数):,数组名.Length,常作为循环的条件,/ 循环打印数组元素 int array = new int5 0, 1 ,2, 3, 4; / 声明并初始化一维数组 for (int i = 0; i array.Length;i+ ) / 输出数组中的所有元素 Console.WriteLine(arrayi); ,一维数组初始化,如何设置大小及初始化?,/ 使用 new 设置大小 / 创建长度为5的整型数组 int array = new int5;,/ 创建的同时初始化 int arr = new int50,1,2,3,4; int arr = new int 0,1,2,3,4; / 省略长度 int arr = 0,1,2,3,4; / 省略new,5方括号中的数字决定数组的长度,0,1,2,3,4大括号中的元素个数决定数组的长度,常见错误,数组初始值的数目与数组的长度不一样,/ 循环打印数组元素 int array = new int5 0, 1 ,2; / 声明并初始化一维数组 for (int i = 0; i array.Length;i+ ) / 输出数组中的所有元素 Console.WriteLine(arrayi); ,初始值的个数必须与数组的长度一样!,代码错误,小结,string arr3; arr3 = new string3 “I“, “like“, “C# “ ;,int arr1 = new int3;,int arr2 = new int31,2;,int arr1,new int31,2,0,正误判断:,×,×,int arr4 = new string3;,×,类型应一致,字符串,String 常用方法应用1,已有如下代码,按要求增加功能:,static void Main(string args) string email; / 电子邮件地址 Console.WriteLine(“请输入你的邮箱:“); email = Console.ReadLine(); Console.WriteLine(“你的邮箱是 0“, email); ,需实现的功能: 1、 输入 yes 时,程序循环执行 2、 兼容以下各种形式 yes(YES、yes、 YeS ) 3、 提取邮箱的用户名,演示实现过程,String 常用方法应用2,输入一个字符串,输出每个单词,重新用下划线连接输出,使用 Split() 方法分割字符串 使用 Join() 方法连接字符串,演示实现过程,示例7代码分析,Split()方法分割字符串,splitStrings = inputString.Split(' ');,/ 将分割后的字符串使用下划线连接在一起 joinString = string.Join(“_“, splitStrings);,返回值为 字符串数组,字符串变量名,参数:分隔符(char型),返回字符串,静态方法,参数1:连接符 参数2:字符串数组,关键代码回顾:,Join()方法连接字符串,Format() 方法,回顾两种输出字符串的方式:,string name = “王强“; Console.WriteLine(“我的名字是 “ + name + “,我的年龄是“ + 18);,string name = “王强“; Console.WriteLine(“我的名字是 0 ,我的年龄是1 “, name,18);,格式字符串,String 类的 Format() 方法用来格式化字符串,变量列表,示例 8 代码分析,关键代码回顾:,record = string.Format( “姓名:0n出生年月:1n身高:2n 血型:3n星座:4n最喜欢的食物:5“, name, birthday, height, bloodType, planet, favourFood); Console.WriteLine(“n这是你的个人档案:“); Console.WriteLine(record);,参数与 WritLine() 方法相似,Format() 的语法小结,string myString = string.Format(“格式字符串“, 参数列表);,string myString = string.Format (“0 乘以 1 等于 2 “, 2, 3, 2*3);,格式字符串,代表,参数列表,2乘以3等于6,包括占位符x,小结,补充下划线处的占位符,输出五个成语,string yi = “一“; string er = “二“; string san = “三“; string word = string.Format( “独 _ 无 _,_ 心 _ 意,垂涎 _ 尺,略知 _ _,举_ 反 _“, yi, er, san); Console.WriteLine(word);,趣味编程:看谁写的巧!,string yi = “一“; string er = “二“; string san = “三“; string word = string.Format( “独0无1,2心1意,垂涎2尺,略知01,举0反2“, yi, er, san); Console .WriteLine(word);,总结,String 类的 Format() 方法的参数包括什么? break和continue在循环中的作用?,格式字符串 参数列表,break用于结束整个循环 continue用于结束当次循环,进入下一次循环,感谢观映,中国职业教育联盟课程体系,成就百万精英,2019/6/29,26,中国职业教育联盟课程体系,