zhyDaDa的个人站点

主要内容

  • 判断闰年小练习
  • 基本程序结构前瞻
  • if \/ else \/ else if
  • 四个分支结构练习

判断闰年小练习

Console.WriteLine("请输入要判断的年份");
int year = Convert.ToInt32(Console.ReadLine());
//闰年的两个条件:
//1. 能被400整除
//2. 能被4整除, 但不能被100整除

bool b = (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);
Console.WriteLine(b);
Console.ReadKey();

逻辑与的优先级 大于 逻辑或

逻辑与也可以用一个”&”的符号
区别在于:

两个”&”如果遇到一个false, 之后的表达式就不再判断

一个”&”会把所有表达式全部判断一遍

结论是, 两个的效率更高, 推荐使用(逻辑或同理)

结构

  • 顺序结构: 程序从Main函数进入, 从上至下一行一行地执行, 不会跳行
  • 分支结构: if if-else
  • 选择结构: if else-if switvh-case
  • 循环结构: while do-while for foreach

if结构

  • 语法:
if(判断条件){
   要执行的代码;
}
  • 判断条件: 一般为关系表达式布尔类型的值
  • 执行过程: 执行到if处, 首先判断括号中的判断条件
  • 若成立(即返回True), 则执行if后接的大括号中的代码
  • 若不成立(即返回False), 则跳过if后接的大括号中的代码, 继续向下执行
  • 特点: 先判断, 再选择性执行代码
  • 注意: 花括号外不加封号”;”

if-else 结构

  • 语法:
if(判断条件成立){
   条件满足时执行的代码;
}else{
   条件不满足时执行的代码
}
  • 特点: 先判断再执行, 选择其中一块代码执行
  • 注意: else只和最近的if的配对

if else-if 结构

  • 作用: 用来处理多条件区间性的判断
    (之后的switch是处理多条件定值性的判断)
  • 语法:
if(判断条件){
   要执行的代码;
}else if(判断条件){
   要执行的代码
}else if(判断条件){
   要执行的代码
}else if(判断条件){
   要执行的代码
}else{
   要执行的代码
}
  • 特点: 只要有一个条件成立了, 就进入分支运行代码, 没有就执行else, 最后跳出结构

四个练习

练习1

  • 三个数字找最大
//获取三个数字
Console.WriteLine("请输入第一个数字");
double n1 = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("请输入第二个数字");
double n2 = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("请输入第三个数字");
double n3 = Convert.ToDouble(Console.ReadLine());

//1和2比
if (n1 > n2)//1>2
{
      if (n1 > n3)//1>3
      {
         Console.WriteLine(n1);
      }
      else//3>1>2
      {
         Console.WriteLine(n3);
      }
}
else//2>1
{
      if (n3 > n2)//3>2>1
      {
         Console.WriteLine(n3);
      }
      else//2>3 2>1
      {
         Console.WriteLine(n2);
      }
}
Console.ReadKey();

要学会写注释, 这对以后的大项目很有帮助

练习2

  • 输密码, 如果是88888就提示正确, 如果错误提示再输一遍, 二次输入正确提示正确, 二次输入错误就提示错误
Console.WriteLine("请输入密码");
string pwd = Console.ReadLine();
if (pwd == "88888")
{
      Console.WriteLine("登陆成功");
}
else//输入错误再次输入
{
      Console.WriteLine("密码错误, 请重新输入密码");
      pwd = Console.ReadLine();
      if(pwd == "88888")
      {
         Console.WriteLine("搞死了, 终于正确了, 登陆成功");
      }
      else
      {
         Console.WriteLine("两次输入都错误, 程序结束");
      }
}
Console.ReadKey();

练习3

  • 分别输入用户名和密码, admin 和 88888, 如果都对就登陆成功
    如果用户名错就提示用户名不存在
    用户名正确密码错也要提示
//接收信息
Console.WriteLine("输入用户名");
string name = Console.ReadLine();
Console.WriteLine("输入密码");
string pwd = Console.ReadLine();

//第一种情况 都正确
if (name == "admin" && pwd == "88888")
{
      Console.WriteLine("登陆成功");
}
else if (name == "admin") //密码错
{
      Console.WriteLine("密码错误");
}
else
{
      Console.WriteLine("用户名错误或不存在");
}
Console.ReadKey();

用!=会方便一些

练习4

  • 询问用户年龄, 如果大于等于18, 提示可以查看
    如果大于等于10并且小于18, 询问是否继续查看(yes or no)
    用户输yes就提示继续查看, 否则提示放弃查看
//接收信息
Console.WriteLine("请问年龄");
int age = Convert.ToInt32(Console.ReadLine());
if (age >= 18)
{
      Console.WriteLine("看吧, 早晚要知道的");
}
else if (age < 10)
{
      Console.WriteLine("滚蛋, 回家吃奶去");
}
else
{
      Console.WriteLine("确定要看么?(yes/no)");
      string input = Console.ReadLine();
      if (input == "yes")
      {
         Console.WriteLine("看吧, 后果自负");
      }
      else
      {
         Console.WriteLine("乖孩子, 回家吃奶去");
      }
}
Console.ReadKey();

车门焊死


小贴士

  • 整个程序最后如果太多花括号就会看不清
    要记住, 倒数第三个花括号是Main函数的花括号, 代码在那里截止
Avatar photo
我是 zhyDaDa

前端/UI/交互/独立游戏/JPOP/电吉他/游戏配乐/网球/纸牌魔术

发表回复