c语言程序设计基础3

上传人:tian****1990 文档编号:75744545 上传时间:2019-02-01 格式:PPT 页数:59 大小:823.31KB
返回 下载 相关 举报
c语言程序设计基础3_第1页
第1页 / 共59页
c语言程序设计基础3_第2页
第2页 / 共59页
c语言程序设计基础3_第3页
第3页 / 共59页
c语言程序设计基础3_第4页
第4页 / 共59页
c语言程序设计基础3_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《c语言程序设计基础3》由会员分享,可在线阅读,更多相关《c语言程序设计基础3(59页珍藏版)》请在金锄头文库上搜索。

1、,第三章,数据类型、运算符与表达式,C语言程序设计,共 57 页 第 2 页,本章要点,数据的描述规则 数据的操作规则,共 57 页 第 3 页,3.1 3.2 3.3 3.4 3.5 3.6,基本符号 数据类型 运算符和表达式 数据类型转换 自增运算和自减运算 位运算,主要内容,共 57 页 第 4 页,程序设计语言的基本规则包括,常数 变量 运算符 表达式 函数,把自然语言描述问题的方式转换为C语言的形式表达给计算机,规则,表达式,常数,变量,函数,运算符,共 57 页 第 5 页,常数3、5和3.6的存放空间是否相同? 变量a如何表示?如何存放? 计算机如何知道3.6和a之间的关系? 和

2、sin x 如何输入?如何存放? 计算机如何识别“=”?运算结果放在哪里?,计算机完成上述计算,首先要 解决数据的输入和存放问题,问题,共 57 页 第 6 页,程序的任务是对数据进行处理,数据是程序处理的对象,而运算符是施加给这些数据的操作。 数据和运算符是表达式的基本元素,数据的存储 数据的操作,程序,共 57 页 第 7 页,3.1 C语言的基本符号,1. C语言的基本字符集,数 字:0 1 2 3 4 5 6 7 8 9 字 母:a b c z A B C Z 运 算 符:+ - * / % = = != = “ 特殊符号:_(下划线) 回车(r) 换行(n) 制表符(t),ASCII

3、字符集,基本字符集,共 57 页 第 8 页,名称,2. C语言的标识符,基本标识符:变量名、函数名、文件名、 数组名、类型名 规则:字母或下划线开头,后面是字母、 下划线或数字,call_n test39 _string1 abc calln 39test -string1 c2.0,例,共 57 页 第 9 页,auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static

4、struct switch typedef union unsigned void volatile while,保留字(32个),3. C语言的关键字,用户不能用关键字作标识符!,共 57 页 第 10 页,4. 常量 在程序运行中,其值保持不变的量称为常量。 常量的表示方法: 数值常量 例如:10,3 , 2.68等 符号常量 用一个符号代表一个常量,必须先定义后使用, 习惯用大写字母表示。,例如: #define PI 3.1415926 main( ) float l,s,r=2; l=2*PI*r; s=PI*r*r; printf(“l=%d, s=%d”, l,s); ,常用这种

5、方式简化程序调试,但是必须在程序的开头定义要使用的符号常量。称为宏定义。,共 57 页 第 11 页,5.变量 在程序执行期间其值可以改变的量。,有关变量的规定,变量通过变量名标识,变量名和内存中的存储单元相对应。编写程序时通过变量名来存、取存储单元。 变量必须先定义,后使用。,变量,8,1000H 1001H 1002H,255,12,共 57 页 第 12 页,命名规则: 变量名由标识符表示,只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。 例如:下列标识符中,不合法的变量名有: M.D.John 12%gf 1add _ce36 age *选变量名时,要做到“见名知

6、义” 例如:name , st_age , xm , nl , class , sum,共 57 页 第 13 页,许多程序设计语言都把它们能处理的数据分成若干类,这些类就是数据类型。 为什么要划分数据类型? 不同类型的数据在计算机内表示不同; 不同类型的数据能执行的运算不同; 计算机能处理的问题中的数据是广义的。,3.2 C语言数据类型,变量名代表内存中的存储单元,变量的类型决定存储单元的大小。,共 57 页 第 14 页,C语言数据类型: 整型 字符型 单精度型 算术类型 实型(浮点型) 基本类型 枚举类型 双精度型 指针类型 数据类型 数组 构造类型 结构体类型 共用体类型,规定:在程序

7、中用到的数据,必须指定数据类型。,共 57 页 第 15 页,整型常量的不同数值表示方法 十进制数:09 八进制数:07,以0开头 十六进制数:09,AF/af,以0x或0X开头,1.整型常量,例如: 100、-8、0;010、024;0x18、0X1F,整型常量的类型 根据值大小默认类型 例: 32767的类型是int 在常量后面加l或L,表示long int型 例:123L,0L,432l 都是long int型常量,3.2.1 整型数据,共 57 页 第 16 页,整型变量的形式 (TC 2.0),共六种,基本整型 短整型 长整型 无符号整型 无符号短整型 无符号长整型,int shor

8、t int long int unsigned int unsigned short unsigned long,在内存中占字节数与所选系统有关,占内存字节数,2 2 4 2 2 4,2.整型变量,ANSI C标准没有规定各类数据所占内存的字节数,只要求long型数据不短于int型,short型不长于int型。,共 57 页 第 17 页,整型变量的形式(VC+6.0),共六种,基本整型 短整型 长整型 无符号整型 无符号短整型 无符号长整型,int short int long int unsigned int unsigned short unsigned long,占内存字节数,4 2

9、4 4 2 4,VC+规定:short型占2个字节,int和long都占4个字节。,共 57 页 第 18 页,整型变量的定义,例:int i, j; long k, m; unsigned int x,y;,变量有值吗?,格式:类型说明符 变量列表;,C中的所有变量必须先定义后使用!,既不指定signed,也不指定unsigned,则隐含为有符号(signed),共 57 页 第 19 页,思考:j、m、x 所占存储容量和取值范围?,例: int i, j; long k, m; unsigned int x,y;,(TC环境),共 57 页 第 20 页,int型数的表示范围: 存储长度1

10、6位二进制(2B),0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1,0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1,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,=1,=3,最大的负数?,=-215=-32768,定点二进制补码表示 数的表示范围:-3276832767 注意数据的溢出问题,a,=215-1=32767,最大的正数?,VC+6.0中int整型数据占4个字节; 数值的范围:-21474836482147483647,共 57 页 第 21 页,例: main() sh

11、ort int a,b,c; a=32767; b=3; c=a+b; printf(“c=%dn“,c); ,1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0,C,-32766的补码形式,程序运行结果溢出,共 57 页 第 22 页,1.实型变量,实型变量分类:单精度、双精度和长双精度型。,3.2.2 实型数据,实型变量的有关规则:,例: float a,b; double c,d; long double e,f;,共 57 页 第 23 页,二进制数可表示为: 110.011(B)=1.100112+10,尾数的位数决定数的精度,阶码的位数决定数的范围,实型数据也称为浮点数

12、,是指小数点位置可以任意浮动的数 。 科学记数法表示:十进制数 -12345678 可表示为: -12345678 = -1.2345678 107 计算机中采用以2为底的科学记数法存储: N= 数符尾数2阶码 (其中:数符0为正,1为负,尾数和阶码都用二进数表示),实型数据在内存中的存放形式:,由于机器存储位数的限制,浮点数都是近似值,多个浮点数运算会产生误差。双精度型用于扩大存储位数,目的是增加实数的长度,减少累积误差,改善计算精度。,共 57 页 第 24 页,IEEE 754标准(美国电气电子工程师协会IEEE,1985),将实数分成两类: 浮点数(Float)和双精度数(Double

13、)。 浮点数用32位表示: 数符1位,阶码8位,尾数23位 双精度数用64位表示:数符1位, 阶码11位,尾数52位为了处理负指数的情况,实际数据的指数存储时数值加上127(27-1)后进行存储。尾数只存储小数部分。 单精度浮点数机内存储格式(占4个字节,32位):,单精度实数的精度取决于小数部分的23位二进制数位所能表达的数值位数,将其转换为十进制, 最多可表示7位十进制数字,所以单精度实数的有效位是7位。,共 57 页 第 25 页,2. 实型常量 (实型常数不区分单精度和双精度) 两种表示形式: 十进制数形式:由数字和小数点及正负号组成。 (注意:必须有小数点) 例如:23.678 .6

14、78 23. 指数形式:由数字、小数点、字母e或E及正负号组成。 (注:e或E之前必须有数字,且后指数必须为整数) 例如:3.5E-5 2e3 E2 3.6e3.5 .e6 e,不合法!,3.5乘以10的-5次方,即0.000035,2乘以10的3次方,即2000,对于超过有效数字位的数据,系统存储时自动舍去。,共 57 页 第 26 页,3.2.3 字符型数据,1. 字符常量 用单引号括起来的一个字符( 只能包含一个字符) 例如: a A $ ! abc、“a” 注: a与A是 不同的字符常量。,共 57 页 第 27 页,转义字符:,转义字符的概念:是一种特殊的字符常量,用于表示常用的、但

15、却难以用一般形式表示的不可显示字符。 转义字符的表示: 用一个转义标识符“”开头,后面是需要的转义字符。常用的转义字符序列的字符常量见下表:,共 57 页 第 28 页,转义字符表:,转义字符 功 能 n 换行 v 垂直制表 b 退格 r 回车 f 走纸换页 t 跳到下一个制表位(7列) 反斜线字符 单引号字符 “ 双引号字符 ddd 至位八进制数表示的字符 xdd 至位十六进制数表示的字符,转义符“”表示将其后的字符原来的含义进行转换,变成某种另外特殊约定的含义。,共 57 页 第 29 页,例: main() printf(“ctlanguagsberCn”); printf(“istusef165x6c”); ,屏幕输出: C language is useful,165转换为十进制为117,是ASCII的u,6c转换为十进制为108,是ASCII的l,共 57 页 第 30 页,定义形式:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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