c语言 if语句

c语言 if语句,第1张

if语句只和同层次的还未配对的else连用,在这里,第一个if没有相应的else所以,else被跳过了

这个麻烦可以通过代码缩进来避免

#include <stdio,h>

int main(int agc,charargv)

{

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

if(x>y)

if(y<z)

printf("%d",++z);

else

printf("%d",++y);

printf("%d\n",x++);

}

这样就一目了然了,最后的输出无论如何都会执行,而第一个要在x>y同时y<z的时候才执行,如果x>y但y>=z这样第二个输出就会执行,如果x>y不成立的话,程序压根就不会再去测试y是否小于z而是直接执行第三条输出然后结束。

1 执行流程

对于基本语句:if(条件) 语句1 else 语句2

执行流程为

如果条件成立 则执行语句1,否则执行语句2。

2 当语句1或语句2又为一个条件语句时就构成了条件嵌套。

嵌套时最基本的组合原则是,else与其上同一个层次中、最近一个、未配对的if组合。

如:if ()

if () 语句1

if ()语句2

else 语句3

则 else 与第三个if配对

再如 if ()

{ if () 语句1

if ()语句2 }

else 语句3

则 else 与第一个if配对,(在同一层次)

3 {} 是构成复合语句,当语句1或2为多个语句时,需要由{}括起来,构成一个符合语句。

或者通过{} 改变配对次序(如上例)

这个语句需要用在循环语句中,continue表示跳过当前计数器的循环,进入下一次循环。

如for(i=1;i<=100;i++)

{

if(i%3)

continue;

n++;

}

如果循环计数器i的值不能被3除尽,则执行continue语句,跳过后面的n++,i自加1重新进入下一次循环。

如当i=3时,i%3返回false,执行n++;然后i变为4进入下一次循环;

当i=5时,i%3返回true,执行continue,跳过后面的语句n++,i变为6,重新进入下一次循环

#include <stdlibh>

exit(1); // 执行exit(1)后,将退出程序,并向 *** 作系统DOS提供返回值1。

第一题:if(c=a)?你是想写if(c==a)吧,(c=a)是赋值表达式,其作用是将a的值付给c。而该表达式的值是赋值号右边的值,也就是a的值1,所以判断的结果为真,执行“printf("%d\n",c);”,而变量c刚被赋值为a的值,所以显示1要想判断相等,应用“==”。

第二题:if的作用范围是其后面的第一个语句,如果想要if作用多个语句,应用“{}”,例if(a<c&&b<c) { t=b;b=a;a=t; }。而你的程序没加“{}”,所以相当于:

main()

{

int a=3,b=4,c=5,t=99;

if(b<a&&a<c) t=a;

a=c;c=t;

if(a<c&&b<c) t=b;

b=a;a=t;

printf("%d%d%d\n",a,b,c);

}

这样执行完第一个if后,不管()内的值是什么,都会执行a=c;c=t;

第二个if也一样。

第三题:你没有加在case 结束后加break;所以当i==0时,执行完

case 0会继续执行case 2与default后的语句。如果想i为0时只执行case 0,应为:case 0:printf("%d",i);break;

break是用来跳出循环体,或if()、switch()的,如:

for(i=0;i<10;i++)

{ printf("%d",i); }

for(i=0;i<10;i++)

{ printf("%d",i);if(i==5) break; }

第一个for语句会显示0-9;而第二个当i==5时遇到break,就跳出循环,不再执行i=6,79的情况。

对switch()语句也一样,遇到break就会跳出switch()后的{},否则就会按顺序的执行下去。

存在if时一般来说if带括号比如if(){} 这样的话if的范围是中括号里的多个语句,在c和c++里if没有括号就是判断下一句所以if不成立会跳过s=s+i这一句然后顺序执行s=sqrt(s)

以上就是关于c语言 if语句全部的内容,包括:c语言 if语句、C语言中的if语句的执行顺序是怎么执行的嵌套时怎么组合,花括号的位子怎么放、c语言中程序if(i%3)continue;n++;怎么执行的比如说当i=3或者i=5等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9364696.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存