switch (表达式的值) {

case 1:

语句1

break;

case 2:

语句2

break;

case 3:

语句3

break;

case 4:

语句4

break;

......

default:

默认语句

break;

1、适用于离散值的开关判断,可以转换成一段连续的范围

2、注意case穿透,break的使用。

3、可以把各个case值定义为enum枚举或者使用宏定义定义别名

1、使用switch语句完成:输入一个简单的两个数字加减乘除运算的式子,使用switch通过转换加减乘除符号计算各种情况下式子的值,也就是一个简单的计算器:

   int a,b;
float c;
char sign; printf("请输入要运算的数字:");
scanf("%d",&a);
getchar(); //在输入第一个数字后按回车确认,使用getchar在读取sign的时候会错误的把回车符读进来,所以先使用getchar把这个字符读走。
printf("请输入要进行的运算:"); sign=getchar();
printf("请输入要运算的数字:");
scanf("%d",&b); switch(sign) {
case '+':
c=a+b;
break;
case '-':
c=a-b;
break;
case '*':
c=a*b;
break;
case '/':
if (b) {
c=a/b;
}else
printf("除数不能为0\n"); }
printf("%d%c%d=%f\n",a,sign,b,c);

2、使用海伦公式计算三角形的面积。海伦公式的面积为,其中p=(a+b+c)/2,a,b,c为三角形三条边长。

注意:本程序应先判断输入的三个边长是否符合三角形两边之和大于第三边,两边之差小于第三边的条件,如果不符合条件,则不是三角形,不能使用海伦公式往下计算,本程序忽略此判断,假设三个边长符合三角形的边长条件。此判断在下一个程序中会体现出来。

float a,b,c,p,s;
printf("请输入三角形三个边长:\n");
scanf("%f%f%f", &a, &b, &c); p = (a+b+c)/;
s = sqrt((double)p * (p-a) * (p-b) * (p-c)); printf("三角形的面积是%.2f\n",s);

3、输入三角形的三条边长,判断三角形是直角三角形还是等边、等腰、一般三角形。使用if嵌套完成。

  float a, b, c;

    printf("请输入三角形三个边长:\n");
scanf("%f%f%f", &a, &b, &c); if (a> && b> && c>) {
if (a+b>c && a+c>b && b+c>a) {
if (a==b && b==c) {
printf("输入是正三角形\n");
}else if(a==b || b==c || a==c){
if(a*a==b*b+c*c || a*a+b*b==c*c || a*a+c*c==b*b)
printf("输入是等腰直角三角形\n");
else printf("输入是等腰三角形\n");
}else if(a*a==b*b+c*c || a*a+b*b==c*c || a*a+c*c==b*b){
printf("输入是直角三角形\n");
}else printf("输入是一般三角形\n");
}
else printf("输入不是三角形\n");
}else{
printf("输入不是三角形\n");
}

4、输入一个百分制的成绩,使用switch语句把此成绩转换为A,B,C,D的等级制并输出:

  int score=0;
  char grade='0';
  scanf("%d",&score);
if (score>= && score<=) {
switch (score/) {
case :
case :
grade = 'A';
break;
case :
grade = 'B';
break;
case :
grade = 'C';
break;
case :
grade = 'D';
break; default:
grade ='N';
break;
}
printf("该成绩转换为等级制为%c!!!\n",grade); }else
printf("输入不合法!!!!\n");

C语言-switch语句的更多相关文章

  1. R语言Switch语句

    R语言Switch语句 switch语句允许一个变量值的列表来平等进行测试.每个值被称为一个条件(情况),变量被接通检查每个条件(情况). 语法 在R语言中创建switch语句的基本语法是: 以下规则 ...

  2. C语言switch语句

    C语言虽然没有限制 if else 能够处理的分支数量,但当分支过多时,用 if else 处理会不太方便,而且容易出现 if else 配对出错的情况.例如,输入一个整数,输出该整数对应的星期几的英 ...

  3. 1.4 Go语言-switch语句(转)

    与串联的if语句类似,switch语句提供了一个多分支条件执行的方法.不过在这里用一个专有名词来代表分支——case.每一个case可以携带一个表达式或一个类型说明符.前者又可被简称为case表达式. ...

  4. C语言-switch语句的使用。对文件的输出处理。for循环和if的结合使用。

    //函数fun功能:统计字符串中各元音字母的个数,注意:不区分大小写. //重难点:switch语句的使用. #include <stdlib.h> #include <conio. ...

  5. PROCESS_YIELD()宏和C语言的switch语句< contiki学习笔记之七>

    写在前面:  按照main()函数的代码一行一行的分析,该是看到了 etimer_process 这个位置.但是etimer_process实现里的一个宏 PROCESS_YIELD()引出了很多故事 ...

  6. go语言基础之switch语句 和 fallthrough 用途

    Go里面switch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case,而是跳出整个switch, 但是可以使用fallthrough强制执行后面的case代码: 示例1 ...

  7. go语言之if语句和switch语句和循环语句

    1.if语句 package main import ( "fmt" "io/ioutil" ) func main() { //流程控制 //使用常量定义一个 ...

  8. 【C语言】-条件语句-switch语句

    switch语句: 用于直接处理不同情况下的多路问题. switch语句又可称为开关语句,其执行流程和多分支if语句类似. switch (表达式) { case 常量表达式1:语句组1;break; ...

  9. C语言switch中case后跟随break语句

    1.case后面的常量表达式实际上只起语句标号作用,而不起条件判断作用,即“只是开始执行处的入口标号”.因此,一旦与switch后面圆括号中表达式的值匹配,就从此标号处开始执行:而且执行完一个case ...

随机推荐

  1. Hibernate 乐观锁(Optimistic Locking)

    1.hibernate基于数据版本(Version)记录机制实现.为数据增加一个版本标识,一般是通过为数据库表增加一个"version"字段来实现. 读取出数据时,将此版本号一同读 ...

  2. Disassembly1:HelloWorld

    我这里学习汇编语言的思路就是逆向C++源码. 先从最简单的一个程序入手:

  3. Linux 下 git的使用

    参考链接:http://www.liaoxuefeng.com 安装 安装步骤: ①先给操作系统装入git工具,以Linux为例: $ sudo apt-get install git ②去githu ...

  4. JS页面延迟执行一些方法(整理)

    一般在JS页面延迟执行一些方法.可以使用以下的方法 jQuery.delay()方法简介 http://shawphy.com/2010/11/jquery-delay.html jQuery中que ...

  5. 转 oracle 开发 第03章 sqlplus

    目录 1.查看表结构 desc 2.编辑SQL语句 append.list.change.run 3.保存.检索并运行文件 save.get.start.edit.spool 4.格式化列 colum ...

  6. 开心的金明<0-1背包>

    题意:0-1背包经典题: 不多述,直接上代码: 1.二维数组表示法: #include<cstdio> #include<iostream> #include<algor ...

  7. 如何判断js是否加载完全

    var script=document.createElement('script'); if(script.onreadystatechange){ script.onreadystatechang ...

  8. MySQL:MySQL的基本操作

    1.数据库登录 格式:mysql -h主机地址 -u用户名 -p用户密码 -P端口 -D数据库 -e “SQL内容” [root@wulaoer ~]# mysql -uroot -p  2.修改密码 ...

  9. column name is keyword from

    mysql: select tablename.from from tablename; postgresql: select "from" from tablename; sql ...

  10. html中DIv并排显示问题

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD ...