这个作业要求在哪里 | https://bbs.csdn.net/topics/610882618 |
---|---|
我在这个课程的目标是 | 了解变量、内存单元和地址之间的关系、指针变量的基本运算、使用指针操作所事项的变量,指针作为函数参数的作用是什么,以及如何使用指针实现函数调用返回多个值、如何利用指针实现内存的动态分配、指针数组和指向指针的指针是如何被定义和使用的 |
这个作业在那个具体方面帮助我实现目标 | 本次作业帮助我理解数组指针的使用。使用数组指针能够解决一些其它方式不能解决的问题 |
参考文献 | CSDN博主的代码 C语言书 问老师 |
1.PTA实验作业
1.1 题目名1
分析下面代码,理解二级指针。
#include<stdio.h>
int main(){
int n,*p,**pp;
n=10; p=&n; pp=&p;
printf(“n=%d,n=%d,n=%d\n”,n,*p,**pp);
printf(“%x,%x,%x\n”,&n,&p,&pp);
printf(“%x,%x\n”,&n,p);
printf(“%x,%x\n”,&p,pp);
return 0;
}
执行程序,输出:
n=10,n=10,n=10
28febc,28feb8,28feb4(此部分输出可能不同)
28febc,28febc
28feb8,28feb8
1.1.1数据处理
数据表达:该代码定义了n,*p,**pp,这些变量的值是根据题目中代码进行定义的,类型是整型。
数据处理:
1.1.2实验代码截图
1.1.3 造测试数据
输入数据:
输出数据:0
1.1.4 PTA提交列表及说明
1.2 题目2
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
定义一个指针数组将下面的星期信息组织起来,输入一个字符串,在表中查找,若存在,输出该字符串在表中的序号,否则输出-1。
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
输入输出示例:括号内为说明,无需输入输出
1.2.1 数据处理
数据表达:定义了repeat,index=0,数组指针*a[7],以及字符串数组b[100],这些变量的值是根据题目要求定义的相关变量。类型是整型,数组指针,字符串数组。
数据处理:
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据1:Tuesday
输入数据2:Wednesday
输入数据3:year
输出数据1:3
输出数据2:4
输出数据3:-1
1.2.4 PTA提交列表及说明
2.代码互评
同学代码截图
7.6
(1)
(2)
7.8
(1)
(2)
自己代码截图
7.6
7.8
7.6
两位同学代码的比较:
两位同学代码只有定义的n的值不同,第一位同学的为0,第二位同学的为10,但最终对代码的结果都没有影响。
我与两位同学代码的比较:
我与两位同学的代码几乎没有太大的区别,但按照PTA上的题目要求输出0,所以直接打印0.但是我觉得这个代码,是不是太简单了,更简洁的方法是直接打印0,省去前面部分。
7.8
两位同学代码的比较:
(1)第一位同学的代码开始定义了一个二维数组,第二位同学定义的是一维数组,第一位同学的二维数组显得有点多余。
(2)两位同学定义的字符串数组范围大小不同,但对程序并没有不好的影响。
(3)第一位同学的strcmp是直接为0的,而第二位同学使用了中间变量flag。
我与两位同学代码的比较:
(1)第一位同学的代码前面部分与我的相差不大,但是她的第22行代码只包含了j为7的情况,没有考虑7以后的情况出现。
(2)第二位同学第18、19行代码格式不太规范。
3.学习总结
3.1 学习进度条
周 | 知识点 | 还存在的问题 |
---|---|---|
第五周 | C语言基本知识 | 无 |
第六周 | c语言程序的基本结构 | 无 |
第七周 | 数据类型和运算符 | 优先级还不太理解 |
第八周 | 顺序结构与选择结构,循环结构 | 无 |
第九周 | 数组的定义,一维数组的使用 | 无 |
第十周 | 二维数组的使用 | 数组的输出还不太清楚 |
第十一周 | 函数 | 函数定义的类型还不太会 |
第十二周 | 指针与指针变量的概念 | 无 |
第十三周 | 指针变量的定义与引用 | 无 |
第十四周 | 指针与地址运算 | 概念还是不太清楚 |
第十五周 | 数组指针 | 使用数组指针的意义还不太理解 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
1.对本节课的数组指针的定义还是有许多地方不太会运用,可能是对它的理解还不太深,后续我需要进一步对其进行理解。当然还是因为我没有养成提前预习的习惯,所以导致我在听课时,对问题不太理解。
2.经过将近10周的学习,虽然对C语言的理解还不太深,但是,不管新知识如何增加,它都是基于前面所学的知识进行升华的。虽然我现在的基础还是太差,但功夫定不会负有心人的。