C_03 switch语句

三目运算符

写法 表达式 1 ? 表达式 2 : 表达式 3
三目运算符等价于:

if(表达式1)     
  { 
    表达式2;
  }  
  else   
  {
    表达式3;
  }

结果:
如果表达式 1 为真,那么整个三目运算符的结果为表达式 2
如果表达式 1 为假,那么整个三目运算符的结果为表达式 3

#include "stdafx.h"
#include 
int main(int argc, char* argv[])
{  
  int a=3,b=4,c=a>b?a:b; 
  printf("c=%d\n",c); 

//使用三目运算符求三个数的最大值 
  int a1,a2,a3,l; 
  printf("请输入三个整数:"); 
  scanf("%d%d%d",&a1,&a2,&a3);  
  l=a1>a2?a1:a2;    
  l=a3>l?a3:l;  //变量l可以重新赋值 
  printf("这三个整数中最大的值是:%d\n",l); 

  int num1,num2,num3; 
  printf("请输入三个整数:");
  scanf("%d%d%d",&num1,&num2,&num3); 
  int max=(num1>num2)?(num1>num3?num1:num3):(num2>num3?num2:num3); 
                    //如果num1>num3成立,返回num1  
  printf("这三个整数中最大的值是:%d\n",max); 
  return 0;
}
C_03 switch语句_第1张图片
运行结果

switch 语句
1、作用:和 if 语句一样,也是用作分支判断
2、每有一种情况,就需要有一个 case
3、所有情况都不符合,使用 default,default 也可以省略不写
4、switch 的判断条件必须是 int 类型的,也可以是 char
5、如果不需要多种情况同时发生,那么就需要给每个 case 加一个 break
6、case 是从上到下执行,但是因为有了 break,所以每一个 case 是独立的

switch(表达式)
  { 
    case1:
    {
      第一种情况的代码
    }   
    case2:
    {
      第二种情况的代码
    }   
    case3:
    {
      第三种情况的代码
    }   
    defaule:
    {
      所有情况都不满足的时候执行
     }   
  }

练习:用键盘输入+,-,*,/,四个符号中的 1 个,计算 a 和 b 用该符号运算的结果

#include "stdafx.h"
#include 
int main(int argc, char* argv[])
{ 
  int a=3,b=4;
  char str; 
  printf("请输入+,-,*,/,四个符号中的1个:"); 
  scanf("%c",&str); 
  switch (str)  
    { 
      case '+':  
        {    
          a=a+b; 
          printf("3和4相加的结果为%d\n",a);
          break;     
        } 
      case '-':     
        {    
          a=a-b; 
          printf("3和4相减的结果为%d\n",a);    
          break;     
        } 
      case '*':     
        {    
          a=a*b; 
          printf("3和4相乘的结果为%d\n",a);
          break;     
        } 
      case'/':  
        {    
          a=a/b; 
          printf("3和4相除的结果为%d\n",a);
          break;     
        } 
      default : 
        {
          printf("输入错误\n");
        }   
    } 
  return 0;
}
运行结果 1
运行结果 2
运行结果 3
运行结果 4
#include "stdafx.h"
#include 
int main(int argc, char* argv[])
{ 
  int x; printf("请输入成绩:"); 
  scanf("%d",&x); 
  if(x>=90&&x<=100)     
    {
      printf("成绩为A等\n");
    } 
  else if(x>=80&&x<=89)     
    {
      printf("成绩为B等\n");
    } 
  else if(x>=70&&x<=79)     
    {
      printf("成绩为C等\n");
     } 
  else if(x>=60&&x<=69)     
    {
      printf("成绩为D等\n");
    } 
  else if(x>=0&&x<=59)      
    {
      printf("成绩为E等\n");
    } 
  else 
    {
      printf("无效成绩\n");
    } 
return 0;
}
运行结果 1
运行结果 2
#include "stdafx.h"
#include 
int main(int argc, char* argv[])
{
  int y; 
  printf("请输入成绩:"); 
  scanf("%d",&y); 
  int ten =y/10; 
  switch (ten)  
    { 
      case 10: 
        { 
          //100-109分数也被计入该等级 
          printf("成绩为A等\n"); 
          break;
        } 
      case 9: 
        {
          printf("成绩为A等\n"); 
          break;
        }
      case 8: 
        {
          printf("成绩为B等\n"); 
          break;
        } 
      case 7: 
         {
           printf("成绩为C等\n"); 
           break;
        } 
      case 6: 
        {
          printf("成绩为D等\n"); 
          break;
        } 
      case 5: 
        {
          printf("成绩为E等\n"); 
          break;
        } 
      case 4: 
        {
          printf("成绩为E等\n"); 
          break;
        } 
      case 3: 
        {
          printf("成绩为E等\n"); 
          break;
        } 
      case 2: 
        {
          printf("成绩为E等\n"); 
          break;
        } 
      case 1: 
        {
          printf("成绩为E等\n"); 
          break;
        } 
      case 0: 
        {
          printf("成绩为E等\n"); 
          break;
        } 
      default : 
        {
          printf("无效成绩\n");
        }   
    } 
return 0;
}
运行结果 1
运行结果 2
运行结果 3
运行结果 4
End of File

行文过程中出现错误或不妥之处在所难免,希望大家能够给予指正,以免误导更多人,最后,如果你觉得我的文章写的还不错,希望能够点一下喜欢关注,为了我能早日成为签约作者献上一发助攻吧,谢谢!^ ^

你可能感兴趣的:(C_03 switch语句)