实验十 指针与指针变量上机实训

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验十指针与指针变量上机实训

实验时间:2010年12月10日

【实验目的】

1、掌握指针的概念,掌握指针与变量的关系;

2、掌握指针变量的定义与赋值;

3、掌握指针运算符——取地址运算符“&”与取内容运算符“*”的使用;

4、掌握指针变量的运算规则

5、掌握指针变量的使用,变量的直接访问与间接访问。

6、掌握指针在函数参数传递中的作用。

【实验内容】

1、变量的地址与指针的定义;

2、指针变量的定义与赋值;

3、指针运算符——取地址运算符“&”与取内容运算符“*”的使用;

4、指针变量的运算;

5、指针变量的使用,变量的直接访问与间接访问;

6、指针变量作为函数的参数。

【实验步骤】

一、在E或F盘上建立以自己的学号命名的文件夹。

二、上机验证题:

1、变量的地址:写出程序ex9_1.c的结果。

2、变量的直接访问与间接访问:阅读程序ex9_2.c,预测结果并上机验证。

3、指针运算符——取地址运算符“&”与取内容运算符“*”的使用:阅读程序ex9_3.c,预测结果并上机验证。

4、运行下列程序,写出结果:ex9_4.c,ex9_5.c,ex9_6.c 。

三、编程题:

1、使用指针变量求解:输入2个整数,按升序(从小到大排序)输出。

1)源程序以ex9_7.c保存在自己的文件夹内。

注:程序运行情况:

Input the first number:9←┘

Input the second number:6←┘

num1=9, num2=6

min=6, max=9

程序说明:

(1)第5行的if语句

如果*num1_p>*num2_p (即num1>num2),则交换指针,使num1_p指向变量num2(较小值),num2_p指向变量num1(较大值)。

(2)printf(“min=%d, max=%d\n”, *num1_p, *num2_p); 语句:通过指针变量,间接访问变量的值。

本案例的处理思路是:交换指针变量num1_p 和num2_p的值,而不是变量

- 1 -

num1和num2的值(变量num1和num2并未交换,仍保持原值),最后通过指针变量输出处理结果。

2、输入3个整数,按降序(从大到小的顺序)输出。要求使用变量的指针作函数调用的实参来实现。

1)源程序以ex9_8.c保存在自己的文件夹内。

3、编写一个程序,要求设计出一个用3 个指针作参数的函数,其功能是循环交换

它们的值。

1)源程序以ex9_9.c保存在自己的文件夹内。

【实验小结】

应知:

1、变量的地址与指针的概念;

2、指针变量的定义与赋值;

3、指针变量与变量的关系。

应会:

1、指针运算符——取地址运算符“&”与取内容运算符“*”的使用;

2、指针变量的运算;

3、指针变量的使用,变量的直接访问与间接访问;

4、指针变量作为函数的参数。

【实验思考】

1、指针定义后为什么一定要赋值后才能使用?如果不赋值,直接使用可能会发生什么后果?

2、为什么指向某个变量的指针一定要同变量的类型一型?

3、指针变量取什么数值?指针变量运算符&和*的含义是什么?

- 2 -

相关文档
最新文档