c++-chap-2-数据类型和表达式_第1页
c++-chap-2-数据类型和表达式_第2页
c++-chap-2-数据类型和表达式_第3页
c++-chap-2-数据类型和表达式_第4页
c++-chap-2-数据类型和表达式_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课件作者:刘葳第第2章章 数据类型和表达式数据类型和表达式1本章主要内容 C+的数据类型 C+的常量 C+的变量 C+中的各种运算符和表达式21. C+的数据类型数据类型是数据存在的一种形式,C+可以使用的数据类型包括:3构造类型构造类型1. C+的数据类型4见书P19不仅与操作系统有关,还与编译器有关1. C+的数据类型C+的数据通常以“常量”或“变量”的形式表现出来,因此,常量和变量都具有类型。C+允许用户根据需要构造自己的数据类型,称为自定义数据类型或派生类型。如:数组、指针、结构、枚举和类等类型。52.常量常量是指在程序中不能改变的量。当用符号来表示常量时,称为符号常量。常量也区分不同

2、的类型。如:30,40 为整型,30.0,40.0为实型,编辑器只是根据其表面形式来判断其类型。 (和和C语言中的常量语言中的常量表示相同表示相同)62.常量C+的常量有以下几种:(1)整型常量十进制整型常量八进制整型常量十六进制整型常量7可在整数字面值后加U或L(u或l),用来表示无符号整数或长整型0123 / 8进制 以0开头的数字序列0 x12af3 / 16进制 以0 x开头的数字序列12345 / 10进制 以非0数字开头的数字序列2.常量 超过表示范围的整型数其值不可预料或者出错。如8int a = 12345678912345678912345; / 对吗?对吗?unsigned

3、 int x=-43; /对吗?对吗?2.常量(2)浮点型常量十进制浮点数表示:定点表示科学记数法表示法例如:123.51.235e29尾数部分的绝对值要大于1,小于102.常量 C+规定浮点数常量默认为双精度(double)型,如果在浮点数后面加字母f或F,表示为float类型;如果在浮点数后面加字母l或L,表示为长双精度类型。例如:120.1, 1.201e+02 为double型0.013f, 1.3e-02f 为float型102.常量(3)字符常量普通的字符常量:单引号括起的一个字符转义字符常量:也称非打印字符,一般是以开始的一种表示形式。 例如:n,t112.常量字符常量在内存中的

4、存储形式及其使用方法12由于在内存中的形式与整型数据相同,所以,可以直接用其整型值给变量c1、c2赋值。2.常量#includeusing namespace std;void main(void) char a,b; a=A; /输入ASCII码 b=65; /输入十进制数 couta=aendl; coutb=bendl;#includeusing namespace std;void main(void) int a = 65; char b = 65; couta“n”; coutb“n”;1301000001a,b在内存中的表示均是相同的运行结果:a=AB=A运行结果:65A注意:一

5、定要按照定义的类型输出2.常量#includeusing namespace std;void main(void) char c1,c2,c3,c4; char n1,n2; c1=a;/字符常量 c2=97;/十进制 c3=x61;/转义字符 c4=0141;/八进制 coutc1=c1tc2=c2endl;coutc3=c3tc4=c4endl; n1=n; /转义字符:回车 n2=t; /转义字符:下一个输出区(Tab) cout使用转义字符n; coutc1=c1n2c2=c2n1; coutc3=c3n2c4=c4n1;14输出:c1=a c2=a c3=a c4=a使用转义字符c

6、1=a c2=a c3=a c4=a2.常量(4)字符串常量是由一对双引号括起的字符序列。字符串常量可由任何字符组成,在内存中顺序存放,并以0作为结束标志。例如:“CHINA” 其内存的存放形式为:15CHINA02.常量16字符串“CHINA”十六进制和二进制的内存存放形式:0 x430 x480 x490 x550 x410010000110100100001001001010101010100000100000000单字符N的ASCII码的十六进制单字符N的ASCII码的二进制2.常量(5)符号常量符号常量就是使用一个标识符来表示某个常量值。在C+中有二种定义方法,一种是使用编译预处理指

7、令define;另一种是使用C+的常量说明符const。172.常量方法1: #define PI 3.1415926/在程序中凡是出现PI的均用3.1415926替代或者方法2:const float pi=3.1415926; /将变量pi定义为常量18一般用大写字母2.常量#includeusing namespace std;#define PI 3.14159#define S Chinavoid main(void) const double pi=3.14159;/变量作为常量使用 coutPI=PIendl; cout10*PI=10*PIendl; coutSendl;/ P

8、I=PI+3;/ pi=pi+4; coutPI=PIendl; coutpi=piendl;19输出:PI=3.1415910*PI=31.4159ChinaPI=3.14159pi=3.14159练习下列常量的表示在C+中是否合法?若不合法,指出原因;若合法,则指出常量的数据类型。 20红色的为正确的3276735u 1.25e3.4 3L1“Computer System” “a” a yesorNo -.567f3276735u 1.25e3.4 3L1“Computer System” “a” a yesorNo -.567f练习在下列表示十六进制int型常量中,错误的是A)0X1b

9、B)2fxC) 0 xaf D)0 xae21B3.变量在程序的执行过程中,其值可以改变的量称为变量。变量名必须用标识符来标识。变量根据其取值的不同值域,分为不同类型的变量:整型变量、实型变量、字符型变量、结构型变量、指针型变量等等。223.变量对于任一变量,编译程序要为其分配若干个字节(连续的)的内存单元,以便保存变量的取值。例如:int a=3;233.变量当要改变一个变量的值时,就是把变量的新的取值存放到为该变量所分配的内存单元中;用到一个变量的值时,就是从该内存单元中取出数据。不管什么类型的变量,通常均是变量的说明在前,使用变量在后。243.变量变量赋初值int a=4; /定义语句,

10、在开辟空间后马上为空间赋值 a=6; /重新为该空间赋值25a4 63.变量例如:int i=2,j=3;i=i+j;j=i+j;i=i-j;j=i*j;cout“i=”i“n”“j=”jendl;264.C+运算符C+运算符包括:算术运算关系运算逻辑运算位运算赋值运算符条件运算符逗号运算符指针运算符(*)引用运算符和地址运算符(&)求字节数运算符强制转换运算符成员运算符指向成员的运算符下标运算符其他(如函数调用运算符()27见书:P30 与C的使用方法大致相同4.C+运算符在算术运算中,注意:表达式中各类数值数据间的混合运算28有关各运算符的练习1.如果有如下类型说明语句char w

11、; int x; float y; double z; 则表达式 w*x+z-y 的结果为()类型。A) floatB) double C) intD) char294.C+运算符 自增(+)和自减(-)运算符强制类型转换运算符30有关各运算符的练习2.在下列选项中,与k=n+;语句功能完全等价的表达式是()A)k=n,n=n+1B)n=n+1,k=nC)k=+nD)k+=n+131运行结果:A有关各运算符的练习3.以下程序的运行结果是:#includeiostreamusing namespace std;void main() int x=3,y=2; double a=3.5,b=2.5

12、; cout(x+y)%2+(int)a/(int)bendl;32运行结果:2有关各运算符的练习4. 设 x 和 y 均为 int 型变量,则以下语句: x+=y; y=x-y; x-=y; 的功能是()。A)把 x 和 y 按从大到小排列B)无确定结果C)把 x 和 y 按从小到大排列D)交换 x 和 y 中的值33有关各运算符的练习5.设int i=1, j=2; 表达式 +i+j 的值为( )。 A) 1 B) 2 C) 3 D) 434有关各运算符的练习6.设int a=5, b=6, c=7, d=8, m=2, n=2; 表达式(m=ad)的值为( )。 A) 2 B) 3 C)

13、 1 D) 035有关各运算符的练习7.设a为整型变量, 不能正确表达数学关系: 10a15 的C语言表达式是( )。 A) 10a10 & a15 D) !(a=15)36有关各运算符的练习8.设x、y、z、s均为int型变量,且初值均为1,则执行语句s=+x|+y&+z;后,s的值为( )。 A) 不定值 B) 2 C) 1 D) 037有关各运算符的练习9.以下程序的运行结果是:#includeiostreamusing namespace std;void main() int a=010, b=0 x10, c=10; coutabcendl;38运行结果:81610

14、有关各运算符的练习10.若有定义int a=12,则表达式 a+=a-=a 的值为()。A)0B)2 C)10 D)1211. 若已经定义int x=5.5,y; 则表达式y=2.75+x/2的值是()。A) 5.5B) 5 C) 4D) 4.039有关各运算符的练习12.执行下列语句后,输出结果是()#includeiostreamusing namespace std;void main() int c=5; cout(c+=2,c+8,+c)endl;40运行结果:8有关各运算符的练习13.当A的值为奇数时,表达式的值为“真”;当A的值为偶数时,表达式的值为“假”,则下面不能满足要求的表达式是? A) A%2=1B) !(A%2=0)C) !(A%2)D) A%241有关各运算符的练习14.若给定条件表达式(S)? (a+) : (a-),则与表达式S等价的是?A) 和(S=0)等价 B) 和(S=1)等价C) 和(S!=0)等价 D) 和(S!=1)等价42有关各运算符的练习15.下列表达式选项中那个是正确的 ( ) A)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论