网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> C语言编程 >> 文章正文
  C语言表达式            【字体:
C语言表达式
作者:佚名    文章来源:不详    点击数:    更新时间:2007-7-2    
表达式由运算符、常量及变量构成。C语言的表达式基本遵循一般代数规则,有几点却是与C语言紧密相关的,以下将分别加以讨论。
2.7.1 表达式中的类型转换
混合于同一表达式中的不同类型常量及变量,应均变换为同一类型的量。C语言的编译程序将所有操作数变换为与最大类型操作数同类型。变换以一次一操作的方式进行。具体规则如下:

1)所有char及shortint型量转为int型,所有float转换为double。
2)如操作数对中一个为longdouble,另一个转换为longdouble。①要不然,一个为double,另一个转为double。②要不然,一个为long,另一个转为long。③要不然,一个为unsigned,另一个转为unsigned。
一旦运用以上规则。每一对操作数均变为同类型。注意,规则2)有几种必须依次应用的条件。
图2-1示出了类型转换。首先,charch转换成int,且floatf转换成double;然后ch/i的结果转换成double,因为f*d是double;最后由于这次两个操作数都是double,所以结果也是double.
2.7.2构成符cast
可以通过称为cast的构成符强迫一表达式变为特定类型。其一般形式为:
(type)expression(type)是标准C语言中的一个数据类型。例如,为确保表达式x/2的结果具有类型float,可写为:
(float)x/2通常认为cast是操作符。作为操作符,cast是一元的,并且同其它一元操作符优先级相同。虽然cast在程序中用得不多,但有时它的使用的确很有价值。例如,假设希望用一整数控制循环,但在执行计算时又要有小数部分。

若没有cast(float),就仅执行一次整数除;有了cast就可保证在屏幕上显示答案的小数部分。
2.7.3空格与括号
为了增加可读性,可以随意在表达式中插入tab和空格符。例如,下面两个表达式是相同的。
x=10/y*(127/x);x=10/y*(127/x);
冗余的括号并不导致错误或减慢表达式的执行速度。我们鼓励使用括号,它可使执行顺序更清楚一些。例如,下面两个表达式中哪个更易读一些呢?
x=y/2-34*temp&127;x=(y/2)-((34*temp)&127);
2.7.4C语言中的简写形式
C语言提供了某些赋值语句的简写形式。例如语句:
x=x+10;
在C语言中简写形式是:
:x+=10;

这组操作符对+=通知编译程序将X+10的值赋予X。这一简写形式适于C语言的所有二元操作符(需两个操作数的操作符)。在C语言中,
variable=variable1operatorexpression;
与variable1operator=expression相同。请看另一个例子:
x=x-100;
;
其等价语句是
x-=100;
简写形式广泛应用于专业C语言程序中,希望读者能熟悉它。

 

站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     C语言递归
     指向指针的指针
     结构体类型变量的定义和…
     C语言文件系统应用举例
     C语言入门之运算符和表达…
     C语言教程第一章: C语言…
     C语言基础教程(一)基础…
     C语言基础教程(四)指针…
     链表的c语言实现(一)
  • java现状----编程使用的语言…

  • 小议“易语言.飞扬”的程序执…

  • 南开C语言习题集

  • VC6开发多语言界面支持的简单…

  • 程序语言设计原理(第五版)…

  • C/C++语言面试题目

  • 在delphi中使用正则表达式

  • Delphi的编程语言(1)

  • Delphi的编程语言(2)

  • 正则表达式语法讲解(一)

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David