实验六 指 针
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六指针
一、目的要求
1.理解指针的含义,会定义和使用指针变量。
2.掌握指向数组的指针的定义和使用方法。
3.掌握指针在函数调用中的作用。
二、实验学时
4学时
三、实验内容:
1.找出下面程序的错误,请改正并上机调试出正确结果。(1)main( )
{int x=10 , y=5 , *px , *py ;
px=py ;
px=&x ;
py=&y ;
printf( “%d , %d”, *px , *py ) ;}
(2)main( )
{int a[10]={1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10}, i ;
for( i=0 ; i<10 ; i++ , a++ )
printf( “%d”,*a ) ;}
2.阅读程序说明功能,写运行结果,并上机调试。
main( )
{int i , j , k , temp ;
int *p1 , *p2 , *p3 ;
scanf(“%d%d%d”, &i , &j , &k) ;
p1=&i ;
p2=&j ;
p3=&k ;
printf(“%d%d%d”, i , j , k) ;
temp=3;
*p3= *p2 ; *p2= *p1 ; *p1=temp ;
printf( “%d%d%d”, i , j , k ) ; }
3.在程序的空白处填上适当内容,使程序完整。
求一维数组各元素平均值
#define N 10
main( )
{ float average( , int n ) ;
float num[N] , aver ,
int i ;
for( i=0 ; i scanf(“%f”,&num[i] ) ; aver=average( num , N ) ; printf(“%f”, aver) ; } float average( float *p , ) {int i ; float Sum=0.01 ,ave ; for( i=0 ; i Sum=Sum+ ; ave=Sum/n ; return(ave) ; } 4.编程题: (1)从键盘输入三个整数,然后降序输出,要求用指针实现。 (2)编一个函数sort,使10个整数按升序排列,在main函数中输入这10个数,并输出排好序的数。 (3)编程将字符串computer赋给一个字符数组,然后从第一个字母开始间隔输出该串,请用指针完成。输入一行文字指出其中有多少大写字母,要求用指针实现。