欢迎来到天天文库
浏览记录
ID:20362902
大小:151.50 KB
页数:11页
时间:2018-10-09
《实验8 指针应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、05d2bcb82908695dde928c9a99d605da.doc(匡珍春制作)实验八指针的应用(2学时)实验前必须做的操作——新建文件夹:1、先在对应的K:盘上建立一个父文件夹(用来存放本人整个学期的作业),格式为:“专业+班级+学号+姓名”,如:航海1091班、学号为05的匡珍春同学,其父文件夹名称为:航海109105匡珍春,然后在此父文件夹下建立子文件夹,名称为:实验8(用来存放实验8需要上交的文件)。2、在E:盘上建立一个以本人姓名为名称的文件夹(本次实验的工作文件夹),例如:E:匡珍春【实验目的】1、掌握指针的概念、指针变量定义格式;2、掌握
2、指针的运算;3、学会用指针对变量进行操作;4、掌握指针与数组的关系;5、了解通过指针操作字符串的方法;6、了解指针与函数的关系;7、了解指向指针变量的指针。【实验内容】[实验任务一]:补充完整程序,掌握C语言中与指针有关的算法。程序填空实例8-1:使用指针把从键盘输入的2个数按从大到小的顺序输出(不改变变量的值),请补充完整并上机调试。将填空后完整的程序以文件名为blank8_1.c保存在实验8文件夹里。(需要存盘)第11页共11页05d2bcb82908695dde928c9a99d605da.doc(匡珍春制作)程序填空实例8-2:输入10个整数存入一维数
3、组,再按逆序重新调整该数组中元素的顺序然后再输出。下面给出部分程序的内容,请将程序补充完整,然后上机调试。将填空后完整的程序以文件名为nixu_1.c保存在实验8文件夹里。(需要存盘)第11页共11页05d2bcb82908695dde928c9a99d605da.doc(匡珍春制作)将填空后完整的程序以文件名为nixu_1.c保存在实验8文件夹里。(需要存盘)程序填空实例8-3:用指针访问简单变量。从键盘输入三个整数,要求设三个指针变量p1,p2,p3,使p1指向三个数的最大者,p2指向次大者,p3指向最小者,然后按由小到大的顺序输出这三个数。将填空后完整的
4、程序以文件名为blank8_3.c保存在实验8文件夹里。(需要存盘)程序填空实例8-4:用指针来处理一维数组元素。第11页共11页05d2bcb82908695dde928c9a99d605da.doc(匡珍春制作)从键盘上输入若干个字符,以符号“@”结束。编一个C程序,统计这些符号的个数(不包括@)存入数组元素a[0],将这些符号依次存入a[1]、a[2]、a[3]、…中。接着利用a[0]中存放的字符个数,输出这些字符。将填空后完整的程序以文件名为blank8_4.c保存在实验8文件夹里。(需要存盘)【待填充的源程序参考清单】#include5、>voidmain(){chara[100]={0},=a,c;scanf("%c",&c);while(){;;*pa=c;scanf("%c",&c);}printf("numberofstring:%dstring:",a[0]);for(pa=a+1;pa<=;pa++)printf("%c",*pa);printf("");}[实验任务二]:通过调试和补充实例程序,以达到能正确使用指针变量作为函数的参数进行地址传递的目的。编程实例8-1:编一个函数intfun(*charss),它的功能是:把ss字符串中的字符按逆序存放。例如:若输入6、字符串为ABCDEFG,则逆置后的字符串为GFEDCBA。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include#defineM81intfun(char*ss){/*答题开始*/┇┇/*答题开始*/}voidmain(){char*a;printf("Pleaseenterastring:");gets(a);fun(a);printf("Thenewstringis:%s",a);第11页共11页05d2bcb82908695dde9287、c9a99d605da.doc(匡珍春制作)}将编写好的程序以文件名daoxu.c最终保存在实验8文件夹里。(需要存盘)编程实例8-2:下面程序用来实现a,b两个数的交换。#includevoidmain(){inta,b,*pa,*pb;printf(“pleaseinputtwointegernumbers:”);scanf(“%d%d”,&a,&b);printf(“thevaluesofaandbbeforeexchangingare:”);printf(“a=%db=%d”,a,b);pa=&a;pb=&b;swap(p8、a,pb);printf(“theva
5、>voidmain(){chara[100]={0},=a,c;scanf("%c",&c);while(){;;*pa=c;scanf("%c",&c);}printf("numberofstring:%dstring:",a[0]);for(pa=a+1;pa<=;pa++)printf("%c",*pa);printf("");}[实验任务二]:通过调试和补充实例程序,以达到能正确使用指针变量作为函数的参数进行地址传递的目的。编程实例8-1:编一个函数intfun(*charss),它的功能是:把ss字符串中的字符按逆序存放。例如:若输入
6、字符串为ABCDEFG,则逆置后的字符串为GFEDCBA。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include#defineM81intfun(char*ss){/*答题开始*/┇┇/*答题开始*/}voidmain(){char*a;printf("Pleaseenterastring:");gets(a);fun(a);printf("Thenewstringis:%s",a);第11页共11页05d2bcb82908695dde928
7、c9a99d605da.doc(匡珍春制作)}将编写好的程序以文件名daoxu.c最终保存在实验8文件夹里。(需要存盘)编程实例8-2:下面程序用来实现a,b两个数的交换。#includevoidmain(){inta,b,*pa,*pb;printf(“pleaseinputtwointegernumbers:”);scanf(“%d%d”,&a,&b);printf(“thevaluesofaandbbeforeexchangingare:”);printf(“a=%db=%d”,a,b);pa=&a;pb=&b;swap(p
8、a,pb);printf(“theva
此文档下载收益归作者所有