> 唯美句子 > if语句和switch语句在功能上可

if语句和switch语句在功能上可

if语句switch语句在功能上可以互换吗?为什么?

switch可以装换成if 但if不一定能转换成switch

因为switch后面的括号里只能值整数,也就是int类型的参数,而if可以判断各种条件,..

(1)已有如下所示的程序代码,请用if- else if语句替换程序中的switch语句,即用if- else if语句来构成

if(operator=="+")

{

printf("\n %d %c %d=%d\n ",x,operator,y,x+y);

}

else if(operator=="+")

{

printf("\n %d %c %d=%d \n",x,operator,y,x-y);

}

else if(operator=="*")

{

printf("\n %d %c %d=%d \n ",x,operator,y,x*y);

}

else if(operator=="/")

{

printf("\n %d %c %d=%.2f \n ",x,operator,y,x*1.0/y);

}

else if(operator=="%")

{

printf("\n %d %c %d=%d \n",x,operator,y,x%y);

}

else

{

printf("\n invalid operator\n");

}

C语言中if else语句与switch语句区别

1 两者本质的区别是 if-else语句更适合于对区间(范围)的判断,而switch语句更适合于对离散值的判断

2 示例

判断65分到85分之间的学生有哪些适合用if-else语句,因为[65,85]是区间

而判断一个学生的班级是一班、二班还是三班适合用switch语句,因为一班、二班、三班是离散值

3 扩展

所有的switch语句都可以用if-else语句来替换(因为if-else语句只需对每个离散值分别做判断即可),而并不是所有的if-else语句都可以用switch语句来替换(因为区间里值的个数是无限的并且switch所接受的值只能是整型或枚举型,所以不能用case来一一列举)。

在JAVA中的if 语句与swith语句的区别是什么?

都是一样的。if全都能实现,而且也不会麻烦。

一点区别就是if()else if()……只能执行一个if里面的代码,但是switch不同,只要case中代码运行完,不遇到break;就继续按顺序执行下一个case中的代码。

(c语言题)以下关于if语句和switch语句的叙述中错误的是____。 A.if语句和s

D,SWITCH语句也可以嵌套

关于用if语句代替switch语句的编程问题,请大侠帮忙

既然你定义的是double p,w,s,d,f;,那在scanf的时候不能用%f,而是应该用%lf,%f是用来接收float类型数据的。 也就是说你要么

double p,w,s,d,f;

printf("请输入单价,重量和距离:");

scanf("%lf,%lf,%lf",&p,&w,&s);

要么

float p,w,s,d,f;

printf("请输入单价,重量和距离:");

scanf("%f,%f,%f",&p,&w,&s);

c++ 求把switch语句转换成if 语句 不一定要全写 简单给个提示框架就好

#include

using namespace std;

int main(){

int k,d,r,m,n;

int y=1,c=2,z=3;

double s;

cout<<"请选择图形:1.圆形;2.长方形;3.正方形;"<<endl;

cin>>k;

if(k==y)

{

cout<<"请输入半径"<<endl;

cin>>r;

s=3.1415926*r*r;

cout<<"圆形的面积为:"<<s<<endl;

}

if(k==c)

{

cout<<"请输入长方形的长和宽"<<endl;

cin>>m>>n;

s=m*n;

cout<<"长方形的面积为:"<<s<<endl;

}

if(k==z)

{

cout<<"请输入正方形的边长"<<endl;

cin>>d;

s=d*d;

cout<<"正方形的面积为:"<<s<<endl;

}

return 0;

}

把这些If ( (s > 0) && (s <= 10) )换成switch语句

switch(s){

case 1:

case 2:

case 3:

case 4:

case 5:

case 6:

case 7:

case 8:

case 9:

case 10:

……

break;

}

1.请将以下语句改写成switch语句

输入: 结果:

输入: 结果:

看题目,帮忙画流程图,分别用if语句和switch开关语句写出程序。另外说说我该怎样在黑板上讲解所写的程序

if语句的

void main()

{

double i;double s;

printf("input i=");

scanf("%lf",&i);

if(i<0)

printf("Invaid input.\n");

else if(i<=10)

s=i*0.1;

else if(i<=20)

s=1+(i-10)*0.075;

else if(i<=40)

s=1.75+(i-20)*0.05;

else if(i<=60)

s=2.75+(i-40)*0.03;

else if(i<=100)

s=3.35+(i-60)*0.015;

else

s=3.95+(i-100)*0.01;

printf("%.2f\n",s);

}

switch语句的

void main()

{

int i;double s;

printf("input i=");

scanf("%d",&i);

if(i<0)

printf("Invaid input!\n");

switch(i/10)

{

case 0: s=i*0.1;break;

case 1: s=1+(i-10)*0.075;break;

case 2:

case 3:s=1.75+(i-20)*0.05;break;

case 4:

case 5:s=2.75+(i-40)*0.03; break;

case 6:

case 7:

case 8:

case 9:s=3.35+(i-60)*0.015;break;

default:s=3.95+(i-100)*0.01;

}

printf("%f\n",s);

}