20165324 技能学习心得与C语言学习
一、读后感及技能学习
做中学读后感
我认为给学生具体的, 能实践的, 能马上看到因果关系的教材和练习, 是激发学生兴趣, 好奇心, 求知欲的好方法。 我就是这样学习编程和软件开发的。 所以我对「习而学」的方法很有好感。软件工程有理论的部分, 有工程的部分; 有艺术的部分,有手艺的部分; 在同学们达到理论/艺术的阶段之前, 大量的练习是必须的.
其引用自《做中学》
读后感
娄老师先阐述了激发学生兴趣的方法,即具体、实践、能看到因果效果的教材和实践尤为重要。进而提到了“习而学”方法模式,最后又告诫读者大量的练习是达到理论/艺术的阶段的必要条件。我很赞同老师的看法,兴趣是我们最好的老师,而激发兴趣的方法显得尤为重要。对于一门计算机语言的学习更应该使用正确的方法,我认为网上的教学资源如MOOC、网易云课堂等等,以及老师所提到的翻转课堂对于激发学生的兴趣,好奇心,求知欲都有着很好的作用。尽管一个人看书也能有所长进,但我更适合于在老师的讲解下达到学习的目标。通过书本与实践的结合才能更好的掌握一门计算机语言。
技能学习
对于自身的超过常人的技能现在好像没有,但我对于技能学习还有些感触。小学时,我有些运动的天赋,自己也比较注重身体素质的锻炼,进入了学校的体育训练校队。每天都会准时的在教练的带领下进行重复的训练,那段时间每天早上的早自习和放学之后的很长时间里都在进行着训练:蛙跳、坡道训练、耐力训练等等很让人痛苦,但很感谢那时候有和我一起坚持努力的伙伴,有严格但亲切的教练教导、督促我们完成每天的训练。每天精疲力尽的训练完,大家都会在教练的带领下,环绕操场慢走一两圈,大家说说笑笑的时光更显得尤为珍贵。
二、C语言学习
- 你是怎么学习C语言的?与你的高超技能相比,C语言的学习有什么经验和教训?
在学习C语言中,我并没有积极主动的学习相关知识,上课也没有认真听讲,课下只能自己摸索。后来才通过看一些简单的程序,自己慢慢尝试去模仿才有所长进。来源于网上的资源给了我很多帮助。
- 目前为止估算自己写过多少行C代码?理解的情况如何?量变引起质变,如何平衡质和量?
我一学期大概只写了3000行代码,但很少是自己独立完成的,借助了很多外来的帮助。常常是看完一个程序,就简单的修改、模仿。很多都没有理解透彻就草草结束了。尤其是后面的知识点很多都马虎了事了。单纯的刷分,只考虑通过眼前的考试就完了。最后花费了很多时间,但收获并不大。。
- 学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?
数组指针:指的是数组名的指针,即数组首元素地址的指针。
指针数组:是数组元素为指针的数组,本质为数组。
函数指针:是指向函数的指针变量。
指针函数:首先它是一个函数,只不过这个函数的返回值是一个地址值。
- 学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?
学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?
不明白 百度得 文件和流的区别和联系
如何区分文本文件和二进制文件
什么叫面向过程程序设计
- 在C语言里面,什么是模块?你写过多个源文件的程序吗?
模块:实现某一功能的程序作为一个整体来处理的一级独立的、可识别的程序指令。
没写过
- 学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?
- 不知道。 百度得 高内聚,低耦合
- 学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。
#include <stdio.h>
#define N 40
int main()
{
int a[N],b[N];
int i,n,k=0;
printf("the number of a[]:");
scanf("%d",&n);
printf("请输入一串数字:");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
b[i]=a[i];
if(a[i]==5) k=1;
}
k==1?printf("该数组有5\n"):printf("该数组没有5\n");
printf("数组输出为:\n");
for(i=0;i<n;i++)
{
printf("%d\t",b[i]);
}
printf("\n");
printf("%s\n",cc);
return 0;
}
//输入整数,从小到大或者从大到小排序。
#include <stdio.h>
#define N 40
int main()
{
void xd(int a[],int n);
void dx(int a[],int n);
int a[N],i,n,k;
printf("请输入个数:\n");
scanf("%d",&n);
printf("请输入数字:");
for(i=0;i<=n;i++)
scanf("%d",&a[i]);
printf("从小到大输入0,从大到小输入1\n");
scanf("%d",&k);
if(k==0)
{
xd(a,n);
printf("从小到大排序后的整数依次为:\n");
for(i=0;i<=n;i++)
printf("%d\t",a[i]);
printf("\n");
}
if(k==1)
{
dx(a,n);
printf("从大到小排序后的整数依次为:\n");
for(i=0;i<=n;i++)
printf("%d\t",a[i]);
printf("\n");
}
return 0;
}
void xd(int a[],int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
}
void dx(int a[],int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]<a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
}
- 写一个程序,统计自己C语言共写了多少行代码。
不会,而且写过的C语言已经不见了,删了。
- 你知道什么是断点吗?给出自己调试程序的例子
不知道 百度得断点
Java学习目标
利用时间、资源,每天自觉学习,坚持写代码,尽力完成学习任务。