单元2C语言编程基础.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4. 关系运算与关系表达式 C语言提供了关系运算和逻辑运算,用来构造C程序控制中的条件,实现程序的选择结构和循环结构控制。 关系运算和逻辑运算的结果都是逻辑值,即“真”和“假”。在C语言中没有专门的逻辑型数据,所以用整数值1表示逻辑“真”,用整数值0表示逻辑“假”,而在C语言中进行逻辑判断时,将非0值视为“真”,0值视为“假”。 1) 关系运算符和关系表达式 关系运算的结果是一个逻辑值,C语言中没有逻辑类型的数据,因此用整数0代表逻辑“假”,整数1代表逻辑“真”。 (1.)关系运算符及其优先次序 C语言中规定的关系运算符有以下六种: (大于)、(小于)、=(大于等于)、=(小于等于)、!=(不等于)及 ==(等于) 其中、=、、=的优先级相同,==和!=的优先级相同,前者的运算优先级要高于后者。所有关系运算符的优先级均低于算术运算符。 (2.)关系表达式 由关系运算符连接两个操作数得到的表达式称为关系表达式。关系运算符的两边必须是同一类型的量,两个操作数的值可以是数值、字符或逻辑值。关系表达式的值为逻辑值,关系成立时值为1,否则值为0。 例如:设a=4,b=7,则 ab 值为假 1+a b+1 值为真 ‘s’ ‘t’ 值为真 (字符比较大小比较的是字符在ASCII表中的位置前后) ‘r’ == ‘r’ 值为真 ( c = a ) != ( d = b ) 值为真 a2 == b4 值为真 (因为a2值为1,b4值为1) 5. 逻辑运算符与逻辑表达式 (1.)逻辑运算符 C语言提供3种逻辑运算符 : ! || 逻辑运算符按以下的优先次序进行运算: “!”最高,“”次之,“||”最低,逻辑逻辑运算符“”和“||”优先级低于关系运算符,而“!”高于算术运算符。 (2.)逻辑表达式 用逻辑运算符将1个或多个表达式连接起来进行逻辑运算的算式称为逻辑表达式。 逻辑表达式的值: 0或者1 关于逻辑运算要注意以下几点: 1)逻辑运算符两侧的操作数可以是C语言中任何基本类型的数据,根据其值0为逻辑“假”值,非0为逻辑“真”值参加逻辑运算。 2)在计算逻辑表达式时,只有在必须执行下一个表达式时才能求解时,才求解该表达式的值(并不是所有表达式都求解)。 6. 条件运算符与条件表达式 条件运算符是C语言中唯一的三目运算符。条件运算表达式的一般形式为: 表达式1?表达式2:表达式3 其中表达式1为条件表达式。如果表达式1为真,取表达式2的值;如果表达式1的值为假,取表达式3的值。 例如: max=a b ?a :b; 如果a大于b,则max=a; 如果a不大于b,则max=b。 7. 赋值运算与赋值表达式 (1.)赋值运算 赋值符号“=”就是赋值运算符,它的作用是将一个表达式的值赋给一个变量。 赋值运算符的一般形式为: 变量 = 赋值表达式 双目居中运算符,自右向左结合 如:a=b=c=3 相当于 a=(b=(c=3)) (2. ) 类型转换 如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时要进行类型转换。 (1) 将实型数据(包括单、双精度)赋给整型变量时,舍弃实数的小数部分。如i为整型变量,执行“i=3.56”的结果是使i的值为3, 在内存中以整数形式存储。 (2) 将整型数据赋给单、双精度变量时,数值不变,但以浮点数形式存储到变量中,如将23赋给float变量f,即f=23,先将23转换成23.00000,再存储在f中。如将23赋给double型变量d,即d=23,则将23补足有效位数字为23.00000000000000,然后以双精度浮点数形式存储到d中。 (3) 将一个double型数据赋给float变量时,截取其前面7位有效数字,存放到float变量的存储单元(32位)中。但应注意数值范围不能溢出。 如: float f; double d=123.456789e100; f=d; 就出现溢出的错误。 将一个float型数据赋给double变量时,数值不变,有效位数扩展到16位,在内存中以64位(bit)存储。 (4) 字符型数据赋给整型变量时,由于字符只占1个字节,而整型变量为2个字节,因此将字符数据(8位)放到整型变量低8位中。有两种情况: ① 如果所用系统将字符处理为无符号的量或对unsigned char型变量赋值,则将字符的8位放到整型变量低8位,高8位补零。例如:将字符‘\376’赋给int型变量i,如图2.11(a)所示。 ② 如果所用系统(如turbo c)将字符处理为带符号的(即signed char),若字符最高位为0,则整型变量高8位补0;若字符最

文档评论(0)

586334000 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档