C#运算符、优先级、顺序选择结构_第1页
C#运算符、优先级、顺序选择结构_第2页
C#运算符、优先级、顺序选择结构_第3页
C#运算符、优先级、顺序选择结构_第4页
C#运算符、优先级、顺序选择结构_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验四 C#的语法基础运算符、优先级、顺序选择结构实验目的1. 熟悉及验证关系、逻辑运算符、字符串及条件运算符的作用2. 理解并验证运算符优先级问题3. 顺序结构程序设计4. 掌握if 语句,if-else 语句的用法及条件表达式的编写5. 掌握 if语句嵌套时二义性的处理规则实验要求:本次试验主要是验证性试验,根据试验内容及步骤,在控制台程序下完成。重点理解实验中的代码,验证输出结果。在实验的过程中理解算数、关系、逻辑、复合、字符串及条件运算符的应用,并理解运算符的优先级问题。实验步骤1. 字符串运算符“+”,在程序中起到连接两个字符串的作用要求:将下面程序中的输出注释在程序对应位置的右边,

2、对比两次输出的结果,对字符串及数值的混合输出做简单分析。using System; class Welcome static void Main(string args) Double x=5.0,y=2.5; String s="输出结果为:" Console.WriteLine("0x=1,y=2", s,x,y); /输出结果为:x=5,y=2.5 Console.WriteLine(s+ "x="+x+","+"y="+y); /输出结果为:x=5,y=2.5 2. 条件运算符要求:将下

3、面程序中的输出注释在程序对应位置的右边,理解该程序。问题:程序中result1和result2 分别代表了什么意义?using System; class Welcome static void Main(string args) Double x, y, result1, result2; Console.WriteLine("请输入x的值:"); x = Convert.ToDouble(Console.ReadLine(); /把x的值转换为double型读取 Console.WriteLine("请输入y的值:"); y = Convert.To

4、Double(Console.ReadLine(); /把y的值转换为double型读取 result1 = (x < y) ? x : y; /x跟y比较,输出最小值 result2 = (x >= y) ? x : y; / x跟y比较,输出最大值 Console.WriteLine(result1); /输出x,y中较小值 Console.WriteLine(result2); /输出x,y中较大值 3. 运算符的优先级要求:将下面程序中的输出注释在程序对应位置的右边,理解该程序。说明该程序中运算符的优先级。using System; class Welcome static

5、 void Main(string args) Double x,y ; Console.WriteLine("请输入x的值:") ; x=Convert.ToDouble(Console.ReadLine() ); /把x转换为double型 Console.WriteLine("请输入y的值:") ; y=Convert.ToDouble(Console.ReadLine() ); /把y转换为double型 string s=x>y?"greater than":x=y?"equal to":"

6、;less than" /关系运算符的嵌套,从右到左,比较xy的大小,然后赋值,最后输出 Console.WriteLine(s) ; bool b = 14 + 3 * 4 >= 11 * 2 - 15 | "xyz" != "xy" && !(21 - 3 > 18 / 2); /bool型TrueConsole.WriteLine(b); 4. 顺序程序设计在控制台程序中求三角形的周长和面积要求:输入三角形三条边,先判断是否构成三角形,如果可以,则求三角形的周长和面积,否则报错,如下图所示: 操作提示:(1)3

7、个数可以构成三角形必须满足以下条件:每条边长均大于0,并且任意两边之和大于第三边。(2)已知三角形的三条边为a,b,c,则:using System;class Welcome static void Main(string args) Double a, b, c, s, S,t; Console.WriteLine("请输入的值:"); a = Convert.ToDouble(Console.ReadLine(); / Console.WriteLine("请输入的值:"); b = Convert.ToDouble(Console.ReadLin

8、e(); / Console.WriteLine("请输入的值:"); c = Convert.ToDouble(Console.ReadLine(); if (a > 0 && b > 0 && c > 0) && (a < b + c && c < a + b && b < a + c) t = a + b + c; s = (a + b + c)/2; S = Math.Sqrt(s * (s - a) * (s - b) * (s - c); Cons

9、ole.WriteLine("三角形三边分别为:a=0,b=1,c=2", a, b, c); Console.WriteLine("三角形的周长=0,面积=1", t, S); else Console.WriteLine("无法构成三角形"); 5. if 语句的使用:using System;class Welcome static void Main(string args) string password; double money = 1000.0; Console.WriteLine("输入取款密码(位数字)&

10、quot;); password = Console.ReadLine(); if (password = "923654") Console.WriteLine("密码正确,准予取款元!"); Console.WriteLine("您账上原有存款:0元", money); money = money - 100.0; Console.WriteLine("您账上现有余额:0元", money); 理解题:(1)上面的程序运行过程中,输入什么内容,可以满足 if 中的条件?输入923654(2)运行上述程序,并输入

11、一个满足if语句中条件的数字。使用VC#2008的调试功能,找出程序依次运行了哪几行语句?Console.WriteLine("输入取款密码(位数字)"); password = Console.ReadLine(); Console.WriteLine("密码正确,准予取款元!"); Console.WriteLine("密码正确,准予取款元!"); money = money - 100.0; Console.WriteLine("您账上现有余额:0元", money);(3)再次运行上述程序,并输入一个不满足

12、if语句中条件的数字。利用VC#2008的调试功能,找出程序依次运行了哪几行语句? Console.WriteLine("输入取款密码(位数字)"); password = Console.ReadLine();(4)将if后的一对 符号去掉,运行程序,并输入一个不满足if语句中条件的数字。写出程序依次运行了哪几行语句?分析为什么。 Console.WriteLine("您账上原有存款:0元", money); money = money - 100.0; Console.WriteLine("您账上现有余额:0元", money当i

13、f语句后面没有固定语句时,if语句默认其()后的第一个;号后的语句为其运行的语句。练习:如果要在 1) if 语句的程序中,增加密码错误的提示功能,应该怎样修改?写出修改之后的程序: using System;class Welcome static void Main(string args) string password; double money = 1000.0; Console.WriteLine("输入取款密码(位数字)"); password = Console.ReadLine(); if (password = "923654") C

14、onsole.WriteLine("密码正确,准予取款元!"); Console.WriteLine("您账上原有存款:0元", money); money = money - 100.0; Console.WriteLine("您账上现有余额:0元", money); else Console.WriteLine("密码错误"); 6. if - else 语句的使用例:求两个数的最大值using System;class Welcome static void Main(string args) int i,

15、j; i = int.Parse(Console.ReadLine(); j = int.Parse(Console.ReadLine(); if (i > j) Console.WriteLine("第一个数比较大!"); else Console.WriteLine("第二个数比较大!"); 调试程序,分别输入以下两组数据:20 3050 27(思考)查看程序的运行流程在什么地方不同?当比较完i与y之后,输出的语句不一样,既那时候执行的流程不一样。第二个大时,直接跳过if后的语句执行else的语句。练习2:设计程序,判断输入的整数是偶数还是奇数

16、,并输出结果。(提示根据除2的余数判断)using System;class Welcome static void Main(string args) int i; Console.WriteLine("请输入一个整数:"); i = int.Parse(Console.ReadLine(); if (i%2=0) Console.WriteLine("0是偶数",i); else Console.WriteLine("0是基数!",i); 练习3:编写程序,根据输入的x,计算y的值。其中:y=分别使用if语句和 if.else语句

17、实现using System;class Welcome static void Main(string args) double i,j; Console.WriteLine("请输入一个数:"); i = double.Parse(Console.ReadLine(); if (i >= 0) j = 2 * Math.Pow(i,2.0)+ 10; Console.WriteLine("y=0", j); else j = -3 * i - 2; Console.WriteLine("y=0", j); 7. 条件表达式例

18、子:求表达式的值(1)4*10>=65 ( False )(2)10=10&&10>4+3 ( True )(3)10!=2|5>20+5 ( True )(4)10>20&&12=20 ( True )练习4:在下划线处补充完整 if 语句的表达式,要求条件表达式能与对应的输出相符:static void Main(string args)int x=9; if (_x<10_) Console.WriteLine("x 小于 10"); if (_x>=5_) Console.WriteLine(&qu

19、ot;x 不小于 5"); if (_x<10&&x>=5_) Console.WriteLine("x 小于 10 并且 x 不小于 5");8. if - else 嵌套的二义性当 if - else 嵌套出现二义性时,C#规定:else 与它前面最靠近的 if 进行匹配。根据该规则判断以下程序的输出结果,并运行程序验证。using System;class Welcome static void Main(string args) double x = 0; x = double.Parse(Console.ReadLine();

20、 if (x > 30) if (x > 10) Console.WriteLine("AAAA"); else Console.WriteLine("BBBB"); 输入5时:(空)输入20时:(空)输入40时:AAAAusing System;class Welcome static void Main(string args) double x = 0; x = double.Parse(Console.ReadLine(); if (x < 30)Console.WriteLine("CCCC"); else

21、 if (x > 10) Console.WriteLine("AAAA"); else Console.WriteLine("BBBB"); 输入5时:CCCC输入20时:CCCC输入40时:AAAA请判断上述程序在输入数据为5, 20, 40时的输出结果本课作业:作业1:要计算货物的运费。运费 f 的计算方法是:运费f = 基本运费p × 货物量w ×距离s × (1 - 折扣d)其中,折扣的计算与距离有关,规定如下:500公里以内(不包括500公里),无折扣500 - 2000 公里(不包括2000公里),折扣为

22、 0.12000以上(包括2000公里),折扣为 0.2代码:using System;class Welcome static void Main(string args) double f,p,w,s,d  Console.WriteLine("请输入距离:")  s=double.Parse(Console.ReadLine()  if(s<500) f=0.5*3.5*s  Console.WriteLine("总的运费为:0",f)  if(500<=s&&s<

23、2000) f=0.5*3.5*s*(1-0.1)  Console.WriteLine("总的运费为:0",f)  if(s>=2000) f=0.5*3.5*s*(1-0.2)  Console.WriteLine("总的运费为:0",f)  输入基本运费0.5,重量3.5。测试不同的距离(300, 500, 1200, 3000公里),计算各自总的运费作业2:求三个数的最大值比如:输入x=10,y=20,z=30,求最大值(即z=30)using System;class Welcome static void Main(string args) int x, y, z, s  Console.WriteLine("请输入x=")  x=int.Parse(Console.ReadLine()  Console.WriteLine("请输入y=")  y=int.Parse(Console.ReadLine()  Console.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论