C语言程序设计 —进阶篇的

上传人:镜花****ul 文档编号:100274616 上传时间:2019-09-23 格式:PPT 页数:68 大小:345.50KB
返回 下载 相关 举报
C语言程序设计 —进阶篇的_第1页
第1页 / 共68页
C语言程序设计 —进阶篇的_第2页
第2页 / 共68页
C语言程序设计 —进阶篇的_第3页
第3页 / 共68页
C语言程序设计 —进阶篇的_第4页
第4页 / 共68页
C语言程序设计 —进阶篇的_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《C语言程序设计 —进阶篇的》由会员分享,可在线阅读,更多相关《C语言程序设计 —进阶篇的(68页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计 进阶篇,第1章 数据类型与输入输出(二),2019年9月23日,内容概述,1C语言的数据类型及分类。 2C语言中的常量和变量。 3C语言的数据输入/输出。,2019年9月23日,教学目标,1掌握数据类型的概念,了解C语言能够处理的数据类型。 2掌握各种类型常量的特点及表示形式。 3掌握变量的概念,了解float、char型变量的特点,掌握这二种类型变量的定义、赋值和使用方法。 4掌握数据的输入输出(包括 汉字的输入与输出)的基本方法。,2019年9月23日,数据是计算机程序处理的所有信息的总称,数值、字符、文本等都是数据,如整数、实数、英文字母、数字符号、英语单词、汉字、一句话

2、、一段文章、一个学生信息等。 在语言中,数据类型可分为:基本数据类型、构造数据类型、指针类型、空类型四大类,共9种。 本章中,将介绍基本数据类型中的浮点型和字符型。其余类型在以后各章中陆续介绍。,1.1 C的数据类型,2019年9月23日,1.基本数据类型,基本数据类型最主要的特点是,其值不可以再分解为其它类型。,基本类型,整型,字符型,浮点型,单精度,双精度,枚举,短整型,长整型,2019年9月23日,2. 整型变量,整型变量分为四种:基本型、短整型、长整型、无符号型 基本型: 用“int”定义, 在不同的系统中它的长度可能不同,如在DOS下的int变量占2个字节,相当于短整型,而在Wind

3、ows下的int变量占4个字节,相当于长整型。,2019年9月23日,2. 整型变量,短整型:用“short int”或 “short”定义,占2个字节。 长整型:用“long ”或 “long int”定义,占4个字节。 无符号型:用“unsigned”定义 不存放符号,数据不带符号数。 无符号整型: “unsigned int” 无符号短整型:“unsigned short int” 无符号长整型:“unsigned long int” 注意:如无指定,则为有符号数。,2019年9月23日,【例1.1】整型数用法示例,main() unsigned short int a; short i

4、nt b; a=65535; b=32767; a=a+1; b=b+1; printf(“a=%dn“,a); printf(“b=%dn“,b); ,运行结果为: a=0 b=-32768 为什么?,a从原来的65535加1后变为0,这说明a所能表示的值的大小是有限的!,65535的二进制数为1111 1111 1111 1111,再加1=? 32767的二进制数为0111 1111 1111 1111,再加1=?,2019年9月23日,整型变量取值范围,类型说明符 数的范围 分配字节数 int -3276832767 short int -3276832767 signed int -3

5、276832767 unsigned int 065535 long int -21474836482147483647 unsigned long 04294967295 int根据特定的系统对应short int或long int unsigned int根据特定的系统对应unsigned short int或unsigned long int 超过变量所能表示的范围,产生计算错误:溢出.,2019年9月23日,整型常量即整数,按不同的进制区分, 整数有三种表示方法: 十进制数:以非0开始的数,如:220、-560、+369等。 八进制数:以0开始的数,如:06、0106、0677等。 十

6、六进制数:以0X或0x开始的数,如:0X0D、0XFF、0x4e、0x123等。,3. 整型常量,2019年9月23日,另外,可在整型常数后添加一个“L”或“l”字母,表示该数为长整型数,如:22L、0773L、0Xae4l等。 诸如38A、0578、0x29FG等,都是不合法的常数形式。,2019年9月23日,(1)十进制数形式 由数码0 9和小数点组成。例如: 0.0、25.0、5.789、0.13、5.0、300.、-267.8230 等均为合法的实数。注意,必须有小数点。,1.2.1 实型常量的表示方法 实型也称为浮点型。实型常量也称为实数或者浮点数。在语言中,实数只采用十进制。它有二

7、种形式:十进制小数形式和指数形式。,1.2 实型数据,2019年9月23日,(2) 指数形式 由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为: a E n(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),2019年9月23日,以下则不是合法的实数: 345 (无小数点) E7 (阶码标志E之前无数字) -5 (无阶码标志) 53.-E3 (负号位置不对) 2.7E (无阶码) 标准允许浮

8、点数使用后缀。后缀为“f”或“F”即表示该数为浮点数。如356.f和356.是等价的。,因此: (1)十进制小数形式:必须有小数点。 (2)指数形式:字母e前必须有数字,字母e后必须为整数 ,规范化的指数形式输出。,2019年9月23日,【例1.2】实型常量的使用 #include main() printf(“%fn “,356.); printf(“%fn “,356); printf(“%fn “,356.f); ,VC+输出: 356.000000 -1.#QNAN0 356.000000,2019年9月23日,1.2.2 实型变量 1 实型数据在内存中的存放形式 实型数据一般占4个字

9、节(32位)内存空间,按指数形式存储。如实数3.14159在内存中的存放形式如下:,数符 小数部分 指数 小数部分占的位(bit)数愈多,数的有效数字愈多,精度愈高。 指数部分占的位数愈多,则能表示的数值范围愈大。,2019年9月23日,2. 实型变量的分类 实型变量分为:单精度(float型)、双精度(double型)和长双精度(long double型)三类。如下表:,2019年9月23日,实型变量定义的格式和书写规则与整型相同。 例如: float x,y; (定义x,y为单精度实型量) double a,b,c; (定义a,b,c为双精度实型量),2019年9月23日,3 实型数据的舍

10、入误差 由于实型变量是由有限的存储单元组成的,因此能提供的有效数字总是有限的。不同的编译器下处理的精度不同,如下例。,【例1.3】实型数据的舍入误差。 #include main() float a,b; a=123456.789e5; b=a+20; printf(“%fn“,a); printf(“%fn“,b); ,运行结果(VC+): 12345678848.000000 12345678848.000000 可见一个大数与一小数间运算会产生什么结果?,2019年9月23日,【例1.4】 main() float a; double b; a=33333.33333; b=33333.

11、33333333333333; printf(“%fn%fn“,a,b); ,从本例可以看出,由于a 是单精度浮点型,有效位数只有七位。而整数已占五位,故小数二位后之后均为无效数字。 b 是双精度型,有效位为十一位(VC+)。 实型数据在实际运用中要注意!(较大数与小数算术运算、比较等),运行结果(VC+): 33333.332031 33333.333333,2019年9月23日,舍入误差示例1.5(VC+): #include #include main(int argc,char *argv) printf(“%dn“,1.0/3*3); /*结果为0*/ printf(“%fn“,1.

12、0/3.*3.);/*结果为1.000000*/ printf(“%dn“,sqrt(2.)*sqrt(2.); /*结果为1*/ printf(“%fn“,sqrt(2.)*sqrt(2.); /*结果为2.000000*/ ,2019年9月23日,1.2.3 实型常量的类型 实型常量不分单、双精度,都按双精度double型处理。,2019年9月23日,1.3.1 字符常量,1.3 字符型数据,1 字符常量 定界符为单引号()的单字符。例如: a、A、3、=、+、? 注意英文字母区分大小写。字符常量特点: (1)字符常量只能用单引号括起来,不能用双引号或其它括号。 (2)字符常量只能是单个字

13、符,不能是字符串。 (3)字符可以是字符集中任意字符。但数字被定义为字符型之后就不能参与数值运算。如5和5 。,2019年9月23日,2 转义字符 转义字符是一种特殊的字符常量。转义字符以反斜线“”开头,后跟一个或几个字符。 转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。转义字符主要用来表示那些用一般字符不便于表示的控制代码。常用的转义字符及其含义如下表:,2019年9月23日,2019年9月23日,广义地讲,语言字符集中的任何一个字符均可用转义字符来表示。表中的ddd和xhh正是为此而提出的。ddd和hh分别为八进制和十六进制的ASCII代码。如101表示字母“A”(见附录

14、I),102表示字母“B”,134表示反斜线,X0A表示换行等。,常见字符的值: 20H 空格 30H 0 - 39H 9 41H A 61H a 内码(ASCII码)在32126范围内为可显示字符。,2019年9月23日,【例1.6】转义字符的使用。 main() int a,b,c; a=5; b=6; c=7; printf(“ ab ctderfn“); printf(“hijktLbMn“); ,运行结果: f ab c de hijk M,2019年9月23日,1.3.2 字符变量 字符变量用来存储字符常量,即单个字符。 字符变量的类型说明符是char。在内存中占一个字节,字符变量

15、类型定义的格式和书写规则都与整型变量相同。例如: char a , b;,2019年9月23日,1.3.3 字符数据在内存中的存储形式及使用方法 字符以ASCII码形式存放在内存单元中,因此ASCII码被称作字符的内码。 字符型与整型的转换:自动进行 注意:字符型占一个字节,整型占两个字节(与编译器有关)。 每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符值是以ASCII码的形式存放在变量的内存单元之中的。,2019年9月23日,如x的十进制ASCII码是120,y的十进制ASCII码是121。对字符变量a,b赋予x和y值: a=x; b=y; 实际上是在a,b两个单元内存放120和121的二进制代码:,a:,b:,可以把字符作为整型量进行处理,也可以对整型变量赋以字符值,把整型量按字符量输出。 整型量为二字节量,字符量为单字节量,当整型量按字符型量处理时,只有低八位字节参与处理。,2019年9月23日,【例1.7】向字符变量赋以整数。 main() char a,b; a=120; b=121; printf(“%c,%cn“,a,b); printf(“%d,%dn“,a,b); ,运行结果: x,y 120,121,2019年9月23日,【例1.8】字符运算。 main() char a,b; a=a; b=b; a=a-32; b=b-32; pri

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

当前位置:首页 > 办公文档 > PPT模板库 > 其它

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