C语言基本数据类型与表达式.ppt

上传人:小飞机 文档编号:6503804 上传时间:2023-11-07 格式:PPT 页数:50 大小:2.21MB
返回 下载 相关 举报
C语言基本数据类型与表达式.ppt_第1页
第1页 / 共50页
C语言基本数据类型与表达式.ppt_第2页
第2页 / 共50页
C语言基本数据类型与表达式.ppt_第3页
第3页 / 共50页
C语言基本数据类型与表达式.ppt_第4页
第4页 / 共50页
C语言基本数据类型与表达式.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《C语言基本数据类型与表达式.ppt》由会员分享,可在线阅读,更多相关《C语言基本数据类型与表达式.ppt(50页珍藏版)》请在三一办公上搜索。

1、C语言与程序设计,虚拟地理环境教育部重点实验室(南京师范大学)2010年2月-6月,主讲教师:张雪英,第1章 数据类型、运算符与表达式,2.1 C语言的语法基础2.2 C语言的基本数据类型2.3 常量和变量2.4 运算符与表达式2.5 数据类型转换,数据:对数据的描述,即数据结构。在C语言中,系统提供的数据结构,是以数据类型的形式出现的。执行操作:对数据处理的描述,即计算机算法。算法是为解决一个问题而采取的方法和步骤,是程序的灵魂。著名计算机科学家沃思(Nikiklaus Wirth)提出一个公式:程序设计方法+语言工具和环境+数据结构+算法=程序,程序的组成,算法是灵魂,数据结构是加工对象,

2、语言是工具,编程需要采用合适的方法。算法是解决“做什么”和“怎么做”的问题。程序中的操作语句,实际上就是算法的体现。算法处理的对象是数据,而数据是以某种特定的形式存在的(例如整数、实数、字符等形式)。不同的数据之间往往还存在某些联系(例如由若干个整数组成一个整数数组)。数据结构指的是数据的组织形式。,程序的组成,2.1 语言的语法基础,(4)特殊符号:通常由12个符号组成,主要用 来表示运算符。,、C语言字符集(参见教材P19),C语言的基本符号可分4个类,归纳如下:,(1)英文字母:大小写各26个,共计52个;,(2)阿拉伯数:0、1、2、3、4、5、6、7、8、9 共10个数字;,(3)下

3、划线:_;,第二章 2.1 C语言数据类型,例如:,算术运算符:+-*/%+-,关系运算符:=!=,逻辑运算符:&|!,位运算符:&|,条件运算符:?:和赋值运算符:=,其他分隔符:().,;,2.1.2 标识符(*),概念:就是用来标识变量名、符号常量名、函数名、类型名、文件名等的有效字符序列。,(1)标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。,定义规则:,如:_1 year month student_name sum0 M.D.Jones$123#a 3b?c a=b,(2)在C语言中,大小写字母不等效。因此,a和A,I和i,Sum和sum,分别是两个不

4、同的标识符。,(3)用户自定义的标识符不能与保留字(关键字)同名。,保留字,2.1.3 关键字,概念:就是具有特定含义的标识符,用户不能用来作自定义标识符。,C语言中的关键字较少,由ANSI标准推荐的关键字有32个。,(1)与数据类型有关的(14):char int float double signed unsigned short long void struct union typedef enum sizeof,(3)与程序控制结构有关的(12):do while for if else switch case default goto continue break return,(2

5、)与存储类别有关的:auto extern register static,2.2 基本数据类型,5,整型数据,值为5,算术运算,0.5,实型数据,值为0.5,算术运算,原始数据,相同的特性,同一数据类型,数据分类、处理,12,基本数据类型,数据属于不同类别,Africa,The quick brown fox,TRUE,数据,非数值,数值,整型,非整型,9002.12,999,9/12/2003,2.175,123,Jackie Chan,char,数据类型,非数值,数值,整型,int,short int,long int,double,float,非整型,2.2.1 数据类型概述,三种表现

6、形式,十进制形式:与数学上的整数表示相同。例如:12,-100,0,八进制形式:在数码前加数字0。例如:012=1*81+2*80=10(十进制),十六进制形式:在数码前加0X(数字0和字母X,大小写均可)。例如:0 x12=1*161+2*160=18(十进制),整型,十六进制的数码除了数字0-9外,还使用英文字母a-f(或A-F)表示10-15。如:0 x1e、0Xabcdef、0 x1000 但:0X2defg、0 x100L都是错误的。,注意事项:,八进制的数码范围为0-7;则:018、091、0A2 都是错误的数据表示方法。,2.2.3 实型,二种表现形式:,十进制形式:由数字和小数

7、点组成;,指数形式:由“十进制小数”+“e(或E)”+“十进制数整数”三部分组成。,例如:3.4 4.3,例如:12.5e-6 表示12.510-6,十进制小数,e(或E),十进制数整数,注意事项:,小数点不能单独出现;,e或E的两边必须有数,且其后面必须为整数;,如:0.=.0=0=0.0.,如:6E0.2 e5 6E,二种表现形式:,用单引号括起来的一个字符;,用单引号括起来的由反斜杠()引导的转义字符。,如:A、1、?等。,如:n 101 x41,在统计字符个数时,只能记为一个字符,只能是英文的单引号,字符型,转义字符表,字符形式,功能,n,换行,t、V,横向跳格、,b、r,竖向跳格,退

8、格、,f,回车,、,8进制数表示的ASCII码对应的字符,反斜杠、单引号、双引号,ddd,换页,xhh,16进制数表示的ASCII码对应的字符,一个字符的多种表示方法:,65D(十进制)=41H(十六进制)=101Q(八进制)字符A可以表示为A、x41、101、65、0 x41、0101。,要避免的错误:,表示单引号:表示双引号:表示斜线:,例2-1:,main(),printf(”abc tde rf tg n);,printf(h ti b bjk);,/*注代表空格*/,设一个输出区占8列,试分析输出结果。,字符的值域:,即字符的取值范围。,0-127或0-255,ASCII字符表中的所

9、有字符,每个字符型数据在内存中占一个字节,包括可显示字符和非显示字符。,2.3 常量与变量,2.3.1 常量与符号常量,1.直接常量:是在程序中直接引用的数据。,分为:整型、实型、字符型、字符串,以数据的原形出现!,26,程序,编写程序时,常常需要将数据存储在内存中,方便后面使用这个数据或者修改这个数据的值。,通常使用变量来存储数据。使用变量可以引用存储在内存中的数据,并随时根据需要显示数据或执行数据操纵。,存储 Rate,Rate*5%,将值存储为DiscAmt,Rate-DiscAmt,10,0.5,将值存储为Result,9.5,变量与常量,在 C 语言中,变量命名需要遵循一定的规则,有

10、效名称,principal,cost_price,marks_3,lastname,city,无效名称,123rate,currency$,discount%,zip code,变量的命名规则:变量名可以由字母、数字和 _(下划线)组合而成变量名不能包含除 _ 以外的任何特殊字符,如:%、#、逗号、空格等变量名必须以字母或 _(下划线)开头变量名不能包含空白字符(换行符、空格和制表符称为空白字符)C 语言中的某些词(例如 int 和 float 等)称为保留字,具有特殊意义,不能用作变量名C 语言区分大小写,因此变量 price 与变量 PRICE 是两个不同的变量,2字符串常量,字符串常量在

11、机器内存储时,系统会自动在字符串的未尾加一个“字符串结束标志”,它是转义字符0。该结束标志在内存中占用一个字节,但不记入字符串长度。,在C语言中,用一对双引号括起来的零个或多个字符序列称为字符串。例如:”LiMing”、”Hello”。,字符串的长度是指该字符串的字符个数,不包括双引号。例如以上两个字符串的长度分别为6和5。,3.符号常量:,特点:在程序中不能给它赋值。,概念:是用标识符来表示一个数据。,定义形式:,#define 标识符 常量数据,例如:#define PI 3.14159,在程序预处理时,凡是出现标识符PI的地方都将用数据3.14159来替换。,如:2*2.3*PI 就等价

12、于 2*2.3*3.14159。,2.3.2 变量,变量是指在程序运行中,其值可以被改变的量。,基本概念:,变量代表计算机内存中的某一存储空间,该存储空间中存 放的数据就是变量的值。,在同一程序块中,每个变量都有唯一的名字,不能被重复定义。,使用变量时必须“先定义,后使用”。,int a,b,c;float x,y;char c1,c2;或 int c1,c2;,自己设定,满足标识符的规定。,如:int,float,char,;不可省,1.定义形式:,类型标识符 变量名1,变量名2,变量名3,.;,例如:,2.整型变量,(1)整型变量的分类,基本型,以int表示。,短整型,以short int

13、表示,或以short表示。,长整型,以long int表示,或以long表示。,无符号型,其中无符号型又分为无符号整型,无符号短整型和无符号长整型,分别以unsigned int unsigned shortunsigned long表示。,int x;long y;,2000,2001,2002,2005,x,y,内存,内存地址,2003,2004,(2)整型常量的类型 在将一个整型常量赋给一个整型变量时如何进行类型匹配?,其值在-32768-+32767范围内,认为它是 int型,它可以赋值给 int 型和 long int 型变量。,其值在-2147483648-+2147483647范

14、围内,则认为它是long int型,可以将它赋值给一个long int 型变量。,短整型常量:,长整型常量:,.如果某一计算机系统的C版本确定的short int 与 int型数据在内存中占据的长度相同,,.常量中无unsigned 型.,则它的表示范围与int 型相同。,因此一个int 型的常量也同时是一个short int型常量,可以赋值给int 型或 short int 型变量。,但一个非负值的整常量可以赋值给 unsigned 型整常量,只要它的范围不超过变量的表示范围即可。,数据后加一个字母1 或 L,则认为是long int型常量.,.长整型常量的表示:,例如:1231,432L,

15、0L等等。,这往往用于函数调用中,如果函数的形参为long int型,则要求实参也为 long int 型,此时用123作实参不行,而要用123L作实参。,main()int x;x=10*9*8*7*6*5*4*3*2*1;printf(%d,x);,例2-2,看看下面程序的输出是什么?,long int x;,%Ld,%ld 输出的字节要长点%d 的要短点。比如,一个数大于32767 用%d 就要溢出。假如你想输出32768.用%d 就会输出-1.这就是溢出。但是用%ld 就不会。输出-3276832767以内的数都一样!,3、实型变量的分类,(1)整型变量的分类,单精度(float)型,

16、双精度(double)型,(2)实例,2000,2003,2004,2011,x,y,内存,内存地址,例如:char c;c=a;c=034;c=n;c=x65;c=65;c=0101;c=0 x41;,4.字符变量,字符变量用来存放字符常量,注意一个字符变量只能存放一个字符。,一般以一个字节来存放一个字符,或者说一个字符变量在内存中占一个字节。,占 8 位内存,signed或 unsigned,Signed-128 至+127,unsigned 0 至 255,示例:,char gender;gender=m;,char gender=m;,5.变量初始化,在说明变量的同时给变量一个初始值。

17、,变量定义,分配存储空间,变量初始化,分配存储空间的同时存入数据,int a,b;,int a=1,b=2;,不确定,例2-3:看一看,下列的定义哪些是正确的?,int a=5,b=3;,int a=b=c=3;,int a,b,c;a=b=c=3;,例2-4:#define PI 3.14159main()float s,r;scanf(%f,/*输出变量s 的值(面积)*/,1 s=3.14(共输出6个字符且有2位小数)2 s=12.5664(共输出8个字符且有4位小数),运行结果,隐式转换什么情况下发生运算转换-不同类型数据混合运算时赋值转换-把一个值赋给与其类型不同的变量时输出转换-输

18、出时转换成指定的输出格式函数调用转换-实参与形参类型不一致时转换运算转换规则:不同类型数据运算时先自动转换成同一类型,2.6 不同类型数据间的转换,P32,一般形式:(类型名)(表达式)例:(int)(x+y)(int)x+y(double)(3/2)(int)3.6 说明:强制转换得到所需类型的中间变量,原变量类型不变,例 main()float x;int i;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);结果:x=3.600000,i=3,精度损失问题,2.5.2 显式转换(强制转换),小 结,1、数据类型的引入及意义,2、符号常量的定义形式和引入符号常量的意义,3、变量的定义、赋值、初始化,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号