在此之前,我们多次用到了术语表达式和语句,现在我们需要深刻的理解他们了,语句是组成C的基本单位,并且大多数语句由表达式构成。所以,我们有必要对表达式进一步学习。

表达式

表达式(expression)是由运算符和操作数组合构成的(回忆一下,操作数是运算符操作的对象)。最简单的表达式即一个单独的操作数,以此作为基础可以建立复杂的表达式,比如下面这些:

3+2

a=(2+b/3)/5

x=i++

m=2*5

正如您看到的一样,操作数可以是常量,也可以是变量,亦可以是他们的组合。一些表达式是多个较小的表达式的组合,这些小的表达式称为子表达式(subexpression)。

每个表达式都有一个值

C中一个重要的属性是每一个C表达式都有一个值。为了得到这个值,您可以按照运算服优先级描述的顺序来完成运算。我们所列出的前几个表达式的值都很明显,但是有=的表达式的值是什么呢?那些表达式与=左边的变量取得的值相同。所以,表达式m=2*5作为一个表达式,其整体的值为10。

语句

语句(statement)是构造程序的基本部分。程序(program)是一系列带有某种必须的标点语句集合。一个语句是一条完整的计算机指令。在C中,语句用结束处的一个分号标示。

c=3

这只是一个表达式(它可能是一个较大语句的一个部分),而c=3;则是一个语句。

想必您应该已经看到了,没错,表达式后面加一个分号即构成了一条C语句(它们被称为表达式语句)。所以,C不反对像下面的语句:

1;

2+2;

但这样的语句对程序没有任何意义。

C语言表达式作业,表达式和语句相关推荐

  1. java任何表达式都可以当作语句_在Java语言中语句用分号终止,并不是所有的表达式都可以构成语句...

    在Java语言中,语句以分号":"作为结束标志.块语句由其他语句组成,其本身不需要用分号结尾.另外,内嵌有块语句并以块语句结尾的语句,也不需要用分号结尾. Java语句可分为空语句 ...

  2. 【C语言语法】表达式与语句的区别与联系

      在看题解的时候发现了这样一句话: if(sum>=n)sum-=(l*l),l++; 这里的两个赋值表达式竟然可以用逗号分隔.这样就只需要一个分号,可以不加大括号了,太舒服了,因为我个人写代 ...

  3. c语言中循环体表达式,C语言的循环语句

    循环语句是用于重复执行某条语句(循环体)的语句,它包含一个控制表达式,每循环执行一次都要对控制表达式进行判断,如果表达式为真,则继续执行循环.C语言提供了3中循环语句,分别为while语句,do wh ...

  4. c语言表达式和表达式语句的区别,C语言中表达式和表达式语句的区别(什么又叫做表达式)?...

    满意答案 sfuejr22 2016.01.13 采纳率:56%    等级:7 已帮助:659人 表达式: 表达式是操作符.操作数和标点符号组成的序列,其目的是用来说明-个计算过程. 表达式可以嵌套 ...

  5. 计算机c语言循环作业,计算机C语言循环语句的应用研究

    [摘要]基于计算机C语言循环语句的应用分析,首先要明确C语言应用现状,然后阐述C语言循环语句的分类及特点,最后详细论述循环语句的应用要点,针对while循环语句.dowhile循环语句.for循环语句 ...

  6. C 语言中赋值表达式的返回的逻辑值

    我们知道,在C 语言中经常使用 诸如 if(表达式){} ,while (表达式) {} 形式的判断语句,当表达式为真时执行 {} 中的函数体,但是当表达式为赋值表达式时怎么判断该表达式为真还是为假? ...

  7. C/C++ 语言中的表达式求值

    转载地址:http://www.cnblogs.com/heyonggang/p/3340301.html 在此,首先向裘老师致敬! 裘宗燕:C/C++ 语言中的表达式求值 经常可以在一些讨论组里看到 ...

  8. c语言的运算答案,C语言运算符与表达式的练习题答案.doc

    C语言运算符与表达式的练习题答案.doc C语言运算符与表达式的练习题单项选择题 1以下选项中,正确的 C 语言整型常量是( D ). A. 32L B. 510000 C. -1.00 D. 567 ...

  9. Java快速入门学习笔记3 | Java语言中的表达式与操作符

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

最新文章

  1. CodeChef Cards, bags and coins [DP 泛型背包]
  2. Spring MVC - Hello World示例
  3. 效率最高的Excel数据导入续---SSIS Package包制作图解全过程
  4. python selenium下载优缺点_Python下selenium的实战和普通爬虫的对比
  5. linux 启动rsyslog服务_我的服务器怎么老这么慢,难道说是被挖矿了?linux开机启动项自查...
  6. 用curl访问HTTPS站点并登录
  7. 安装VS2008关于解决磁盘已满问题方案.
  8. 第三章 垃圾收集器与内存分配策略(待续)
  9. Java SE 9:Stream API的改进
  10. Redis数据类型之字符串String
  11. Mediastream2 用法介绍及简明实例分析
  12. 计算机技术检索,计算机检索常用技术.ppt
  13. Java 编程练习之:101-200之间的素数
  14. Kinect驱动识别及SDK下载问题
  15. Oracle中的sys用户和system用户
  16. Win10 【TITAN Xp】和【TITAN RTX】-【TensorFlow】环境简单总结
  17. 月星当空,月光洒落树梢透进窗户,白的苦楚,寥寂随之上心头
  18. 【华人学者风采】黄霞 清华大学
  19. 22-3-16Java冒泡排序
  20. 计算机组成原理——编译器、汇编器和链接器的基本概念

热门文章

  1. 如果你需要品质背景素材,看过来
  2. oracle存储过程拆分字符串函数,Oracle中利用存储过程来分割字符串
  3. java 安全策略,编程式安全策略配置
  4. C++类模板 简单示例
  5. 节点大小可变的环形队列实现
  6. DPDK无锁队列rte_ring相关代码及示例程序(rte_ring.h,rte_ring.c,main.c,makefile)
  7. 用c语言写的电话簿的程序,用C语言散列表实现电话薄
  8. scrapy异步写入mysql_scrapy之异步写入数据库
  9. git使用的基本流程_我并不是高冷(Git进行中01):git基本流程简介
  10. https open api_通过bilibili_api获取弹幕+绘制词云的方法