C语言-switch用法

4小时前 (16:05:09)阅读1回复0
zaibaike
zaibaike
  • 管理员
  • 注册排名1
  • 经验值126065
  • 级别管理员
  • 主题25213
  • 回复0
楼主

switch语句,适用于前提是整型变量或字符变量的等值判断。好比按照输入的值,决定施行的语句。

格局:

switch(表达式)

  {

case 常量表达式1: 语句组1;[break];

case 常量表达式2: 语句组2;[break];

    ┇

case 常量表达式n: 语句组n; [break];

[default:语句组n+1];

   }

施行过程:计算switch后表达式的值,并逐个与case后常量表达式的值比拟较,当表达式的值与某个常量表达式的值相等时,即施行其后的语句,曲到碰到break语句为行。如表达式的值与所有case后的常量表达式均不不异时,则施行default后的语句。

留意:

1、switch与if差别,它仅能判断一种逻辑关系,即表达式的值能否等于指定的常量,而 if 能够计算并判断各类表达式。

2、case子句后必需为常量,常常是整型和字符型。

3、default能够省略,那时,不满足前提什么也不施行。

4、case和default只起标号的感化,挨次能够倒置,倒置时留意后面的break语句。

5、多个case语句能够共用一组法式。

case ‘A’:

case ‘B’:

case ‘C’: printf(“pass!\n”);

举例1:四则运算

#include<stdio.h> int main() { char ch; //暗示计算符号 int op1=20,op2=10; //暗示参与计算的两个数 printf("输入需要计算类型:\n"); scanf("%c",&ch); switch(ch) { case +: printf("%d\n",op1+op2);break; case -: printf("%d\n",op1-op2);break; case *: printf("%d\n",op1*op2);break; case /: printf("%d\n",op1/op2);break; default: printf("输入的符号错误!\n"); } return 0; }

举例2:编程计算图形的面积。法式可计算矩形,圆形,三角形的面积,运行时先提醒用户选择图形的类型,按照用户选择若是是求矩形面积,则输入长和宽的值,若是是求圆形面积,则输入半径,若是是求三角形面积,则输入三边长,计算出头具名积值而且显示。要求用switch语句实现。

#include <stdio.h> #include <math.h> int main() { double radius,length,wide,l1,l2,l3,area,s; int n; printf("1:三角形\n2:矩形\n3:圆形\n"); printf("请输入响应序号:\n"); scanf("%d",&n); switch(n) { case 1:printf("选择图形的类型:三角形\n"); printf("side1:");scanf("%lf",&l1); printf("side2:");scanf("%lf",&l2); printf("side3:");scanf("%lf",&l3); if(l1+l2 >l3 && l2+l3>l1 && l1+l3>l2) s = (l1+l2+l3)/2; else printf("输入有错!\n"); area =sqrt(s*(s-l1)*(s-l2)*(s-l3)); printf("面积:%.2lf\n",area); break; case 2:printf("选择图形的类型:矩形\n"); printf("length:");scanf("%lf",&length); printf("wide:");scanf("%lf",&wide); area = length * wide; printf("面积:%.2lf\n",area); break; case 3:printf("选择图形的类型:圆形\n"); printf("radius:");scanf("%lf",&radius); area = 3.14 * radius * radius; printf("面积:%.2lf\n",area); break; default:printf("输入有错!"); } return 0; }

0
回帖

C语言-switch用法 期待您的回复!

取消