c语言程序设计-第3章

上传人:aa****6 文档编号:51438709 上传时间:2018-08-14 格式:PPT 页数:36 大小:284.50KB
返回 下载 相关 举报
c语言程序设计-第3章_第1页
第1页 / 共36页
c语言程序设计-第3章_第2页
第2页 / 共36页
c语言程序设计-第3章_第3页
第3页 / 共36页
c语言程序设计-第3章_第4页
第4页 / 共36页
c语言程序设计-第3章_第5页
第5页 / 共36页
点击查看更多>>
资源描述

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

1、C语言程序设计第3章 数据类型3.1 C语言数据类型q 概述3.2 基本数据类型常量和变量q 常量概念:就是在程序运行过程中,其值不能被改变的量。分类:整型常量实型常量字符常量枚举常量形式:字面常量、直接常量或一般常量符号常量 符号常量的定义形式:define 标识符 常量值 常量的类型,可通过书写形式来判别。2.3 基本数据类型常量和变量/*例程*/ int sum; sum=105; /*10和5就是一般常量(整型)*/ printf(“sum = %d”,sum);整型常量、实型常量、字符常量2.3 基本数据类型常量和变量/*例程*/ define PI 3.14159 /*符 号常量*

2、/ void main() int r; float s;r=10;s=PI*r*r;printf(“面积=%fn”,s); printf(“PI=%fn”,PI);/*例程*/void main() int r; float s;r=10;s= 3.14159 *r*r;printf(“面积=%fn”,s); printf(“PI=%fn”, 3.14159 );2.3 基本数据类型常量和变量q 符号常量的特点符号常量的实际值易于修改,“一改全改”;符号常量的意义明确,“见名知意”,习惯上用大写;在程序中符号常量不能再被赋值。2.3 基本数据类型常量和变量q 变量概念:在程序运行过程中,其值

3、可以改变的量。q 变量的三个要素:变量名每个变量都必须有一个名字变量名,变量命名遵循标识符 命名规则(4条)。存储单元(内存)在编译时,系统为每个变量在内存中分配一定的存储单元。变量值在程序运行过程中,变量值存储在为该变量分配的存储单元( 内存)中。在程序中,通过变量名来引用变量的值。2.3 基本数据类型常量和变量2.3 基本数据类型常量和变量q 变量的定义与初始化将在定义变量的同时进行赋初值的操作称为变量初始化。变量定义的一般格式存储类型 数据类型 变量名, 变量名2;例如:float radius, length, area;变量初始化的一般格式存储类型 数据类型 变量名=初值, 变量名2

4、=初值2;例如: float radius=2.5, length, area; float radius, length=45.0, area;2.3 基本数据类型常量和变量q 变量的使用说明 “先定义,后使用”保证程序中变量名使用正确;在编译时能为变量分配相应的存储单元;在编译时能检查该变量所进行的运算的合法性。2.4 基本数据类型整型数据q 整型变量整型数据在内存中的存放形式数据在内存中以二进制的补码形式存放正数的补码和其原码的形式相同负数的补码是其绝对值的二进制码按位取反再加1各类型整型变量占用的内存字节数,随系统而异。 在16位操作系统中,一般用字节(16位)表示一 个int型变量,

5、且long(字节)int(字节)short(字节 )2.4 基本数据类型整型数据例:int i ,j; i=10;j=-10;求负数补码:求该数的绝对值的二进制; 对其值求反加1i10 数据i存放示意图数据i在内存中实际存放情况0 0 0 0 0 0 0 00 0 0 0 1 0 1 0-10 j数据j存放示意图数据j在内存中实际存放情况1 1 1 1 1 1 1 11 1 1 1 0 1 1 02.4 基本数据类型整型数据0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 00 0 0 0 0 0 0 0 0 0 0 0 1 0 1 01 1 1 1 1 1 1 1 1 1 1 1

6、0 1 0 11 1 1 1 1 1 1 1 1 1 1 1 0 1 1 010的原码取反-1010的表示法,正数的补码等于它的原码2102522210100余数首位加112.4 基本数据类型整型数据整型变量的分类 根据数据值的范围不同,整型变量定义为4种:(1)基本整型(类型关键字为int)(2)短整型(类型关键字为short int) signed (3)长整型(类型关键字为long int)(4)无符号整型。无符号基本整型(unsigned int)无符号短整型(unsigned short int)无符号长整型(unsigned long int)2.4 基本数据类型整型数据说明不同类

7、型的整型数取值范围不同(p.43,表3.1);无符号整型变量只能用来存储不带符号的整数;一个无符号整型变量可存放的正数的范围比相应的一般整型变量中正数的范围扩大一倍;定义变量时,一些关键字(方括号内)可省略(一般int可省,unsigned、short和long不可省);无符号型和一般整型数据在内存中存放形式不同。2.4 基本数据类型整型数据如:int a;short int a; short a;long int a; long a;unsigned int a; unsigned a;unsigned short int a; unsigned short a;unsigned long

8、int a; unsigned long a;2.4 基本数据类型整型数据q 整型变量的定义和使用遵循变量的定义方式,且“先定义,后使用”防止整型数据的溢出2.4 基本数据类型整型数据main() int a ,b, c,d;unsigned u;a=12;b=-24;u=10;c=a+u;d=b+u;printf(“a+u=%d,b+u=%dn,c,d”);2.4 基本数据类型整型数据/*例程*/ void main() int a,b; a=32767; b=a+1; printf(“%d,%d”,a,b); 输出:32767,-32768/*例程*/ void main() int a;

9、 long b;a=32767; b=a+1; printf(“%d,%ld”,a,b); 输出:32767,327682.4 基本数据类型整型数据 q 整型常量 三种表示形式 整型常量即整常数,在语言中可用三种形式表示: (1)十进制。例如10、36。 (2)八进制(由0-7组成,以数字开头)。例如:0123 (83)10(3)十六进制(由0-9和a-f(A-F)组成,以0x或0X开头)。例如: 0xA2 (162)102.4 基本数据类型整型数据 整型常量的类型(取值范围) (1)-3276832767 int,short int,long int (2)-2147483648214748

10、3647 long int (3)对于非负数, 若:065535 unsigned int,unsigned short 04294967295 unsigned long 说明: 1. 常量的类型依据其书写形式、数值范围而定;2. 整型常量后缀:l 或 L,表示长整型常量,如:456L ; 3. 整型常量后缀: u 或 U,表示无符号整型常量, 如:123u; 4. ul或UL表示无符号长整型常量。2.5 基本数据类型实型数据 q 实型常量 两种表示形式:十进制数形式:由数字和小数点及正负号组成。(注意:必须有小数点)例如:23.678 .678 23.指数形式:由数字、小数点、字母e或E及

11、正负号组成。 (注:e或E之前必须有数字,且后指数必须为整数)例如:3.5E-5 2e3 错误:E2 3.6e3.5 .e6 e 2.5 基本数据类型实型数据q 实型变量单精度型(float) float a,b;双精度型(double) double c,d; 长双精度型(long double)说明: 1.单精度型变量在内存中占4个字节;双精度型 变量在内存中占8个字节。 2.单精度实数提供6-7位有效数字;双精度实数 提供15-16位有效数字。2.5 基本数据类型实型数据q 实型数据的舍入误差 由于存储单元位数有限,有效位以外的数字将被舍去,由此产生 了误差。 float a,c ; d

12、ouble b;a=123456.789e5 ; b=123456789111111.789 ; c=a+20;printf(“a=%f,b=%f,c=%fn ”, a,b,c); 输出结果: a=12345678848.000000,b=123456789111111.781000, c= 12345678848.000000理论值: c=12345678900+20=12345678920 故:应避免将一个很大的数和一个很小的数相加或相减,以免 使计算结果超过有效位,造成误差。2.5 基本数据类型实型数据q 实型常量分类未加说明,系统将实型常量作为双精度处理 如: float f; f =

13、 2.45678*4532.65; 系统将两数按双精度运算,然后将前7位赋给实型变量f, 缺点:浪费系统资源,降低运算速度; 解决的办法:在数的后面加f,如2.45678f,系统将 其按单精度数运算。 2.5 基本数据类型实型数据 实型常量赋给float或double变量时,根据变量类型 截取实型常量有效位 如:void main( ) float f1; double f2; f1=111111.111;f2=111111.11111; printf(“f1=%fn f2=%fn“,f1,f2); 输出结果:f1=111111.109375 f2=111111.1111102.6 基本数据类

14、型字符型数据q 字符常量定义用一对单引号括起来的单个字符。如:A、 a、等。转义字符一种特殊形式的字符常量,指不能用符号直接表示的字符常量。用反斜杠“ ”开头的转义字符,表示将反斜杠“”后面的字符转换成另外的意义。如:“换行”符n。见例3.5(p.49)2.6 基本数据类型字符型数据1、“ddd” 与“xhh”分别表示用八进制数或十六进制数表示一个字 符。例: 101代表ASCII码(十进制)为65的字符A . 系统中所有字 符都有ASCII值(见374页)2、由于 ”在C语言中都有了特殊的意义,故要想在字符串中使用它们,须在其前面再加上一个反斜线。例如: 反斜线 单引号 ” 双引号3、除了前

15、面介绍的特殊转义字符外,字母代表字母本身。如c 代表字母 c。说明:2.6 基本数据类型字符型数据/*例程*/ /*程序功能:用转义字符输出可打印字符和不可打印字符*/void main() printf(“x4Fx4Bx21n”); /* 等价于printf(“OK!n”); */printf(“x15 xABn”); 程序运行结果如下:! 2.6 基本数据类型字符型数据q 字符变量 定义形式: char 标识符1,标识符2, ,标识符n;例如: char c1, c2, c3, ch ;c1=a ; c2=b ; c3=c ; ch= d ;q 字符数据的存储1. 字符变量在内存中占一个字节。2. 字符变量用来存储

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

当前位置:首页 > 办公文档 > PPT模板库 > 教育/培训/课件

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