C语言程序设计——选择结构程序设计

C语言的选择结构程序设计可以分为两种
单分支的选择程序设计
单分支if语句格式
if(表达式)
语句1;

//例子:(判断输出值)
 #include <stdio.h>
int main(){
    
    
 int a;
 int b;
 printf("请输入a,b,\n");
 scanf("%d,%d",&a,&b);
 if(a==b){
    
    
  printf("是的!a=b时正确的!\n");
  return 0;
 }
}

多分支的选择程序设计
多分支的选择结构有双分支结构
双分支if语句格式
if(表达式){
语句1;
else
语句2;

}

//例子:(判断两个数的最大值)
#include  <stdio.h>
int main(){
    
    
 int a;
 int b;
 printf("input a,b:" );
 scanf("%d,%d",&a,&b);
 if (a>b)
 {
    
    
  printf("max=%d\n",a );
 }
 else{
    
    
       printf("max=%d\n",b );
 }
 return 0;
}

多分支结构
1.
if(表达式){
语句1;
else if(){
语句2;
}
}
2.
else if语句
if(表达式){
语句
else if (/* 表达式 /){/ 语句 /}
else if (/
表达式 /){/ 语句 */}
}
else{语句}

//判断数字值代表的星期

#include <stdio.h>
 int main(int argc, char const *argv[])
 {
    
    
  int a;
  printf("please input your  number" );
  scanf("%d",&a);
  if (a==1)
   {
    
    
     printf("Today is monday!\n");
   }
   
   else if (a==2)
   {
    
    
    printf("Today is tuerday\n" );
   }
   
   else if (a==3)
   {
    
    
    printf("Today is wednesday\n" );
   }
   
   else if (a==4)
   {
    
    
    printf("Today is thursday\n" );
   }
   else if (a==5)
   {
    
    
    printf("Today is firday\n" );
   }
   else if (a==6)
   {
    
    
    printf("Today is saturday\n" );
   }
    else if (a==7)
   {
    
    
    printf("Today is sunday\n" );
   }
       else{
    
    
             printf("sorry ! your enter number is false! please input again! thanks\n" );
   }
  printf("It is good week!\n" );
  return 0;
 }
例子(判断两个数值定义)
#include <stdio.h>
int main(){
    
    
 char sex;                    /定义字符型数值sex/
 int tall;                    /定义整型数值tall/
 printf("请输入sex、tall数值");
 scanf("%c%d",&sex,&tall);    /输入sex tall的数值/
 if(sex='F'){
    
                     /判断输入sex的值是否等于F/
  if(tall>=150){
    
               /判断tall是否大于等于150/
   printf("A\n");       /当tall>=150时输出A/
   
   }
   else{
    
                    /当tall小于150时输出B/
   printf("B\n");
   }
   }
  else{
    
                           /判断sex不等于F执行/
  if(tall>=170){
    
              /判断tall值是否>=170/
   printf("A\n");      /当tall>=170时输出A/
  }
  else{
    
    
  printf("B\n");          /当tall小于170时输出B/
  }
  }
  return 0;
 }

if else配对原则
else与同一层最接近它,而又没有其他else语句与之相匹配的if语句配对
switch(开关分支语句)
switch(表达式){
case 1:
语句组;
break;

case 2:
语句组;
break;

case 3:
语句组;
break;

case n:
语句组;
break;

default;
语句组;
}

/*例子输入成绩查询等级*/
#include <stdio.h>
int main(){
    
    
 int score;
 int max;
 printf("please input score");
 scanf("%d",&score);
 max =  0<score&&score<100 ? score/10:-1;
 switch(max){
    
    
  case 10:
  printf("grade =A\n");
  break;

case 9:
  printf("grade =A\n");
  break;

case 8:
  printf("grade =B!\n");
  break;

case 7:
  printf("grade =C\n");
  break;
case 6:
  printf("grade =D/n");
  break;


  case 5:
  case 4:
  case 3:
  case 2:
  case 1:
  case 0:
  printf("sorry ! please  study hard !/n");
  break;
  default:
  printf("Input error again!/n" );
  return 0;
   }
}	

条件运算符
例子
if(a>b){
max=a;
}
else{
max=b
}
我们看这个例子,当a,b的数值进行判断的时候,用分支语句是不是有点繁琐,而我们可以用条件运算符来简化这些东西
可以这样看成:a>b?a:b
这样的意思就是 当a>b的时候为真是,则a为a>b的值,若为假,则b为a>b的值

猜你喜欢

转载自blog.csdn.net/weixin_45743004/article/details/103848709