c语言第3章数据类型

上传人:tian****1990 文档编号:71695080 上传时间:2019-01-21 格式:PPT 页数:52 大小:596KB
返回 下载 相关 举报
c语言第3章数据类型_第1页
第1页 / 共52页
c语言第3章数据类型_第2页
第2页 / 共52页
c语言第3章数据类型_第3页
第3页 / 共52页
c语言第3章数据类型_第4页
第4页 / 共52页
c语言第3章数据类型_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《c语言第3章数据类型》由会员分享,可在线阅读,更多相关《c语言第3章数据类型(52页珍藏版)》请在金锄头文库上搜索。

1、1,第 3 章 数据类型、运算符及表达式,基本数据类型的存储方式和表示方式 不同类型间数据转换的原则与方法 有关运算符与表达式的运用,2,一个C程序是由一个或多个函数组成,函数体由若干条C语句组成,那么,C语句又是由什么组成?,思考,主函数 函数n,C语句1 C语句2 C语句n,关键字 标识符 字符集,C 程 序,3,注意:所有关键字都要用小写英文字母表示,且不允许被用作标识符使用!,auto break case char const continue default do double else enum extern float for goto if int long register

2、 return short signed sizeof static struct switch typedef union unsigned void volatile while,关 键 字,4,标 识 符,标识符是由英文字母、数字及下划线构成的字符串,并且首字符必须为字母或下划线。 用来标识常量、变量、函数名、数组名、类型定义符等。 注意:关键字是用户标识符的禁区! 命名原则:见名知意!大小写有区别! 不同C语言版本允许的长度不一样 ANSI C为8个字符 Turbo C 为32,5,练习:请找出不合法的标识符.,union abc_123 2ab3 d+b abc8* INT,stu

3、_bc8 abcdefghi -s10 *&%$# abc.123,6,字 符 集,字符集指的是程序设计语言中所采用的各种符号的集合,如字母、数字、标点符号、运算符号等。 字符是组成语言的最基本的元素。,C语言字符集,7,3.1 C 的数据类型,在程序中对用到的所有数据都必须指定其数据类型,8,3.2 常量与变量,常量的定义: 在程序执行过程中值不发生改变的量。 常量的分类: 按数据类型分类 整型常量 4 -3 037 0xff 实型常量 -0.001 128.8 1.25e-3 字符常量 1 a D 按表现形态分类 字面常量或直接常量 符号常量,关于常量,9,符 号 常 量,概念 符号常量是

4、一种特殊形式的常量,即用一个标识符表示一个常量。 定义形式 #define 常量名 常量值 含义清楚 在需要改变一个常量时能做到一改全改 一般用大写字母表示 符号常量在程序中的应用,#define PI 3.1415926 #include void main( ) float r,a,c; r=2.5; a=PI*r*r; c=2*PI*r; printf(“r=%f,a=%f;c=%fn”,r,a,c); ,10,关于变量,变量的定义 变量是程序执行过程中其值可以改变的量。 变量的分类 整型变量 实型变量 字符变量 变量的命名(同标识符的命名) 变量的使用 先定义后使用,每一个变量指定为一

5、确定类型 含义清楚 count name day 一般用小写字母表示,11,3.3 整 型 数 据 int,三种形式: 十进制数 如:12、345、0 八进制数(以0开头) 如:012、045 十六进制数(0x开头) 如:0x12、0x345,整型常量,0123 ( )10 0X123 ( )10 0XFF ( )10,83,255,291,例 30000为int型 65536为long int型,例 12与12L,整型常量的类型: 根据其值所在范围确定其数据类型;,在整常量后加字母L或l,认为它是long int型常量。,十进制无符号整常数的范围为065535,有符号数为3276832767

6、 八进制无符号数的表示范围为00177777 十六进制无符号数的表示范围为0X00XFFFF,12,整型常量举例,#include void main( ) printf(“%d,%o,%xn”,123,123,123); printf(“%d,%o,%xn”,023,023,023); printf(“%d,%o,%xn”,0x12,0x12,0x12); ,例:整型常量的不同进制表示。,%d,%o,%x是输入输出的格式字符串 d表示十进制 o表示八进制 x表示十六进制,上述程序中的n 表示输出后回车换行!,13,分 类 基本型(int) 短整型(short int、short) 长整型(l

7、ong int、long) 无符号型 无符号整型(unsigned int) 无符号短整型(unsigned short) 无符号长整型(unsigned long),整型变量,取值范围 -3276832767 -3276832767 -21亿21亿 065535 065535 042亿,所占位数 16 16 32 16 16 32,14,整型变量在内存中存储,高字节,低字节,符号位 0表示正整数 1 表示负整数,采用补码表示 正整数补码与原码相同 负整数补码 = 原码(取反)+1,例如 47 0x2F 原码 0000,0000,0010,1111 取反 1111,1111,1101,0000

8、 加1得到 - 47的补码 1111,1111,1101,0001,取值范围:-215 215-1 -3276832767,15,整型变量定义,定义形式 数值类型 变量名表; 说明 数值类型即类型说明符int、short、long等。 变量名表可为一个或多个变量名,之间用逗号间隔。 变量被定义后,其取值范围也被确定。,#include void main( ) int a,b,c; a=4; b=5; c=a*b; printf(“a*b=%dn”,c); ,等价于: int a; int b; int c;,16,#include void main( ) int a,b; a=32767;

9、 b=a+1; printf(“%d,%d”,a,b); ,运行结果: 32767,32768,a:,b:,整型数据的溢出,32767,-32768,溢出不报错 会出现不可预料后果,17,使用整型数据时的注意事项:,若某系统的C版本确定short int与int型数据在内存中占据的长度相同,则二者等价。 一个int型常量(-3276832767)可以赋值给int型变量或long型变量。 其值在-231231-1内,而在-215215-1外的整数只可赋值给long型变量。 int a; a=111111; 不报错但结果不对 常量无unsigned型,但一个非负整数可赋值给unsigned型整数变

10、量 ,但要注意值的范围。 unsigned a; a=10; 不报错但结果不对 长整型数的表示方法是在数值后面加字母l或L,如234L。 不同的数据类型有不同的存储字长,使用时注意其取值范围。,18,3.4 浮点型数据,浮点型常量 即实数。以十进制形式表示。 表示形式 小数形式:由数字和小数点组成 如1.56、 - 0.231 指数形式(科学计数法):小数E(或e)整数 “小数”表示实数的数值位,即尾数部分。 “E”代表十进制数的基数10。 “整数”表示10的乘幂。,浮点型常量,1.23103,3.918e-2,1.23E3,3.91810-2,注意:字母E 之前必须 有数字!,19,浮点型变

11、量,分 类 单精度(float) 双精度(double) 长双精度(long double),有效数字 7位 1516位 1819位,所占位数 32 64 128,变量的定义 float x,y; /*指定x,y为单精度浮点型变量*/ double z; /*指定z为双精度浮点型变量*/,浮点型常量不分单、双精度,都按双精度double处理。一个浮点型常量可以赋给一个float型或double型,根据变量的类型截取浮点型常量中相应的有效位数字。,如: float a; a=123456.123;,20,浮点型数据的舍入误差,由于浮点型变量的存储单元有限,因而小数部分的有效数字是有限的,超过部分

12、将舍去。,/*例3.4*/ #include void main( ) float a,b; a=123456.789E5; b=a+20; printf(“%f”,b); ,运行结果: 12345678848.000000,避免大数与很小数直接加减 判断两个浮点型变量是否相等,是判断二者的差的绝对值是否小于一个很小的数,21,变量初始化:定义时赋初值,变量的使用:先定义,后使用,变量定义位置:一般放在函数开头,例: int a=2,b,c=4; float data=3.67; char ch=A; int x=1,y=1,z=1; int x=y=z=1;,例1 int student;

13、stadent=19; /Undefined symbol statent in function main,例2 float a,b,c; c=a%b; /Illegal use of floating point in function main,22,3.5 字符型数据,概念:指用单引号(撇号)括起来的单个字符。 例 a b = 5 字符常量的值:该字符的ASCII码值,字符常量,字符常量的分类 一般字符常量 x ? a A 2 转义字符常量 以一个反斜杠“”开头的字符序列,有特定含义。,ASCII码(见教材P364附录A) 8 位对字符编码, 码值0-255 032 为控制字符(不可印

14、刷字符) 33-255为可印刷字符 128-255 为扩展ASCII码,23,转义字符常量表,101 - A 012 - n 376 - x61 - a 60 - 0 483 - (),24,#include void main( ) printf(“101 x42 Cn“); printf(“I say:“How are you?“n“); printf(“C Programn“); printf(“Turbo C“); ,运行结果:(屏幕显示) A B C I say:”How are you?” C Program Turbo C,例 #include void main( ) prin

15、tf(“Yb=n”); ,运行结果: 屏幕显示:= 打印机输出:,转义字符的使用,25,运行结果: 屏幕显示:,屏幕输出在后面的字符会取代原来屏幕上该位置上显示的字符,#include void main( ) printf(“_ab_ct_derftgn“); printf(“htibbj_k“); ,打印机输出:,f,a,b,c,g,d,e,h,j,i,k,转义字符的使用,26,字符变量,关于字符变量 字符变量用来存放字符常量。 一个字符变量只能存放一个字符常量。 一个字符变量在内存中占用一个字节的空间。,字符变量的定义格式: char 变量名表;,字符变量的赋值: 变量名字符常量; 变量名整型数据; 举例: char c; char ch1,ch2; c=97;ch1=B;ch2=C;,27,#include void main( ) char c1,c2; c1=97;c2=98; printf(“%c,%cn”,c1,c2); printf(“%d,%dn”,c1,c2); ,#include void main( ) char c1,

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

最新文档


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

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