单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,程序设计基础,主讲:李维勇,移动应用开发教研室,程序设计基础主讲:李维勇,数据类型,运算符与表达式,3,数据类型3,教学内容,3.1 C,的数据类型,3.2,常量与变量,3.3,整型数据,3.4,实型数据,3.5,字符型数据,3.6,变量赋初值,3.7,各类数值型数据间的混合运算,3.8,算术运算符和算术表达式,3.9,赋值运算符和赋值表达式,3.10,逗号运算符和逗号表达式,教学内容3.1 C的数据类型,教学要求,1,掌握,C,的几种基本数据类型。,2,掌握标识符的概念,熟悉变量和符号常量先定义后使用特点。,3,熟练掌握整型、长整型、短整型、无符号整型数据的定义与存储特点。,4,熟练掌握单精度、双精度浮点数的定义与存储特点。,5,熟练掌握字符型数据的的定义与存储特点,并熟悉整型数据与字符型数据间的关系。,6,掌握定义变量的同时,赋初值的方法。,7,掌握不同类型数据间的混合运算规则。,8,掌握不同运算符(算术、关系、逻辑运算符等)的使用特点、清楚每种运算符的优先级与结合性,.,9,掌握各种表达式的含义与使用要点。,教学要求 1掌握C的几种基本数据类型。,3.1 C,的数据结构,整型,字符型,实型,(浮点型),枚举型,数组类型,结构体类型,共用体类型,单精度型,双精度型,基本类型,构造类型,指针类型,空类型,数据类型,数据类型决定:,1.,数据占内存字节数,2.,数据取值范围,3.,其上可进行的操作,3.1 C的数据结构整型字符型实型(浮点型)枚举型数组,3.2,常量与变量,3.2.1,常量与符号常量,常量,:在程序运行过程中,其值不变的量,分类,:,整型,、,实型,、,字符型,、,字符串型,注意:常量无须定义,符号常量,:,定义格式:,#define,标识符 常量,注意:,一般在程序的开头定义 符号常量一般用大写,常量可以是任何类型 结尾处无分号,优点:含义清楚 修改方便,例,3.1,3.2 常量与变量3.2.1 常量与符号常量例 3,3.2,常量与变量,3.2.2,变量,变量,:在程序运行过程中,其值发生改变的量,变量有变量名和变量值,注意:,1.,变量必须先定义再使用,2.,变量名通常小写,以与符号常量区别,3.,变量名遵守标识符书写格式,4.C,区分大小写格式,5.,变量名长度一般小于,8,个字符,且见名知意,标识符书写格式:,由字母、数字和下划线组成,且第一个,字符必须为字母或下划线。,注意:标识符不能取,C,语言,保留字,。,3,存储单元,变量值,变量名,int a;,3.2 常量与变量3.2.2 变量3存储单元变量值变,举例:,main(),int a,b;,a=2,b=3;,c,=a+,B,;,P,rintf(“%d”,c);,例:判断下列标识符号合法性,sum Sum M.D.John day Date 3days student_name#33 lotus_1_2_3 char ab,above$123 a-b,3.2,常量与变量,举例:例:判断下列标识符号合法性3.2 常量与变量,3.3,整型数据,3.3.1,整型常量的表示方法,包括:正整数、,0,、负整数,十进制:通常整数的写法,12,、,0,、,-56,八进制:在数字前加,0,012,、,-011,十六进制:在数字前加,0 x,0 x5,、,-0 x14,必须掌握数制之间的转换,例,1,main(),int a,,,b,,,c,;,a=10,;,b=010,;,c=0 x10,;,printf,(“,%d,,,%d,,,%d n”,,,a,,,b,,,c),;,运行结果:,10,8,16,3.3 整型数据3.3.1 整型常量的表示方法必须掌,3.3,整型数据,3.3.2,整型变量,1.,整型数据在内存中的存放形式,二进制补码形式,int i=10,;,int i=-10,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,符号位,必须掌握原码、反码和补码的概念,3.3 整型数据3.3.2 整型变量00000000,3.3,整型数据,3.3.2,整型变量,2.,整型变量的分类,基本整型:,int,短整型:,short int,长整型:,long int,注意:,对无符号数没有符号位。,ANSI,标准定义的整数类型,各分为有符号,signed,无符号,unsigned,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,int a;,unsigned int b;,a=-1;b=65535;,3.3 整型数据3.3.2 整型变量各分为有符号si,3.3,整型数据,3.3.2,整型变量,3.,整型变量的定义,格式:,数据类型 变量名,;,例如:,int a,,,b,;,unsigned short c,;,例:,3.2,变量的定义一般放在函数的开头,部分的说明部分,main(),int a,b=2;,a=1;,int data;,data=(a+b)*1.2;,printf(“data=%dn”,data);,记住:,1.,数据类型决定分配给变量的字节数和表示范围;,2.,变量名须是合法标识符,3.3 整型数据3.3.2 整型变量例:3.2变量的,3.3,整型数据,3.3.2,整型变量,4.,整型数据的溢出,数据长度:,数据在内存中所占的字节数,不同的数据类型数据长度不同,例:,3.3,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,int a=32767;,int b=a+1;,/-3276832767,a=32767,b=-32768,3.3 整型数据3.3.2 整型变量例:3.3011,3.3,整型数据,3.3.3,整型常量的类型,一个整数值在,-2,15,(,2,15,-1,):,int,、,long,一个整数值在,-2,32,(,2,32,-1,):,long,若,short,与,int,在内存中占字节数相同,,int,与,short,等价,常量无,unsigned,类型,在常量后加上,l,(,L,),认为是,long int,注意区分:,0,和,0L,3.3 整型数据3.3.3 整型常量的类型注意区分:,3.4,实型数据,3.4.1,实型常量的表示方法,书写方法:,一般形式:,整数,.,小数,如:,12.35,.25,.,指数形式:尾数,e/E,指数 如:,2.57e2,25.7e1,0.0257e4,.,注意:,e/E,前必须有数字,指数必须是短整型常量,占,4,个字节,范围在,-10,38,10,38,,,7,位有效数字,规范化指数:,1=,尾数,10,系统默认输出方式,例,2,main(),float f;,f=1999.35;,printf(“%f,%e n”,f,f);,运行结果,:1999.35,1.99935e3,注意,:,小数点不可缺省,3.4 实型数据3.4.1 实型常量的表示方法例 2,3.4,实型数据,3.4.2,实型变量,1.,实型数据在内存中的存放形式,实数以规范化,指数形式存放,占,4,个字节。,数符,小数部分,指数,1,位,24,位,8,位,注:,小数部分占位越多,精度越高;指数部分占位越多,数值范围越大。,+,.2576,3,257.6,在内存中的存放形式,3.4 实型数据3.4.2 实型变量数符小数部分指数,3.4,实型数据,3.4.2,实型变量,2.,实型变量的分类,类 型,比特数,有效数字,数值范围,float,32,67,10,-37,10,38,double,64,1516,10,-307,10,308,long double,128,1819,10,-4931,10,4932,3.,实型数据的舍入误差,由于存储数据的存储单元有限,造成数据被舍去而产生误差,例:,3.4,3.4 实型数据3.4.2 实型变量类 型比特,3.4,实型数据,3.4.3,实型常量的类型,系统处理方式,:,将数据按双精度计算,然后将结果根据变量的类型进行自动截取,若数字后加,f,,系统将按单精度计算,。,如:,float a;,a=111111.111f,则,a=111111.1,(,7,位有效数字),3.4 实型数据3.4.3 实型常量的类型float,3.5,字符型数据,3.5.1,字符常量,书写方法:,用两个,括住,单,个字符,如,:a,?,n,012,等,注意:,转义字符,形式:,表示,、,表示,等,占,1,个字节,具体存放该字符的,ASC,代码值,整数在,0,128,之间,可与字符常量通用,例:,3.5,例:,main(),printf(“%c,%c,%c,%c n”,A,101,0101,0 x41);,运行结果,:,A,A,A,A,3.5 字符型数据3.5.1 字符常量例:3.5例,3.5,字符型数据,3.5.1,字符常量,例 转义字符举例,(ch2_001.c,ch2_004.c),main(),printf(101 x42 Cn);,printf(I say:,How are you?,n);,printf(,C Program,n);,printf(Turbo,C,);,运行结果:,(,屏幕显示,),A B C,Isay:”How are you?”,C Program,Turbo C,3.5 字符型数据3.5.1 字符常量例 转义字符,3.5,字符型数据,3.5.2,字符变量,作用:,用来存放,一个,字符,定义形式:,char,变量名,;,注意:,一个字符变量只能存放一个字符,在内存中分配一个字节存放,.,char s1=a;,char s2=97;,等价,3.5 字符型数据3.5.2 字符变量等价,3.5,字符型数据,3.5.3,字符数据在内存中的存储形式及其使用方法,将一个字符常量放在一个字符变量中,不是将字符本身放入内存,而是将该字符对应的,ASC,放入内存单元中,因此,,C,语言中字符型与,整型,数据可以通用,。,%c,字符变量格式控制符,例,:,3.6,3,.,7,3.5 字符型数据3.5.3 字符数据在内存中的存,3.5,字符型数据,3.5.4,字符串常量,字符串常量是一对,双引号,