条件语句的作用(vb 条件语句和判断语句)
本文目录
- vb 条件语句和判断语句
- if(a>0);不能看作是一条合法的条件语句
- 虚拟语气的含蓄条件句的运用
- 说一说条件语句有哪几种形式分别在什么情况下使用
- for语句是干什么用的,它在c语言里面起什么作用
- if (!m) 有什么作用,意义
- 条件语句
vb 条件语句和判断语句
从if a 《 0 then 这一句开始,到end if 为止,是一个分支结构,第一句是条件语句,它的作用是:如果符合条件,则执行if 到endif 之间的语句;如果不符合条件,则越过if 到endif 之间的所有语句,直接去执行endif及后面的语句。不管条件是否符合,分支结构语句最多执行一遍。 从do while a 《 0 这一句开始,到loop为止,是一个循环结构,第一句是条件语句,它的作用是:如果符合条件,则执行do while 到 loop 之间的语句(那些语句叫“循环体”),执行一次循环体后,就到了loop ,这个语句的作用是返回到do while 语句,再一次做条件判断,若符合,在执行一次循环体,........这样反复,一直到不符合条件后,去执行loop后面的语句;如果一开始就不符合条件,则越过do while 到 loop 之间的“循环体”,直接去执行loop后面的语句。不管条件是否符合,循环结构语句可执行很多遍,直到条件不满足时为止(在本例中,a成为非负数后方可结束循环体的执行)。
if(a>0);不能看作是一条合法的条件语句
if(a):如果a为非0数字或字符那么就为真,if条件成立,反之不成立。
if(!a):如果!a为真,也就是a为0时,if条件成立,反之不成立。
if(a!=0):如果a不等于0,则使得if条件成立,反之不成立。等价于if(a)。
if(a==0): 如果a等于0,则使得if条件成立,反之不成立。等价于if(!a)。
扩展资料:
条件语句是用来判断给定的条件是否满足(表达式值是否为0),并根据判断的结果(真或假)决定执行的语句,选择结构就是用条件语句来实现的。
条件语句可以给定一个判断条件,并在程序执行过程中判断该条件是否成立,根据判断结果执行不同的操作,从而改变代码的执行顺序,实现更多的功能。
单行格式的If语句:
If condition Then statements;
多行格式的If语句:
If condition Then statementsElse elsestatements
End If
虚拟语气的含蓄条件句的运用
很多情况下,在表示假设的虚拟语气中,有时假设的条件并不以条件从句的形式表达,而是通过上下文或句中内在的逻辑关系,或用其它形式表达出来。
含蓄条件句主要通过名词、连接词、不定式、分词、动名词短语、介词短语及分句来暗示。这些表达形式在句中实际起着虚拟条件从句的作用。
含蓄条件句的虚拟时间:
含蓄条件句是一种不出现条件从句的句子,也就是说它只是单独的一个主句形式,因此谓语动词就是主句所要求的形式:
1、表示对过去的虚拟:情态动词 would/could/should/ought to + have done;
2、表示对现在或将来的虚拟:情态动词 would/could/should/ought to + do。
说一说条件语句有哪几种形式分别在什么情况下使用
脚本的威力体现在它们可以根据人们给出的各种条件做出决策,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语句将跳过它的所有代码块
for语句是干什么用的,它在c语言里面起什么作用
它是c中的一种循环语句,用来控制循环的具体如下1:for循环for语句的格式为:for(初始化语句;条件语句;控制语句){语句1;语句2;....语句n;}for语句的执行顺序是:首先执行“初始化语句”;然后测试“条件语句”;若条件成立,则执行语句1到语句n;然后执行“控制”语句;接着再测试条件语句是否成立,如果成立则重复执行以上过程,直至条件不成立时才结束for循环。如:for(i=0;i《10;i++)......;inti,a=newint;for(i=0,i《10;i++)a=0;这段代码把整型数组a中的所有元素都赋成0。你可以在for循环的头部说明你的变量,而且最后一个表达式可以省略,不过要确定在语句中对变量的值有所改变,如:for(inti=0;i《=10;)i+=i;for循环中,“初始化语句”、“条件语句”和“控制语句”都可以省略,但是其间的分号不能省略。例如:inti=0;for(;;;){ifi》10break;i=i+1;}for循环中省略“条件语句”时,在for语句{}中必须包换转句语句控制程序在某个条件满足时跳出for循环,否则将形成死循环此外还有两种循环语句,自己看看吧~~~2:while循环while循环和for循环类似,其格式为:while(条件语句){语句1;语句2;....语句n;}执行while时,先测试“条件语句”,如果条件成立,则执行语句1到语句n,直至条件不成立时调处循环。inti=0;while(i《10){i++;system.out.println("hey!.getmeoutofhere!:);}3:do...while循环do...while循环语句的格式为:do{语句1;语句2;....语句n;}while(条件语句);do...while语句的功能是首先执行语句1到语句n,然后进行条件测试,如果条件成立,则继续执行语句1到语句n,否这跳出循环。如:booleantest=false;do{......}while(test);这种控制并不是很常用,但有时却非常重要,使用时注意结尾处while语句后的分号希望能帮到你!
if (!m) 有什么作用,意义
这是条件语句. 表示当m为"假" 时执行下面的语句.例如:#define buff_size 102400char *buff;buff = (char *) malloc(buff_size * sizeof(char));if (!buff) {printf("no enough memory for alloc buff !\n");exit(1);}上面做的是动态分配buff, 如果内存不够, buff 值为"假",if (!buff) 条件成立 (因为!是"逻辑非"运算,buff 为"假", 非buff 变真) 则打印出错信息,并退出程序.如果动态分配buff成功,则跳过条件语句的then部分.
条件语句
一个表达式的返回值都可以用来判断真假,除非没有任何返回值的void型和返回无法判断真假的结构。当表达式的值不等于0时,它就是“真”,否则就是假。一样个表达式可以包含其他表达式和运算符,并且基于整个表达式的运算结果可以得到一个真/假的条件值。因此,当一个表达式在程序中被用于检验其真/假的值时,就称为一个条件。一、if语句if(表达式) 语句1;如果表达式的值为非0,则执行语句1,否则跳过语句继续执行下面的语句。如果语句1有多于一条语句要执行时, 必须使用{和} 把这些语句包括在其中, 此时条件语句形式为: if(表达式){语句体1;}例如:if(x》=0) y=x;if(a||b&&c) {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(x》20||x《-10) if(y《=100&&y》x) printf(Good); else printf(Bad); 对于上述情况, Turbo C2.0规定: else语句与最近的一个if语句匹配, 上例中的else与if(y《=100&&y》x)相匹配。为了使else与if(x》20||x《-10)相匹配, 必须用花括号。如下所示: if(x》20||x《-10){ if(y《=100&&y》x) printf(Good); } else printf(Bad); 下面举几个例子:1.输入一个数,如果大于0,输出plus;如果是负数,输出negative;如果正好是0,则输出zero。main(){float num;scanf(%f,&f);if(num》0)printf(plus\n);else if(num《0)printf(negative\n);elseprintf(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.hmain(){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《=x《1 y=2*x+5;1《=x《4 y=x+6;x》=4 y=3*x-2;程序如下:main(){float x,y;scanf(%f,&x);if(x《-5)y=x;else if(-5《=x&&x《1)y=2*x+5;else if(1《=x&&x《4)y=x+6;elsey=3*x-2;printf(%f\n,y);}这里要说明两点:(1).-5《=x&&x《1不能写成-5《=x《1;1《=x&&x《4也不能写成1《=x《4;在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》=y&&x》=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》=x&&y》=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,#);if(num》=90) grade=’A’;else if(num》=80《89) grade=’B’;else if(num》=70《79) grade=’C’;else if(num》=60《69) grade=’D’;else grade=’E’;printf(%c,grade);}(2).用switch语句main(){int num;char grade;scanf(%d,#);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;?假设当程序中有浮点数时怎么办呢?
更多文章:
thinkpad x120e(thinkpad x120e配置)
2024年7月20日 10:11
联想ideapad y510(联想ideaPad y510最大支持内存)
2024年7月26日 18:15
intel gma hd 4000(intelgmahd4000相当于什么级别独立显)
2024年7月28日 17:12