黑马程序员——分支语句if及switch的用法和注意事项

原创 2015年11月21日 19:55:58

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------


第一讲         分支语句if的使用

    一般形式:如果表达式为真执行语句块1,否则不执行。

       if(表达式){


          语句块1                                  //原理:

     }                                                             先计算小括号中的表达式值

          后续语句;                                              真(1)      会执行大括号内语句

                                                                            假(0)     不执行大括号内语句

例如:

int num =0;
printf("请输入一个数字:\n");      
scanf("%d",&num);             //接受数字
if(num==5){ 

         printf("恭喜你\n");
}
if(num!=5){
  
          printf("很可惜\n");
}

    除了基本用法,if还有其他用法

如if....else语句                  


      格式如下:


          if(表达式){


              语句块1;          //如果表达式为真,则执行语句块1


 }else{                                          //注意:不管表达式为真为假,都会执行一个分支


             语句块2;         //如果表达式为假,则执行语句块2


 }

例:

int num =0;
printf("请输入一个数字:\n");      
scanf("%d",&num);
if(num==5){

         printf("恭喜你\n");
}else{

         printf("很可惜\n";

}



if语句的嵌套

例:

int num =0;
printf("请输入一个数字:\n");      
scanf("%d",&num);
if(num==5){

         printf("恭喜你\n");
}else{

     if(num>5){

             printf("大于5了\n");      //if语句的嵌套
       }else{

             printf("小于5了\n");

     }

}


if语句的高级用法

基本格式:

             if(表达式1){

                 语句块1;

}else if(表达式2){                                               // 如果表达式1为真,则执行语句块1,

                                                                                    否则判断表达式2,如果为真,执行语句块2,

                   语句块2                                                    否则再判断表达式3,为真执行语句块3,

                                                                                     当表达式1,2,3都不满足时,执行最后一个语句         

}else if(表达式3) {

                语句块3;

}else{

                语句块4;

}

例:

int main()
{
    int n;                 //定义一个变量作为分数
 
    scanf("%d",&n);        //接受分数   
 
    if(n>90)
    {
        printf("A");
    }
    else if(n>=80 && n<=90)       //分数在哪个区间对应哪个等级
    {
        printf("B");
    }
    else if(n>=70 && n<=79)
    {
        printf("C");
    }
    else if(n>=60 && n<=69)
    {
        printf("D");
    }
    else
    {
        printf("E");
    }
 
    return;
}
第二讲    switch语句的使用


switch语句基本格式:


switch(表达式){

                 case   常量表达式1:  语句1;

                 case   常量表达式2:  语句2;

                   ......       ...........

                 case   常量表达式n:  语句n;

                 default:   语句n+1;

}


其语义是:计算表达式的值,并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,就执行这个常量表达式的语句,然后不再进行判断,继续执行之后所有的语句,如表达式的值与所有常量表达式都不想等,则执行default后的语句

注意:

           switch有个case语句穿透问题,某个case语句执行完之后,并没有结束,而直接向下执行其他的case语句,这种现象称之为case语句的穿透。

如何防止:

            我们需要在每一个case语句结束之后,加上一句break;break的作用是结束switch语句。


例:

int main()
{
   int num;
   scanf("%d",&num);
   switch(num)
   {
       case 1: printf("A");
    break;
       case 2:printf("B")              //加break防止穿透
    break;
       case 3: printf("C")
    break;
       case 4: printf("D");
    break;
    default:
       printf('?');
   }
   printf("\n");
}

if和switch的联系:

                   分支比较多且无法穷尽或进行大量列举时最好用if,分支比较少,但使用if代码量比较多的时候,可以用switch。


switch语句表达式类型:

1)可以放一个整形变量,如int sum=10;switch(num)

2)可以放一个整形常量,如switch(10)

3)可以放一个返回值是整形的表达式,如switch(5+5)

4)可以放可以转换为int类型的表达式,如(‘a’+‘a’)(‘a’)


case语句注意事项:

1)case语句格式  case 后面加个空格不能省 常量表达式:   (空格和冒号不能省)

2)可以是常量,如case 10

3)可以是常量表达式5+5

4)default语句的位置可以任意放

5)case语句穿透同样使用default

6)如果default语句放到switch语句最后,可以不加break,如果不放最后必须加上break防止穿透

7)case后面不能是实数

8)case语句之后默认的第一句话不能定义变量,如果非要定义比较加上大括号

相关文章推荐

黑马程序员——>第二天<基础知(标识符、进制转换、if switch语句)>

-------android培训、java培训、期待与您交流------- 2 Java语言基础组成 01标识符  关键字 标识符 注释 常量和变量 运算符 语句 函数 数组 1.1关键字 ...

黑马程序员——C语言循环、switch与if语句笔记和习题

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------一:while、do-while和for三种循环在具体的使用场合上是有区别的:1、在知道循环次数的...

黑马程序员_JAVA笔记02——标识符、进制、变量、运算符、if和switch语句

------- android培训、java培训、期待与您交流! ---------- 1  Java语言基础组成:关键字、标识符、注释、常量变量、运算符、语句、函数、数组    ...

黑马程序员_JAVA之路2——标识符、进制、变量、运算符、if和switch语句

------- android培训、java培训、期待与您交流! ---------- 1  Java语言基础组成:关键字、标识符、注释、常量变量、运算符、语句、函数、数组    ...

java中if与switch-case语句的使用及一些注意事项

1.if语句的嵌套 import java.util.Scanner; public class Text1 { /** * @param args */ public stati...
  • ZF_9420
  • ZF_9420
  • 2017年05月31日 23:13
  • 417

黑马程序员---Java基础学习之多分支结构switch/循环语句while/do-while/for

今天学习了多分支结构,循环语句 多分支结构 switch 1、switch语句格式: switch(表达式) { case 取值1: 执行语句; break; case 取值2: 执...

黑马程序员——C语言笔记之scanf函数及使用注意事项

------- android培训、java培训、期待与您交流! ---------- 1、scanf函数(阻塞式函数) scanf函数原型包含在标准输入输出头文件“stdio.h”中,用于接...

黑马程序员——集合框架的使用及其注意事项

------- Android培训、Java培训、期待与您交流! ----------     Java中的数组是保存对象的一种最常见的方式,但数组在处理某些问题时显得有些不足,主要是因为数组具...

黑马程序员——oc注意事项

alloc  new  retain之后都必须要调用release方法 计数器要变只有这几种方法 retain release alloc new copy方法才会使计数器改变,谁想用人家对象,就对他...

黑马程序员__选择结构if语句_switch语句

Java语言基础(选择结构if语句和switch语句的区别)
  • haojude
  • haojude
  • 2015年04月08日 23:29
  • 317
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员——分支语句if及switch的用法和注意事项
举报原因:
原因补充:

(最多只允许输入30个字)