C程序设计与实例教程 教学课件 ppt 作者 曾令明 全书教案_ 第2章

上传人:E**** 文档编号:89343432 上传时间:2019-05-23 格式:PPT 页数:90 大小:380KB
返回 下载 相关 举报
C程序设计与实例教程 教学课件 ppt 作者 曾令明 全书教案_ 第2章_第1页
第1页 / 共90页
C程序设计与实例教程 教学课件 ppt 作者 曾令明 全书教案_ 第2章_第2页
第2页 / 共90页
C程序设计与实例教程 教学课件 ppt 作者 曾令明 全书教案_ 第2章_第3页
第3页 / 共90页
C程序设计与实例教程 教学课件 ppt 作者 曾令明 全书教案_ 第2章_第4页
第4页 / 共90页
C程序设计与实例教程 教学课件 ppt 作者 曾令明 全书教案_ 第2章_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《C程序设计与实例教程 教学课件 ppt 作者 曾令明 全书教案_ 第2章》由会员分享,可在线阅读,更多相关《C程序设计与实例教程 教学课件 ppt 作者 曾令明 全书教案_ 第2章(90页珍藏版)》请在金锄头文库上搜索。

1、第2章 数据类型、运算符与表达式,2.1 关键字与标识符 2.2 数据类型 2.3 常量 2.4 变量 2.5 运算符与表达式,无论哪一种程序设计语言,都有一个共同要学习的内容,就是这门语言能够处理的数据。因为程序总是对一些输入数据进行处理,然后再输出一些数据作为执行结果。本章首先讨论C语言中与数据描述有关的问题,包括数据类型、常量和变量等;然后介绍C语言对数据运算的有关规则,包括运算符和表达式等。 学习重点: C语言的基本数据类型 变量 运算符的结合性与优先级,2.1.1 关键字 所谓关键字,就是由C语言规定的具有特定意义、不能作其他用途的字符串,通常也称为保留字。 由ANSI标准定义的关键

2、字共有以下32个: auto break case char const continue default do double else enum extern float for goto if int long register return hort signed sizeof static struct switch typedef union unsigned void volatile while,2.1 关键字与标识符,2.1.2 标识符 所谓标识符,是指常量、变量、语句标号以及用户自定义的数据类型、函数的名称。在C语言中,作为标识符,必须满足以下规则: (1) 标识符只能由字母

3、(az,AZ)、数字(09)和下划线(_)组成。 (2) 标识符的第一个字符必须是字母或下划线,不能是数字。 (3) 同一字母的大小写被视为两个不同的字符。例如BOOK和book是两个不同的标识符。,(4) 标识符不能和C语言的关键字相同。 下面举出几个正确和不正确的标识符: 正确的标识符 不正确的标识符 smart 5smart _decision bomb? key_board key.board 在使用标识符时还必须注意以下几点: (1) 标准C语言不限制标识符的长度,但它受各种版本的C 语言编译系统限制,同时也受到具体机器的限制。,例如,在某版本C语言中规定标识符前八位有效,当两个标识

4、符前八位相同时,则被认为是同一个标识符,而有的C语言却允许长度达31个字符的标识符。 (2) 标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便阅读理解,做到“顾名思义”。,2.2.1 C语言的数据类型 在C语言程序中所用到的数据都必须指定其数据类型。数据类型规定了该类型的数据在内存中的编码方式和长度、数据的取值范围、施加在该类型数据上的运算及运算结果的范围。 C语言的数据类型比较丰富,其分类如图2-1所示。,2.2 数 据 类 型,图2-1 C语言的数据类型,2.2.2 C语言的基本数据类型 在本章中我们只介绍C语言的基本数据类型,其他数据类型留

5、在后面章节中讨论。 C语言有五种基本数据类型:字符型、整型、单精度型、双精度型和空类型,其类型说明符分别为char、int、float、double和void。这几种类型的数据其长度和取值范围随处理器的类型和C语言编译系统的不同而有变化。例如,在16位CPU或在Turbo C中,整型数据占2个字节;而在32位CPU或在VC+ 中,整型数据占4个字节。,所以在编写C程序时必须熟习所使用的计算机以及C语言编译系统。 表2-1给出了五种数据分别在Turbo C和VC+ 中的长度和取值范围。,表2-1 基本数据类型的字长和范围,除上述五种基本数据类型外,还有一些数据类型修饰符,它们用来扩充基本数据类型

6、的意义,以便更准确地适应各种情况的需求。修饰符如下: signed(有符号) unsigned(无符号) long(长型符) short(短型符) 将这些修饰符与基本数据类型的说明符组合,可以表示不同的数值和范围,以及数据所占内存空间的大小。,表2-2给出了基本数据类型和基本数据类型加上修饰符以后,各数 据类型所占的内存空间字节数和所表示的数值范围(以16位CPU为例,即按标准ANSI C 描述)。 从表2-2中可以看出: (1) short只能修饰int。 (2) long只能修饰int和double。,(3) unsigned和signed只能修饰char和int。因为实型float和do

7、uble总是有符号的。 因为整数的缺省定义是有符号数,所以singed这一用法是多余的,但仍允许使用。 为了使用方便,C编译程序允许使用整型的简写形式: short int简写为short。 long int简写为long。 unsigned short int简写为unsigned short。 unsigned int简写为unsigned。 unsigned long int简写为unsigned long。 即int可缺省。,表2-2 ANSI标准中的数据类型,在程序运行中,其值不能被改变的量称为常量。常量有各种类型,现分别介绍如下。,2.3 常 量,2.3.1 整型常量 整型常量就是

8、整常数,可用八进制、十六进制和十进制三种形式表示。 1八进制整型常量 八进制整型常量必须以数字0为前缀,其后由1个或多个07的数字组成。八进制数通常是无符号数。 以下各数是合法的八进制数: 015(十进制为13) 0101(十进制为65) 0177777(十进制为65 535),以下各数不是合法的八进制数: 256(无前缀0) 03A2(包含了非八进制数) -0127(出现了负号),2十六进制整型常量 十六进制整型常量必须以0X或0x为前缀,其后由1个或多个09的数字或AF(大小写均可)的字母组成。 以下各数是合法的十六进制整常数: 0X2A(十进制为42) 0XA0(十进制为160) 0XF

9、FFF(十进制为65 535) 以下各数不是合法的十六进制整常数: 5A(无前缀0X) 0X3H (含有非十六进制数),3十进制整型常量 十进制整型常量由1个或多个09的数字组成,没有前缀,不能以0开始。 以下各数是合法的十进制整常数: 237 -568 65 535 1627 以下各数不是合法的十进制整常数: 023(不能有前导0) 23D(含有非十进制数) 在程序中,根据前缀来区分各种进制数。因此,在书写常数时不要因弄错前缀而造成结果不正确。,4整型常量的后缀 在16位字长的机器上,基本整型的长度也为16位,因此表示的数的范围也是有限制的。十进制无符号整常数的范围为065 535,有符号数

10、为-32 768+32 767。八进制无符号数的表示范围为00177777。十六进制无符号数的表示范围为0X00XFFFF或0x00xFFFF。如果使用的数超过了上述范围,就必须用长整型数来表示。长整型数是用后缀“L”或“l”来表示的。例如:,十进制长整常数 158L(十进制为158) 358000L(十进制为358 000) 八进制长整常数 012L(十进制为10) 077L(十进制为63) 0200000L(十进制为65 536) 十六进制长整常数 0X15L(十进制为21) 0XA5L(十进制为165) 0X10000L(十进制为65 536),长整数158L和基本整常数158在数值上并

11、无区别。但对158L,因为是长整型常量,C编译系统将为它分配4个字节的存储空间;而对158,因为是基本整型,只为它分配2个字节的存储空间。因此在运算和输出格式上要予以注意,避免出错。 无符号数也可用后缀表示,整型常数的无符号数的后缀为“U”或“u”。例如:358u、0x38Au、235Lu均为无符号数。,前缀和后缀可同时使用,以表示各种类型的整数。如0XA5Lu表示十六进制无符号长整数A5,其十进制为165。,2.3.2 实型常量 实型常量也称为实数或者浮点数。在C语言中,实数只采用十进制。它有两种表示形式:十进制数形式和指数形式。 1十进制数形式 由09的数字和小数点组成。整数部分和小数部分

12、可以省去一个,但不能两者同时省,而且小数点不能省。例如:0.0、.25、5.789、0.13、5.0、300.、-267.8230等均为合法的实数。,2指数形式 由十进制数加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为: aEn 其中,a为十进制数,n为十进制整数。其值为a*10n。 例如:2.1E5(等于2.1*105),3.7E-2(等于3.7*10-2),0.5e7(等于0.5*107),-2.8E-2(等于-2.8*10-2)。 以下不是合法的实数: 345(无小数点) E7(阶码标志E之前无数字),2.7E(无阶码) -5(无阶码标志) 2.1E5.2(

13、阶码必须是整数) 53.-E3(负号位置不对) 不管表现形式如何,实型常量都是双精度型,但可以通过添加后缀来表示单精度型和长双精度型。后缀为“f”或“F”表示该数为单精度型常量,如356.0f;后缀为“L”或“l”表示该数为长双精度型常量,如3.6e5L。,2.3.3 字符型常量 字符型常量可以分成两类:字符常量和字符串常量。有一种特殊的字符常量转义字符常量(简称转义字符),我们把它单独列出来讲解。 1字符常量 字符常量是指用一对单引号括起来的一个字符。如 a,9,!。字符常量中的单引号只起定界作用并不表示字符本身。单引号中的字符不能是单引号()和反斜杠(),它们特有的表示法将在转义字符中介绍

14、。,在C语言中,字符常量占一个字节的存储空间,它存放的不是字符本身,而是字符的ASCII码值。例如: 字符 ASCII码值(十进制) ! 33 0 48 1 49 9 57 A 65,B 66 a 97 b 98 注意:字符 9 和数字9的区别,前者是字符常量,后者是整型常量,它们的含义和在计算机中的存储方式都截然不同。 所以字符常量可以像整数一样在程序中参与相关的运算。例如: a -32; /*执行结果97-32=65*/ A+32; /*执行结果65+32=97*/ 9-9; /*执行结果57-9=48*/,2转义字符 转义字符以反斜杠符()开头,后跟一个或几个字符。转义字符具有特定的含义

15、,不同于字符原有的意义,故称“转义”字符。例如,在前面例题中printf函数的格式串中用到的“n”就是一个转义字符,其意义是“回车换行”。 通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号(),用于表示字符串常量的双撇号(“)和反斜杠()等。 转义字符同样表示的是该转义字符的ASCII码值,如表2-3所示。,表2-3 常用转义字符常量,任意字符均可用反斜杠符()后跟该字符ASCII码值的八进制或十六进制(以x作前缀)来表示。例如: a 可表示为 101 或 x41; n 可表示为 012 或 x0A; 使用转义字符时需要注意以下几个问题: (1) 转义字符中只能使用小写字母,每个转义字符只能看做一个字符。 (2) v 垂直制表和 f 换页符对屏

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

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

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