C语言程序设计 教学课件 ppt 作者 冉崇善 等 第2章 数据类型、运算符与表达式

上传人:E**** 文档编号:89422681 上传时间:2019-05-25 格式:PPT 页数:62 大小:657KB
返回 下载 相关 举报
C语言程序设计 教学课件 ppt 作者 冉崇善 等 第2章  数据类型、运算符与表达式_第1页
第1页 / 共62页
C语言程序设计 教学课件 ppt 作者 冉崇善 等 第2章  数据类型、运算符与表达式_第2页
第2页 / 共62页
C语言程序设计 教学课件 ppt 作者 冉崇善 等 第2章  数据类型、运算符与表达式_第3页
第3页 / 共62页
C语言程序设计 教学课件 ppt 作者 冉崇善 等 第2章  数据类型、运算符与表达式_第4页
第4页 / 共62页
C语言程序设计 教学课件 ppt 作者 冉崇善 等 第2章  数据类型、运算符与表达式_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《C语言程序设计 教学课件 ppt 作者 冉崇善 等 第2章 数据类型、运算符与表达式》由会员分享,可在线阅读,更多相关《C语言程序设计 教学课件 ppt 作者 冉崇善 等 第2章 数据类型、运算符与表达式(62页珍藏版)》请在金锄头文库上搜索。

1、第2章 数据类型、运算符与表达式,C语言程序设计,主编:冉崇善,2,本章主要内容,2.1 基本字符、标识符和关键字 2.2 数据类型与变量 2.3 基本类型与数据表示 2.4 运算符与表达式 2.5 计算和类型,3,2.1 基本字符、标识符和关键字,2.1.1 基本字符 一个C程序就是C语言基本字符的一个符合规定形式的序列。C语言的基本字符包括: (1)数字字符(0,1,2,3,4,5,6,7,8,9)。 (2)大小写英文字母(az,AZ)。 (3)其他一些可打印(可以显示)的字符(如各种标点符号、运算符号、括号等),包括: ! % “ , . ? / | (4)还有一些特殊字符(如空格符、换

2、行符、制表符等)。 空格符、换行符、制表符等统称为空白字符。空白字符在程序中主要用于分隔其他成分。按规定,C 程序中大部分地方增加空白字符都不影响程序的意义。因此用户写程序时常利用这种性质,通过加入一些空白字符,把程序排成适当的格式,以增强程序的可读性。,4,2.1 基本字符、标识符和关键字,5,2.1.2 名字(标识符)的构成 一个标识符是字母、数字字符和下划线的一个连续序列,其中不能有空白字符,而且要求第一个字符必须是字母或下划线。 如果一个字符序列中出现了非字母、数字、下划线的字符,那么它就不是一个标识符了。下面是一些非标识符的字符序列: += 3set a32 $ sin(2+5) :

3、ab4= C语言还规定,标识符中同一字母的大写形式和小写形式将看作不同字符,这样,a和A不同,name、Name、NAME、naMe 和nMAE 是互不相同的标识符。 下面是一些标识符的例子: abcd Beijing C_Programming_f2048 sia a3b06 xt386ex A_great_machine Small_talk_80 FORTRAN_90 以下划线开始的标识符保留给系统使用,用户不要使用这种标识符,以免与系统内部的名字冲突造成程序问题。,2.1 基本字符、标识符和关键字,6,2.1.3 关键字 所谓关键字就是已被Turbo C 2.0本身使用,不能作其他用途

4、使用的名字。如关键字不能用做变量名、函数名等。Turbo C 2.0有以下关键字: (1)扩展的11个 asm _cs _ds _es _ss cdecl far near huge interrupt pascal (2)由ANSI标准定义的32个 auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof vola

5、tile do if while static,2.1 基本字符、标识符和关键字,7,2.2 数据类型与变量,2.2.1 数据类型,字符型(char) 整型(short,int,long,unsigned) 基本类型 数值类型 单精度型(float) 实型 双精度型(double) 枚举类型(enum) 数据类型 数组类型( ) 构造类型 结构体类型(struct) 共用体类型(union) 指针类型(*) 空类型(void),8,表2-1 ANSI标准中的数据类型及其范围,9,说明:表中的长度和范围的取值是在假定CPU的字长为16 bit的情况下。 注意: (1)程序中书写的、执行中处理的每

6、个基本数据都属于某个确定的数据类型。 (2)类型确定了属于它的数据对象的许多性质,特别是确定了数据的表示范围。在具体的C语言系统中,每种类型都有确定的表示(编码)方式,这就确定了可能表示的数据范围。例如,一个整数类型中的所有整数只是数学中整数的一个子集,其中只包含有限个整数值,存在该类型能表示的最小和最大整数。其他整数在这个类型中没有容身之地,无法在此类型中表示。,2.2 数据类型与变量,10,2.2.2 变量 1变量说明。所谓变量,就是在程序运行中其值可以变化的量,从赋值的角度讲,它在不同时期可以赋予不同的值。 Turbo C 2.0规定所有变量在使用前都必须首先说明。一条变量说明语句由数据

7、类型和其后的一个或多个变量名组成。变量说明的形式如下: 类型 ; 此处类型是指Turbo C 2.0的有效数据类型。变量表是一个或多个标识符名,每个标识符之间用“,”分隔。 例 2.1 int i,j,k; unsigned char c,str5,*p; float a,b; double x,y;,2.2 数据类型与变量,11,2变量的初始化。变量的初始化是指变量在被说明的同时赋给的一个初值。Turbo C 2.0中外部变量和静态全局变量在程序开始处被初始化, 局部变量(包括静态局部变量)是在进入定义它们的函数或复合语句时才作初始化。所有全局变量在没有明确的初始化时将被自动清零,而局部变量

8、和寄存器变量在未赋值前其值是不确定的。 对于外部变量和静态变量,初值必须是常数表达式,而自动变量和寄存器变量可以是任意的表达式,这个表达式可以包括常数和前面说明过的变量和函数。,2.2 数据类型与变量,12,例2.2 float f0,f1=0.2; /*定义全局变量,在初始化时f0被清零,f1被赋0.2*/ main() static int i=10,j; /*定义静态局部变量,初始化时i被赋10,j不确定*/ int k=i*5; /*定义局部变量,初始化时k被赋10*5=50*/ char c=y; /*定义字符型变量并初始化*/ ,2.2 数据类型与变量,13,3变量的赋值 变量赋值

9、是给已说明的变量赋予一个特定值。 (1)整型变量和浮点型变量 这两种变量采用下列格式赋值: 变量名=表达式; 例2.3 main() int a,m; /*定义局部整型变量a,m*/ float n; /*定义局部浮点变量f*/ a=100,m=20; /*给变量赋值*/ n=a*m*0.1; 说明:Turbo C 2.0中允许给多个变量赋同一值时用连等的方式。,2.2 数据类型与变量,14,(2)字符型变量 字符型变量可以用三种方法赋值。 例2.4 main() char a0,a1,a2; /*定义局部字符型变量a0,a1,a2*/ a0=b; /*将字母b赋给a0*/ a1=50; /*

10、将数字2(十进制ASC值为50)赋给a1*/ a2=x0d; /*将回车符赋给a2*/ ,2.2 数据类型与变量,15,2.3.1 整数类型和整数的表示 C语言提供了多个整数类型以适应不同需要。不同整数类型间的差异在于它们可能具有不同的二进制编码位数,因此表示范围可能不同。程序中用得最多的是一般整数类型(简称为“整数类型”或“整型”)和长整数类型(简称为“长整型”)。整数类型的类型名是int;长整型的类型名为long int,可简写为long。int 和long 都是关键字。 1整数类型 整数(int 类型的数据)有几种书写形式,程序中的整数一般采用十进制写法。 (1)十进制数:用十进制方式写

11、出的一个整数就是普通数字字符组成的一个连续序列,其中不能有空格、换行或其他字符。C 语言规定十进制表示的数字序列的第一个字符不是0,除非要写的整数本身就是0。,2.3 基本类型与数据表示,16,(2)八进制数: 用八进制形式写出的整数是由数字0 开始的连续数字序列,在序列中只允许0-7这8个数字。下面是用八进制写法写出的一些整数和长整数: 0236 0527 06254 0531 0765432L (3)十六进制数:整数的十六进制形式是由0x 或0X 开头的数字序列。由于数字只有10 个,而在十六进制写法中需要16 个数字,C语言采用计算机领域通行的方式,用字母a-f 或A-F 表示其余的6

12、个十六进制数字,其对应关系如下。 字母:a/A b/B c/C d/D E/E f/F 数字: 10 1 1 12 13 14 15 下面是用十六进制形式写出的一些整数和长整数: 0x2073 0xA3B5 0XABCD 0XFFFF 0XF0F00000L,2.3 基本类型与数据表示,17,2表示范围 C语言没有规定各种整数类型的表示范围,也就是说,没有规定各种整数的二进制编码长度。对于int 和long,只规定了long 类型的表示范围不小于int ,但也允许它们的表示范围相同。具体C语言系统则会对整型和长整型规定明确的表示方式和表示范围。例如,早期微型机的一些C系统采用16位二进制表示的

13、整数(一个int 占2个字节)和32位表示的长整数(一个long占4个字节)。这样,整型的表示范围就是-32 76832767,即-215215-1。长整型表示范围是-2147483 6482147483 647,即-231231-1。在许多新的微机C语言系统中,整数和长整数都采用32 位的二进制数表示。 C语言允许在整数的前面写正负号,加上负号的整数就表示负整数。,2.3 基本类型与数据表示,18,2.3.2 实数类型和实数的表示 1实数类型 C语言提供了三种表示实数的类型:单精度浮点数类型(简称浮点类型),类型名为float;双精度浮点数类型(简称双精度类型),类型名为double;长双精

14、度类型,类型名为long double 。这些类型的数据也分别称做“浮点数”、“双精度数”和“长双精度数”。所有整数类型和实数类型统称为算术类型。 (1)浮点类型的数用4个字节32 位二进制表示。这样表示的数大约有7 位十进制有效数字,数值的表示范围约为(3.410-383.41038 )。,2.3 基本类型与数据表示,19,(2)双精度类型的数用8个字节64 位二进制表示,这样表示的数大约有16 位十进制有效数字,数值的表示范围约为(1.710-308 1.710308 ) 。 (3)长双精度类型的数用10个字节80位二进制表示,这样表示的数大约有19位十进制有效数字,其数值的表示范围约为(

15、1.210-4932L 1.2104932 L)。 对于浮点数也有类似情况。例如,在一些C 语言系统中,long double 采用与double 同样的表示方式。有关具体C 语言系统中浮点数表示的情况,也应查阅系统手册,还可以查阅名为float.h 的标准文件。,2.3 基本类型与数据表示,20,2实型常数表示 C语言中最基本的实数类型是双精度类型。双精度数书写形式中的基本部分是一个数字序列,在序列中或者包含了一个表示小数点的圆点“.”(可以是第一个或最后一个字符),或者在表示数值的数字序列后面有一个指数部分。指数部分是以e 或E 开头的另一(可以包括正负号的)数字序列,指数以10为底,这种形式称为科学记数法。也可以既有小数点,又有指数部分。下面是一些双精度数的例子: 3.2 3.2E-3 2.45e17 0.038 105.4E-10 304.24E8,2.3 基本类型与数据表示,21,浮点数的写法与双精度数类似,只是在数最后应附后缀字符f 或者F。表示长双精度数的后缀用l 和L。下面是一些浮点数类型和长双精度类型数的例子: 13.2F 1.7853E-2F 24.68700f .32F 0.337f。 12.869L 3.417E34L .05L 5.E88L 1.L。 负实数同样通

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号