cchap2数据类型和表达式.ppt
47页cchap2cchap2数据类型和表达式数据类型和表达式本章主要内容 C++的数据类型 C++的常量 C++的变量 C++中的各种运算符和表达式21. C++的数据类型数据类型是数据存在的一种形式,C++可以使用的数据类型包括:构造类型构造类型31. C++的数据类型见书P19不仅与操作系统有关,还与编译器有关41. C++的数据类型C++的数据通常以“常量”或“变量”的形式表现出来,因此,常量和变量都具有类型C++允许用户根据需要构造自己的数据类型,称为自定义数据类型或派生类型如:数组、指针、结构、枚举和类等类型52.常量常量是指在程序中不能改变的量当用符号来表示常量时,称为符号常量常量也区分不同的类型如:30,40 为整型,30.0,40.0为实型,编辑器只是根据其表面形式来判断其类型 ((和和C语语言言中中的的常常量量表示相同表示相同))62.常量C++的常量有以下几种:(1)整型常量十进制整型常量八进制整型常量十六进制整型常量可在整数字面值后加U或L(u或l),用来表示无符号整数或长整型0123 // 8进制 以0开头的数字序列0x12af3 // 16进制 以0x开头的数字序列12345 // 10进制 以非0数字开头的数字序列72.常量 超过表示范围的整型数其值不可预料或者出错。
如int a = 12345678912345678912345; // 对吗?对吗?unsigned int x=-43; //对吗?对吗?82.常量(2)浮点型常量十进制浮点数表示:•定点表示•科学记数法表示法例如:123.51.235e+2尾数部分的绝对值要大于1,小于1092.常量 C++规 定 浮 点 数 常 量 默 认 为 双 精 度(double)型,如果在浮点数后面加字母f或F,表示为float类型;如果在浮点数后面加字母l或L,表示为长双精度类型例如:120.1, 1.201e+02 为double型0.013f, 1.3e-02f 为float型102.常量(3)字符常量普通的字符常量:单引号括起的一个字符转义字符常量:也称非打印字符,一般是以‘\’开始的一种表示形式 例如:\n,\t……112.常量字符常量在内存中的存储形式及其使用方法由于在内存中的形式与整型数据相同,所以,可以直接用其整型值给变量c1、c2赋值122.常量#include 字符串常量可由任何字符组成,在内存中顺序存放,并以‘\0’作为结束标志例如:“CHINA” 其内存的存放形式为:CHINA\0152.常量字符串“CHINA”十六进制和二进制的内存存放形式:0x430x480x490x550x41\0010000110100100001001001010101010100000100000000单字符N的ASCII码的十六进制单字符N的ASCII码的二进制162.常量(5)符号常量符号常量就是使用一个标识符来表示某个常量值在C++中有二种定义方法,一种是使用编译预处理指令define;另一种是使用C++的常量说明符const172.常量方法1: #define PI 3.1415926//在程序中凡是出现PI的均用3.1415926替代或者方法2:const float pi=3.1415926; //将变量pi定义为常量一般用大写字母182.常量#include 红色的为正确的3276735u 1.25e3.4 3L32768“Computer System” “a” ‘a’ "yes"orNo" -.567f3276735u 1.25e3.4 3L32768“Computer System” “a” ‘a’ "yes"orNo" -.567f20练习在下列表示十六进制int型常量中,错误的是A)0X1bB)2fxC) 0xaf D)0xaeB213.变量在程序的执行过程中,其值可以改变的量称为变量变量名必须用标识符来标识变量根据其取值的不同值域,分为不同类型的变量:整型变量、实型变量、字符型变量、结构型变量、指针型变量等等223.变量对于任一变量,编译程序要为其分配若干个字节(连续的)的内存单元,以便保存变量的取值例如:int a=3;233.变量当要改变一个变量的值时,就是把变量的新的取值存放到为该变量所分配的内存单元中;用到一个变量的值时,就是从该内存单元中取出数据不管什么类型的变量,通常均是变量的说明在前,使用变量在后243.变量变量赋初值int a=4; //定义语句,在开辟空间后马上为空间赋值 a=6; //重新为该空间赋值a4 6253.变量例如:……int i=2,j=3;i=i+j;j=i+j;i=i-j;j=i*j;cout<<“i=”<
A) floatB) double C) intD) char√√294.C++运算符 自增(++)和自减(--)运算符强制类型转换运算符30有关各运算符的练习2.在下列选项中,与k=n++;语句功能完全等价的表达式是()A)k=n,n=n+1B)n=n+1,k=nC)k=++nD)k+=n+1运行结果:A31有关各运算符的练习3.以下程序的运行结果是:#include"iostream"using namespace std;void main(){ int x=3,y=2; double a=3.5,b=2.5; cout<<(x+y)%2+(int)a/(int)b< A) 2 B) 3 C) 1 D) 0√√35有关各运算符的练习7.设a为整型变量, 不能正确表达数学关系: 1010 && a<15 D) !(a<=10) && !(a>=15)√√36有关各运算符的练习8.设x、y、z、s均为int型变量,且初值均为1,则执行语句s=++x||++y&&++z;后,s的值为( ) A) 不定值 B) 2 C) 1 D) 0√√37有关各运算符的练习9.以下程序的运行结果是:#include"iostream"using namespace std;void main(){ int a=010, b=0x10, c=10; cout<
A)0 B)2 C) 10 D)1211. 若已经定义int x=5.5,y; 则表达式y=2.75+x/2的值是()A) 5.5B) 5 C) 4D) 4.0√√√√39有关各运算符的练习12.执行下列语句后,输出结果是()#include"iostream"using namespace std;void main(){ int c=5; cout<<(c+=2,c+8,++c)<





