- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[int]←(char):是把有符号的字符赋给整型变量。这时,如字符符号位是 0,则整数的高 8 位全补 0;如字符符号位是 1,则整数高 8 位全补 1,这称为“符号扩展”,目的是为了保证赋值 后的数值保持不变。 再如: int i; char c=′\376′; i=c; 则赋值后的内存结果为 之所以要采用符号扩展的原则,是为了保证在以十进制整数格式%d输出i和c时,它们都具有相同的值-2。 (5) [char]←(int, short int, long int):只把整数的低 8 位送到字符变量中,其余全部截掉,当整数大于 255(低 8 位的最大值)时,赋值在变量中会改变原来的值,如: int i=256; char c; c=i; printf(″i=%d, c=%d \n″, i, c); 则输出为 i=256, c=0 内存表示为 (6) [long]←(int):把int类型数值送入long类型的低 16 位中,高 16 位按“符号扩展”的原则处理。 [int]←(long):把long的低 16 位送入int型变量,高 16 位截掉,如高 16 位中仍有数据,则赋值在变量中有可能改变原来的值。 (7) [int]←(unsigned int)、[long]←(unsigned long)及 [short]←(unsigned short):这类赋值的特点是两边的长度相等,但取值范围不同,右边的正数范围要比左边大一倍, 因此只有在左边的正数范围内赋值才正确,否则所赋的正值在变量中会得到负的结果。例如: int b; unsigned int a=65535; b=a; printf(″a=%u, b=%d \n″, a, b); 结果为 a=65535, b=-1 内存表示为 (8) [unsigned in]←(int)、[unsigned long]←(long)及[unsigned short]←(short):这是和(7)相反的赋值,可以照原值全部传送,但若传送负数,则接收者会得到一个正数的结果,其原因在于把原来的符号位也当成了数值位。例如: unsigned int a; int b=-1; a=b; printf(″b=%d, a=%u \n″, b, a); 则输出为 b=-1, a=65535 既然效果相同,那么区分前置和后置形式又有何意义呢? 其意义不在于它所作用的变量本身,而在于对变量值的使用。前置形式是先把变量值加(减)1,然后用新的值参与表达式的运算;而后置形式是先用变量的原始值参与表达式的运算,然后再对变量的值加(减)1。例如有语句: int i, j=2; 则下面运算的结果是i等于 3,j也等于 3: i=++j; 而下面的运算结果是 i等于 2,而j等于 3: i=j++; 使用自加、自减运算符应注意以下几点: (1) 最常见的错误是把自加、自减运算符用在非简单整型变量的表达式上,如++(x+2)、++(-i)等都是错误的。 (2) 自加自减运算符的结合性为:前置时是自右向左的,后置时是自左向右的。比如p=-x++等价于p=-(x++)。这个表达式的意思是先用x变量的当前值加负号赋给p,而后x再加 1。该表达式并不等价于p=(-x)++,因为这样就使++作用在表达式-x上了,这是(1)中指出的错误。 (3) 如果两个运算对象之间连续出现多个运算符,则C语言采用“最长匹配”原则,即在保证有意义的前提下,从左到右尽可能多地将字符组成一个运算符。因此i+++j就被解释成(i++)+j而不是i+(++j)。同样,i++++j被解释成(i++)++j;i+++++j被解释成((i++)++)+j。而这两种情况都是错误的。正确的写法应该是在连续的运算符中间的适当地方增加空格分隔符或加括号,使分开的部分成为有意义的运算对象。比如应把i+++++j写成i++ + ++j或(i++)+(++j)。 (4) 对所有简单类型的变量都可以进行自加、自减运算。 【例 3-13】 自加运算。 #include stdio.h main() { int p, x=3; char c=′a′; float f=3.2; p=-x+++1; printf(″p=%d, x=%d \n″, p, x); printf(″c=%c \n″, ++c); printf(″f=%f\n″, ++f); retur
您可能关注的文档
- 汽车检测与故障诊断课件作者赵英勋第三章节汽车发动机的检测与故障诊断.ppt
- 程序设计基础——VisualBasic教程第2版工业和信息化普通高等教育“十二五”规划教材立项项目课件作者周黎钱瑛周阳花第8章节过程.ppt
- 汽车电子控制技术课件作者冯渊主编第六章节.ppt
- 程序设计基础——VisualBasic教程第2版工业和信息化普通高等教育“十二五”规划教材立项项目课件作者周黎钱瑛周阳花第10章节高级控件.ppt
- 程序设计基础——VisualBasic教程第2版工业和信息化普通高等教育“十二五”规划教材立项项目课件作者周黎钱瑛周阳花第11章节数据库编程.ppt
- 汽车检测与故障诊断课件作者赵英勋第四章节汽车底盘的检测与故障诊断.ppt
- 程序设计基础——VisualBasic教程课件作者周黎钱瑛周阳花第1章节概述.ppt
- 程序设计基础——VisualBasic教程课件作者周黎钱瑛周阳花第2章节VisualBasic界面设计(上).ppt
- 程序设计基础——VisualBasic教程课件作者周黎钱瑛周阳花第3章节VisualBasic界面设计(下).ppt
- 汽车检测与故障诊断课件作者赵英勋第五章节车身及附件的检测与故障诊断.ppt
- 程序设计与C语言第二版课件作者马鸣远第1-5章节第4章节.ppt
- 汽车检测与维修技术课件作者秦会斌10章节演示文稿.ppt
- 程序设计与C语言第二版课件作者马鸣远第1-5章节第5章节.ppt
- 汽车电子控制技术课件作者于京诺第3章节汽车行驶稳定性控制系统.ppt
- 边用边学Photoshop服装与配饰的效果表现课件作者邱雅莉唐蓉第5章节.ppt
- 汽车检测与维修技术课件作者秦会斌12章节演示文稿.ppt
- 边用边学Photoshop服装与配饰的效果表现课件作者邱雅莉唐蓉第6章节.ppt
- 边用边学Pro_ENGINEER机械设计课件作者李彪王政第1章节.ppt
- 边用边学Pro_ENGINEER机械设计课件作者李彪王政第3章节.ppt
- 边用边学Pro_ENGINEER机械设计课件作者李彪王政第4章节.ppt
最近下载
- 一种小鼠自身免疫性甲状腺炎模型的构建方法.pdf VIP
- (高清版)DB35∕T 1935-2020 石化厂区地面巡检机器人通用技术条件.pdf VIP
- 2024年河北省唐山市路北区果园乡招聘社区工作者真题附答案详解.docx VIP
- 彼得布鲁克《空的空间》 《空的空间》 彼得布鲁克[英] 僵化的戏剧.doc VIP
- DB11_T 687-2024 公共建筑节能设计标准.docx VIP
- 质量事故管理考核办法1.pdf VIP
- 中国心房颤动管理指南(2025)解读PPT课件.pptx VIP
- 国开大药剂学形考作业参考答案.docx
- 2025福建福州市消防救援支队面向社会招聘大学生政府专职消防指挥员招聘笔试备考试题及答案解析.docx VIP
- 基坑围护土方开挖监理细则.doc VIP
文档评论(0)