第02章_数据类型与表达式_第1页
第02章_数据类型与表达式_第2页
第02章_数据类型与表达式_第3页
第02章_数据类型与表达式_第4页
第02章_数据类型与表达式_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、2021-11-31第二章第二章 数据类型与表达式数据类型与表达式 C+的数据类型的数据类型 常量和变量常量和变量 几种几种基本运算符及其基本运算符及其表达式表达式2021-11-322.1 C+的数据类型的数据类型 数据是操作的对象,数据类型是指数据的数据是操作的对象,数据类型是指数据的内在表现形式(存储、取值范围、操作)内在表现形式(存储、取值范围、操作)2021-11-332.1 C+的数据类型的数据类型类型类型符号符号关键字关键字数的表示范围数的表示范围所占所占位数位数 基本数据类型基本数据类型signed int 16 -32768 32767-2 2 -11515signed sh

2、ort int 16 -32768 32767-2 2 -11515signed long int 32 -2147483648 2147483647-2 2 -13131unsigned int 16 0 65535 0 2 -116unsigned short int 16 0 65535 0 2 -116unsigned long int 32 0 4294967295 0 2 -132有有无无有有 float323.4e-37 3.4e38有有 double641.7e-307 3.4e308整型整型实型实型字符型字符型有有 char8-128 127无无unsigned char80

3、 2552021-11-342.2 常量和变量常量和变量一、常量一、常量l 定义:程序运行时其值不能改变的量定义:程序运行时其值不能改变的量(即常数即常数) 定义格式:定义格式:#define 符号常量符号常量 常数常数l 分类:分类:直接常量直接常量(字面常量字面常量)符号常量:用标识符代表常量符号常量:用标识符代表常量 整型常量:整型常量:-3、2、54 实型常量:实型常量:4.3、-3.2 字符常量:字符常量:a、b、c 字符串常量:字符串常量:“student”、“abc”如如 #define PRICE 30 一般用大写字母一般用大写字母 是宏定义序处理命令,不是是宏定义序处理命令,

4、不是C+语句语句2021-11-352.2 常量和变量常量和变量一、常量一、常量例例 符号常量举例符号常量举例#include using namespace std;#define RADIUS 10#define PI 3.1415926main() float area, circle; area = PI * RADIUS * RADIUS; cirlce = 2 * PI * RADIUS; cout“area = ”areaendl; cout“circle =”cirlceendl;运行结果: area = 314.6 circle = 62.8使用符号常量的好处使用符号常量的好

5、处:1、含义清楚、含义清楚2、修改简单、修改简单运行结果: area = 1258.4 circle = 125.6202021-11-362.2 常量和变量常量和变量一、常量一、常量l整型常量整型常量(常整数常整数)三种形式三种形式十进制十进制整数:由数字整数:由数字09和正负号表示,如和正负号表示,如123、-2八进制八进制整数:由数字整数:由数字0开头,后跟数字开头,后跟数字07表示,如表示,如 0123、011十六进制十六进制整数:由整数:由0 x开头,后跟开头,后跟09、af、AF表表 示,如示,如0 x123、0 xFF123 = 1230123 = 830 x123 = 2912

6、021-11-372.2 常量和变量常量和变量一、常量一、常量1111110000000000unsigned int1111110000000000unsigned short11111100000000000000000000000000unsigned long111111000000000 0int111111000000000 0short111111000000000 00000000000000000long符号位符号位l整型常量整型常量(常整数常整数)整数在内存中的存储情况(以整数在内存中的存储情况(以63为例)为例)2021-11-382.2 常量和变量常量和变量一、常量一、

7、常量十进制形式:十进制形式:如:如:0.123、-123.3、34.0(必须有小数点必须有小数点)指数形式:如:指数形式:如:12.3e2、123E3、e-5、1.2E3.5(e或或E 之前后都必须有数字;指数必须为整数之前后都必须有数字;指数必须为整数)l实型常量实型常量(实数或浮点数实数或浮点数)表示形式表示形式2021-11-392.2 常量和变量常量和变量一、常量一、常量l实型常量实型常量(实数或浮点数实数或浮点数)实数在内存中的存储情况实数在内存中的存储情况指数小数部分数符有效数据有效数据范围范围实数在内存中以指数形式表示实数在内存中以指数形式表示3.141592-314.15920

8、.031415921.314159+3.314159-2.314159+2021-11-3102.2 常量和变量常量和变量一、常量一、常量l字符常量字符常量普通字符常量:普通字符常量:用单引号括起来的单个普通用单引号括起来的单个普通字字符符a A ? n转义字符:反斜线后面跟转义字符:反斜线后面跟一个字符或一个代码值表示。一个字符或一个代码值表示。转义字符转义字符含义含义转义字符转义字符含义含义n换行换行t水平制表水平制表v垂直制表垂直制表b退格退格r回车回车f换页换页a响铃响铃反斜线反斜线单引号单引号ddd3位位8进制数代表的字符进制数代表的字符“双引号双引号xhh2位位16进制数代表的字符

9、进制数代表的字符2021-11-3112.2 常量和变量常量和变量一、常量一、常量l字符常量字符常量并不是把该字符本身放到内存单元并不是把该字符本身放到内存单元中中而是将该字符相应的而是将该字符相应的ASCII代码放到存储单元中代码放到存储单元中c1 = a; c2 = b; 一定一定条件下,字符型数据条件下,字符型数据和整型和整型数据可以通用。数据可以通用。 字符数据只占一个字节,字符数据只占一个字节,其范围是其范围是0255字符数据在内存中的存储形式及其使用字符数据在内存中的存储形式及其使用方法方法2021-11-3122.2 常量和变量常量和变量一、常量一、常量例例 字符数据与整数进行算

10、术运算。下面程序字符数据与整数进行算术运算。下面程序的作用是将小写字母转换为大写字母。的作用是将小写字母转换为大写字母。#include using namespace std;int main( ) char c1,c2; c1=a; c2=b; c1=c1-32; c2=c2-32; coutc1 c2endl; return 0;运行结果: A B2021-11-3132.2 常量和变量常量和变量一、常量一、常量l字符字符串串常量常量用双撇号括起来的部分就是字符串常量用双撇号括起来的部分就是字符串常量abc,Hello!,a+b,Li ping编译系统会在字符串最后自动加一个编译系统会在

11、字符串最后自动加一个0作为字符串作为字符串结束标志。但结束标志。但0并不是字符串的并不是字符串的一部分。一部分。2021-11-3142.2 常量和变量常量和变量二、变量二、变量l概念:其值可以改变的量概念:其值可以改变的量l变量用标识符变量用标识符(变量名变量名)表示,在内存中占一定存储空间。表示,在内存中占一定存储空间。l变量的定义方法变量的定义方法变量变量 变量名变量名 存储单元存储单元 表示值数据类型数据类型 变量名变量名1, 变量名变量名2, , 变量变量n;决定分配字节数和数的表示范围合法标识符例: int a,b,c; float data; char ch; long e, f

12、;2021-11-3152.2 常量和变量常量和变量二、变量二、变量l变量初始化:定义时赋初值变量初始化:定义时赋初值例例: int a=2; float data=3.6; char ch=A;例例: int a=2,b,c=4; int x=y=z=1; int a; float data; char ch; a = 2; data = 3.6; ch = A;int x=1, y=1, z=1;地址地址adatach2字节字节地址地址地址地址内存内存4字节字节1字节字节23.665编译程序根据变编译程序根据变量定义为其分配量定义为其分配指定字节的内存指定字节的内存单元单元2021-11-

13、3162.2 常量和变量常量和变量二、变量二、变量l注意事项注意事项先定义,后使用先定义,后使用。不同类型数据有不同的操作不同类型数据有不同的操作C语言要求变量的定义应该放在所有的执行语句语言要求变量的定义应该放在所有的执行语句之前之前C+则放松了限制,只要求在第一次使用该变量之前则放松了限制,只要求在第一次使用该变量之前进行定义即可进行定义即可例例1 int student; stadent=19; /Undefined symbol stadent in function main 例例2 float a,b,c; c=a%b; /Illegal use of floating point

14、 in function main 2021-11-3172.2 常量和变量常量和变量二、变量二、变量l常变量常变量在定义变量时,如果加上关键字在定义变量时,如果加上关键字const,则变量的值在,则变量的值在程序运行期间不能改变程序运行期间不能改变,这种变量称为常变量,这种变量称为常变量(constant variable)。const int a = 3;常变量定义时,必须赋初值常变量定义时,必须赋初值 const int a; a = 32021-11-3182.2 常量和变量常量和变量二、变量二、变量l常变量常变量 #define定义的常量与定义的常量与const定义的常变量的区别定义

15、的常变量的区别 #define是预处理命令,其目的是是预处理命令,其目的是用一个符号代替一用一个符号代替一个字符串,在预编译时把所有符号常量替换为所指个字符串,在预编译时把所有符号常量替换为所指定的字符串定的字符串,常量没有,常量没有类型,在内存中并不存在以类型,在内存中并不存在以符号常量命名的存储单元符号常量命名的存储单元。 const定义的变常量定义的变常量具有具有变量的特征,它具有类型,变量的特征,它具有类型,在内存中存在着以它命名的存储单元,可以用在内存中存在着以它命名的存储单元,可以用sizeof运算符测出其长度运算符测出其长度。与一般变量惟一的不同是指定与一般变量惟一的不同是指定变

16、量的值不能改变变量的值不能改变。 用用#define命令定义符号常量是命令定义符号常量是C语言所采用的方法,语言所采用的方法,C+把它保留下来是为了和把它保留下来是为了和C兼容。兼容。C+的程序员一的程序员一般喜欢用般喜欢用const定义常变量。定义常变量。#include using namespace std;#define RADIUS 10#define PI 3.1415926main() float area; area = PI * RADIUS * RADIUS; cout“area = ”areaendl;2021-11-3192.3 几种基本运算符及其表达式几种基本运算符及

17、其表达式C+运运算算符符算术运算符:算术运算符:+ - + - * * / % + - / % + -关系运算符:关系运算符: = != = !=逻辑运算符:逻辑运算符:! & |! & |位运算符位运算符 : | & | &赋值运算符:赋值运算符:= = 及其扩展及其扩展条件运算符:条件运算符:?:?:逗号运算符:逗号运算符:, ,指针运算符:指针运算符:* * & &求字节数:求字节数:sizeofsizeof强制类型强制类型转换:转换:( (类型类型) ) 或或 类型类型()()分量运算符:分量运算符:. -. -下标运算符:下标运算符:其

18、其 它:函数调用运算符它:函数调用运算符()()2021-11-3202.3 几种基本运算符及其表达式几种基本运算符及其表达式一、算术运算符及表达式一、算术运算符及表达式l算术运算符:算术运算符:+(加加) -(减,负值运算减,负值运算) *(乘乘) /(除除) %(取余取余)双目运算双目运算(负值运算属于单目运算负值运算属于单目运算)优先级优先级:-(负值运算负值运算) * / % + - (减减)注注意意 两个整数相除,结果为整数两个整数相除,结果为整数 除数和被除数中有一个为实数时,结果为除数和被除数中有一个为实数时,结果为double型型 %运算只能对整型数运算只能对整型数 %运算结果

19、的符号与被除数符号一致运算结果的符号与被除数符号一致例 5/2 = 2 -5/2.0 = -2.5例 5%2 = 1 1%10 = 1 4%2 = 0 4%3.1 = 例 -7%4 = -3 7%-4 = 3 -7%-4 = -32021-11-3212.3 几种基本运算符及其表达式几种基本运算符及其表达式一、算术运算符及表达式一、算术运算符及表达式l自增、自减运算符:使变量的值增自增、自减运算符:使变量的值增1或减或减1的运算符。的运算符。i+ i- (先使用先使用i,再进行加,再进行加1或减或减1运算运算)+i -i (先进行加先进行加1或减或减1运算,再使用运算,再使用i)例例 j=3;

20、 k=+j; j=3; k=j+; j=3; printf(“%d”,+j); j=3; printf(“%d”,j+); a=3;b=5;c=(-a)*b; a=3;b=5;c=(a-)*b; /k=4, j=4/k=3, j=4/4/3/c=10, a=2/c=15, a=22021-11-3222.3 几种基本运算符及其表达式几种基本运算符及其表达式二二、赋值运算符及表达式、赋值运算符及表达式l简单赋值运算符:简单赋值运算符:符号:符号:=格式:变量格式:变量 = 表达式表达式作用:将表达式作用:将表达式(常量、变量、函数等常量、变量、函数等)的值赋给变量的值赋给变量 例:例: a=5; b=a; c=(a+b)/5; d = sin(a);l复合赋值运算符:复合赋值运算符:种类:种类:+= -= *= /= %= = &= = |=含义:含义:exp1 op= exp2 exp1 = exp1 op exp2作用:使程序精炼、提高编译效率作用:使程序精炼、提高编译效率例:例:a+=3 a = a +3 x *=y+8 x = x*(y+8) x %=3

温馨提示

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

评论

0/150

提交评论