- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言表达式(6、7、8)
表达式由运算符、常量及变量构成。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*temp127;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语言程序中,希望读者能熟悉它。
通常的计算机程序总是由若干条语句组成,从执行方式上看,从第一条语句到最后一条语句完全按顺序执行,是简单的顺序结构;若在程序执行过程当中,根据用户的输入或中间结果去执行若干不同的任务则为选择结构;如果在程序的某处,需要根据某项条件重复地执行某项任务若干次或直到满足或不满足某条件为止,这就构成循环结构。大多数情况下,程序都不会是简单的顺序结构,而是顺序、选择、循环三种结构的复杂组合。三种基本结构的流程图、N-S图以及PAD图可以参看本书第1章1.4节“算法”相关内容。C语言中,有一组相关的控制语句,用以实现选择结构与循环结构:选择控制语句:if;switch、case循环控制语句:for、while、do...while转移控制语句:break、continue、goto我们将在后面几节中详细介绍。
?
在程序的运行过程中,往往需要由用户输入一些数据,而程序运算所得到的计算结果等又需要输出给用户,由此实现人与计算机之间的交互,所以在程序设计中,输入输出语句是一类必不可少的重要语句,在C语言中,没有专门的输入输出语句,所有的输入输出操作都是通过对标准I/O库函数的调用实现。最常用的输入输出函数有scanf()、printf()、getchar()和putchar(),以下分别介绍。3.2.1scanf()函数格式化输入函数scanf()的功能是从键盘上输入数据,该输入数据按指定的输入格式被赋给相应的输入项。函数一般格式为:scanf(控制字符串,输入项列表);其中控制字符串规定数据的输入格式,必须用双引号括起,其内容是由格式说明和普通字符两部分组成。输入项列表则由一个或多个变量地址组成,当变量地址有多个时,各变量地址之间用逗号“,”分隔。scanf()中各变量要加地址操作符,就是变量名前加“”,这是初学者容
文档评论(0)