史航416第十次作业&总结

作业1: 计算两数的和与差。要求自定义一个函数

#include <stdio.h>
void sum_diff(float op1,float op2,float *psum , float* pdiff)
{
    *psum = op1+op2;
    *pdiff = op1-op2;
}
int main(void)
{
    float f1=18.5, f2=6.7, sum, diff;
    sum_diff(f1, f2, &sum, &diff);
    printf("sum=%g, diff=%g
", sum, diff);
} 

测试:

作业2:利用指针找最大值要求自定义一个函数

#include<stdio.h> 
void findmax( int *px, int *py, int *pmax )
{
    *pmax = *px;
    if(*py > *pmax)
    {
        *pmax = *py;       
    }
    else
        *pmax= *px;      
}
int main(void)
{
    int max=0,x,y;
    printf("Enter x y:
");
    scanf("%d%d",&x,&y);
    findmax(&x,&y,&max);
    printf("max:%d
",max);  
}

测试:

作业3:拆分实数的整数与小数部分:要求自定义一个函数

#include <stdio.h>
void splitfloat(float x,int *intpart,float *fracpart)
{
    *intpart=(int)x;
    *fracpart=x-(*intpart);
}
int main()
{
    float a,c;
    int b;
    void splitfloat(float x,int *intpart,float *fracpart);
    printf("输入一个实数x:");
    scanf("%f",&a);
    splitfloat(a,&b,&c);
    printf("整数部分:%d,小数部分:%f
",b,c); 
    
    return 0;
}

测试:

一、知识点总结:

1.指针变量的定义:类型名: *指针变量名

2.指针的赋值:指针变量被定义后,必须将指针变量和一个特定的变量进行关联后才可以使用

3.说明:
①当p=&a后,*p与a相同。
②int *p;定义指针变量p
*p=10;指针p所指向的变量,即a。
③&*p与&a相同,是地址
*&a与a相同,是变量

4.定义指针变量的一般形式如下:

类型名*指针变量名1,*指针变量名2,... *指针变量名n ;

定义指针变量与定义普通变量非常类似,不过要在变量名前面加星号*

5.定义指针变量要使用指针声明符*。如:int  i,*p;

 在定义指针变量时,除了指针变量名,还需要说明该指针变量所指向的内存空间上所存放数据的类型。

6.指针p所指向变量的值加1:*p=*p+1       ++*p      (*p)++        *p++等价于*(p++)

二、心得:

上节课没来,叫同学给我拍了上课所有的PPT,在同学的帮助下,艰难地完成了作业,下节课会努力跟上课程。

原文地址:https://www.cnblogs.com/shihang123/p/6114175.html