- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章基本数据类型、运算符与表达式
基本数据类型、运算符与表达式 ;2.1 数 据 类 型 ;2.1.1 基本数据类型 ;2.1.2 类型修饰符 ;说明:
(1)表中带[ ]的部分表示是可以省略的。
(2)4种修饰符都可以用来修饰整型和字符型。
用signed修饰的类型的值可以为正数或负数,而用unsigned修饰的类型的值只能为正数。
(3)Visual C++ 6.0版本以上的编译器不支持long double类型,long double和double类型一样,都是64位基本双精度,只能用其他C/C++编译器或汇编语言。;2.2 常 量 ;在程序中,用户根据需要分别可以用十进制、八进制和十六进制的形式书写整型常量。
(1)十进制格式:
由数字0至9和正、负号组成
书写时直接写出数字
如0、21、2004等;(2)八进制格式:
以0开头的数字(0至7)序列
如0111、01357、0171717等
(3)十六进制格式:
以0x或0X开头的数字(数字0至9、字母a至f)序列
如0xAA、0X12BC、0xFFFF等 ;实型常量又称为浮点型常量,由整数部分和小数部分组成,只能用十进制格式来书写。
可以用小数或指数两种形式表示,指数形式又称为科学计数法,不分单精度和双精度类型。;(1)实型常量的小数形式
由数字和小数点组成的,而且必须存在小数点。
如.12、1.06、35.、3.14等。;(2)实型常量的指数形式
由数字和e(或E)组成的,且
e(或E)之前必须有数字
e(或E)之后必须为整数
如12e6、1.2E7、.56e8是合法的指数形式,
而e6、8e5.6则是非法的指数形式。;字符型常量分为普通字符常量和转义字符常量
(1)普通字符常量
用一对单引号括起来的一个字符
如‘s’,‘Y’等;注意:;(2)转义字符常量
在C++中,有一些字符用于控制输出或编译系统本身保留,无法作为字符常量来表示。
C++规定,采用反斜杠后跟一个字母来代表一个控制字符,反斜杠后的字符不再作原有的字符使用,而具有新的含义。;用一对双引号括起来的一个或多个字符的序列
字符串以双引号为定界符,双引号不作为字符串的一部分
可以将转移字符加入字符串,转义字符占用一个字节。
如:
Hello
A
Good Morning!
I say\n ;字符串中的字符的个数称为该字符串的长度。
字符串常量要用字符数组来存放。
在存储时,系统自动在字符串的末尾加以字符串结束标志,即转义字符 \0 。如
Hello 在内存中占用6个字节
I say\n 占用7个字节;常量也可用一个标识符来表示,称为符号常量。
符号常量的一般定义格式如下:
#define 标识符 字符串
例如:
#define MAX 30 //末尾不加分号
【例2-1】 根据输入的半径,计算圆的周长和面积。 ;注意:
符号常量名一般用大写,而变量名用小写,以示区别。
符号常量不同于变量,在其作用域内其值不能改变和赋值。;2.2.6 逻辑常量 ;2.2.7 枚举常量 ;2.3 变 量 ;每一个变量就相当于一个容器,对应着计算机内存中的某一块存储单元。
变量的值具有以下两个特点:
一充即无
取之不尽;2.3.1 标识符的命名规则 ;2.3.2 变量的定义 ;2.3.3 变量的使用 ;2.3.4 常变量 ;2.4 运算符和表达式 ;2.4.1 算术运算符和算术表达式 ;若定义了x为int型的变量,且其初始值为10,则
5/9* (x?32)
((2*x?3) *x+2) *x
10%3
?x*6 ;注意:
(1)表达式中的括号不管有多少层,一律使用圆括号。
(2)在将一个数学上的运算式写成对应的C++的表达式时,要注意进行必要的转换:
① 乘号不能省略。
数学表达式中出现的数学运算函数要用C++提供的相应的数学运算库函数来代替。
要特别注意表达式中两个整型数相除的情况。
(3)求余运算符只能用于整型和字符型数据,字符型数据可以与整型数据通用。 ;1. 自增运算符
自增运算符“++”使操作数的值增1,其操作数必须为变量。
++运算符可以置于操作数前面,也可以放在操作数后面。例如:++n或n++。
这两个表达式产生的结果都是使n的值增1,可以说没什么区别。相当于n=n+1;
++前置和后置的区别:
int n=1,post,pre;
post=n++;
pre=++n;
再如:
int n=5,post=1,pre=1;
pre=(++n)+pre; //运算结束后pre的值为7,n的值为6
n=5;
post=(n++)+post; //运算结束后post的值为6,n的值为6;2. 自减运算符
自减运算符“--”使操作数的值
文档评论(0)