C#运算符 优先级 顺序选择结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)再次运行上述程序,并输入一个不满足 if 语句中条件的数字。利用 VC#2008 的 调试功能,找出程序依次运行了哪几行语句?
Console.WriteLine("输入取款密码(位数字)"); password = Console.ReadLine(ቤተ መጻሕፍቲ ባይዱ;
(4)将 if 后的一对 { } 符号去掉,运行程序,并输入一个不满足 if 语句中条件的数 字。写出程序依次运行了哪几行语句?分析为什么。
5.
if 语句的使用:
using System; class Welcome { static void Main(string[] args) { string password; double money = 1000.0; Console.WriteLine("输入取款密码(位数字)"); password = Console.ReadLine(); if (password == "923654") { Console.WriteLine("密码正确,准予取款元!"); Console.WriteLine("您账上原有存款:{0}元", money); money = money - 100.0; Console.WriteLine("您账上现有余额:{0}元", money); } } }
2.
条件运算符
要求:将下面程序中的输出注释在程序对应位置的右边,理解该程序。 问题:程序中 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.ToDouble(Console.ReadLine()); //把y的值转换为double型读取 result1 = (x < y) ? x : y; //x跟y比较,输出最小值 result2 = (x >= y) ? x : y; // x跟y比较,输出最大值
4.
顺序程序设计 在控制台程序中求三角形的周长和面积
要求:输入三角形三条边,先判断是否构成三角形,如果可以,则求三角形的周长和面积, 否则报错,如下图所示:
操作提示: (1)3 个数可以构成三角形必须满足以下条件:每条边长均大于 0,并且任意两 边之和大于第三边。 (2)已知三角形的三条边为 a,b,c,则:
理解题: (1)上面的程序运行过程中,输入什么内容,可以满足 if 中的条件? 输入 923654 (2)运行上述程序,并输入一个满足 if 语句中条件的数字。使用 VC#2008 的调试功 能,找出程序依次运行了哪几行语句?
Console.WriteLine("输入取款密码(位数字)"); password = Console.ReadLine(); Console.WriteLine("密码正确,准予取款元!"); Console.WriteLine("密码正确,准予取款元!"); money = money - 100.0; Console.WriteLine("您账上现有余额:{0}元", money);
本次试验主要是验证性试验,根据试验内容及步骤,在控制台程序下完成。重点理解 实验中的代码,验证输出结果。 在实验的过程中理解算数、关系、逻辑、复合、字符串及条件运算符的应用,并理解 运算符的优先级问题。
实验步骤
1. 字符串运算符“+” ,在程序中起到连接两个字符串的作用 要求:将下面程序中的输出注释在程序对应位置的右边,对比两次输出的结果,对字符串 及数值的混合输出做简单分析。
实验四 C#的语法基础— 运算符、优先级、顺序选择结构
实验目的
1. 2. 3. 4. 5. 熟悉及验证关系、逻辑运算符、字符串及条件运算符的作用 理解并验证运算符优先级问题 顺序结构程序设计 掌握 if 语句,if-else 语句的用法及条件表达式的编写 掌握 if 语句嵌套时二义性的处理规则
实验要求:
练习 3:编写程序,根据输入的 x,计算 y 的值。 其中:y=
2 x 2 10( x 0) 3 x 2( x 0)
分别使用 if 语句和 if...else 语句实现
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); }
Console.WriteLine("您账上原有存款:{0}元", money); money = money - 100.0; Console.WriteLine("您账上现有余额:{0}元", money 当 if 语句后面没有{}固定语句时,if 语句默认其()后的第一个;号后的语句为其运行的语句。
if (i > j) Console.WriteLine("第一个数比较大!"); else Console.WriteLine("第二个数比较大!"); } }
调试程序,分别输入以下两组数据: 20 30 50 27 (思考)查看程序的运行流程在什么地方不同? 当比较完 i 与 y 之后,输出的语句不一样,既那时候执行的流程不一样。第二个大时, 直接跳过 if 后的语句执行 else 的语句。
练习:如果要在 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") { Console.WriteLine("密码正确,准予取款元!"); Console.WriteLine("您账上原有存款:{0}元", money); money = money - 100.0; Console.WriteLine("您账上现有余额:{0}元", money); } else Console.WriteLine("密码错误"); } }
练习 2:设计程序,判断输入的整数是偶数还是奇数,并输出结果。 (提示根据除 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); } }
using System; class Welcome { static void Main(string[] args) { Double String x=5.0,y=2.5; s="输出结果为:";
Console.WriteLine("{0}x={1},y={2}", s,x,y); //输出结果为:x=5,y=2.5 Console.WriteLine(s+ "x="+x+","+"y="+y); //输出结果为:x=5,y=2.5 } }
Console.WriteLine(result1); //输出x,y中较小值 Console.WriteLine(result2); //输出x,y中较大值 } }
3. 运算符的优先级 要求:将下面程序中的输出注释在程序对应位置的右边,理解该程序。 说明该程序中运算符的优先级。
using System; class Welcome { static 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":"less than"; //关系运算符的嵌套,从右到左,比较xy的大小, 然后赋值,最后输出 Console.WriteLine(s) ; bool b = 14 + 3 * 4 >= 11 * 2 - 15 || "xyz" != "xy" && !(21 - 3 > 18 / 2); //bool型True Console.WriteLine(b); } }
else { j = -3 * i - 2; Console.WriteLine("y={0}", j); } } }
7.
条件表达式 例子:求表达式的值 (1)4*10>=65 (2)10==10&&10>4+3 (3)10!=2||5>20+5 (4)10>20&&12==20
( False ) ( True ) ( True ) ( True )
abc 2 S s ( s a )( s b)( s c) s
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.ReadLine()); // 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)); Console.WriteLine("三角形三边分别为:a={0},b={1},c={2}", a, b, c); Console.WriteLine("三角形的周长={0},面积={1}", t, S); } else Console.WriteLine("无法构成三角形"); } }
6.
if - else 语句的使用 例:求两个数的最大值
using System; class Welcome { static void Main(string[] args) { int i, j; i = int.Parse(Console.ReadLine()); j = int.Parse(Console.ReadLine());