- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计 第4章节 数据类型及表达式
整型变量的说明形式为: [修饰符] int 变量表列; (2)浮点变量 浮点变量分为单精度浮点型和双精度浮点型两类。单精度浮点型类型说明符为float,双精度浮点型类型说明符为double。 浮点变量说明的格式为: float变量表列; 或 double 变量表列; 例如: float x,y; /*定义x,y为单精度浮点型*/ double a,b,c; /*定义a,b,c为双精度浮点型*/ float x=1234.56789; /*定义x为单精度浮点型,并初始化值为1234.567*/ ? (3)字符型变量 字符型变量的取值是字符型数据。字符型变量的类型说明符是char。 字符型变量类型说明的格式: char 变量表列; 例如: char c1,c2; /*定义c1,c2为字符型*/ 4.3 运算符及其表达式 4.3.1 C运算符概述 运算是对数据进行加工的过程,描述各种不同运算的符号称为运算符。参加运算的数据称为运算对象或操作数。用运算符和括号将运算对象连接起来的符合C语言语法规则的式子称为C语言表达式。 C语言的运算符不仅具有不同的优先级,而且还有结合性的特性。表达式中各运算对象参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约,以便确定运算符是和左侧的运算对象结合,还是和右侧的运算对象结合。 4.3.2 算术运算符及算术表达式 1.算术运算符 C语言提供了5个基本的算术运算符: ? ? 加法运算符 - 减法运算符,负号运算符 * 乘法运算符 / 除法运算符 % 取余运算符或称模运算符 运算符?,?的优先级相同,*,/,%的优先级相同,*,/,%的优先级高于?和?运算符,算术运算符都是左结合的运算符。 2.算术表达式 用算术运算符和括号运算符将运算对象连接起来的符合C语言规则的式子,称为算术表达式。 算术表达式的计算符合运算符优先级和结合性的原则。计算表达式时的具体过程是:对表达式自左向右扫描运算对象,然后考察运算对象两侧的运算符。如果优先级不相同,则该运算对象和高优先级的运算符结合,当某运算符所需的运算对象全部都和该运算符结合后进行运算,运算后的结果就是下一个被处理的运算对象,否则继续扫描下一个运算对象;如果两侧的运算符优先级相同,则按照运算符的结合性原则去结合运算。如果运算符是左结合的,则和左侧的运算符结合,如果是右结合的,则和右侧的运算符结合。 例如,表达式 a+b*5/6 /*假定a=3,b=1*/ 图4.3 表达式计算过程 4.3.3 自增自减运算符及含自增自减表达式 C语言中提供了两个特殊的运算符,自增运算符??和自减运算符??。它们都是单目运算符,运算对象可以位于运算符前面,也可以位于运算符后面。当运算符位于运算对象前面时,称为前缀运算符,如?? i和??i;当运算符位于运算对象后面时,称为后缀运算符,如i??和i??。 自增自减运算符的功能是将运算对象加1或减1后,再将结果保存到运算对象中去,如i??等同于i?i?1。自增自减运算符的运算对象只能是变量。 当表达式中出现自增自减运算符时,表达式的求值过程如下。 (1)自增自减运算符是后缀运算符时,应先使用自增自减运算符的运算对象计算整个表达式的值,然后再计算自增自减。 例4.4 main() { int i=2,j=3; int k; k=(i++)+(j++)+4; printf(result:k=%d,i=%d,j=%d\n,k,i,j); } 程序运行结果为: result:k=9,i=3,j=4 表达式k?(i??)?(j??)?4的运算可理解为:先运算表达式k?i?j?4,再计算i??和j??。 (2)自增自减运算符是前缀运算符时,应先完成自增自减,然后使用运算后的结果计算整个表达式的值。 例4.5 main() { int i=2,j=3; int k; k=(++i)+(++j)+4; printf(result:k=%d,i=%d,j=%d\n,k,i,j); } result:k=11,i=3,j=4 表达式k?(??i)?(??j)?4的运算可理解为:先运算??i和??j,再计算表达式k?i?j?4。 程序运行结果为: (3)当表达式中既含有后缀自增自减运算符,又含有前缀自增自减运算符时,应先计算所有的前缀自增自减运算,再计算整个表达式的值,最后计算所有的后缀自增自减运算。 例4.6? main() { int i=2,j=3; int
文档评论(0)