一.作业头文件
这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/computer-scienceclass1-2018/homework/2828
我在这个课程的目标是 掌握定义指针变量,使用指针变量,进行指针变量的初始化
这个作业在那个具体方面帮助我实现目标 能从多个角度来解决以前类似的题目
参考文献 https://zhidao.baidu.com/question/193848631.html和https://blog.csdn.net/lhj_168/article/details/80308041
为一维数组输入10个整数;将其中最小的数与第一个数对换,将最大的数与最后一个数对换;输出数组元素。。
函数接口定义:
void input(int arr,int n);
void max_min(int arr,int n);
void output(int *arr,int n);
三个函数中的 arr和n 都是用户传入的参数。n 是元素个数。
input函数的功能是输入 n个元素存到指针arr所指向的一维数组中。
max_min函数的功能是求指针arr所指向的一维数组中的最大值和最小值,其中最小的数与第一个数对换,将最大的数与最后一个数对换。
output函数的功能是在一行中输出数组元素,每个元素输出占3列。
include
define MAX 80
int n;
void max_min(int num,int max,int *min);
int main()
{
int num[MAX];
int i,max,min;
scanf("%d",&n);
for(i=0;i
}
void max_min(int num,int max,int min)
{
int i;
max = min = num[0];
for(i=0;i
if(
{
max = num[i];
}
if(min > num[i])
{
*min = num[i];
}
}
}
函数fun的功能是:求两数平方根之和,作为函数值返回。例如:输入12和20,输出结果是:y = 7.936238。
函数接口定义:
double fun (double a, double b);
其中 a和 b是用户传入的参数。函数求 a指针和b 指针所指的两个数的平方根之和,并返回和。
裁判测试程序样例:
include
include
double fun (double a, double b);
int main ( )
{ double a, b, y;
scanf ("%lf%lf", &a, &b );
y=fun(&a, &b); printf ("y=%.2f\n", y );
return 0;
}
实验代码
double fun(double a,double b)
{
double result;
result=sqrt(*a)+sqrt(*b);
return result;
思考题:(分值等同于编程题)
1.为什么要使用指针?它有什么用?
答:1.在数据传递时,如果数据块较大,使用指针传递地址而不是实际数据,即提高传输速度,又节省大量内存
2.字符串指针
3.函数指针,可以用在大量分支处理的实例当中
(1)指针就是指向一个特定内存地址的一个变量。
(2)指针只是一个变量,它存储一个内存地址
(3)指针直接与存储地址有关
2.指针变量在内存中暂用多大的空间?它的大小由什么决定?
答:指针的大小实际上是由CPU的寻址位数决定,而不是字长
32位处理器上32位操作系统的32位编译器,指针大小4字节。
32位处理器上32位操作系统的16位编译器,指针大小2字节。
32位处理器上16位操作系统的16位编译器,指针大小2字节。
16位处理器上16位操作系统的16位编译器,指针大小2字节。
它只跟当前CPU的寻址位数 和编译器的 位数有关
周/日期 这周所用时间 代码行 学到的知识点简介 目前比较迷惑的问题
3/9-3/15 10小时左右 200左右 二维数组 对矩阵的上下三角形的一些规律,运用的不熟练
3/16-3/22 6小时时左右 260左右 冒泡法 对题目进行思路分析不够全面
3/23-3/29 10小时左右 220左右 在定义指针变量时需要使用指针声明符 * ,但指针声明符并不是指针的组成部分 指针变量的初始化
3/30-4/5 7小时左右 180左右 理解变量、内存单元和地址之间的关系;指针变量 如何使用指针实现函数调用返回多个值
代码行数
时间 博客字数 代码行数
第二周 1000 40
第三周 1500 90
第四周 2500 70
第五周 2000 80
第六周 1800 100