实验十 指针与指针变量上机实训
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 -