中华考试网·阅读新闻
编程开发 > C/C++ > 文章内容

C语言编程开发入门基础教程(29)

2015-10-7编辑:ljnbset

  表达式

  前面已经提到过表达式,相信大家对表达式也有了一个初步的认识,它是由常量、变量、运算符组合(到以后讲函数时,函数也可以是组成表达式的元素),计算以后返回一个结果值。表达式的结束标志是分号(;),C语言中所有的语句和声明都是用分号结束,在分号出现之前,语句是不完整的。

  例如:

  1+2;

  Counter/3+5;

  Height*Width;

  表达式本身什么事情都不做,只是返回结果值。在程序不对返回的结果值做任何操作的情况下,返回的结果值不起任何作用,表达式的作用有两点,一个是放在赋值语句的右边,另一个是作为函数的参数(以后再介绍)。

  表达式返回的结果值是有类型的。表达式隐含的数据类型取决于组成表达式的变量和常量的类型。因此,表达式的返回值有可能是某种大小的整型,或者是某精度的浮点型,或者是某种指针类型。

  这里面就有类型转化的问题了,在前面说整型运算的时候也提到过。类型转化的原则是从低级向高级自动转化(除非人为的加以控制)。计算的转换顺序基本是这样的:

  字符型-->整型-->长整型-->浮点型-->单精度型-->双精度型

  就是当字符型和整型在一起运算时,结果为整型,如果整型和浮点型在一起运算,所得的结果就是浮点型,如果有双精度型参与运算,那么答案就是双精度型了。

  强制转换是这样的,在类型说明符的两边加上括号,就把后面的变量转换成所要的类型了。如:

  (int) a;

  (float) b;

  第一个式子是把a转换成整型,如果原先有小数部分,则舍去。

  第二个式子是把b转换成浮点型,如果原先是整数,则在后面补0。

  每一个表达式的返回值都具有逻辑特性。如果返回值为非0,则该表达式返回值为真,否则为假。这种逻辑特性可以用在程序流程控制语句中。

  有时表达式也不参加运算,如:

  if(a||b) …………

  5>3?a++:b++;

  当a为真时,b就不参加运算了,因为不管b如何,条件总是真。

C语言编程开发入门基础教程(28)
咨询热线:4000-525-585(免长途费)