第03章数据类型、运算符与表达式.ppt
《第03章数据类型、运算符与表达式.ppt》由会员分享,可在线阅读,更多相关《第03章数据类型、运算符与表达式.ppt(76页珍藏版)》请在三一办公上搜索。
1、第三章 数据描述与基本操作(数据类型、运算符与表达式),数据类型常量与变量运算符和表达式不同类型数据间的转换,数据类型的定义数据类型的分类 各种数据类型的特点,数据类型(按照数据的表示形式,范围(占据存储空间的大小(bits,字节),构造特点等将数据分类),1、数据分类原因?,减少空间占用,提高存储效率 大人大床、小人小床,便于对现实问题编程描述 性别、身高,产品型号、等级,C规定:程序中使用的每一个数据都属于某一种类型,数据类型的分类,分类,基本类型,构造类型,指针类型,空类型void,整型,实型,短整型short,整型int,长整型long,单精度float,双精度double,数值型,字
2、符型char,枚举型enum,数组型,结构型struct,共用型union,文件型FILE,类型说明符,在程序中对所用到的数据均属于特定类型,数据类型决定:1.数据占内存字节数2.数据取值范围3.其上可进行的操作,基本数据类型,整型,字符型,实型,有,无,有,float,32,-3.4e-383.4e38,说明:数据类型所占字节数随机器硬件不同而不同,上表以IBM PC机为例:,返回,常量定义:程序运行时其值不能改变的量(即常数)分类:直接常量:从字面即可判别其类型,3,5.7,+整型常量 实型常量 字符常量 字符串常量,符号常量:用标识符代表常量定义格式:#define 符号常量(标识符,大
3、写)直接常量 如#define PRICE 30(预处理语句,不加分号),例 符号常量举例(ch2_1.c)#define PRICE 30main()int num,total;num=10;total=num*PRICE;printf(total=%d,total);总结:使用符号常量的优点1、2,运行结果:total=300,标识符定义:用来标识变量、常量、函数等的字符序列组成:只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线大小写敏感不能使用关键字长度:最长32个字符命名原则:见名知意不宜混淆 如l与I,o与0,例:判断下列标识符号合法性sum Sum M.D.John d
4、ay Date 3days student_name#33 lotus_1_2_3 char ab _above$123,M.D.John,3days,#33,char,$123,ab,整型常量(整常数)三种形式:十进制整数:由数字09和正负号表示.如 123,-456,0八进制整数:由数字0开头,后跟数字07表示.如0123,011十六进制整数:由0 x开头,后跟09,af,AF表示.如0 x123,0Xff,例 12 与 12L,例 30000 为int型 65536 为long int 型,整型常量的类型根据其值所在范围确定其数据类型在整常量后加字母l或L,认为它是long int 型常
5、量,问题2:0123=()100 x123=()100Xff=()10,问题1:判正误E1,098,0XK,实型常量(实数或浮点数)表示形式:十进制数形式:(必须有小数点)如0.123,.123,123.0,0.0,123.指数形式:(e或E之前必须有数字;指数必须为整数)如12.3e312.3*10 3(日常),123E2,实型常量的类型默认double型在实型常量后加字母f或F,认为它是float 型,例:以下为合法实型常量的是(考察实型常量表示方法).123,0,0.0,e3,1e3.5,规范化的指数形式 1.23e212.3e10.123e3,1.23e2,aaa,9,字符常量定义:用
6、单引号括起来的单个普通字符或转义字符.,字符常量的值:该字符的ASCII码值,如 101-A 012-n 376-x61-a 60-0 483-(),例:A-101-x41-65,如 A65,a97,048,n10,如 a A?n 101,转义字符:反斜线后面跟一个字符或一个代码值表示,例 转义字符举例(ch2_001.c,ch2_004.c)main()printf(101 x42 Cn);printf(I say:How are you?n);printf(C Programn);printf(Turbo C);,运行结果:(屏幕显示)A B CIsay:”How are you?”C P
7、rogramTurbo C,例 main()printf(“Yb=n”);,运行结果:屏幕显示:=打印机输出:,字符常量与字符串常量不同,字符串常量定义:用双引号(“”)括起来的字符序列存储:每个字符串尾自动加一个 0 作为字符串结束标志,例:char ch;ch=“A”;,变量的定义、属性、使用方法,从存储的角度:变量名可以看作存储单元的别名 编译系统按照变量名称对存储 单元的数据进行存取管理。,变量含义,其值可以变化的量(数据连同其存储空间被抽象为变量),变量属性,变量名 变量值 变量类型 变量的地址,&变量名,a+3-b=2,3,4,0,a,b,c,存储的概念,运算 c=a+b 后,7,
8、-1,运算 c=a-b 后,a=3 b=4 c=0,注:c规定:要对所用到的变量作说明,说明方法:类型标识符 变量名列表(用,分隔),int float char等,标识符,例:int a,b,c;c=a+b,区分大小写字母;,变量定义时的注意事项:,不得使用保留字;,见名知义;,如同给人起名字一样,保留字/非法字符/长度,判断:a1b2c、axy、a_b_c、name、max、_min、print、sum SUM_bob$、123x、x-y、#1x、a3.456 if,变量赋初值(在定义变量的同时可对变量赋值,变量初始化),形式:类型说明符 变量名=数值;例:int a=3;比较:int c
9、;int c;,任意值,c,6,c,=6,int c=6;,int c;c=6;,int a,b=4;int a=b=c=3;,整型变量占字节数随机器不同而不同,一般占一个机器字shortintlong可用sizeof(类型标识符)测量,实型变量float:占4字节,提供7位有效数字double:占8字节,提供1516位有效数字,字符型变量字符变量存放字符ASCII码char与int数据间可进行算术运算,例 float a;a=111111.111;/*a=111111.1*/double b;b=111111.111;/*b=111111.111*/,例 a=D;/*a=68;*/x=A+5
10、;/*x=65+5;*/s=!+G/*s=33+71;*/,没有字符串变量,用字符数组存放,例/*ch2_003.c*/#define PRICE 12.5 main()int num=3;float total;char ch1,ch2=D;total=num*PRICE;ch1=ch2-A+a;printf(“total=%f,ch1=%cn”,total,ch1);,运行结果:total=37.500000,ch1=d,回顾,1、不同类型数据的表数范围如何得出?,决定因素:所占空间,存储形式,一位存储空间能表示两种不同状态 0,1两位存储空间能表示四种不同状态 00,01,10,11n位
11、存储空间能表示 种不同状态,21,22,2n,存储形式:以int(16位)为例,分为无符号和有符号存储,所有位均用来存储数值,最小值为0,最大值为,(2n-1)=65535,第一位用来存储符号位,其余位(15)用来存储数值,所能表示的状态215=2n-1,可表示032767(2n-1-1)或(-32768-1),即(-3276832767),问题2、数据在内存中的存储形式?,1、浮点存储 定点存储 2、符号位3、以二进制的补码形式存储,aaa,20,字符常量定义:用单引号括起来的单个普通字符或转义字符.,字符常量的值:该字符的ASCII码值,如 101-A 012-n 376-x61-a 60
12、-0 483-(),例:A-101-x41-65,如 A65,a97,048,n10,如 a A?n 101,转义字符:反斜线后面跟一个字符或一个代码值表示,例 转义字符举例(ch2_001.c,ch2_004.c)main()printf(101 x42 Cn);printf(I say:How are you?n);printf(C Programn);printf(Turbo C);,运行结果:(屏幕显示)A B CIsay:”How are you?”C ProgramTurbo C,例 main()printf(“Yb=n”);,运行结果:屏幕显示:=打印机输出:,字符型数据,字符型
13、变量,char 变量名列表(以,分隔);,例:char a,b;char c=A,d=B;,定义方式,字符型数据在内存的存储形式,1、存储字符的ASC 码 2、定点存储 3、占1个字节,参阅书后附录I ASCII字符编码一览表,字符型与整型之间的关系?,01 10 00 01,例:char c=a;,字符a的ASC 值是 97,思考 int c=97;,01 10 00 01,00 00 00 00,结论c语言中字符型数据和整型数据之间可以通用,1、字符型数据可以字符形式输出,也可以整数形式输出,char c=a;printf(“%c,%d”,c,c);,输出结果:a,97,a,97,2、整型
14、数据可以字符形式输出,int d=97;printf(“%c”,d);,输出结果:a,3、字符型数据也可以整数(ASCII)参加运算,具体表现如下,a+3,100,例:编程从键盘输入一英文小写字母输出其大写字母;,main()char c;scanf(“%c”,,b,c,66,98,B,66,字符常量与字符串常量不同,字符串常量定义:用双引号(“”)括起来的字符序列存储:每个字符串尾自动加一个 0 作为字符串结束标志,例:char ch;ch=“A”;,没有字符串变量,用字符数组存放,“how”“a”“345.9”“44444$”,返回,运算符与表达式,基本概念,运算:即操作,指计算机对数据所
15、做的加工,例:加,减等 运算符:人为规定的计算机完成某种运算的特定符号+,*,%(注:不同的语言,有所不同)运算量(操作数):被运算(加工)的对象,可以是 常量,变量,及表达式。例:3+5,3/(a+5)表达式:由运算符和运算量组成的符合 c语法规则的式子 描述了对那些数据,以什么样的顺序(优先 级、结合性)及进行 什么样的操作。每个 表达式都有一个值,例:3+5*6/2,值:18,C语言的运算符,算术+、-、*、/、%、+、-,关系、=、=、!=,赋值=、+=、-=、*=、/=、%=,条件?:,逗号,,指针运算*、&,逻辑!、&、|,其他,运算符的特点,形式及功能,要求运算对象的数量和类型,
16、单目,双目 f+5 sd,三目 ab?a+4:b-6,先看优先级,后考虑结合方向*,附录III,a-b*c,a*b/c(a*b)/c,*,/具有左结合性(自左至右),a=b=c=3,等价a=(b=(c=3),=具有右结合性(自右至左),&d!x,乘:*3*5,注意类型:%:int,*的优先级高于+,1、赋值运算符与赋值表达式,形式,=,功能,将数据(常量,变量,表达式的值及函数的返回值)等赋给一个变量,形式:变量=数据 赋值表达式,双目运算符,例1:int a;a=3;,3,a,例2:int a=3,b=5,c=6;a=b*c;a=b=c;,优先级结合性?,赋值表达式的值及值的类型,赋值运算符
17、的优先级及结合性,例2:int a=3,b=5,c=6;a=b*c;a=b=c;,优先级:较低,仅高于逗号运算符,结合性:右结合性,自右向左,值:被赋值后变量的值类型:与被赋值的变量的类型相同,30,6,6,a=(b=c);,思考:int a;a=5.7;是否允许?,a=(b*c);,a,5,结论;C语言允许赋值号两端变量的类型与数据的类型不一样,C编译系统会自动将数据的类型转变为变量的类型。,例:int a;a=3.67;printf(“%d”,a);printf(“%f”,a);,a,3,3,3.000000,2、算术运算符与表达式,求余数,47%5,基本形式及功能,+,-,*,/,%(求
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03 数据类型 运算 表达式

链接地址:https://www.31ppt.com/p-5885989.html