c语言if语句的用法

if(表达式)语句1
else 语句2
请问如果表达式的值是真的,去执行语句1,然后它是直接跳过else,去执行下个语句,还是去执行else,结果不满足,然后去执行下个语句

c语言提供了三种形式的if语句:

1、if(表达式)语句。

例如:if(x>y)printf("%d",x);

此时,如果表达式为真,则执行printf语句。

2、if(表达式)语句1 else 语句2

例如:

if(x>y)printf("%d",x);

else printf("%d",y);

此时,如果x>y成立为真,则执行语句printf("%d",x),然后直接跳过else,同时也跳过语句printf("%d",y),去执行之后的语句。

如果x>y不成立为假,则不执行语句printf("%d",x),执行语句printf("%d",x)。

3、if(表达式1)语句1

else if(表达式2)语句2

else if(表达式3)语句3

else if(表达式m)语句m

else 语句 n

此时,哪个表达式为真,则运行哪个if后面的语句。如表达式3成立为真,执行语句3。

在每个语句中,可以有多个语句,但需要加上大括号

例:if(x>y){printf("%d",x);break;}

扩展资料:

if语句使用的注意事项:

1.if(条件表达式)其后没有分号。

一般来说,有"{}"有没有";",有";"就没有"{}"

2.if语句所控制的语句如果是一条语句,我们可以不写大括号;

如果控制的是两条以上的语句,必须加大括号。

if语句的控制体没有加大括号是其后跟的一条语句。

建议:永远加上大括号。避免不必要的错误。

参考资料:百度百科-if语句

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-25

  if语句一般有三种基本形式,其它扩展形式,也是以下面三种形式为基础,个人活学活用而已。

  1、 if……形式

  一般格式:if(表达式) 语句;

  语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。语句可以是单条语句,也可以是用花括号{}包括起来的复合语句。示例如下:

    #include <stdio.h>
  int main(){
  int a,b,max;
  printf("\n input two numbers: ");
  scanf("%d%d",&a,&b);
  max=a;
  if (max<b) max=b;
  printf("max=%d\n",max);
  return 0;
  }


  2、if……else形式

  一般格式:

  if(表达式)

  语句1;

  else

  语句2;


  语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。语句1和语句2可以是复合语句。

  示例如下:

 

 #include <stdio.h>
  int main(){
  int a, b;
  printf("input two numbers: ");
  scanf("%d%d",&a,&b);
  if(a>b)
  printf("max=%d\n",a);
  else
  printf("max=%d\n",b);
  return 0;
  }


  3、if……else……if形式

  一般形式为:

  if(表达式1)

  语句1;

  else if(表达式2)

  语句2;

  else if(表达式3)

  语句3;

  …

  else if(表达式m)

  语句m;

  else

  语句n;

  语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。示例如下:

  

    #include <stdio.h>
  int main(){
  char c;
  printf("input a character: ");
  c=getchar();
  if(c<32)
  printf("This is a control character\n");
  else if(c>='0'&&c<='9')
  printf("This is a digit\n");
  else if(c>='A'&&c<='Z')
  printf("This is a capital letter\n");
  else if(c>='a'&&c<='z')
  printf("This is a small letter\n");
  else
  printf("This is an other character\n");
  return 0;
  }


  4、扩展形式

  if条件控制语句的形式是多种多样的。比如if嵌套、if……if类似的形式,但是都离不开上面介绍的三种基本形式。个人活学活用即可。

第2个回答  2018-05-09

if语句一般有三种基本形式,其它扩展形式,也是以下面三种形式为基础:

1、 if……形式一般格式:if(表达式) 语句;
语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。语句可以是单条语句,也可以是用花括号{}包括起来的复合语句。

示例如下:
#include;int main(){;int a,b,max;;printf("\n input two numbers: ");sca("%d%d",&a,&b);
max=a;if (maxint main(){int a, b;printf("input two numbers: ");scanf("%d%d",&a,&b);if(a>b)printf("max=%d\n",a);elseprintf("max=%d\n",b);return 0;}

2.if……else……if形式一般形式为:if(表达式1)语句1;else if(表达式2)语句2;else if(表达式3)语句3;
else if(表达式m)语句m;else语句n;

语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。

本回答被网友采纳
第3个回答  2008-09-14
if是真的话那么程序则执行if里的语句。。。
既然if是真,那么else当然不会运行。。

if else的意思是 如果if是真那么只运行if,如果(((if是假就运行else..)))
多练习下很容易掌握的,,,,每个else只能对他前面的一个if起作用也就是看else只看他前面的一个if

列:

main()
{
float grade;
int n1=0,n2=-1;
system("cls");
while(grade!=-1)
{
printf("grade[]:=");
scanf("%f",&grade);
if(grade>=60) (((((((如果grade大于等于60
n1++; (((((((((((((((那么n1+1;
else ((((((((((((((((else看他上一个if
n2++; (((((((((((((((即如果上一个if里是假。。。 那么n2+1
}
printf("YES---%d\tNO---%d",n1,n2);
getch();
}
本回答被提问者采纳
第4个回答  2019-07-24
这是复合语句的定义
把多个语句用括号{}括起来组成的一个语句称复合语句。
在程序中应把复合语句看成是单条语句,而不是多条语句,例如
  {
  x=y+z;
  a=b+c;
  printf("%d%d",x,a);
  }
是一条复合语句。复合语句内的各条语句都必须以分号“;”结尾;此外,在括号“}”外不能加分号。
所以一般复合语句用于
要执行某段特殊功能的程序
比如for语句
if语句
while
语句
甚至
某些函数等
相似回答