常量变量和表达式.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
常量变量和表达式

printf可以打印表达式,表达式不仅可以是单个的常量变量也可以是一个算式,上面第二条语句的写法就是这两条规则的组合(Composition) C 语言规定了一组语法规则,只要符合它的规则,就可以写出任意复杂的组合,比如以下一条语句: 同时完成了计算、赋值和打印的功能。 正因为可以对语法规则进行任意组合,所以我们才可以用简单的常量、变量、表达式、语句搭建出任意复杂的程序,以后我们学习新的语法规则时会进一步体会到这一点。从上面的例子可以看出,表达式不宜过度组合,否则会给阅读和调试带来困难。 我们看到等号的右边可以是任意组合的表达式,但要注意等号左边不能是任意组合的表达式. 因为等号左边表示的不是一个值而是一个存储位置,例如下面的赋值语句是错误的: 这是等号运算符和+-*/ 运算符的又一个显著不同。等号左边表示存储位置,称为左值(lvalue )。等号右边表示要存储的值,可以是任意组合的表达式,所以通常所说的表达式的值也称为右值(rvalue )。 整数除法运算有一点特殊之处: 结果如右图 也就是说59/60 得到0 ,这是因为两个整数相除的结果仍为整数。 如果你写成这样: 结果如右图 这是因为/ 运算要求左右两边的操作数类型一致,而现在并不一致。 事实上C 语言定义一系列隐式类型转换(规则,在这里编译器自动把左边的minute也转换成浮点数来计算,得到的值仍然是浮点数,在格式化字符串中应该用%f占位符。 更多细节后面慢点讲 1、假设变量x和n 是两个正整数,我们知道x/n 这个表达式的结果是向下取整,例如x是17,n 是4 ,则结果是4 。 如果希望结果想向上取整应该怎么写表达式呢?例如x是17,n 是4 ,则结果是5 ,而x是16,n 是4 ,则结果是4 。 2、下面语句执行结果是什么?把第三行的a,b互换一下会有什么结果?这是为什么呢? 字符型常量或变量也可以组成表达式参与运算,例如: 我们在第 1 节 “ 程序和编程语言” 讲过,计算机之所以能处理符号,是因为符号在计算机内部也用数字来表示,每个字符在计算机内部都用一个整数来表示,称为字符编码(,目前大部分平台通用的是ASCII码(American Standard Code for Information Interchange ,美国信息交换标准码) 回到刚才的例子,在ASCII码中字符a 是97,字符b 是98。 a+1这个表达式,根据隐式类型转换规则要把字符型转成整型再做计算,也就是把a 按ASCII码转成整型的97,然后加1 ,得到98,现在表达式的值是一个整型,而printf却以%c的格式打印它,于是printf 把这个整数当作ASCII码来解释,打印出相应的字符b 。 之前我们说“ 整型” 是指int 型,而现在我们知道char型本质上就是整数,只不过取值范围比int 型小,所以以后我们把char型和int 型统称为整数类型(Integer Type )或简称整型。 其实还有几种我们没学到的类型也属于整型,以后再详细介绍。 在ASCII码表中,字符a~z 、A~Z 、0~9 的ASCII码都是连续的,例如a+1和b 的值相等,0+9和9 的值相等。 注意0~9 的ASCII码是十六进制的30~39 ,这是字符型0~9 和整数0~9 的区别 常量、变量、表达式 注释不能嵌套(Nest)使用,就是说一个注释的文字中不能再出现/*和*/ 有的C 代码中有类似“// comment”的注释,这种注释不能跨行,也不能穿插在一行代码中间。这是从C++借鉴的语法,在C99中被标准化。 大致分为三个阶段: Old Style汤普森和里奇发明C语言时。 C89,最早的C 语言规范,于1989年提出,1990年先由ANSI推出ANSI版本,后来被接纳为ISO 国际标准。故也称为C90。 C99 标准是ISO在1999年推出的,加入了许多新的特性。不过支持不是很广泛 像Hello, world.\n这种由双引号引起来的一串字符称为字符串字面值,或者简称字符串。 打印出来的结果也没有\n这两个字符,这是为什么呢?C 语言规定了一些转义序列,这里的\n并不表示它的字面意思,也就是说并不表示\和n这两个字符本身,而是合起来表示一个换行符。 例如我们写三条打印语句: 结果。。。 你懂的。。。 试试吧 常量(Constant)是程序中最基本的元素,有字符常量、数字常量和枚举常量。 字符常量要用单引号括起来,例如上面的} ,注意单引号只能括一个字符而不能像双引号那样 括一串字符,字符常量也可以是一个转义序列,例如‘\n‘。 计算机中整数和小数的内部表示方式不同,因而在C 语言中是两种不同的类型,小数在计算机术语中称为浮点数(Floating Point)

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档