c语言中if和while 有什么区别?

作者&投稿:军米 (若有异议请与网页底部的电邮联系)
c语言中,while循环和if循环有什么不同~

if是判断,while是循环。第一个的if,只执行一次后继续外面for循环。第二个while是根据判断条件决定是否循环,一旦进入了while循环后由于i和m的值不能改变,所以判断结果一直为真,在循环里出不来,即死循环。

while()
{
.....
}
如果while后边括号内的表达式为真,那么执行{}内的语句,然后再判断while后边()的表达式是否为真,如果是真,再次执行{}内的语句,直到()内的条件为假。
if()
{
.......
}
语句A
.........
如果if后边()内为真,执行{}内语句,执行完之后执行下边语句A。如果为假直接执行语句A
for(i=0;i<10;i++)
{
.......
}
语句A
......
表示从i=0到i<10执行{}内的语句。
i=0是初始化,i<10是执行的条件,只有满足了这个条件才执行,如果不满足,就跳过,执行语句A以及后边的语句;
for语句可以实现while语句的功能,
例如
int
i=0;
while(i<10)
{
...........
i++;//类似的语句必须出现,否则无法满足退出条件
....
}
用for语句实现:
int
i=0
for(;i<10;)
{
........
i++
..........
}
也就是说for后边的三个语句不是必须的,甚至可以什么都没有,只有3个分号:
for(;;)
{
}
只是这样就永远执行下边的语句,当然也可以用break;来退出
for(;;)
{
........
if(i>10)
{
break;
}
i++;
........
}

区别:

一、if和while共同点是都有判断。

二、if和while不同点是,if后的语句只执行一次,while则会循环执行,直到出现while后的条件成才退出。

三、语法不同:

1、IF(logical_test,value_if_true,value_if_false)

2、while<条件>do<语句>

意为当条件符合时,接着做下面的语句;不符合时,退出循环。

四、功能不同:

1、IF函数是条件判断函数:如果指定条件的计算结果为TRUE,IF函数将返回某个值;如果该条件的计算结果为FALSE,则返回另一个值。

例如IF(测试条件,结果1,结果2),即如果满足“测试条件”则显示“结果1”,如果不满足“测试条件”则显示“结果2”。

2、while循环也被称为“当”型循环。即当条件为真时,执行循环体中。在R语言中,while循环的语法格式如下:while(cond){expr}其中,cond是一个逻辑条件表达式,其值应为TRUE或FALSE;expr是循环体中的语句,即当cond条件为TRUE时要执行的表达式或若干语句。

例如:

1、if用来做条件判断

if用来做条件判断,与else搭配使用。在if条件判断中,若逻辑条件表达式为真,则运行语句或语句块;如果逻辑条件表达式为假,则跳过语句;

例如,超过五点下班走人,否则就继续上班。在这里&ldquo;时间&rdquo;就是判断条件,时间就是下班或者上班只要时间超过五点,即判断条件为真,则执行的事件就是下班,else语句不再执行,即不再执行上班语句;只要事件没有超过五点,则执行上班语句。

2、while是循环语句

在C语言中通常用while来表示循环,例如在main()函数中一般都用while(1)来让主程序循环执行。即在逻辑条件表达式为真的情况下,while反复执行循环体内包含的语句或语句块,直到条件不成立。

例如:天气如果是下雨就执行睡觉指令,直到不下雨为止;如阴天、晴天或者下雪等其他天气就不执行睡觉指令。

4、if语句叫做选择语句,一般和else一起使用。判断条件是否成立,成立则执行if后面的分支,不成立则执行else后面的分支。执行完毕则转入下条语句。

while语句叫做循环语句。同样是判断条件是否成立。但是执行完毕后继续判断该条件,直到该条件不成立则转入下一条语句。

对于一个假条件,两者的执行情况是一致的。对于一个真条件,执行完毕后if语句就顺序执行下一条,while还要继续判断和执行。这就是两者的不同吧。

对于while语句,必须要在执行语句中设置改变判断条件结果的语句或者设置跳出语句以避免陷入死循环。

参考资料:

百度百科——IF函数

百度百科——while(循环语句及英文单词)



一、语法不同

if:IF(logical_test,value_if_true,value_if_false)

while:while<条件>do<语句>

二、功能不同

if语句,if( ),括号里的内容和while( )里的内容都是判定句,判定为真则执行语句,假则不执行语句。

不同点就是if没有循环的性子,一旦执行过后就跳出语句,而while判定为真后执行它下面的语句,执行完后返回括号里继续判定,判定为真继续执行语句知道括号里判定为假为止。

三、意思不同

while是循环语句,在C语言中通常用while来表示循环,例如在main()函数中一般都用while(1)来让主程序循环执行。

while语句叫做循环语句。同样是判断条件是否成立。但是执行完毕后继续判断该条件,直到该条件不成立则转入下一条语句。



1、用法

while和if本身就用法不同,一个是循环语句,一个是判断语句。

2、运行模式

if 只做判断,判断一次之后,便不会再回来了。

while 的话,循环,直到结果为false,才跳出来。

3、使用效果

链表的结构,要一直读下去,直到读完整个链表结构,所以需要while。

if的话只读一次,便跳出了 。

 扩展资料:

if 和 while当条件不成立时,都跳过代码块执行后面的代码。

不同的是当条件成立时,if执行完代码块后继续执行后面的代码,while执行完代码块后再判断while的条件,成立就再执行代码块里的代码,直到不成立,才执行代码块后面的代码。while的代码块里如果遇到break;指令,则跳出while代码块直接执行后面的代码。



1,用法不同。

while用于循环语句,当满足条件时进入循环,进入循环后,当条件不满足时,执行完循环体内全部语句后再跳出(而不是立即跳出循环)。

而if用于条件判断和分支语句,用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。

2,两个语句的运行模式不同。

虽然二者都有条件判断,但是while是用来做循环的,也就是说只要条件满足,就会执行一次循环体,执行完以后会再判断一次条件,如果满足条件,还会再执行一次,终而复始,除非你在循环中对条件进行了改变才会从循环中跳出来。

而if只做一次判断,条件不满足就不执行,IF语句运行完毕后,接着运行下面的语句,而不会再回过头来继续执行。

3,两个语句的结构不同。

if 语句中,常用格式为:if(判断条件){执行语句},这种结构只是进行一次判断。if还可以与else结合,就可形成一个分支结构的语句,如 if(判断条件1){执行语句1} else if (判断条件2){执行语句2} else if (判断条件3){执行语句3} else {执行语句n}。

而While一般有两种形式,形式1:do{执行语句} While(判断条件),执行效果是先运行执行语句,再进行while条件判断,如果符合条件,则返回继续执行do后的执行语句,由此形成循环。

形式2:While(判断条件)do{执行语句},先进行判断,而运行执行语句。执行语句运行完毕,自动返回继续判断while中的条件是否符合(不止一次判断),符合的话,继续运行执行语句,不符合,则退出循环。



while用于循环语句,而if用于判断和分支语句。
由于你并没有指明是什么程序,只能泛泛而谈了。
if 语句中,常用格式为:
if(判断条件){执行语句}
上面的结构,只是进行一次判断。
if与else结合,就可形成一个分支结构的语句,形如
if(判断条件1){执行语句1}
else if (判断条件2){执行语句2}
else if (判断条件3){执行语句3}
else if (...) {...}
else{执行语句n}
有些程序则用的是case,实际上与上面的else if等价。
While一般有两种形式
形式1:do{执行语句} While(判断条件),执行效果是先运行执行语句,再进行while条件判断,如果符合条件,则返回继续执行do后的执行语句,由此形成循环。
形式2:While(判断条件)do{执行语句},先进行判断,而运行执行语句。执行语句运行完毕,自动返回继续判断while中的条件是否符合,符合的话,继续运行执行语句,不符合,则退出循环。

while与if语句的最大的相同点是都有至少一步的判断。
最大的不同点是:IF语句运行完毕后,接着运行下面的语句。而While中的执行语句运行完毕后,还要进行继续判断条件是否符合循环条件,根据判断的条件,返回执行语句或继续运行下面的程序。

有些程序中保留了goto语句,将goto语句放入if语句的执行语句中,用于goto到if语句之前,也可以起到循环的效果,但这种语句破坏了程序的可读性,多数人不提倡这样做,因此,很多程序已经取消了goto语句。

另外,在while的执行语句中,应当包含一个变量,该变量的值的变化,可影响到while中的判断结果,以此使循环有条件地退出.不至于成为死循环。


C语言WHIIET循环K或者IF用来
1 循环条件为k=1 这个是赋值。于是k=1 k++ k=2 判断k==2成立 退出循环。于是循环执行一次。选D 2 b初始为1,b%3==1成立。之后每次b自加3,于是 b%3==1一直成立。b依次取值 1 4 7 10 当b=10时退出循环。a自加三次,a=4 选D ...

...{printf("*");continue;} printf("#"); }whi
原因是应为1<=x<=2这句来着,当do了一步后,x=2,然后x一直减一,无论x为多少,因为1<=x这个表达式的结果只有0和1两种情况,它始终小于2,所以会一直循环 如果要是改成while( x<=2 && x>=1 )这样的话就不会了

...能,求面积,若不能则输出不能组成三角形,并用do…whi...
double a,b,c,p,area;do { printf("input a b c\\n");scanf("%lf %lf %lf",&a,&b,&c);p = (a+b+c) \/2.0;if ((p-a)>0 && (p-b) > 0 && (p-c) > 0){ area = sqrt(p*(p-a)*(p-b)*(p-c));break;} else printf("wrong a,b,c\\n");} while(1);...

C语言if break搭配使用
1. 不管怎么样,whiile只执行一次,因为true不管是真是假,break都执行,顾跳出while循环;2. true为假时,while不会结束,只有当true为真时,执行break,跳出while循环;呵呵,希望可以帮到你。

帮忙翻译下
12.Internet really took off in the early 1990S with the arrival of the web ,whicih made it easier to find and view information online 1 12.因特网真正起飞是在20世纪90年代初是因为Web的到来,人们能更容易查找和查看在线信息。13.If you begin a coversation by asking someone about ...

...字母、空格、数字和其它字符的个数。 程序分析:利用whi
}else{ otherCount++;} \/\/当统计变量i等于字符串长度的时候跳出循环 if(i==str.length()){ break;} } \/\/输出统计结果 System.out.println("你刚才输入的字符串中,字母有"+wordCount+"个,"+"空格有"+spaceCount+"个,数字有"+numberCount +"个,其它字符有"+otherCount+"个。");} } ...

...Wang Lin had been admitted to Beijing University. A.whi...
点评:名词性从句的考查集中在引导词的选择上,连接词that, whether, if在句中不充当任何成分,只起连接作用;连接代词who(ever), which(ever), whom(ever),whose(ever),what(ever)在句中做主语,宾语,表语和定语;连接副词when, why, where, how,在句中做状语。应从上下句的句法关系着手分析,...

...printf("Enter a string.\\n");scanf("%s",s); whi
while(s[i]!='\\0');多分号了while(s[i]!='\\0')

C语言中WhiIe和for在应用时有什么区别能一样用法吗
两个循环语句基本没什么太大的差别,只不过在明确循环次数的情况下可以用while和for,不明确循环次数的时候用while

...就是 2*0+1=1,2*1+1=3 用C写 要用whiile循环且二进制要用getche逐个...
if ((int)(*(a+i))==49){ k=1;}else{ k=0;} m=m+k*pow(2,n-1);\/\/pow这个函数是求一个数的x次方,如pow(2,9);求2的9次方。i++;\/\/自增,移动指针,获取下一个字符 n--;\/\/自减,计算是多少次方 } return m;} main(){ char s[81];long n=0;printf("Enter a ...

红安县18735128258: C语言while与if的区别 -
曹昏普乐: while() {.....} 如果while后边括号内的表达式为真,那么执行{}内的语句,然后再判断while后边()的表达式是否为真,如果是真,再次执行{}内的语句,直到()内的条件为假.if() {.......} 语句A.........如果if后边()内为真,执行{}内语句,执...

红安县18735128258: c语言中,while循环和if循环有什么不同 -
曹昏普乐: if是判断,while是循环.第一个的if,只执行一次后继续外面for循环.第二个while是根据判断条件决定是否循环,一旦进入了while循环后由于i和m的值不能改变,所以判断结果一直为真,在循环里出不来,即死循环.

红安县18735128258: 在c语言中,三大语句if,while,do while的区别与共通之处有哪些?谁知道 -
曹昏普乐: 共通之处在于都会进行条件判断. 区别如下: if语句是判断语句,只执行一次, 例如 : if(a>0) b=1; 当a为正数时,才执行b=1; 若a不是正数,那么b=1;就不会运行到. 之后if语句就结束了,只判断一次a>0这个条件while是循环语句,反复...

红安县18735128258: 单片机C语言中,while和if的差别在哪儿 -
曹昏普乐: while用作循环语句 if作选择语句

红安县18735128258: C语言中,while. if. for的区别,具体点 -
曹昏普乐: if语句,if( ),括号里的内容和while( )里的内容都是判定句,判定为真则执行语句,假则不执行语句,不同点就是if没有循环的性子,一旦执行过后就跳出语句,而while判定为真后执行它下面的语句,执行完后返回括号里继续判定,判定为真继续执行语句知道括号里判定为假为止

红安县18735128258: C语言中do...while和for有什么区别? -
曹昏普乐: 就是while循环和for循环的区别..简言之,就是for循环一般用于确定步数的循环,while则相反,当然for也可以用于不确定步数的.我记得不错的话二者可以相互转化,就是难易程度不一样------------ 还有do...while至少执行一次..

红安县18735128258: C语言if和else if,for和while的问题 -
曹昏普乐: 你好: 1. if...else与if...else if...else相比,后者在灵活性和功能上是要强大一些,前者用于一个条件的两种不同执行结果,后者应用与多条件的判断和执行结果;但是你用多if结构、return来结束掉,实属编程陋习,如果这个if在主函数里边,使用...

红安县18735128258: c语言中循环结构里while,do while,for这三种循环有什么区别,在什么情况下使用? -
曹昏普乐: 三种循环都可以用来处理同一个问题,一般可以互相代替.while和do-while循环,循环体中应包括使循环趋于结束的语句.for语句功能最强.用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成,而for语句可以在表达式1中实现循环变量的初始化.

红安县18735128258: C语言中if与 while哪个效率好些? -
曹昏普乐: if 必须有明确的条件 while循环,要有循环条件 这是两种类型的

红安县18735128258: C语言中while和if的嵌套 -
曹昏普乐: 先执行 表达式1 如果1为假则跳出while,1为真则执行 表达式2,如果2为真则执行表达式3,2为假则执行表达式4

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网