第2章第2部分1基本数据类型和表达式.docx

上传人:b****2 文档编号:23025342 上传时间:2023-04-30 格式:DOCX 页数:9 大小:19.07KB
下载 相关 举报
第2章第2部分1基本数据类型和表达式.docx_第1页
第1页 / 共9页
第2章第2部分1基本数据类型和表达式.docx_第2页
第2页 / 共9页
第2章第2部分1基本数据类型和表达式.docx_第3页
第3页 / 共9页
第2章第2部分1基本数据类型和表达式.docx_第4页
第4页 / 共9页
第2章第2部分1基本数据类型和表达式.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

第2章第2部分1基本数据类型和表达式.docx

《第2章第2部分1基本数据类型和表达式.docx》由会员分享,可在线阅读,更多相关《第2章第2部分1基本数据类型和表达式.docx(9页珍藏版)》请在冰豆网上搜索。

第2章第2部分1基本数据类型和表达式.docx

第2章第2部分1基本数据类型和表达式

2.2基本数据类型和表达式

综述:

类型是所有程序的基础。

类型告诉我们数据代表什么意思以及可以对数据执行哪些操作。

C++中的数据类型分为两类:

基本类型和自定义类型,基本类型是C++编译系统内置的,比如:

字符型、整型、双精度型。

C++还提供了可用于自定义数据类型的机制,标准库正是利用这些机制定义了许多更复杂实用的类型,比如可变长字符串string、vector等。

2.2.1基本数据类型

C++标准规定了基本数据类型的最小存储空间(表2-1),但它并不阻止编译器使用更大的存储空间。

表2-1C++基本数据类型

类型

含义

最小存储空间

bool

布尔型

char

字符型

8位

wchar_t

宽字符型

16位

short

短整型

16位

int

整型

16位

long

长整型

32位

float

单精度浮点型

6位有效数字

double

双精度浮点型

10位有效数字

longdouble

扩展精度浮点型

10位有效数字

C++还定义了一种称为void的特殊类型。

void类型没有对应的值,通常用作无返回值函数的返回类型。

注意:

不同编译器实际分配空间不同,对于数值类型数据,推荐使用int类型和double类型。

练习1:

使用sizeof操作符测试自己所用编译器对C++基本类型存储空间分配情况。

sizeof操作符的作用是返回一个对象或类型名的长度(单位为字节),语法格式:

sizeof(类型名或变量名);sizeof变量名

exa2-3:

#include

//usingnamespacestd;

intmain()

{

usingstd:

:

cout;

usingstd:

:

endl;//使用名字空间的另一种方式

intm=12;

cout<<"thesizeofanintis:

"<

cout<<"thesizeofanshortis:

"<

cout<<"thesizeofanlongis:

"<

cout<<"thesizeofancharis:

"<

cout<<"thesizeofanfloatis:

"<

cout<<"thesizeofandoubleis:

"<

cout<<"thesizeofanboolis:

"<

cout<

cout<

system("pause");

return0;

}

小结命名空间的三种使用方式:

(1)usingnamespacestd;

(2)using命名空间名:

对象名,比如usingstd:

:

cout;(3)形如std:

cout<<“thesumis:

”<

endl;

练习2:

编写简单的小程序,理解命名空间的三种使用方式。

2.2.2常量(字面常量)和符号常量

C++有两种常量:

字面常量与符号常量。

直接显式地使用的值称为常量,也称字面常量。

称之为字面是因为只能用它的值称呼它,称之为常量是因为它的值不能修改。

符号常量指用名字表示的常量,就像表示一个变量一样。

但与变量不同的是,常量一旦被初始化,其值就不能改变。

例如:

#include

usingnamespacestd;

intmain()

{

constdoublepi=3.14159;//定义了一个名为pi的符号常量,且初始化值为3.14159

doubler,s=0;

//pi=3.1416;错,符号常量的值一旦初始化,就不能再改变

cout<<"pleaseinputr:

";//"pleaseinputr:

"为字符串常量,用一对双引号将字符序列括起来

cin>>r;

s=pi*r*r;//通过符号常量名pi代替常量3.14159,利于程序修改,可读性强

cout<

return0;

}

1.整型常量

可以使用三种进制形式:

十进制(默认)、八进制(以数字0开头的常量)和十六进制(以0x或0X开头)。

Eax2-4:

#include

usingnamespacestd;

intmain()

{

intm=12;//12为十进制常数,系统默认

intk=012;//12为八进制常数

intn=0x12;//12为十六进制常数

cout<<"m="<

cout<<"k="<

cout<<"n="<

system("pause");

return0;

}

默认情况下,cout以十进制格式显示整数(系统自动进行进制转换),而不管这些整数在程序中是如何书写的,程序运行结果如下:

m=12(12的十进制形式)

k=10(八进制12的十进制形式)

n=18(十六进制12的十进制形式)

但是,可以使用控制符dec、hex和oct以指定进制格式显示整数。

Exa2-5:

修改exa2-4

#include

usingnamespacestd;

intmain()

{

intm=12;//12为十进制常数,系统默认

intk=012;//12为八进制常数

intn=0x12;//12为十六进制常数

cout<<"m="<

cout<<"k="<

cout<<"n="<

cout<<12<

cout<

system("pause");

return0;

}

也可以用后缀字母L(或l,但不提倡使用小写l,容易和数值1混淆)表示长整型;后缀字母U(或u)表示无符号型。

思考:

能否以八进制或十六进制输入?

练习3:

练习十进制、八进制和十六进制形式的输入和输出。

2.实型常量

两种形式:

一般形式和指数形式。

一般形式:

例如12.5

指数形式:

例如,0.345E+2表示0.345×102注意:

指数形式中不能出现空格;字母E可大写也可小写。

实型常量默认为double类型。

3.字符常量

字符常量是单引号括起来的一个字符,比如’a’,占一个字节内存,两种:

一般字符和特殊字符。

特殊字符:

两种情况。

其一为非打印字符,不可显示,不能直接通过键盘输入到程序中,比如响铃、换行等,其二本身有特殊含义的字符,比如单引号,C++通过特殊的表示方法——转义序列来解决。

(见P26表2-2)

Exa2-6:

转义序列(程序使用振铃字符来提请注意,使用换行符使光标前进,使用退格字符使光标向左退一格)

#include

usingnamespacestd;

intmain()

{

cout<<"\aOperation\"HyperHype\"isnowactivated!

\n";

cout<<"Enteryouragentcode:

____\b\b\b\b";

intcode;

cin>>code;

cout<<"\aYouentered"<

cout<<"\aCodeverified!

ProceedwithPlanz3!

\n";

return0;

}

提示:

在可以使用数字转义序列或符号转义序列(如\07和\a)时,应使用符号序列。

数字表示与特定的编码方式(如ASCⅡ码)相关,而符号表示适用于任何编码方式,其可读性也更强。

练习4:

调试、修改Exa2-6,理解转义序列。

4.字符串常量

用双引号括起来的字符序列。

注意与字符常量的区别。

(1)定界符不同;

(2)字符数不同;

(3)存储方式不同,比如’a’分配一个字节,”a”含两个字符,字母a和结尾标记字符\0,分配两个字节。

5.布尔常量

两个:

true(真)和false(假)。

2.2.3变量

(1)变量提供了程序可以操作的有名字的存储区。

C++中的每个变量都有特定的类型,该类型决定了变量的内存大小和布局、能够存储于该内存中的值的取值范围以及可应用在该变量上的操作。

C++程序员常常把变量称为“变量”或“对象(object)”。

(术语:

什么是对象?

对象是内存中具有类型的区域。

(2)变量的使用规则:

先定义,再使用,使用之前变量中必须有值。

定义时可初始化。

C++变量名的命名规则:

(变量名即变量的标识符:

identifier)

●在名称中只能使用字母、数字和下划线(-)。

●名称的第一个字符不能是数字。

●区分大小写字符。

●不能将C++关键字用作名称。

(课本P22)

●不能包含两个连续的下划线,也不能以下划线开头后面紧跟一个大写字母,(C++标准保留了一组标识符用于标准库),最好不要以下划线开头。

(3)建议:

变量名命名习惯

变量命名有许多被普遍接受的习惯,遵循这些习惯可以提高程序的可读性。

命名习惯最重要的是保持一致。

●变量名一般用小写字母。

例如,通常会写成index,而不写成Index或INDEX。

●变量名应有一定的含义、容易记忆,如表示差旅费可命名为cost_of_trip或costOfTrip,而不是x,y。

●包含多个词的变量名书写为每个词之间添加一个下划线,或者每个内嵌的词的首字母都大写。

如cost_of_trip或costOfTrip。

2.2.4运算符与表达式

1.自增(++)和自减(--)操作符

(1)两个运算符都有前置或后置两种使用形式,如i++,++i,i--,--i,单独作为一条语句时,如for循环中作为循环控制变量,前置、后置作用相同,都是将操作数的值加1(减1)后,重新写回该操作数在内存中位置。

建议:

只有在必要时才使用后置操作符。

因为前置操作需要做的工作更少,只需加1后返回加1的结果即可。

而后置操作符必须先保存操作数原来的值,以便返回未加1之前的值作为操作的结果。

(2)出现在其他操作中,作用不同。

#include

usingnamespacestd;

intmain()

{

inti=2,j;

j=i++;//先将i的值2赋给j,j=2,然后i加1,i=3

cout<<"j="<

j=++i;

cout<<"j="<

j=--i;

cout<<"j="<

j=i--;

cout<<"j="<

return0;

}

注意:

结合内存结构图理解。

2.组合赋值操作符

表2-2组合赋值操作符

操作符

作用

操作符

作用

+=

将L+R赋给L

/=

将L/R赋给L

-=

将L-R赋给L

%=

将L%R赋给L

*=

将L*R赋给L

注:

L表示左操作数;R表示右操作数。

例如:

s=s+2;等价于s+=2;

课堂练习:

2-17;2-21;2-22

作业:

2-2;2-3;2-5;2-7;2-9;2-10;2-25

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1