c语言中语句和表达式的区别是什么?

如题所述

语句是实现了某一种行为的,以号结尾,当然有些复合语句是以右花括号结尾。
表达式是对某一个或者多个变量进行了某种操作,它的整体具有一个值,它不能独立存在,必须存在于某个语句中。

lymim原创
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-26
语句是构成程序的元素
表达式是由数字、算符、数字分组符号(如括弧)、自由变数和约束变数等以能求得数值的有意义排列方法所得的组合,它的整体具有一个值,它不能独立存在,必须存在于某个语句中。本回答被提问者采纳
第2个回答  2012-06-26
通俗点 语句加上;就是表达式了
第3个回答  2020-04-09
表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。约束变量在表达式中已被指定数值,而自由变量则可以在表达式之外另行指定数值。给与自由变量一些数值指定,可能可以给与一个表达式数值,即使对于一些自由变量的值,表示式或许没有定义。因此,一个表达式代表一个函数,其输入为自由变量的定值,而其输出则为表示式因之后所产生出的数值。
也有人这样解释:
表达式是操作符、操作数和标点符号组成的序列,其目的是用来说明…个计算过程。
表达式可以嵌套,例如:2+3+(5*sizeof(int))/345。
表达式根据某些约定、求值次序、结合和优先级规则来进行计算。
所谓约定,即类型转换的约定。例如:
float
a;
a=5/2;
结果。得到值为2。5/2是整数除法取整,
因为5和2都是整数,不会由于a是float型而轻易改变运算的性质。
所谓求值次序,是指表达式中各个操作数的求值次序视编译器不同而不同。见3.9节。
所谓结合性,是指表达式中出现同等优先级的操作符时,该先做哪个操作的规定。例如:
d=a+b-c;
//C++规定,加减法先左后右,先做a+b,其结果再减去c
d=a=3;
//C++规定,等号是先右后左。先做a=3,其结果再赋给d
所谓优先级,是指不同优先级的操作符,总是先做优先级高的操作。例如:
d=a+b*c;
//乘法优先级比加法高。先做b*c,其结果再与a相加
语句指的是当程序运行时执行某个动作的语法结构。它改变变量的值,产生输出,或处理输入。C++
Primer第六章说:语句类似于自然语言中的句子。C++语言既有只完成单一任务的简单语句,也有作为一个单元执行的有一组语句组成的复合语句。
个人认为,和我们说话所说的句子一样的,只是我们写作文用句号结束一个句子,而C++用分号……也就是说,你看到一个分号就表示一个语句。而语句与表达式的区别可以说就在于这个分号。表达式语句——在表达式的末尾加分号就形成了一个表达式语句。
不过简单的讲
"表达式"(expression)是一个单纯的运算过程,总是有返回值;
"语句"(statement)是执行某种操作,没有返回值。
关键就在这每个表达式都有一个值!!!
表达式与语句的区别就在于表达式有返回值,语句没有、语句可以包含表达式,表达式加个分号就是语句。
个人见解,有误请指正。
相似回答