专升本 C语言课件 C02(02) 数据类型

上传人:lcm****801 文档编号:88779422 上传时间:2019-05-09 格式:PPT 页数:28 大小:143.50KB
返回 下载 相关 举报
专升本 C语言课件 C02(02) 数据类型_第1页
第1页 / 共28页
专升本 C语言课件 C02(02) 数据类型_第2页
第2页 / 共28页
专升本 C语言课件 C02(02) 数据类型_第3页
第3页 / 共28页
专升本 C语言课件 C02(02) 数据类型_第4页
第4页 / 共28页
专升本 C语言课件 C02(02) 数据类型_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《专升本 C语言课件 C02(02) 数据类型》由会员分享,可在线阅读,更多相关《专升本 C语言课件 C02(02) 数据类型(28页珍藏版)》请在金锄头文库上搜索。

1、二、数据类型 2.5变量 2.5.1变量概述 内存空间,存储空间,内存的每一个字节都有一个编号,称为字节的地址。,二、数据类型 2.5变量 2.5.1变量概述 一段内存空间的首地址,一段内存空间的第一个字节的地址,二、数据类型 2.5变量 2.5.1变量概述 什么是变量?变量代表了一段存储空间,是存储空间的名字。,比如double e; 该语句从内存分配一段空间, 该段空间的名字叫e, double说明了空间的长度能放一个double数.,又如: int x;,二、数据类型 2.5变量 2.5.1变量概述 这段空间的第一个字节的地址(首地址)称为该变量的地址。 记为&e,假如语句double

2、x;给x分配了如下的空间,则&x的值是什么?,二、数据类型 2.5变量 2.5.1变量概述 变量空间中存放的数称为变量的值。 往变量空间存放数据的过程称为赋值。用“=“表示。,x=-5.e16; 把数-5.e16放入变量空间x中,这样x的值就是-5.e16,- 5. E16,二、数据类型 2.5变量 2.5.1变量概述 2.5.2变量定义 变量在使用之前必须先定义。 变量的定义: 从内存中找出一段不在使用的空间(这个过程叫做分配),作为这个变量的空间。,比如下面的程序是错误的 main() a=10; /*a在内存中什么地方?10要放在哪个存储空间?*/ printf(“%dn“,a); ,二

3、、数据类型 2.5变量 2.5.1变量概述 2.5.2变量定义 变量在使用之前必须先定义。 变量定义时规定了变量的数据类型。,int a; a是整型变量,给a分配2个字节的空间 float b; b是实型变量,给b分配4个字节的空间 main() int a; /* 给a变量分配一段能放整数的空间 */ a=10; /*把10放入变量空间a */ printf(“%dn“,a); ,二、数据类型 2.5变量 2.5.1变量概述 2.5.2变量定义 变量在使用之前必须先定义。 变量定义时规定了变量的数据类型。 变量定义时其值是随机的值。,如int a; 计算机把某一空间分配给a,但并不清除原先的

4、数。,二、数据类型 2.5变量 2.5.1变量概述 2.5.2变量定义 变量在使用之前必须先定义。 变量定义时规定了变量的数据类型。 变量定义时其值是随机的值。 定义变量时可以同时赋初值。,如 float b=3.5; 相当于 float b; b=3.5;,二、数据类型 2.5变量 2.5.1变量概述 2.5.2变量定义 变量在使用之前必须先定义。 变量定义时规定了变量的数据类型。 变量定义时其值是随机的值。 定义变量时可以同时赋初值。 变量定义后在释放前变量空间一直不变。 变量的地址是一个常量。,int a; a=10; a=520; a 的地址一直没变,&a是常量,二、数据类型 2.6

5、指针变量 2.6.1 指针变量 指针变量是一种存放地址(指针)的变量,,指针变量也是一种变量, 比如定义指针变量u,就给u分配一段空间 只不过该空间里存放的既不是整数、也不是实型数, 而是一个地址(也叫指针)。 u= u中存放变量b的地址,二、数据类型 2.6 指针变量 2.6.1 指针变量 指针变量是一种存放地址(指针)的变量, 指针变量的定义格式 数据类型 *变量名;,比如 int a,*b,c; 定义了3个变量a,b,c,其中b是指针变量。 注意这里定义的变量是b,而不是*b。,二、数据类型 2.6 指针变量 2.6.1 指针变量 指针变量是一种存放地址(指针)的变量, 指针变量的定义格

6、式 数据类型 *变量名;,假如语句int a,*b,c; 执行后a,b,c变量空间的分配地址分别是6300、6408、6512 执行以下程序段时,内存中的数据是如何变化的? int a,*b,c; b=,二、数据类型 2.6 指针变量 2.6.1 指针变量 指针变量分成很多种类: 整型指针变量,只能存放整型变量的指针; 实型指针变量,只能存放实型变量的指针; int *a;定义整型指针变量 float *b;定义实型指针变量,判断题: char *c; 则c的值只能是字符。,错, c的值只能是字符型变量的地址,二、数据类型 2.6 指针变量 2.6.1 指针变量 指针变量分成很多种类: 整型指

7、针变量,只能存放整型变量的指针; 实型指针变量,只能存放实型变量的指针; int *a;定义整型指针变量 float *b;定义实型指针变量,例 已经定义: int a,b,c,*d,*e; char f,g,*h; float i,j,*k,*m; 判断下列赋值语句哪些是正确的 A) g=f; B) k=m; C) d=c; D) d=,A)Y B)Y C)N D)N E)Y F)N G)Y H)Y I)Y J)N K)N L)N,二、数据类型 2.6 指针变量 2.6.1 指针变量 指针变量分成很多种类: 整型指针变量,只能存放整型变量的指针; 实型指针变量,只能存放实型变量的指针; in

8、t *a;定义整型指针变量 float *b;定义实型指针变量 当指针变量u中存放变量a的地址时,称为u指向a。,例 已经定义: int a,b,c,*d; d= 这时d就指向了a,二、数据类型 2.6 指针变量 2.6.1 指针变量 指针变量分成很多种类: 整型指针变量,只能存放整型变量的指针; 实型指针变量,只能存放实型变量的指针; int *a;定义整型指针变量 float *b;定义实型指针变量 当指针变量u中存放变量a的地址时,称为u指向a。,经过以下语句以后,指针变量d指向哪个变量? int a,b,c,*d,*e; a=1; d=,d指向变量a.,二、数据类型 2.6 指针变量

9、2.6.1 指针变量 指针变量分成很多种类: 整型指针变量,只能存放整型变量的指针; 实型指针变量,只能存放实型变量的指针; int *a;定义整型指针变量 float *b;定义实型指针变量 当指针变量u中存放变量a的地址时,称为u指向a。,指针变量定义时也可以初始化。 float x=5,*u=,二、数据类型 2.6 指针变量 2.6.1 指针变量 2.6.2指针指向的变量 指针运算符 * 假设u是指针变量,则*u是u所指向的变量。,假设指针变量u的值是变量t的地址,即u指向变量t, 则*u就是u所指向的变量,即t。,二、数据类型 2.6 指针变量 2.6.1 指针变量 2.6.2指针指向

10、的变量 指针运算符 * 假设u是指针变量,则*u是u所指向的变量。,例: int a,b,*c; c=,二、数据类型 2.6 指针变量 2.6.1 指针变量 2.6.2指针指向的变量 指针运算符 * 假设u是指针变量,则*u是u所指向的变量。 前面有类型说明时,*c是说明变量c是一个指针变量;其他情况下,*c表示c指向的变量。,例: int a,b,*c; c=,二、数据类型 2.6 指针变量 2.6.1 指针变量 2.6.2指针指向的变量 指针运算符 * 假设u是指针变量,则*u是u所指向的变量。 前面有类型说明时,*c是说明变量c是一个指针变量;其他情况下,*c表示c指向的变量。,为什么以

11、下语句是错误的? int *a; *a=1;,int *a; 这时a中有一个不定的值 因此*a是一个未知的内存单元 *a=1将会带来不可预知的后果,二、数据类型 2.6 指针变量 2.6.1 指针变量 2.6.2指针指向的变量 指针运算符 * 假设u是指针变量,则*u是u所指向的变量。 前面有类型说明时,*c是说明变量c是一个指针变量;其他情况下,*c表示c指向的变量。,程序填空 int *a,c; c=90; /*不直接对c赋值,使得下面语句输出的值是100 */ printf(“%dn“,c);,a=,二、数据类型 2.6 指针变量 2.6.1 指针变量 2.6.2指针指向的变量 指针运算

12、符 * 假设u是指针变量,则*u是u所指向的变量。 前面有类型说明时,*c是说明变量c是一个指针变量;其他情况下,*c表示c指向的变量。,以下程序能不能将x,y的值互换? int *a,x=50,y=70; a=,不能 x,y都是70,二、数据类型 2.6 指针变量 2.6.1 指针变量 2.6.2指针指向的变量 可以让一个指针变量指向一段动态分配的内存空间。 int *a,*b; char *c; a=(int*)malloc(2); b=(int *)malloc(10); c=(char *)malloc(1);,说出下列语句的错误: int a;a=malloc(20); int *a

13、;a=(char *)malloc(2);,二、数据类型 2.6 指针变量 2.6.1 指针变量 2.6.2指针指向的变量 可以让一个指针变量不指向任何变量,也不指向任何动态分配的内存空间。 char *p=NULL;,NULL的值为0 地址为0的内存空间在计算机中不用。,二、数据类型 2.6 指针变量 2.6.1 指针变量 2.6.2指针指向的变量 2.6.3 指针的指针 有一种指针变量,专门存放指针变量的地址,称为指针的指针。 定义格式: 数据类型 *变量名 ;,如int a,*u,*y; a只能存放整数; u只能存放整型变量的地址; y只能存放指针变量的地址。,二、数据类型 2.6 指针变量 2.6.1 指针变量 2.6.2指针指向的变量 2.6.3 指针的指针 有一种指针变量,专门存放指针变量的地址,称为指针的指针。 定义格式: 数据类型 *变量名 ; 如int a,*u,*y; *y代表y所指向的变量(上一级的指针变量) *y相当于*(*y),例 已经定义: int a,b,c,*d,*e,*u,*v; char f,g,*h,*x; float i,j,*k,*m,*y,*z; 判断下列语句哪些是正确的 A) y=z; B)u=,A)Y B)Y C)N D)N E)Y F)N G)Y H)N I)Y J)N K)N L)N,

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

当前位置:首页 > 大杂烩/其它

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