选择结构程序

前言:

        实际上,在很多情况下,需要根据某个条件是否满足来决定是否执行指定的操作任务,或者从给定的两种或多种操作选择其一,这就是选择结构要解决的问题。

        c语言有两种选择语句:(1)if语句,用来实现两个分支的选择结构;(2)switch语句,用来实现多分支的选择结构。

一、用if语句实现选择结构

1、if语句举例

#include 
int main()
{
   int a,b;
   scanf("%d,%d",&a,&b);
   if (a>b)
   {
      printf("%d",a);
   }
   if (a 

5,3
5
PS C:\csay\cyuyan>

        这是一个很简单的if语句用法,从键盘输入2个整数,比较2个数的大小,输出最大的数。

2、if语句的一般形式

(1)if(表达式)  语句1

(2)if(表达式)

                语句1

        else

                语句2

(3)if(表达式1)  语句1

         else  if (表达式2)语句2 

         else  if (表达式3)语句3

         ......    

        大家可以根据它的一般形式编写一个自己的小程序,如果有问题小编可以帮你解答。

3、if语句的嵌套

一般形式:

        if()  

               if ()    语句1

                 else     语句2

        else

               if ()     语句3

               else    语句4

给大家举一个阶跃函数的例子:

#include 
int main()
{
   int a,b;
   scanf("%d",&a);
   if (a<0)
   {
      b=-1;
   }
  else
     if(a==0) b=0;
      else b=1;

  printf("a=%d,b=%d",a,b);
    return 0;
}


-5
a=-5,b=-1
PS C:\csay\cyuyan>

二、关系运算符和关系表达式

        C语言的6种关系运算符:

        < 小于,> 大于 ,<= 小于等于,>= 大于等于,== 等于,!=  不等于。

        用关系运算符将两个数值或数值表达式连式子叫关系表达式,例如a>b,a+b>b+c等,关系表达式的值是一个逻辑值,即真或假。

        如果d=a>b,如果a>b为真,则关系表达式的值为1,然后将1赋值给d。

三、逻辑运算符和逻辑表达式

        有3种逻辑运算符:与(AND),或(OR),非(NOT),在C语言种,不能在程序中直接用AND,OR,NOT作为逻辑运算符,而是用其他符号代替。

       && 逻辑与(AND) a&&b   如果a,b都真,则结果真,否则假

       ||    逻辑或(OR)   a||b      a,b中有一个为真,则结果真,二者都为假时结果为假

       !  逻辑非(NOT) !a     a为假,!a为真,a为真,!a为假

       &&和||为双目运算符,要求有2个运算对象,!为一目运算符,要求有一个运算对象

        逻辑表达式的值是一个逻辑量真或假

        例如 5>3&&8<4-!0  5>3为1,4-!0为3,8<4-!0 为0,所以1&&0结果为0

四、条件运算符和条件表达式

        条件运算符由?和:2种符号组成,要求有3个操作对象,称为三目运算符,是C语言中唯一的三目运算符。

        条件表达式的一般形式为

        表达式1?表达式2:表达式3

        例如 max=(a>b)?a:b  将a和b比较,如果a>b为真,将a赋值给max,否则将b赋值给max

五、用switch语句实现选择结构

1、switch语句     

        switch语句可以通过if语句嵌套表示,switch是多分支选择语句。

        其一般形式:

        switch(表达式)

        {

                case  常量1 : 语句1

                case  常量2 : 语句2

                ......

                case 常量n : 语句n

               default : 语句n+1

        }

        上面的表达式的类型为整数类型包括字符类型,dafault可有可无,当没有与switch表达式相匹配的case常量,流程转去执行default后面的语句;case标号次序不影响结果,每一个case后面的常量不能相同;一般情况下,在执行一个case过后,要用break跳出switch结构,default中可以不用加break;多个case标号可以共用一组执行语句。

2、switch例子

#include 
int main()
{
   int a;
   scanf("%d",&a);
   switch (a)
   {
      case 1 : printf("hz\n");
      break;
      case 3 : printf("hzhz\n");
      break;
      case 6 : printf("hzhzhz\n");
      break;
      case 8 : printf("hzhzhzhz\n");
      break;
      default : printf("666666\n");
   }
}


2
666666
PS C:\csay\cyuyan> 
1
hz
PS C:\csay\cyuyan> 

小结

        通过小编的不懈努力,终于把if和switch拉完了,带着大家学习了一边if和switch以及它们的注意事项,希望大家要勤加练习,有不懂的问题或者博客中有不对的地方可以留言小编。

你可能感兴趣的:(c语言,开发语言)