- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
变量的值应该是可以变化的,怎么值是固定的量也称变量呢?其实,从计算机实现的角度看,变量的特征是存在一个以变量名命名的存储单元,在一般情况下,存储单元中的内容是可以变化的。对常变量来说,无非在此变量的基础上加上一个限定: 存储单元中的值不允许变化。因此常变量又称为只读变量(read-only-variable)。 如有表达式a-b*c,b的左侧为减号,右侧为乘号,而乘号优先于减号,因此,相当于a-(b*c)。如果在一个运算对象两侧的运算符的优先级别相同,如a-b+c,则按规定的“结合方向”处理 (int)x+y 则只将x转换成整型,然后与y相加。 以上强制类型转换的形式是原来C语言使用的形式,C++把它保留了下来,以利于兼容。C++还增加了以下形式: 类型名(表达式) 如int(x) 或 int(x+y) 类型名不加括号,而变量或表达式用括号括起来。这种形式类似于函数调用。但许多人仍习惯于用第一种形式,把类型名包在括号内,这样比较清楚。 需要说明的是在强制类型转换时,得到一个所需类型的中间变量,但原来变量的类型未发生变化。例如: (int)x 如果x原指定为float型,值为3.6,进行强制类型运算后得到一个int型的中间变量,它的值等于3,而x原来的类型和值都不变。 例2.4 强制类型转换。 #include iostream using namespace std; int main( ) { float x; int i; x=3.6; i=(int)x; cout″x=″x″,i=″ iendl; return 0; } 运行结果如下: x=3.6,i=3 x的型仍为float型,值仍等于3.6。 由上可知,有两种类型转换,一种是在运算时不必用户指定,系统自动进行的类型转换,如3+6.5。第二种是强制类型转换。当自动类型转换不能实现目的时,可以用强制类型转换。此外,在函数调用时,有时为了使实参与形参类型一致,可以用强制类型转换运算符得到一个所需类型的参数。 练习: 1、分析输出结果 char x, y=Q; int a; x=y+32; a=x; couta xendl; 2、找出错误的地方 int a const char x; x=a; cinb; a=x+b; coutaendl; Q的ASCII码为81 3、写出表达式的值 38%9+int(3+5.7)/5 结果: 1、113 q 2、第1行:漏了“;”,语句应该以“;”结束; 第2,3行:定义常变量时必须同时初始化,不能对常 变量赋值; 第4行:变量b没有定义;cin的流提取运算符写错 第5行: cout的流插入运算符写错 3、3 赋值符号“=”就是赋值运算符,它的作用是将一个数据赋给一个变量。如“a=3”的作用是执行一次赋值操作(或称赋值运算)。把常量3赋给变量a。也可以将一个表达式的值赋给一个变量。 2.6 赋值运算符与赋值表达式 2.6.1 赋值运算符 如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时会自动进行类型转换。 (1) 将浮点型数据(包括单、双精度)赋给整型变量时,舍弃其小数部分。 (2) 将整型数据赋给浮点型变量时,数值不变,但以指数形式存储到变量中。 (3) 将一个double型数据赋给float变量时,要注意数值范围不能溢出。 (4) 字符型数据赋给整型变量,将字符的ASCII码赋给整型变量。 2.6.2 赋值过程中的类型转换 (5) 将一个int、short或long型数据赋给一个char型变量,只将其低8位原封不动地送到char型变量(发生截断)。例如 short int i=289; char c; c=i; //将一个int型数据赋给一个char型变量 赋值情况见图2.8。为方便起见,以一个int型数据占两个字节(16位)的情况来说明。 图2.8 (6) 将signed(有符号)型数据赋给长度相同的unsigned(无符号)型变量,将存储单元内容原样照搬(连原有的符号位也作为数值一起传送)。 例2.5 将有符号数据传送给无符号变量。 #include iostream using namespace std; int main( ) { unsigned short a; short int b=-1; a=b; cout″a=″aendl; return 0; } 运行结果为 65535 赋给b的值是
我们是专业写作机构,多年写作经验,专业代写撰写文章、演讲稿、文稿、文案、申请书、简历、协议、ppt、汇报、报告、方案、策划、征文、心得、工作总结代写代改写作服务。可行性研究报告,实施方案,商业计划书,社会稳定风险评估报告,社会稳定风险分析报告,成果鉴定,项目建议书,申请报告,技术报告,初步设计评估报告,可行性研究评估报告,资金申请报告,实施方案评估报告
文档评论(0)