有人在C中有一个条件语句的例子吗?

像这样的东西,我想看到完整的语法。

伪代码:

var = user_input if var > 5: output = 'var > 5' else: output = 'var < 5' 

怎么样的东西:

 #include  #include  int main (void) { int var; char buff[100]; printf ("Enter number> "); fflush (stdout); if (fgets (buff, sizeof(buff), stdin) == NULL) { printf ("\nfgets() failed\n"); return 1; } if (sscanf (buff, "%d", &var) != 1) { printf ("\nsscanf() failed\n"); return 1; } if (var > 5) printf ("%d is greater than 5\n", var); else printf ("%d is less than 6\n", var); return 0; } 

进行几次测试:

 pax> testprog Enter number> 99 99 is greater than 5 pax> testprog Enter number> -5 -5 is less than 6 
  1. 变量和数据类型
  2. SCANF
  3. 条件陈述

希望这会帮助您入门。

这似乎符合您的要求:

 int var; scanf("%d", &var); if (var > 5) printf("var > 5\n"); else printf("var <= 5\n"); 

关于使用scanf()警告 - 我通常不喜欢弹性代码,但它迅速给出了最小的答案。

你必须将它包装在main()#include 以使其可执行:

 #include  int main() { int var; scanf("%d", &var); if (var > 5) printf("var > 5\n"); else printf("var <= 5\n"); return 0; } 

除了其他两个答案之外,还有三元运算符?:可以像这样使用:

 printf("var %s 5\n", var > 5 ? ">" : "<="); 
 if(condition) doThis(); else doThat(); 

这几乎就是你所拥有的。 你的例子:

 if(var > 5) output = "var > 5"; else output = "var < 5"; 

唯一的区别是在条件表达式周围的语句和括号之后需要使用分号,并且不需要冒号。

您还可以使用花括号来表示在给定特定条件下执行的命令块。 但是,当只执行一行时,不需要括号。 但这相当于:

 if(var > 5) { output = "var > 5"; } else { output = "var < 5"; } 

您可以在if或之后,或两者之间,或两者都没有大括号。 但请记住,对于多个语句,需要括号。

值得注意的是,换行符是可选的。 这可以写

 if(var > 5) output = "var > 5"; else output = "var < 5"; 

甚至

 if(var > 5) output = "var > 5"; else output = "var < 5"; 

但是这段代码的可读性要差得多。 第一种和第二种forms是更好的做法。

 char var = getchar(); if (atoi(var) > 5) { printf("var > 5 \n"); } else { printf("var < 5 \n"); }