今天突然发现如果能很好的理解表达式和表达式的值的概念,可以使编程代码变的更整洁。很多时候我们总是忘记从最基本的概念开始考虑问题。我觉得我们有必要把C/C++标准看下,在里面肯定有很多我们一直困惑的问题的答案。
C语言是基于结构化程序设计思想的程序设计语言,结构化的程序由函数组成,而函数由语句组成。语句的标志是分号,语句去掉分号后就成了表达式。记忆关键词:常量表达式,关系表达式,运算表达式,逻辑表达式,赋值表达式,逗号表达式……
下面分别介绍各种表达式的值:
运行结果:#include <stdio.h> #define PrintInt(expr) printf("%s:%d\n",#expr,(expr)) int main(int argc,char **argv) { int a=3,b=5; PrintInt(4); // 常量表达式的值是其本身 PrintInt((a>b)); // 关系表达式的值是关系比较的结果(true/false,1/0) PrintInt((a+b)); // 运算表达式的值是运算结果 PrintInt((a&b)); // 逻辑表达式的值是逻辑运算结果 PrintInt((a=4)); // ! 赋值表达式的值是=右边表达式的值 PrintInt((a++,9)); // ! 逗号表达式的值是最后一个表达式的值 c=a+b,b+1; // 到目前为a=4,b=5 PrintInt(c); // 需要结合运算符优先级,,运算符优先级最低 c=(a+b),b+1; PrintInt(c); // 同上 c=(a+b,b+1); PrintInt(c); // 很容易理解 return 0 ; }
简单的巧用表达式的值例子:
int a = bTest?(0):(i++,1); // 在bTest为false的情况下使a=1,并且需要使i加1
C语言表达式和表达式的值
最新推荐文章于 2024-08-26 22:10:08 发布