高级程序设计第2章

上传人:tian****1990 文档编号:72932090 上传时间:2019-01-24 格式:PPT 页数:33 大小:410.50KB
返回 下载 相关 举报
高级程序设计第2章_第1页
第1页 / 共33页
高级程序设计第2章_第2页
第2页 / 共33页
高级程序设计第2章_第3页
第3页 / 共33页
高级程序设计第2章_第4页
第4页 / 共33页
高级程序设计第2章_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《高级程序设计第2章》由会员分享,可在线阅读,更多相关《高级程序设计第2章(33页珍藏版)》请在金锄头文库上搜索。

1、,本章导读 本章通过C程序实例分析着手,使读者理解C语言的基本数据类型的表示形式、存储格式及相关的运算,掌握变量定义的方法及意义,能够灵活运用各种表达式,为C语言编程打下基础。,返回本书目录,第2章 基本数据类型、运算符与表达式,本章主要知识点 (1)基本的数据类型。 (2)常量和变量。 (3) C语言各种运算符和表达式的应用。,返回本章导读,2.2 C语言的数据类型,2.3 运算符及表达式,2.1 C语言各种运算符和表达式的应用,第2章 基本数据类型、运算符与表达式,返回本章目录,2.1 C语言各种运算符和表达式的应用,2. C程序实例(2),1. C程序实例(1),【例2.1】关于常量、变

2、量及数据类型说明的程序实例。程序名为l2_1.cpp。 #include“stdio.h“ main() int a=3; /*定义整型变量a并赋予常量值3 */ short r=6; /*定义短整型变量r并赋予常量值6*/ char c=a; /*定义字符变量c并赋予字符常量值a */ float pi=3.14; /*定义单精度实型变量pi并赋予实型常量值3.14 */ double s; /*定义双精度实型变量s */ s=pi*r*r; /*将pi*r*r值赋给s */ printf(“int:%d,short:%d,char:%d,float:%d,double:%dn“,sizeo

3、f(a), sizeof(r),sizeof(c),sizeof(pi),sizeof(s); /*输出各变量占内存的字节数 */ printf(“a=%d,r=%d,c=%c,pi=%f,s=%lfn“,a,r,c,pi,s); /*输出各变量的值 */ ,2.1.1 C程序实例(1),返回本节目录,1.C程序实例1,程序结果,例2.1程序结果及分析,返回例题,返回本节目录,结果分析:变量可以被定义成不同的数据类型并赋值,不同类型的数据在内存中所占的字节数不同,通过sizeof()求得数据宽度。短整型、整型、字符型、单精度实型、双精度实型在内存中分别占2字节、4字节、1字节、4字节和8字节。

4、同时,这些数据在输出时所使用的输出格式控制符也不相同,分别为%d、%d、%c、%f和%lf形式。由此可见,数据表现为常量或变量,数据又具有不同的数据类型,不同数据类型的数据存储格式不同,数据的输出格式控制也不相同。注意:在Trubo C环境下,整型数据存储时在内存中占2字节。,2.1.1 C程序实例(2),2.C程序实例2,【例2.2】关于运算符和表达式的程序实例。/*程序名为l2_2.cpp。*/ #include“stdio.h“ main() int i=3,a=5,b=7,c,d; /*定义变量并赋初值 */ printf(“i=%dn“,i+); /*输出i+的值 */ printf

5、(“i=%dn“,i); /*输出i的值 */ c=ab?a:b; /*计算表达式c=ab?a:b */ printf(“c=%dn“,c); /*输出c的值 */ d=a=b /*输出d的值 */ ,返回本节目录,程序结果,例2.2程序结果及分析,返回例题,返回本节目录,结果分析:由结果i=3 i=4可知printf(“i=%dn“,i+);中i+的值仍然为3,而i的值由3增1后变为4,理解自增运算符+的运算方式。c=ab?a:b;语句中包括了关系运算符“”、条件运算符“?:”、赋值运算符“=”,经过各种运算处理后c的值为7。d=a=b 语句中包括了赋值运算符“=” 、逗号运算符“,”,经过

6、各种运算处理后d的值为7。,2. 2 C语言的数据类型,返回本节目录,单精度实型 (float),双精度实型 (double),整型 (int),字符型 (char),枚举类型,数组类型,结构体类型,共用体类型,实型,基本类型,构造类型,空类型 (void),指针类型,数据类型,2. 2 C语言的数据类型,2.2.1 基本数据类型,2.2.2 常量,2.2.3 变量及其类型定义,返回本节目录,2.2.1 基本数据类型,返回本节目录,1.整型数据,2.实型数据,3.字符型数据,2.2.1 基本数据类型(一),1. 整型数据 整型数据分为一般整型(int)、短整型(short)和长整型(long)

7、,并且每一种类型又分为带符号(signed)和无符号(unsigned)两种类型 。整型数据的特性见下表:,返回本节目录,返 回,2.2.1 基本数据类型(二),2. 实型数据 实型数据分为单精度实型(float)、双精度实型(double)和长双精度实型(long double)。具体情况见下表所示 :,返 回,返回本节目录,2.2.1 基本数据类型(三),3. 字符型数据 字符型数据分为一般字符型(char)、带符号字符型(signed char)和无符号字符型(unsigned char)三种类型。具体情况见下表所示 :,返 回,返回本节目录,2.2.2 常量,1. 整型常量,2.实型常

8、量,3.字符型常量,4.字符串常量,返回本节目录,2.2.2 常量(一),1. 整型常量,(1)十进制整型常量:以数字19开头,其他位以数字09构成十进制整型常量。如12,-38等。,(2)八进制整型常量:以数字0开头,其他位以数字07构成八进制整型常如012,-037等。,在C语言中,整型常量有十进制、八进制、十六进制三种进制表示方法,并且各种数制均可有正(+)负(-)之分,正数的“+”可省略。,(3)十六进制整型常量:以0X或0x开头(数字0和大写或小写字母x),其他位以数字09或字母af或AF构成十六进制整型常量。如0x12,-0Xa9等。,如果在整型常量加上后缀L或l表示该常量为长整型

9、常量,加上后缀U或u表示无符号整型常量。,返 回,返回本节目录,2.2.2 常量(二),2. 实型常量,(1)小数表示法 :它是由数的符号、数字和小数点组成的实型常量(注意:必须有小数点)。如-2.5、3.0、4.、.34等都是合法的实型小数形式。,(2)科学计数法 :科学计数法也称指数法。它是由数的符号、尾数(整数或小数)、阶码标示(E或e)、阶符和整数阶码组成的实型常量。尾数不可缺省,阶码必须为整数。如-2.5E-3、3e5、34E-3等都是合法的指数形式。如-2.5E-3表示-2.510-3。,实型常量又称浮型常量。实型常量由整数部分和小数部分组成,有两种表示形式:小数表示法和科学计数法

10、。它只能用十进制表示。,实型常量分为单精度、双精度和长双精度三种类型。实型常量如果没有任何说明,则表示为双精度常量,实型常量后加上F或f则表示单精度常量,实型常量后加上L或l则表示长双精度常量。,返 回,返回本节目录,2.2.2 常量(三),3. 字符型常量,(1)一般字符常量 :一般字符常量是用单引号括起来的一个普通字符,其值为该字符的ASCII代码值。ASCII编码表见附录1。如a、A、0、?等都是一般字符常量,但是a和A是不同的字符常量,a的值为97,而A的值为65。,字符型常量是由一对单引号括起来的一个字符。它分为一般字符常量和转义字符。一个字符常量在计算机的存储中占据一个字节。,(2

11、)转义字符 :C语言允许用一种特殊形式的字符常量,它是以反斜杠()开头的特定字符序列,表示ASCII字符集中控制字符、某些用于功能定义的字符和其他字符。如n表示回车换行符,表示字符“”。常用的转义字符见1.4.1中所叙。,如果在整型常量加上后缀L或l表示该常量为长整型常量,加上后缀U或u表示无符号整型常量。,返 回,返回本节目录,(4)存放的变量不同。字符常量可存放在字符变量或整型变量中,而字符串常量需要存放在字符数组中。字符变量和字符数组后续介绍。,2.2.2 常量(四),4. 字符串常量,字符串常量也称字符串,由一对双引号括起来(“”)的字符序列。字符序列中的字符个数称字符串长度,没有字符

12、的字符串称为空串。如“a”、“12+3”等都是合法的字符串常量。字符串常量中的字符是连续存储的,并在最后自动加上字符0(空字符,该字符在ASCII码值为0,也称NULL字符)作为字符串结束标志。如字符串“a”在计算机内存中占两个连续单元,存储内容为字符a和0对于字符串常量和字符常量的区别是十分显著的,主要表现在以下4个方面:,(1)表示形式不同。字符常量以单引号表示,而字符串常量以双引号表示。,(2)存储所占的内存空间不同。字符常量在内存中只用1个字节存放该字符的ASCII码值。字符串常量在内存中,除了存储串中的有效字符的ASCII码值外,系统还自动在串后加上1个字节,存放字符串结束标志0。,

13、返 回,(3)允许的操作不同。字符常量允许在一定范围内与整数进行加法或减法运算,如a-32合法。字符串常量不允许上述运算,如“a”-32非法的。,返回本节目录,(1)数据类型:C语言的合法数据类型。如例中的int、short、char、float、double等。 (2)变量名表:变量名是C语言合法的标识符。变量名表可以包含多个变量名,彼此之间使用逗号分开,表示同时定义若干个具有相同数据类型的变量,如: float a,b; (3)变量定义语句可以出现在变量使用之前的任何位置。程序设计时不违背“先定义,后使用”的原则即可。,2.2.3 变量及类型定义,返回本节目录,1. 变量定义,变量定义一般

14、格式: 数据类型 变量名表; 如:int a; 对变量定义说明如下:,变量是指在程序执行过程中其值可以被改变的量。变量有三个基本要素:变量名、变量数据类型和变量的值。在C语言中,任何一个变量在使用之前都必须首先定义它的名字,并说明它的数据类型。也就是说,变量使用前必须先定义,即指定变量名,说明变量数据类型。变量定义的实质是按照变量说明的数据类型为变量分配相应空间的存储单元,在该存储单元中存放变量的值。 C语言中,变量使用时遵循“先定义,后使用”的原则。,2.2.3 变量及类型定义,返回本节目录,2. 变量初始化及赋值,在【例2.1】中“s=pi*r*r;”语句是通过赋值运算符“=”将“pi*r

15、*r”的值赋给变量s,即该语句实现了给变量s的赋值。所以,变量值可以通过初始化取得,也可以在定义后,通过给变量赋值的方法取得。,在【例2.1】中“int a=3;short r=6; char c=a; float pi=3.14; ”的“=”是赋值运算符,用来给变量赋值。所以,以上四条语句都是在定义变量的同时给变量赋了值,称为变量的初始化。变量初始化是指定义变量同时,给变量一个初始值。,2.3.2 算术运算符及算术表达式,2.3.1 运算符和表达式,2.3 运算符及表达式,返回本章目录,2.3.3 关系运算符及关系表达式,2.3.4 逻辑运算符及逻辑表达式,2.3.5 条件运算符及条件表达式

16、,2.3.6 赋值运算符及赋值表达式,2.3.7 逗号运算符及逗号表达式,2.3.8 求字节运算符,2.3.9 类型转换,2.3.1 运算符和表达式,这里介绍运算符和表达式的概念以及运算符的优先级和结合性问题。,1.运算符,返回本节目录,C语言提供了13类,共计34种运算符。据运算符的运算对象的个数,C语言的运算符分为单目运算符、双目运算符和三目运算符,如单目+,双目,三目?:等。运算符具体分类情况见下表所示。,2.3.1 运算符和表达式,2.表达式 3.运算符的优先级 4.运算符的结合性,返回本节目录,用运算符将操作对象连接起来、符合C语法规则的式子称为表达式。表达式因运算符种类也可分为各种表达式,如算术表达式、关系表达式、赋值表达式等,每一个表达式也都具有一定的值。如:a=b+c,运算符的优先级是指不同的运算符在表达式中进行运算的先后次序。如,算术运

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

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

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