Csharp(C#)流程控制

流程控制:


不管在简单的程序还是复杂的程序,一般包含三种结构:顺序结构,选择结构,循环结构
顺序结构:默认就是顺序结构,就是说程序自上而下依次按照顺序执行
选择结构 ( 分支结构 ) :程序有条件(有选择)的去执行某些代码(单分支 if 双分支 if-else 多分支 if
elseif-……-else switch-case
循环结构:程序有条件的重复执行某些代码( for 循环 <foreach> while 循环 <do - while>

选择结构


if

注意语法结构:
· 单分支
   if
· 双分支
  if else
· 多分支
   if else if else if
  适合条件为判断同一变量的不同区间
格式:
单分支: if+tab if( 条件 ){ 成立:执行代码 }
双分支: if( 条件 ){ 成立:执行代码 1}else{ 不成立:执行代码 2}

单分支和双分支  

//单分支结构
if (age>18)
{
Console.WriteLine("成年");
}
//双分支结构
if (age > 18)
{
Console.WriteLine("成年");
}
else
{
Console.WriteLine("未成年");
}

多分支 

格式:
多分支: if( 条件 ){ 成立:执行代码 1}elseif( 条件 ){ 成立:执行代码 2}……else{ 都不成立:执行代码 n}
注意:1. 判断条件是有递进关系 2. 一旦一个分支执行了其他分支都不执行
if (age<=12)
{
Console.WriteLine("儿童");
}else if (age <= 18)
{
Console.WriteLine("青少年");
}else if (age <= 40)
{
Console.WriteLine("青年");
}
else if (age <= 50)
{
Console.WriteLine("壮年");
}else
{
Console.WriteLine("老年");
}

分支嵌套

if (age>0&&age<134)
{
//输入的年龄合法
if (age <= 12)
{
Console.WriteLine("儿童");
}
else if (age <= 18)
{
Console.WriteLine("青少年");
}
else if (age <= 40)
{
Console.WriteLine("青年");
}
else if (age <= 50)
{
Console.WriteLine("壮年");
}
else
{
Console.WriteLine("老年");
}
}
else
{
Console.WriteLine("输入的年龄不合法");
}

多个ififelse的区别?

int aa = 10;
//if (aa > 5) {
// Console.WriteLine("大于5");
//}else if (aa > 6)
//{
// Console.WriteLine("大于6");
//}
if (aa > 5)
{
Console.WriteLine("大于5");
}
if (aa > 6)
{
Console.WriteLine("大于6");
}
//多个if和ifelse的区别:
//1.多个if是所有的if都进行判断,条件成立都会执行
//2.ifelse是只要上面的满足条件,就不再对下面的elseif进行判断

switch


快捷键 :switch + tab
用处: 适用于多个值进行判断 , 或者等值条件的判断
执行过程 : 根据 switch 括号里面的变量值 , 选择与之对应的 case 语句 , 如果没有 case 语句 , 则执行 default 后面
的语句
格式 :
  • switch:开关
  • ():变量,只要变量存在,即可进入条件语句
  • {}:代码块,case的实例匹配的部分才能输入
  • case:值 实例,后面的值是和switch()里面的变量进行匹配
  • default:默认 和else相似,case的实例 都不满足条件,会执行default
注意:
        1. break不能省略(中断,打断)
        2. case后面的值可以无序,但不能重复
        3. 多个 case 可以共用一段代码
        4. default可要可不要(都匹配不上,就执行 default
        5. case后面跟的具体的数据 , 要和 switch() 内的变量的值的类型完全一致
if switch 的异同点:
  • 相同点:都可以用于分支判断
  • 不同点:if结构适用于某个变量处于某个连续区间的情况,switch结构只用于处理等值条件的判断
switch(day)
{
case 1:
case 2:
Console.WriteLine("星期二");
break;
case 3:
Console.WriteLine("星期三");
break;
default:
Console.WriteLine("输入的数字有误");
break;
}

循环结构


循环四要素:初始条件 判断条件 循环语句 迭代变量

for循环

语法:
for 循环语法格式 :
for ( 声明一个循环控制变量 ; 循环执行的条件 ; 循环控制变量修改 ){
循环体 ( 需要重复执行的代码块 )
}
执行顺序:
①先执行初始条件 int i = 0; (初始条件只执行一次)
②再执行判断条件 i < 5; 成立:执行③ 不成立:⑤
③执行 { 循环语句 }
④执行迭代变量 i++ ,然后执行②
⑤退出 for 循环
注意点:
①初始条件可以写到 for 上边 ,但是第一个 ; 不能省略
②迭代变量可以写到循环语句的后面,但第二个 ; 不能省略
for 执行完,变量 i 的值为判断条件的值
注意死循环
一定要保证循环有终止条件 ( 没有终止条件的循环 , 称之为死循环 )
  • for(int i=0;i<5;i--){} 迭代变量使用不当造成死循环
  • for(int i=0;i<5;){} 没有迭代变量造成死循环
  • for(int i=0;i==i;i++){} 判断条件使用不当,造成死循环

for循环

for (int i = 0; i < 3; i++)
{
Console.WriteLine("一句话");
}
int j = 0;
for (; j < 3; )
{
j++;
Console.WriteLine("一句话");
}

while循环

语法:
while 循环格式 :
while ( 布尔值或者布尔表达式 )
{
布尔值或者布尔表达式成立时执行的代码块 ( 循环体 )
}
//while 循环初始化语句在 while 的外面
int j = 0 ;
while ( j < 3 ) // 判断语句 , 也就是 while 执行的条件 , 条件不满足则停止循环
{
j ++ ; //{} 除了迭代变量之外都是循环体
Console . WriteLine ( " 一句话 " );
}

 do-while

while (j<10)
{
Console.WriteLine("while执行了");
}
do
{
Console.WriteLine("do_while执行了");
} while (j < 10);

 

while和的区别

        · while执行流程:
                1. 判断循环执行的条件, 若值为 true, 则执行循环体 , 改变初始变量 ( 迭代变量 )
                2. 重复执行第一步, 直到循环条件的值为 false, 停止循环
· do-while执行流程:
                1. 首先执行循环体, 改变迭代变量
                2. 判断循环条件, 若值为 true, 则执行循环体 , 改变初始变量 ( 迭代变量 )
                3. 依次重复 , 直到循环条件为 fasle, 停止循环
do-while 最少执行一次 ,while 条件不成立的话 , 一次都不会执行

使用场景:

三个循环的使用场景:
  • for:最常用的循环,用于循环的次数明确且固定
  • while:循环的次数不固定,但是有明确的目标
  • dowhile循环:while相似,至少执行一次

  • 22
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值