using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace P01ReviewAndWhile
{class Program{static void Main(string[] args){//Reg();MulLoop();Console.ReadLine();}#region 9.2 多重循环练习:注册 void Reg()//9.2 多重循环练习:注册,要求用户填写  用户名,如果用户名错误,则提示用户名出错,并要求重新输入用户名;//                      要求用户填写  用户密码,如果用户密码错误,则提示用户密码出错,并要求重新输入用户密码;//错误条件:1.不能为空; 2.用户名和密码不能相同; static void Reg(){string strName = "";string strPwd = "";while (true){//1.循环检查用户输入的名称不能为空do{Console.WriteLine("请输入用户名:");strName = Console.ReadLine();if (strName == ""){Console.WriteLine("用户名不能为空,请重新输入!");Console.WriteLine("**************************");}} while (strName == "");//2.循环检查用户输入的密码不能为空do{Console.WriteLine("请输入用户密码:");strPwd = Console.ReadLine();if (strPwd == ""){Console.WriteLine("用户密码不能为空,请重新输入!");Console.WriteLine("**************************");}} while (strPwd == "");//3.询问用户是否要继续注册Console.WriteLine("注册成功~~~您是否要继续注册呢?(y/n)");string strIsContinue = Console.ReadLine();if (strIsContinue != "y"){break;}Console.WriteLine("**************************");}Console.WriteLine("退出成功~~~!");} #endregion#region 9.1 多重循环的 退出 void MulLoop()/// <summary>/// 9.1 多重循环的 退出/// </summary>static void MulLoop(){for (int i = 0; i < 5; i++){for (int j = 0; j < 3; j++){Console.Write("☆");if (j == 1){i = 4;//如果想【退出 外部的大循环】,只能 直接满足 外部大循环的 循环条件!break;//注意:此处的break 是退出了 最近的一个循环(也就是 里面这个循环)}}Console.WriteLine("");Console.WriteLine("****************************");}} #endregion#region 9.0 多重循环 练习题 打指定高宽的 长方形/// <summary>/// 9.0 多重循环 练习题 打指定高宽的 长方形/// </summary>static void PrintRec(){Console.WriteLine("请输入 你要打的 长方形的 高:");int height = int.Parse(Console.ReadLine());Console.WriteLine("请输入 你要打的 长方形的 宽:");int width = int.Parse(Console.ReadLine());//多重循环(嵌套循环)//1.打印行 (按照用户 输入的 height 来打印 height 行)for (int row = 0; row < height; row++){//2.打印每一行里的 星星(按照 用户输入的 width 来打印 width个 星星)for (int low = 0; low < width; low++) {Console.Write("☆");}//1.1每打印完一行 星星,就 打印一个换行Console.Write("\n");}} #endregion#region 练习题 要求 在控制台屏幕上 打出 一行 ************************/// <summary>/// 练习题 要求 在控制台屏幕上 打出 一行 ************************/// </summary>static void PrintStar(){//1.先接受用户 要打的星星个数Console.WriteLine("请输入您要打的星星的个数:");int num = int.Parse(Console.ReadLine());//2.循环 要求的个数,每次循环打出 1个 *for (int i = 0; i < num; i++){Console.Write("*");}}#endregion#region 8.0 while 循环 void While()/// <summary>/// 8.0 while 循环/// </summary>static void While(){//标识位:标识 用户是否登录成功了~~bool isOk = false;//1. while 循环 是 先判断,满足条件 时 才执行!//while(true)的时候才执行循环体代码// while (!isOk) 之所以 取反 的原因,是因为 只有 isOk=false 代表 没有登录时,才执行循环体;//                                 但while(false)不会执行循环体;所以需要把while(!false),相当于while(true),才执行循环体代码while (!isOk)//如果用户没有登录成功,则 执行循环体 代码!{Console.WriteLine("请输入用户名:");string strName = Console.ReadLine();Console.WriteLine("请输入您的密码:");string strPwd = Console.ReadLine();if (strName == "admin" && strPwd == "123"){Console.WriteLine("登录成功啊~~~~");isOk = true;}}} #endregion#region 7.0 do while 循环/// <summary>/// 7.0 do while 循环/// </summary>static void DoWhile(){int i = 0;//1.0 do while循环 的特点: 不管条件如何,先执行一次再说!do{//1.1做到 第 5 个的时候,休息一下if (i == 4){Console.WriteLine("休息一下~~~~");i++;continue;}//1.2做到 第19个的时候,做不下去了,停止循环if (i == 18){Console.WriteLine("做不下去了~~~~");break;}Console.WriteLine("做第【{0}】个仰卧起坐~~~", i + 1);i++;} while (i < 20);//while 中必须 是 bool值 或 bool条件表达式,如果是true的话,则继续循环;如果是false的话,则退出循环//for (int a = 0; a < 20; a++)//{//    Console.WriteLine("做第【{0}】个仰卧起坐~~~", a + 1);//}} #endregion#region 6.0 for循环 void ForLoop()/// <summary>/// 6.0 循环/// </summary>static void ForLoop(){/* 6.1for循环:指定要循环的次数* 执行顺序:*  a.第一次执行时,先创建变量int times = 0*  b.判断条件 times <= 5,如果条件满足(true)*    b1.执行方法体代码*    b2.执行 条件值改变 times++*    *  c.再重复执行 b,知道 条件不满足时(false),退出循环*/for (int times = 0; times <= 5; times++){//Console.WriteLine("老师,我跑了一个圈~~~");}//6.1.1 break 跳出 循环 //for (int i = 0; i < 12; i++)//{//    Console.WriteLine("我吃了{0}个包子", i + 1);//    if (i == 4)//    {//        Console.WriteLine("吃了5个包子了,第6个实在吃不下了~~~!");//        break;//退出本层循环,当代码运行到 break时,会自动退出 离break最近的 循环//    }//}//6.1.2 continue 跳出 本次循环for (int i = 0; i < 12; i++){if (i == 4){Console.WriteLine("考~第5个包子里竟然有半条虫~~~!扔掉~!");continue;//退出 本次循环,continue代码后面的 不执行了,直接进入到 下一次循环,(直接跳到 i++去了!)}Console.WriteLine("我吃了{0}个包子", i + 1);}} #endregion#region 6.1 题目:要求用户输入年龄(0-100之间)/// <summary>/// 题目:要求用户输入年龄(0-100之间),如果不符合条件,则要求重新输入(一共给3次重新输入的机会,如果都没成功,则退出程序!)如果成功了,则显示用户年龄/// </summary>static void LoopForEx(){/*再回首看”循环“:重复的 在满足某些条件的 情况下 做同样的事情*///1.使用for循环 循环 3 次for (int i = 0; i < 3; i++){Console.WriteLine("请输入您的年龄:");int age = int.Parse(Console.ReadLine());if (age > 0 && age <= 100){Console.WriteLine("您的年龄是正常值~~~应该是地球人~~!:0");i = 2;//此处因为已经 接收了 符合条件的 年龄,所以,不需要再循环了;// 我们就在此 把 循环条件i改成2,接下来会执行 for循环里的 i++,然后再判断 i是否<3,那么因为i=i+1=3了,所以不满足条件,最后直接退出循环}else{Console.WriteLine("您的年龄有点怪~~~正常人是 0-100,请重新再来~~~");}}} #endregion#region 6.2 循环题目:登录练习 +void Login()/// <summary>/// 6.2 循环题目:登录练习/// </summary>static void Login(){/*6.2 循环题目:登录练习*    a.接收用户名和密码,如果用户名和密码 等于 admin 和 123,则提示登录成功;否则一直提示登录失败*    b.登录成功后,要求用户输入 自己银行里的存款金额;*    c.要求用户输入年龄,如果年龄 在 0-20之间,发给 用户奖金 : 存款金额 * 0.2*                             在 21-30之间,发给 用户奖金 : 存款金额 * 0.4*                             在 31-100之间,发给 用户奖金 : 存款金额 * 0.6*                      注意:年龄必须在 0 - 100 之间的整数*/string strName = "";string strPwd = "";//1.接收用户名和密码//for (; ; )//注意:for()里的 ;号不能省略,其它的都能省略while(true){Console.WriteLine("请输入您的用户名:");strName = Console.ReadLine();Console.WriteLine("请输入您的密码:");strPwd = Console.ReadLine();if (strName == "admin" && strPwd == "123"){Console.WriteLine("登录成功~~~");break;//退出 循环}else {Console.WriteLine("用户名或密码有误,请重新输入~");Console.WriteLine("----------------------------");}}//2.输入年龄Console.WriteLine("请输入您的年龄:");int age = Convert.ToInt32(Console.ReadLine());//3.输入您现有的存款金额Console.WriteLine("请输入您的 存款金额,我们将会给您发放 对应的 奖金:");decimal money = decimal.Parse(Console.ReadLine());//4.根据年龄 发放不同的 奖金decimal jiangJin = 0m;if (age > 0 && age <= 20){jiangJin = money * 0.2m;}else if (age > 21 && age <= 30){jiangJin = money * 0.4m;}else if (age > 31 && age <= 100){jiangJin = money * 0.6m;}Console.WriteLine("恭喜您获得了【{0}】的奖金~~~", jiangJin);} #endregion#region 5.0 三元运算符 ?: +void ThreeYuanOpe()/// <summary>/// 5.0 三元运算符 ?:/// </summary>static void ThreeYuanOpe(){Console.WriteLine("请输入您的狗狗的年龄:");int age = Convert.ToInt32(Console.ReadLine());string hornorName = "";if (age > 15){hornorName = "英雄老狗~~";}else{hornorName = "小狗狗~~";}Console.WriteLine("狗狗荣誉名:" + hornorName);/*三元运算符:*    ? 号前面 一定是一个 bool表达式(最终返回bool值的表达式)*    如果 ?前的 bool表达式 返回 true,那么就把 : 号前面的 值 返回给 =前面的变量 honorName2*                           false,那么就把 : 号后面的 值 返回*    注意:可以用来 替代 简单的 if else*/string honorName2 = age > 15 && age < 22 ? "英雄老狗" : "小狗狗";} #endregion#region 4.0 常用的字符串转义符/// <summary>/// 4.0 常用的字符串转义符/// </summary>static void TransferChar(){//1.引号转移符  \"  \n 换行转移符 \t退格符 \\反斜杠转义(就输出一个\字符)string strMsg = "\t小白,我\"爱\"你~!\n你信吗\\n?~~";Console.WriteLine(strMsg);} #endregion#region 3.0 逻辑运算符 void LogicOperation()/// <summary>/// 3.0 逻辑运算符/// </summary>static void LogicOperation(){Console.WriteLine("请输入您的年龄:");int age = int.Parse(Console.ReadLine());//if (age > 0 )//{//    if (age < 110)//    {//        Console.WriteLine("您的年龄正常,恭喜您来到罪恶的人世间~~~!");//        Console.WriteLine(age);//    }//}//1.0 逻辑与 && ,用来连接 两个 结果为bool值的表达式//    执行顺序:由左到右,一旦遇到 一个 表达式的bool值 为 false的话,则整个 都为 false,而且 后面的 表达式不再执行//    如果 age = -1,那么 age>0=false,&&符号后面的 表达式不再执行!最重要的是:整个 &&表达式 的结果 为 false//    && 表达式的返回值:只有当 整个表达式中 所有的 判断都 为 true的时候,才返回 true//                     其中任意 一个 判断 为false,那么 整个表达式 都 返回 falseif (age > 0 && age < 110){Console.WriteLine("您的年龄正常,恭喜您来到罪恶的人世间~~~!");Console.WriteLine(age);}//2.0 逻辑或 ||:任意 判断 为 true,整个表达式 就返回 true//              只有当 整个 表单式中 所有判断 都为 false的事情,才回 返回 falseif (age < 10 || age > 80){Console.WriteLine("因为您的年龄 <10 或者 >80岁,所以不需要买门票~~~");}//3.0 取反 !bool isOk = !false;Console.WriteLine("isOk=" + isOk);//3.1如果和=号相连,就叫做 不等号 !=;注意:没有 不大于号 !>,没有 !<if (age != 0){}if (!(age > 10)){}if (!isOk)//如果 isOk=false,那么 !isOk = true,才能进入到 if语句中{Console.WriteLine("哈哈哈哈~~~");}if (true){Console.WriteLine("123123");}} #endregion#region 1.0 交换变量/// <summary>/// 1.0 交换变量/// </summary>static void M01SwiftVar(){int a = 110;int b = 120;//1.1 定义中间变量int x = a;//将要交换的变量之一 的值 存入 xa = b;b = x;//将 x里的值,存入 b//1.2数值类型的交换算法a = a + b;//110 + 120=230b = a - b;//230 - 120 =110a = a - b;//230 - 110 =120} #endregion#region  2.0 自增自减...../// <summary>/// 2.0 自增自减...../// </summary>static void M02Self(){int a = 1;a = a + 1;//2.1自增 a++ 就相当于 a=a+1a++;//2.2自减a--;// a=a-1;//2.3 自运算 指定的 值int b = 2;b += 220;//相当于: b = b + 220;b -= 220;//相当于:b = b -220;b *= 2;//相当于:b = b * 2;b /= 2;//相当于:b = b / 2;b %= 2;//相当于:b = b % 2;//2.4 关于 ++ 和 -- 的 前置 和 后置 **************int x = 1;//a.如果 单独使用 前置或后置运算,结果都是 自身+1x++;++x;//b.如果 结合到 运算 或 赋值 语句中,则有明显的区别//b1. 【后置】:先进行 【运算 或 赋值】,再 ++int z = 1;int z2 = z++;//注意:此处 先 运行的 =号,再运行的 ++//相当于://   int z2 = z;//   z = z + 1;Console.WriteLine("z2=" + z2);//1Console.WriteLine("z=" + z);//2int z3 = 2 + z++;Console.WriteLine("z3=" + z3);//4Console.WriteLine("z=" + z);//2//b2.【前置】:先进行 ++ 再【运算 或 赋值】int o = 1;int o2 = ++o;// o2 = 1+o;Console.WriteLine("o2=" + o2);//2int o3 = 2 + ++o;Console.WriteLine("o3=" + o3);//5//b3. 混合,拜托一定要注意符号的优先级: 前置 > 运算 和 赋值 符 > 后置int x2 = 1;int o4 = x2++ + 3 + ++x2; // 2 + 3 + 2/*流程顺序:*    1.  ++x2  , x2=2*    2.  2 + 3 + 2*    3.  o4 = 7*    4.  x2++   ,x2 =3*/Console.WriteLine("o4=" + o4);} #endregion}
}

转载于:https://www.cnblogs.com/fenglingyi/p/4230730.html

C#基础篇三流程控制2相关推荐

  1. python自学流程-python 学习之 基础篇三 流程控制

    前言: 一. python中有严格的格式缩进,因为其在语法中摒弃了"{}"来包含代码块,使用严格的缩进来体现代码层次所以在编写代码的时候项目组要严格的统一器缩进语法,一个tab按键 ...

  2. Java基础篇3——流程控制

    Java基础篇3--流程控制 1.顺序结构 正常代码的流程即是顺序流程 2.分支结构 2.1.if-else分支 if(条件表达式) {语句块1; } if(条件表达式) {语句块1; } else ...

  3. WF4.0 基础篇 (三) 流程实例WorkflowApplication与设计WF程序的基本原则

    通过本节,可以初步了解WF程序的特性,为以后的WF类应用开发提供一个初步的感性认识 目录 1    流程实例WorkflowApplication与设计WF程序的基本原则    1 1.1    流程 ...

  4. Python接口自动化测试框架(基础篇)-- 流程控制之循环语句forwhile

    前言 很开心,python学到循环语句了,也越来越好玩了,学到这儿,基本上也能处理一些流水线的工作了,只是稍欠装饰显得不那么灵活.复用性不高. 循环语句 python中循环语句有for和while:如 ...

  5. WF4.0 基础篇 (三十 完) 对学习WF的一点建议

    从09年10月份 NET4.0 Bata 2发布后,我就开始写[WF4.0 基础篇]这个系列,经历了5个多月终于在NET4.0正式发布前将这个系列完成了 这段时间与一些对WF4.0感兴趣的公司与开发人 ...

  6. C#面向对象程序设计课程实验一:实验名称:C#语言基础、程序流程控制

    C#面向对象程序设计课程实验一:实验名称:C#语言基础.程序流程控制 实验内容:C#语言基础.程序流程控制 一. 实验目的 二.实验环境 三.实验内容 四.实验总结 实验内容:C#语言基础.程序流程控 ...

  7. Swift中文教程(三)--流程控制

    Swift中文教程(三)--流程控制 原文:Swift中文教程(三)--流程控制 Swift用if和switch编写条件控制语句,用for-in,for,while和do-while编写循环.条件控制 ...

  8. 圆形界面 开启相机_「基础篇三」手机摄影拍照界面详解

    ​[基础篇三]手机摄影拍照界面详解 手机拍照对我们来说已习以为常,每天我们都会用手机相机功能或多或少的拍出几张照片.故手机拍照界面对我们来说也不陌生,但手机拍照界面上的那些按钮,那些功能你都用过吗?你 ...

  9. 【C语言 基础】什么流程控制?

    [C语言 基础]什么流程控制? 流程控制就是控制程序执行的顺序 流程控制的分类: 1.顺序执行 2.选择执行 定义 某些代码可能执行也可能不执行,有选择的执行某些代码 3.循环执行 posted on ...

最新文章

  1. 吴恩达演讲直指AI落地三大挑战,并提出解决方案
  2. mac bash 下使用vi 快捷方式——因为没有alt键 所以没有办法 用vi模式也非常方便的...
  3. iOS开发知识点总结
  4. springmvc 传对象报400_那么火的SpringMVC到底有什么过人之处呢
  5. 浅谈 Python 中的 __init__ 和 __new__
  6. Linux操纵零碎下设置JSP开发环境的方式
  7. Luogu 1970 NOIP2013 花匠 (贪心)
  8. 现在学SEO还有用吗;还能用到SEO吗;
  9. 天然气阶梯是按年还是按月_您搞懂了吗?阶梯电费是按年计算而不是按月计算的...
  10. 计算机二级java考哪些内容_计算机二级考试Java考试内容
  11. OPencv 灰度直方图、直方图规定化
  12. python与开源gis_Python与开源GIS:数据处理、空间分析与地图制图
  13. 中心极限定理 central limit theorem
  14. c++运行错误: string subscript out of range
  15. 英特尔收购Barefoot背后的逻辑
  16. 病毒防治:清除***从它的寄生地开始
  17. 【微信小程序】点击图标跳转页面
  18. ERROR: Failed to create toolchain
  19. https:/问题解析remote: Total 10021 (delta 0), reused 0 (delta 0), pack-reused 10021 Receiving objects: 1
  20. 延时100ms的流水灯

热门文章

  1. visual stdio里面怎么取消空格补全?
  2. Spring4 MVC + REST + List + Bootstrap 简单示例
  3. char与TCHAR相互转化
  4. vc udp 广播接收和发送_UDP编程与DatagramSocket类:UDP的套接字
  5. php mysql迭代器_php 迭代器
  6. Python 数据增强 -- PIL模块
  7. 吴恩达深度学习笔记6-Course2-Week2【优化算法】
  8. 嵌入式设计与开发实践随笔-1
  9. 高手勿入:不肝不氪,又能有参与证明的13个比赛活动来了
  10. 【机器学习基础】算法工程师必备的机器学习--EM