条件语句的三种形式,条件语句的三种形式是什么

http://www.itjxue.com  2023-01-08 22:10  来源:未知  点击次数: 

条件语句

一个表达式的返回值都可以用来判断真假,除非没有任何返回值的void型和返

回无法判断真假的结构。当表达式的值不等于0时,它就是“真”,否则就是假

。一样个表达式可以包含其他表达式和运算符,并且基于整个表达式的运算结

果可以得到一个真/假的条件值。因此,当一个表达式在程序中被用于检验其真

/假的值时,就称为一个条件。

一、if语句

if(表达式) 语句1;

如果表达式的值为非0,则执行语句1,否则跳过语句继续执行下面的语句。

如果语句1有多于一条语句要执行时, 必须使用{和} 把这些语句包括在其中,

此时条件语句形式为:

if(表达式)

{

语句体1;

}

例如:

if(x=0) y=x;

if(a||bc)

{

z=a+b;

c+=z;

}

二、if--else语句

除了可以指定在条件为真时执行某些语句外,还可以在条件为假时执行另外一

段代码。在C语句中利用else语句来达到这个木的。

if(表达式) 语句1;

else 语句2;

同样,当语句1或语句2是多于一个语句时,需要用{}把语句括起来。

例如:

if(x=0) y=x;

else y=-x;

三、if--else if--else结构。

if(表达式1)

语句1;

else if(表达式2)

语句2;

else if(表达式3)

语句3;

.

.

.

else

语句n;

这种结构是从上到下逐个对条件进行判断,一旦发现条件满点足就执行与它有关

的语句, 并跳过其它剩余阶梯;若没有一个条件满足,则执行最后一个else 语句

n。最后这个else常起着缺省条件的作用。同样,如果每一个条件中有多于一条

语句要执行时,必须使用{和}把这些语句包括在其中。

条件语句可以嵌套,这种情况经常碰到,但条件嵌套语句容易出错,其原因主要是

不知道哪个if对应哪个else。

例如:

if(x20||x-10)

if(y=100yx)

printf(Good);

else

printf(Bad);

对于上述情况, Turbo C2.0规定: else语句与最近的一个if语句匹配, 上例中

的else与if(y=100yx)相匹配。为了使else与if(x20||x-10)相匹配,

必须用花括号。如下所示:

if(x20||x-10)

{

if(y=100yx)

printf(Good);

}

else

printf(Bad);

下面举几个例子:

1.输入一个数,如果大于0,输出plus;如果是负数,输出negative;如果正好是

0,则输出zero。

main()

{

float num;

scanf(%f,f);

if(num0)

printf(plus\n);

else if(num0)

printf(negative\n);

else

printf(zero\n);

}

先定义两个变量,然后输入一个数,然后判断这个数的范围,输出对应的字符

串。

2.输入一个数x,输出y。其中y是x的绝对值。

main()

{

float x,y;

scanf(%f,x);

if(x=0) y=x;

else y=-x;

printf(%f\n,y);

}

程序比较简单,这儿就不分析了。

其实Trubo C 2.0把一些常用的功能都写好了,我们只需要使用就可。例如求绝

对值的功能在C的库里面就有。看下面的:

#include math.h

main()

{

float x,y;

scanf(%f,x);

y=fabs(x); /*求x的绝对值,然后赋值给y*/

printf(%f\n,y);

}

这个程序和上面的程序完成的功能是一模一样的,都是求绝对值。可以看出,

用下面这个方法比上面就要好一些。由于fabs()是一个函数,系统自带的,所

以在使用它的时候,我们必须把它所在的库文件math.h包含都程序中,即程序

最前面一行。类似的还有求开方sqrt(),求指数幂exp()等等,这些与数学方面

有关的函数都在math.h里面。具体哪些有哪些没有,在什么库里面,可以查看

一些手册。

3.输入x,输出y,x和y满足关系:

x-5 y=x;

-5=x1 y=2*x+5;

1=x4 y=x+6;

x=4 y=3*x-2;

程序如下:

main()

{

float x,y;

scanf(%f,x);

if(x-5)

y=x;

else if(-5=xx1)

y=2*x+5;

else if(1=xx4)

y=x+6;

else

y=3*x-2;

printf(%f\n,y);

}

这里要说明两点:

(1).-5=xx1不能写成-5=x1;1=xx4也不能写成1=x4;在C语言中,

不能认识连续不等式。

(2).y=2*x+5不能写成y=2x+5;y=3*x-2也不能写成y=3x-2;这与我们平时所写的

方法不一样。

4.输入三个数x,y,z,然后按从大到小输出。

main()

{

float x,y,z;

scanf(%f%f%f,x,y,z);

if(x=yx=z)

{

printf(%f\t,x);

if(y=z) printf(%f\t%f\n,y,z);

else printf(%f\t%f\n,z,y);

}

else if(y=xy=z)

{

printf(%f\t,y);

if(x=z) printf(%f\t%f\n,x,z);

else printf(%f\t%f\n,z,x);

}

else

{

printf(%f\t,z);

if(x=y) printf(%f\t%f\n,x,y);

else printf(%f\t%f\n,y,x);

}

}

说明:这是一个典型的if语句嵌套结构,如果不使用括号,那么if和else的对

应关系就乱了。

四、switch--case语句

在编写程序时, 经常会碰到按不同情况分转的多路问题, 这时可用嵌套if

-else-if语句来实现, 但if-else-if语句使用不方便, 并且容易出错。对这种

情况, Turbo C2.0提供了一个开关语句。开关语句格式为:

switch(变量)

{

case 常量1:

语句1或空;

case 常量2:

语句2或空;

.

.

.

case 常量n:

语句n或空;

default:

语句n+1或空;

}

执行switch开关语句时,将变量逐个与case后的常量进行比较,若与其中一个相

等,则执行该常量下的语句,若不与任何一个常量相等,则执行default后面的语

句。

注意:

1.switch中变量可以是数值,也可以是字符,但必须是整数。

2.可以省略一些case和default。

3.每个case或default后的语句可以是语句体,但不需要使用{和}括起来。

例如:

main()

{

int x,y;

scanf(%d,x);

witch(x)

{

case 1:

y=x+1;

break; /*退出开关语句,遇到break才退出*/

case 4:

y=2*x+1;

break;

default:

y=x--;

break;

}

printf(%d\n,y);

}

从上面的例子可以看出,用开关语句编的程序一定可以用if语句做。那么在什

么情况下需要用switch语句呢?一般在出现比较整的情况下或者能转化成比较

整数的情况下使用。看下面的例子:

例子:一个学生的成绩分成五等,超过90分的为'A',80-89的为'B',70-79为

'C',60-69为'D',60分以下为'E'。现在输入一个学生的成绩,输出他的等级

(1).用if语句

main()

{

float num;

char grade;

scanf(%d,num);

if(num=90) grade='A';

else if(num=80num89) grade='B';

else if(num=70num79) grade='C';

else if(num=60num69) grade='D';

else grade='E';

printf(%c,grade);

}

(2).用switch语句

main()

{

int num;

char grade;

scanf(%d,num);

num/=10;

switch(num)

{

case 10:

case 9:

grade='A';

break;

case 8:

grade='B';

break;

case 7:

grade='C';

break;

case 6:

grade='D';

break;

default:

grade='E';

break;

}

printf(%c,grade);

}

说明一点,并不是每个case里面有都语句,有时侯里面是空的,就好象这一题

。switch语句执行的顺序是从第一case判断,如果正确就往下执行,直到break

;如果不正确,就执行下一个case。所以在这里,当成绩是100分时,执行case

10:然后往下执行,grade='A';break;退出。

想想看,这里为什么要用num/=10;?

假设当程序中有浮点数时怎么办呢?

条件语句有哪些

应该就只有两种啦,

第一种是if else语句,else与最近的if相对应

eg:

一:

if(表达式){

表达式为true执行

}else{

表达式为false执行

}

二:

else里面可以嵌套if语句,下面给出示例:

if(表达式 1){

表达式1 为true执行

}else if(表达式 2){ //else 对应最近的else

表达式2为true执行

}else{ //对应最近的if

表达式2为false执行

}

还有一种是switch case判断

switch ( controllingExpression )

{

case constantExpression1 :

case constantExpression2 :

case constantExpression3 :

statements; /*当满足constantExpression1、constantExpression2、constantExpression3任何一个都执行statements */

break;

case constantExpression :

statements ;

break;

...

default :

statements ;

break;

}

虚拟条件句的三种基本类型

虚拟条件句的三种基本类型分别是:与现在事实相反、与过去事实相反、与将来事实相反。

在表示一种纯假想的情况或主观愿望,,动词需用一种特殊形式,称为虚拟语气。虚拟语气: 表示动作或状态不就是客观存在的事实,而就是说话人的主观愿望、假设或推测等。如: If I were you, I should study English、 (如果我就是您,我就学英语了。)May you succeed! (祝您成功!)

在表示虚假的、与事实相反的或难以实现的情况时,用虚拟语气;表示主观愿望或表示某种强烈情感时,也用虚拟语气。条件句有真实条件句与非真实(虚拟)条件句两种。真实条件句所表示的假设就是有可能发生的,而非真实条件句则通常表示一种假想,与事实相反或不大可能会发生。

一、与现在事实相反

若与现在事实相反,条件从句的谓语用过去式(be通常用were),主句谓语用“should (would, could, migh t)+动词原形”

二、与过去事实相反

若与过去事实相反,条件从句的谓语用过去完成时(had+过去分词),主句谓语用“s hould (would, could, might)+have+过去分词”

三、与将来事实相反

若与将来事实相反,条件从句的谓语用过去式(be通常用were),主句谓语用“should (would, could, migh t)+动词原形”

条件状语从句的三种形式

条件状语从句的三种形式如下:

if条件状语从句的三种用法分别是,主将从现,主句含有情态动词,主句为祈使句,从句要用一般现在时态。

1、第一种用法:表示将来可能发生的事情。If?it?snows,i'll?stay?home。这句的事态是主将从现,If?it?snows,?i?might?stay?home,这句的时态是主情态动词+动词原型,从现。

2、第二种用法:表示当下可能发生的情况,假如以前怎么样,现在就会怎么样。

If I studied more, I would get good grades.?if从句中的be不管主语是谁,统统用were。时态是主情态动词+动词原型。

3、第三种用法:表示过去发生的情况。If i had been feeling well, I would have been in class.时态是主情态动词+现在完成时。根据第二点再往前推一个时态。

条件状语从句是由引导词if以及unless等词引导的状语从句。在英文中,“条件”是指某一件事情实现之后(状语从句中的动作),其它事情(主句中的动作)才能发生,通常译作“假如”、“如果”。

注意:在含有条件状语从句的复合句中,表示将来时态,主句是一般将来时态,祈使句或情态动词,有时也能用现在时。从句要用一般现在时,[主将从现原则](主将从现中的“将”并非指将来时,还能够指表示将来含义的;条件状语从句中,从属连词之后的句子是该条件状语从句的从句)。

if语句的三种形式

if else if语句格式有以下三种:

1、if语句第一种格式

* */

if(ij){

System.out.println("我是if语句第一种格式");

}

/*

2、if语句第二种格式

* */

if(ij){

System.out.println("我是if语句第二种格式1");

}else{

System.out.println("我是if语句第二种格式2");

}

/*

3、if语句第三种格式

* */

if(ij){

System.out.println("我是if语句第三种格式1");

}else if(ij){

System.out.println("我是if语句第三种格式2");

}else{

System.out.println("我是if语句第三种格式3");

}

}

指定条件:

NOT 指定只有条件为 false 的情况下, Windows XP 才应该执行该命令。

ERRORLEVEL number 如果最后运行的程序返回一个等于或大于指定数字的退出编码,指定条件为 true。

string1==string2 如果指定的文字字符串匹配,指定条件为 true。

EXIST filename 如果指定的文件名存在,指定条件为 true。

command 如果符合条件,指定要执行的命令。如果指定的条件为 FALSE,命令后可跟一个执行 ELSE

关键字后的命令的 ELSE 命令。

说一说条件语句有哪几种形式?分别在什么情况下使用

脚本的威力体现在它们可以根据人们给出的各种条件做出决策,javascript使用条件语句来做判断

条件语句(conditianal statement)通过判断表达式的值来决定执行还是跳过某些语句,包括if语句和switch语句

【if语句】

最常见的条件语句是if语句。if语句的条件必须放在if后面的圆括号内,条件的求值结果永远是一个布尔值,即只能是true或false。花括号中的语句,不管它们有多少条,只有在给定条件的求值结果是true的情况下才会执行

【switch语句】

当所有的分支都依赖于同一个表达式的值时,else if并不是最佳解决方案。在这种情况下,重复计算多条if语句中的条件表达式是非常浪费的做法,而switch语句正适合处理这种情况。

switch语句执行一个多路分支,首先计算expression的值,然后查找case子句的表达式是否和expression的值相同。如果找到匹配的case,那么将会执行这个case对应的代码块。如果找不到匹配的case,那么将会执行default标签中的代码块。如果没有default标签,switch语句将跳过它的所有代码块

(责任编辑:IT教学网)

更多

推荐Flash动画制作教程文章