项目6 项目中指针的应用.pptVIP

  • 4
  • 0
  • 约2.3万字
  • 约 103页
  • 2016-12-10 发布于河南
  • 举报
项目6 项目中指针的应用

项目6 技能目标 能正确定以指向不同类型数据的指针变量,能正确使用指针访问数据 能正确运用指针变量的运算 能用指针变量作为函数的参数 知识目标 解指针的概念,理解指针变量的定义 解指针变量作函数参数与变量作函数参数的区别 理解指针在数组中的移动方法 项目任务与解析 使用指针实现学生中的最高学生成绩、最低成绩,以及成绩不合格学生;对学生的成绩进行排序。 本项目包含下面3个任务: ?任务13:查找学生最高、最低成绩 ? 任务14:查找成绩不合格的学生 ? 任务15:对学生的成绩进行排序 主要内容 6.1 任务13:使用指针查找学生最高、最低成绩 6.2 任务14:使用指针查找成绩不合格的学生 6.3 任务15:使用指针对学生的成绩进行排序 6.4 必备知识与理论 6.5 扩展知识与理论 6.1 任务13:使用指针查找学生最高、最低成绩 1. 问题描述 对一门课的成绩,查找最高、最低成绩,用指针来实现。 2. 具体实现 P154-P155程序 3. 知识分析 使用指针可以指向数组,这时使用数组可以完成的查询算法也可以用指针来实现。 6.2 任务14:使用指针查找成绩不合格的学生 1. 问题描述 对一门课的成绩,查找成绩不合格的学生,用指针来实现。 2. 具体实现 P155程序 3. 知识分析 使用指针可以指向数组,这时使用数组可以完成的查询算法也可以用指针来实现。 6.3 任务15:使用指针对学生的成绩进行排序 1. 问题描述 对一门课的成绩进行排序,用指针来实现。 2. 具体实现 P155-P156程序 3. 知识分析 使用指针可以指向数组,这时使用数组可以完成的排序算法也可以用指针来实现。 6.1 指针基础 指针是C语言中种广泛使用的数据类型。利用指针变量可以表示各种数据结构;能很方便地使用数组和字符串;并能像汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了C语言的功能。 6.4.1 地址与指针 1. 程序实体的内存地址 一个程序一经编译,在其执行过程中,就会为变量、数组以及函数分配存储空间。这些变量、数组、函数都称为程序实体,也具有某一种数据类型。这些被分配了内存空间的程序实体,都具有自己的内存地址。 #include stdio.h int main(void) { int i1,i2; float f1,f2; double d1,d2; printf(数据大小:int,%d;float,%d;double,%d\n, sizeof(i1),sizeof(f1),sizeof(d1)); /* 输出类型宽度 */ printf(%ld,%ld\n,i1,i2); /* 输出变量地址 */ printf(%ld,%ld\n,f1,f2); printf(%ld,%ld\n,d1,d2); return 0; } 解释: (1)变量存储空间的分类顺序:先声明的后分配;撤销的顺序与之相反:先建立的后撤销。这种机制就称为栈机制,好像往一个只能允许进出一个盘子的桶里放盘子,先放进的后拿出。在C语言程序中,局部变量就是被分配在栈区的,并且是以高端为栈底建立的。所以后建的变量的地址小。 (2)每个变量只有一个地址,但占用的空间不同。空间的大小因类型而异。同时,数据的存储方式也不同,如实型数据采用浮点存储,而整型数采用定点存储。 2. 指针的概念 从根本上说,目标程序是按照地址访问这些程序实体的。C语言不仅提供了用变量名访问内存数据的能力,还提供了直接使用内存地址访问内存数据的能力。这个内存地址就称为指针。它好像一个指路标指向要访问的内存数据。 6.4.2 指针变量及其定义 变量可以用来存放数值(如整数、实数等),也可以用来存放地址(另一个变量的地址),这种专门用于存储指针(地址)的变量就称为指针变量。 1. 指针变量的定义 在定义指针变量时,需要用指针声明符*表示此变量不是一般的变量,而是用来存放其他变量地址的指针变量。由于每一个变量都是属于一个特定类型的,因此在定义指针变量时,需要声明该变量的类型,以便能通过指针能正确访问特定类型的数据。 定义一个指针的语法格式为: 基类型标识符 * 指针变量名; int * pi1,*pi2; double *pd1,*pd2; 说明: (1)“基类型”,就是指针要指向的数据的类型。 (2)定义指针变量时,在指针变量名前加符号“*”。“*”称为指针声明符,用于说明它后面的名字是一个指针变量名。例如语句: int i1,i2,*pi1,*pi2; 定义了两个数据变量i1和i2,还定义了两个指向int类型的指针pi1和pi2。 2. 指针变量的初始

文档评论(0)

1亿VIP精品文档

相关文档