这个作业要求在哪里 | https://bbs.csdn.net/topics/610882618 |
---|---|
我在这个课程的目标是 | 掌握简单指针的用法 |
这个作业在那个具体方面帮助我实现目标 | 上课老师讲解;看教材 |
参考文献 | C语言教材;百度 |
1.PTA实验作业
1.1 指向函数的指针
分析下面代码,体会 理解 指向函数的指针
#include<stdio.h>
int max(int a,int b){
if(a>b) return a;
else return b;
}
int main(){
int(*pf)();
int x=5,y=8,z;
pf=max;
z=(*pf)(x,y);
printf("max=%d",z);
return 0;
}
执行程序,输出:
max=8
1.1.1数据处理
1.数据表达:使用了函数的方式,定义了整型的a和b,还有整型指针pf,运用了if else的选择方式。
2.数据处理:
1.1.2实验代码截图
1.1.3造测试数据
输入数据 | 输出数据 |
---|---|
x=5,y=8 | max=8 |
x=2,y=4 | max=4 |
x=6,y=1 | max=6 |
1.1.4 PTA提交列表及说明
该题主要为分析题,该代码使用了指向指针的函数,定义了指向函数的指针变量pf,定义了整型变量a,b,z,输入了x和y的值,在主函数中输入x和y的值,再比较a和b值的大小,将最大值赋给max,最后输出最大值max的值。
问题:
没太懂a,b,z在该代码中的作用。
1.2 指针数组
分析代码,理解指针数组
int a[3][3]={1,2,3,4,5,6,7,8,9};
int *pa[3]={a[0],a[1],a[2]};
void print(int *p){
printf("%d,%d,%d\n",*(p+0),*(p+1),*(p+2));
}
int main(){
int i;
for(i=0;i<3;i++)
print(pa[i]);
return 0;
}
执行程序输出:
1,2,3
4,5,6
7,8,9
1.2.1数据处理
1.数据表达:定义了三行三列的整型数组a,并赋值为1,2,3,4,5,6,7,8,9,定义了整型的指针数组pa,用for循环将元素按三行三列输出。
2.数据处理:
1.2.2实验代码截图
1.2.3造测试数据
输入数据 | 输出数据 |
---|---|
1,2,3,4,5,6,7,8,9 | 第一行:1,2,3第二行:4,5,6第三行:7,8,9 |
1,2,3,4,5 | 第一行:1,2,3第二行:4,5,0第三行:0,0,0 |
2,3,4,5,6,7,8 | 第一行:2,3,4第二行:5,6,7第三行:8,0,0 |
1.2.4 PTA提交列表及说明
该代码运用了指针数组,定义了整型指针数组pa、整型数组a,并且有九个元素,分别为1,2,3,4,5,6,7,8,9,程序输出为三行三列。
学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第六周 | 2h | 90 | 循环结构 | 对于多个数据的输出容易混淆 |
第七周 | 2h | 190 | 嵌套循环 | 多个嵌套的复杂问题不会表示 |
第八周 | 3h | 200 | 正确选择for,while,do while循环 | do while和while循环的区别 |
第九周 | 3h | 300 | 简单的数组运用 | 字符串和字符的输出或输入的格式不太清楚 |
第十周 | 6h | 450 | 数组的综合运用 | 只会简单的数组的行列输出,对于数组的替换,复制不太熟悉 |
第十一周 | 4h | 500 | 函数的定义 | 解答函数题以及函数的引用 |
第十二周 | 2h | 350 | 简单的指针的含义 | 无 |
第十三周 | 2h | 300 | 指针的定义 | 几种指针定义的方法 |
第十四周 | 3h | 450 | 指针的用法 | 几种定义指针的方法 |
第十五周 | 5h | 500 | 指针的应用 | 指针的应用 |
3.2 累积代码行和博客字数
周/日期 | 累计代码 | 博客字数 |
---|---|---|
第六周 | 90 | 0 |
第七周 | 380 | 0 |
第八周 | 580 | 0 |
第九周 | 880 | 3118 |
第十周 | 1330 | 4509 |
第十一周 | 1830 | 2856 |
第十二周 | 1930 | 0 |
第十三周 | 2000 | 0 |
第十四周 | 2200 | 0 |
第十五周 | 2500 | 2859 |
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
1.通过这一周的学习,指针的学习确实非常困难,即使听了老师讲,但还是似懂非懂的感觉。
2.在上机课需要完成的实验中,有很多题目我都不会,可能根本就不知道我要打什么代码解答题目,然后没有完成的实训会越积越多。
3.上课的时候老师讲的例题我都能够听懂,但自己去解题的时候就很困难,除非是和老师讲的例题非常类似,我才能够比较轻松地解出来。
4.在PTA上的作业,基础题对于我来说都有点困难,我希望就是在每一次PTA作业截止后老师能够发出PTA作业的答案,我还能去研究,学习,从而去提升自己,我也尝试过在网上找PTA的答案,但我不是很能看懂别人的代码,或者找不到答案。
5.有很多指针的题目我都不会做,甚至看不懂。