1、单元2 C#语言基础知识目标 v1.掌握标识符命名规则v2.掌握变量和常量的定义v3.掌握C#基本数据类型v4.理解值类型和引用类型v5.掌握C#数据类型转换v6.掌握C#流程控制语句能力目标v1.能用适当的类型表示实际问题中的数据v2.能区分值类型和引用类型v3.能正确使用数组,使用数组对多个数据进 行排序v4.能编写顺序、分支和循环结构的代码v5.能阅读基本的C#程序 单元2 C#语言基础任务二 流程控制语句引例简易计算器v实现一个简易计算器,实现基本的加减乘除四则运算,要求输入数据和运算符,输出计算结果,并可以继续进行下一次运算,按Q键退出计算。知识储备v知识点1:顺序结构v知识点2:选
2、择结构v知识点3:循环结构(含数组的使用-排序)v知识点4:转向语句知识点1:顺序结构 static void Main(string args)const decimal interest=0.0035m;decimal money,principal;int t;Console.WriteLine(输入存款金额);principal=Convert.ToDecimal(Console.ReadLine();Console.WriteLine(输入存款期限(以月为单位):);t=Convert.ToInt16(Console.ReadLine();money=principal+princi
3、pal*interest*t*30/360;Console.WriteLine(本息为 +money);逐句依次执行逐句依次执行知识点2:选择结构-if语句vif语句 if(布尔表达式)语句块 例:如果变量a的值小于0,则输出“数据不能为负,请重新输入”。if(a0)Console.WriteLine(“数据不能为负,请重新输入”);知识点2:选择结构-if-else语句vif-else语句 if(布尔表达式)语句块1 else 语句块2 例:如果变量a的值小于0,则输出“数据不能为负,请重新输入”,否则输出“正确”。if(a0&x10)y=0;else y=-x;010-xxyxx其他知识点
4、2:选择结构-if-else语句例 编写程序将百分制成绩转换为五级制成绩。static void Main(string args)double score;char rank;Console.Write(n 请输入分数:);score=Convert.ToDouble(Console.ReadLine();if(score=90)rank=A;else if(score=80&score=70&score=60&score70)rank=D;elserank=E;Console.WriteLine(0对应的等级是:1,score,rank);知识点2:选择结构-switch语句知识点2:选择
5、结构-switch语句vswitch语句 适用于多选一的情况 switch(表达式)case 常量表达式1:语句块1 break;case 常量表达式2:语句块2 break;case 常量表达式n:语句块n break;default:语句块n+1 break;1)default分支表示,若没有一个分支表示,若没有一个case常量表达式的值与常量表达式的值与switch 表达式的值相等,则执行表达式的值相等,则执行default后的语句块后的语句块2)每个每个case块结束处必须使用块结束处必须使用break语句,否则会产生编译错误语句,否则会产生编译错误例:编写程序将百分制成绩转换为五级制
6、成绩。int a=(int)(score/10);switch(a)case 6:str=“及格”;break;case 7:str=“中等”;break;case 8:str=“良好”;break;case 9:case 10:str=“优秀”;break;default:str=“不及格”;break;知识点2:选择结构-switch语句知识点3:循环结构-for语句vfor语句 for(表达式1;表达式2;表达式3)语句块执行顺序:(1)执行表达式1,设置循环变量的初始值,该表达式仅 在初次进入循环时执行一次。(2)执行表达式2,若false,结束for循环,并执行该循环 以后的语句;若
7、为true,则执行循环语句块。(3)执行表达式3,改变循环变量的值,转(2)。说明:以上三个表达式可以省略,但是分号不能省略例:计算n!int n,result=1;n=Convert.ToInt16(Console.ReadLine();for(int i=1;i=n;i+)result*=i;Console.WriteLine(result);思考:以上循环了n次,那可否改为?for(int i=0;i n;i+)result*=i;知识点3:循环结构-for语句例:已知有10个整数存放在数组a中,用冒泡排序法 对这10个数由小到大排列。分析:所谓冒泡排序法是指在从第0元素开始依次将相邻的
8、两 个元素做比较,即第0个元素与第1个元素比,第1个与 第2个比依次类推,直到第8个和第9个比,每一次比较时,如果第i个元素比第i+1个大,则两元素互 换,保证大数放在小数的后面。第一轮比较完后,10个数中最大者就被放到了a9中 第二轮比较完后,10个数中第二大者就被放到了a8中 第九轮比较完后,10个数中最小者和第二小者就被分别放 到了a0和a1中 为实现选择此排序过程,需要用两个嵌套的for循环语句 知识点3:循环结构-for语句static void Main(string args)int a=12,36,3,0,45,12,56,17,31,9;int i,j;int temp;Co
9、nsole.WriteLine(未排序前的数组元素为);for(i=0;ia.Length;i+)Console.Write(0 ,ai);Console.WriteLine();for(i=1;i=a.Length-1;i+)for(j=0;jaj+1)temp=aj;aj=aj+1;aj+1=temp;Console.WriteLine(排序后的数组元素为);for(i=0;i a.Length;i+)Console.Write(0 ,ai);知识点3:循环结构-for语句vwhile语句 while(布尔表达式)语句块 执行顺序:(1)计算布尔表达式的值;(2)当布尔表达式的值为true
10、,执行语句块一遍,程序 转至第(1)步;当布尔表达式的值为false,while循 环结束。说明:while语句中的布尔表达式不可以省略知识点3:循环结构-while语句例:计算n!int n,i,result;n=Convert.ToInt16(Console.ReadLine();i=1;result=1;while(i=n)result*=i;i+;Console.WriteLine(result);知识点3:循环结构-while语句vdo-while do 语句块 while(布尔表达式);执行顺序:(1)执行语句块一遍;(2)计算while后布尔表达式的值,若为true则回到(1)继
11、 续执行,若为false则终止循环。说明:while语句中的布尔表达式不可以省略 while语句中的布尔表达式后要有分号知识点3:循环结构-do-while语句例:计算n!int n,i,result;n=Convert.ToInt16(Console.ReadLine();i=1;result=1;do result*=i;i+;while(i=n);Console.WriteLine(result);知识点3:循环结构-do-while语句vfor、while的语句块有可能一次也不执行;do-while的语句块无论如何,至少执行一次知识点3:循环结构-do-while语句用于访问数组所有元
12、素 foreach(类型名称 变量名称 in 数组名称)循环体 说明:1)“变量名称”用于循环读取数组中的每个元素值,其数据类型必须与“数组名称”的数据类型一致或能够进行类型的隐式转换。2)若“变量名称”在之前已经声明,则不需要用“类型名称”对“变量名称”再次声明;否则必须在此处用“类型名称”对“变量名称”进行声明。知识点3:循环结构-foreach语句static void Main(string args)int a=12,45,6,35,7,8;foreach(int i in a)Console.WriteLine(i);知识点3:循环结构-foreach语句v转向语句 goto:直接
13、跳转到其指定位置的语句开始执行 break:终止并跳出当前循环体 continue:结束本次循环,跳过该语句之后的 循环语句,返回到循环起始处,根据 条件决定是否进入下一次循环 return:一般用在方法中,其功能是终止执行 其所在的方法,并将控制返回给调用方法知识点4:转向语句例 求1+2+n的值,其中n由用户从键盘输入。static void Main(string args)int n,i=1,sum=0;Console.Write(请输入n的值);n=Convert.ToInt16(Console.ReadLine();loop:sum+=i;i+;if(i n)break;Conso
14、le.WriteLine(result);知识点4:转向语句-break例:计算1+3+5+n int n,i,result,a;n=Convert.ToInt16(Console.ReadLine();result=1;for(i=1;i=a&ch=A&ch大);ch+32(大-小)输出:Console.WriteLine(Convert.ToChar(ch-32);实践任务2v编写程序,计算10以内的素数的积。素数是只能被1或本身整除,且不能为其他两个整数的乘积 归纳总结v1实践训练完成情况。v2实践训练存在的问题。v3知识要点:(1)顺序结构 (2)分支结构 (3)循环结构(含:数组的使用)(4)转向语句拓展实践v完成猜数字游戏。由程序自动生成一个1-100之间的随机数,用户反复猜测生成数的大小,在每次猜完后,程序会给出一个提示,根据“大了”或“小了”的提示,反复猜测,当猜测正确时,显示“恭喜你,猜对了!”。v输入10个整数,找出其中最大的数并输出。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。