淘豆网
下载此文档放大查看缩小查看   1/25
0/100
您的浏览器不支持进度条
更多>>该用户其他文档
下载所得到的文件列表
项目六 用指针优化学生成绩排名.ppt
文档介绍:
项目六用指针优化学生成绩排名
项目要求
一个班有40位学生参加了期终考试(考了三门课),请用指针优化学生成绩排名。即用指针实现数组的输入输出以及数组的排序(在函数中进行)。
项目分析
要用指针优化学生成绩排名,第一必须要了解指针的概念、引用;第二必须会用指针实现数组的输入输出;第三在函数中用指针实现数组的排序,然后调用此函数。为了在介绍的时候条理清晰,所以分解成5个任务。
任务1 了解指针
一、问题情景
一个班进行了一次考试,现要将几个学生的成绩输入,用指针的方式输出。
二、具体实现
#include <stdio.h>
void main()
{ int *p1,*p2,a,b;
printf("输入:");
scanf("%d,%d",&a,&b);
p1=&a;p2=&b;
printf("输出:");
printf("a=%d,b=%d\n",a,b);
printf("*p1=%d,*p2=%d\n",*p1,*p2);
}
程序运行后显示器上的结果为:
输入:5,6
输出:a=5,b=6
*p1=5,*p2=6
知识点:
1、指针的概念;
2、指针的引用;
三、相关知识
(一) 地址和指针的概念
计算机内存空间是由顺序排列的以字节为单位的存储单元,将这些存储单元从0开始顺序编号,这些编号就构成了每个存储单元的地址,如图
每个变量名都与一个唯一的地址相对应,因此我们对变量的访问实质上还是通过地址来进行数据的存取。
指针是存储特定数据类型的地址。该地址处存放的数据也形象地称为”指针所指向的数据”。
指针也有类型。指针的类型就是指针所指向的数据的类型。指针的类型限定指针的用途,
(二)指向变量的指针变量
1. 指针变量的定义
用来存放数据地址的变量叫指针变量。
定义格式:
类型标识符*变量名[=地址表达式]
其中:类型标识符是指针变量所指向单元的值的数据类型。
“*”指针变量的定义符;
“变量名”命名规则同一般变量,但表示一个地址;
如:int x, *pointer1;pointer1=&x;则pointer1表示x的内存地址。
2. 指针变量的初始化:在定义变量的同时给指针变量赋地址值。
int x=3;
float y;
int *pointer1=&x;
float *pointer2=&y;
指针变量没有指向一个具体的地址,这样的指针叫空指针,空指针是“危险”的。
3. 指针变量的引用
(1) &:取地址运算符
用于变量名之前,表示该变量的内存地址。
(2) *:指针运算符(间接访问运算符)
用于指针变量名之前,获取该指针所指向的目标单元的值。
在定义变量时用“*”号,表示定义了一个指针变量,在引用时用“*”号,表示间接运算。
4. 指针变量的算术运算
含义:对于地址的运算,只能进行整型数据的加、减运算。
p=p+n;p=p-n
注意p+n不是加(减)n个字节,而是加(减)n个数据单元。
#include <stdio.h>
void main()
{
int a,b,*pointer_1,*pointer_2;
a=100,b=200;
pointer_1=&a;
pointer_2=&b;
printf("%d,%d\n",a,*pointer_1);
printf("%d,%d\n",b,*pointer_2);
}
程序运行结果:
100,100
200,200
【例6-1】指针与地址的应用
5.“&”和“*”两个运算符
“&”和“*”两个运算符的优先级别是相同的,结合规律是右结合性:
若point1=&a; 则&*point1等价于&a;*&a 等价于 a;
在定义指针变量时,还未规定它指向哪一个变量,此时不能用*运算符访问指针。
int a;
int *p; /*未规定指向哪个变量*/
*p=289;
int a;
int *p=&a;
*p=289;
【例6-2】输入两个学生的成绩,按从小到大的顺序输出。
#include <stdio.h>
void main()
{ int *p1,*p2,*p,a,b;
printf("输入:");
scanf("%d,%d",&a,&b);
p1=&a;p2=&b;
if(a>b)
{p=p1;p1=p2;p2=p;}
printf("输出:");
printf("a=%d,b=%d\n",a,b);
printf("min=%d,max=%d\n",*p1,*p2);
}
程序提示:
p1=&a;p2=&b;
使p1指向a,p2指向b
if(a>b)
{p=p1;p1=p2;p2 内容来自淘豆网www.taodocs.com转载请标明出处.
更多>>相关文档
文档信息
最近更新
文档标签