C基础中的选择结构和循环结构

判断结构
if 选择结构是根据条件判断之后再做处理的一种语法结构,如下图:



if语句的特点:
1.每一种格式都是单条语句。
2.第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。

3.条件表达式无论写成什么样子,只看最终的结构是否是true或者false;


经验:


    当if关键字后的一对大括号里只有一个语句时,可以省略大括号。

    但是为了避免有多个语句是遗忘大括号以及为了保持程序整体风格一致,建议不要省略if结构块的大括号。



补充:
 1.   对于多重if选择结构,其中,else if 块可以有多个或没有,需要几个else if 块完全取决于你的需要。
 2.   注意:else块最多有一个或没有,else块必须放在else if块之后。
 3.   如果条件之间存在连续关系,else if 块的顺序不是乱排的,要么从大到小,要么从小到大,总之要有顺序地排列。

 4.   如果多重if 选择结构中的所有条件之间只是简单的互斥,不存在连续的关系,则条件没有顺序要求。


嵌套if 选择结构
if(条件1){
           if(条件2){
                        代码块1
            }else{
                       代码块2
               }
           }else{
                      代码块3
           }

注意:
1.    只有当满足外层if的条件时,才会判断内层if的条件。

2.     else总是与它前面最近的那个缺少else的if 配对。


if结构书写规范如下:


1.    为了使if 结构更加清晰,应该把每个if或else包含的代码块都用大括号括起来。
2.    相匹配的 一对if和else应该左对齐。

3.    内层的if结构相对于外层的if结构要有一定的缩进。


选择结构



解释:

 1.   switch:表示“开关”,这个开关就是switch关键字后面小括号里的值;
 2.   case:表示“情形”,case后必须跟一个整型或字符型的常量表达式,通常是一个固定的字符、数字;
 3.   default:表示“默认”,即其它情况都不满足。

 4.   break:表示“停止”,即跳出当前结构。


switch语句特点:


1.   switch语句选择的类型只有四种:byte,short,int,char;(jdk1.7支持string类型)
2.   case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。
3.   技术switch语句的两种情况:遇到break,执行到switch语句结束。

4.   如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。


if和switch具体什么场景下,应用哪个语句呢?


1.    如果是处理等值条件判断的情况,并且符合byte short int char这四种类型。虽然两个语句都可以使用,建议使用swtich语句,因为效率稍高。

2.    其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。


 总结:


1.   每个case后的代码块可以有多个语句,也就是说可以有一组语句,而且不需要用“{ }”括起来。case和default后都有一个冒号,不要忘记了;否则编译不通过。

2.    对于每个case的结尾,都要想一想是否需要从这里跳出整个switch选择结构。如果需要,一定不要忘记写一个语句,就是“break;”!


循环结构



种类:
   while循环
   do-while循环

   for循环



    关键字while类后的小括号中的内容是循环条件。循环条件是一个布尔表达式,它的值为布尔类型“真”或“假”,如i<100;

   { }中的语句统称为循环操作,又称为循环体。


while循环的执行顺序如下:


   判断循环条件是否满足,如果满足则执行循操作;否则退出循环。

   执行完循环操作后,回来在此判断循环条件,决定继续执行循环或退出循环。


while循环解决问题的步骤:


 1.  分析循环条件循环操作
 2.  套用while语法写出代码

 3.  检查循环能否退出


do-while循环


    do-while循环以关键字都开头,然后是大括号括起来的循环草组,接下来才是while关键字和紧随的小括号括起来的循环 条件。

    值得注意的是,do-while以分号结尾;


do-while循环的执行顺序如下:


先执行一边循环操作

然后判断循环条件,如果循环条件满足,循环继续执行,否则退出循环。


do-while循环解决问题的步骤:


1.    分析循环条件和循环操作
2.    套用do-while语法写出代码

3.    检查循环能否退出


总结:



进制转换:


十进制转换成十六进制(例如把60转换成十六进制)
获取60的最低4位,通过&15;
int n1 = num & 15;
(char)(n1-10+'A')
要获取下一组四位,将60无符号右移4位。
int temp = num>>> 4;
对temp的值进行最低四位的获取。
int n2 = temp &15;

(char)(n2-10+'A')


循环的四个部分:


初始部分:设置循环的初始状态。
循环体:重复执行的代码。
迭代部分:下一次循环开始前要执行的部分,在while循环中它作为循环体的一部分。
循环条件:判断是否继续循环的条件。
for循环
格式:


注:
1.    for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件, 为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件, 重复找个过程,直到条件不满足为止。
2.   while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
    
3.   最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。


 

什么时候使用循环结构?


当要对某些语句执行很多次时,就使用循环结构。


无限循环的最简单表现形式


for( ;  ;  ){      }
while(true){       }

for和while可以进行互换,如果需要定义循环增量,用for更为合适。


变量的作用域

对于for来讲:如果将用于控制循环的增量定义在for语句中,那么该变量只在for语句内有效。for语句执行完毕,该变量在内存中被释放。






跳转语句


break(停止)
continue(继续)

return(返回)


break语句的使用


[html] view plaincopy
<span style="font-size:14px;">for(int i=0;i<10;i++){  
  
        //跑四百米  
  
        if(!能坚持){  
  
              break;//退出比赛  
  
        }  
  
}  

</span>  


break小结:


1.    break语句用于终止某个循环,使程序跳到循环块外的下一条语句。
2.    在循环中位于break后的语句将不再执行,循环也停止执行。
3.    break语句不仅可以用在for循环中,也可以用在while和do-while循环中
4.    break语句通常与if条件语句一起使用。
 

continue语句的使用


[html] view plaincopy
<strong><span style="font-size:14px;">for(int i=0;i<10;i++){  
  
        //跑四百米  
  
        if(!口渴){  
  
              continue;//不喝水,继续跑  
        }  
  
               接过水壶,喝水;  
}  

</span></strong> 

 

continue小结:


    continue可以用于for循环,也可以用于while和do-while循环。
    在for循环中,continue使程序先跳转到迭代部分,然后判断循环条件。如果为true,继续下一次循环;否则终止循环。
    在while循环中,continue执行完毕后,程序将直接判断循环条件。

    总之,continue语句只能用在循环结构中。


对比continue和break

在循环结构中


    break语句是终止某个循环,程序跳转到循环块外的下一条语句。
    continue语句是跳出本次循环,进入下一次循环。
    break语句:应用范围:选择结构和循环结构。
    continue语句:应用于循环结构。
注:
     a,这两个语句离开应用范围,存在是没有意义的。
     b,这个两个语句单独存在下面都不可以有语句,因为执行不到。
     c,continue语句是结束本次循环继续下次循环。
     d,标号的出现,可以让这两个语句作用于指定的范围。

 continue:只能作用于循环结构。继续循环。特点:结束本次循环,继续下一次循环。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值