高超技能学习
## 有什么技能比大多人(超过70%以上)更好?
- 书法,虽然自己水平不高,但考虑到书法的普及率过低,我还是有自信在这一领域可以超过绝大多数人的。
- 作品嘛。。由于水平不高还没有写过作品,目前只有几张这几天写的还没扔的练习了。
## 针对这个技能的获取有什么成功的经验?
首先需要一个正确的感兴趣的学习方向,如先学习楷书是正确的方向,但是楷书名家如此之多,要学习谁?欧颜柳赵或是其他书家的?
在我选择的时候我选择了我最感兴趣最喜欢的书体,有着兴趣的驱动,使我不至于觉得枯燥而放弃。
此外还需要长久的练习,通过不断的练习逐渐熟悉提按,笔法,结构,章法,水平才能不断提高。
结合对于计算机的学习,我认为我更需要长久的练习。在之前按部就班地学习,做作业,并未感到自己努力不足,可是看到了学长的感想我意识到我的努力还远远不够,特别是知道了轮子哥说他在学校一天要敲10小时代码时,我更觉得我需要保持每天一定的代码量。
C语言学习的调查
## 怎么学习C语言的?
- 通过教材和课程学习,课下通过作业练习。另外有时候会通过慕课网学习(但是没花太多时间)
## 与高超技能相比,C语言的学习有什么经验和教训?
- 练习的过少。所以我决定要保证每日代码量。
## 目前为止估算自己写过多少行C代码?理解的情况如何?
- 大致在2000行左右,感觉自己还没有完全掌握,还有部分课程没教到的地方不理解。决定在假期去了解。
## 学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?
- 分的清数。
- 数组指针是指向数组的指针。
- 函数指针是指向函数的指针。
- 指针数组是类似数组的指针的集合。
- 指针函数就是函数,不过其中有指针。
学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?
- 文件和流的关系我想用水箱来类比,文件就是水箱,存储这"流“这种水,当需要读取数据时,水龙头开启,流便如水一般流出来。
## 文本文件和二进制文件,区别在于文本文件是可读懂的,而二进制文件无法读懂。
至于如何编译和操作。。。我现在还不会。。。
## 学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?
- 面向过程指将程序分成一个一个的过程,逐个设计。运用了模块化的思想方法。
## 在C语言里面,什么是模块?你写过多个源文件的程序吗?
模块指在整个程序中实现一部分功能的一个个函数。
- 暂时还没有写过多个源文件的程序吗。
## 学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?
- 知道。这个原则要求一段功能代码要被分为多个小块,每个小块独立工作互不干扰,小块间协作可以实现特定功能。
- 在程序设计尽量把每一个小功能分为一个个函数,最后通过main函数调用。
## 学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。
数组A的内容复制到数组B:
``
#include<stdio.h>
#include<string.h>
#define A 1000
#define b 2000
int main()
{
char arraya[A],arrayb[B];
int m,n,i,j;
gets(arraya);
gets(arrayb);
n=strlen(arraya);
m=strlen(arrayb);
for(i=m,j=0;i<=m+n;i++,j++)
arrayb[i]=arraya[j];
printf("%s",arrayb);
return 0;
}
``
- 查找整数数组A中有没有数字5
``
#include<stdio.h>
#include<string.h>
#define NUMBER 1000
int main()
{
char array[NUMBER];
int n,i;
int judge=0;
scanf("%s",array);
n=strlen(array);
for(i=0;i<n;i++)
{
if(array[i]=='5')
{
judge=1;
break;
}
printf("%d",judge);
}
if(judge==0)
printf("no");
else if(judge==1)
printf("yes");
return 0;
}
``
- 整数数组A进行排序(由小到大)
``#include<stdio.h>
#define num 10
int main()
{
void swap(int a[],int n);
int i;
int a[num];
scanf("%s",a);
swap(a,num);
return 0;
}
void swap(int a[],int n)
{
int temp,i,j;
for(j=0;j<n-1;j++)
for(i=0;i<n-1;i++)
{
if(a[i]>a[i+1])
{
temp=a[i];
a[i+1]=a[i];
a[i]=temp;
}
}
}``
若要由大到小,只需要对swap函数微调
``void swap(int a[],int n)
{
int temp,i,j;
for(j=n-1;j=0;j--)
for(i=n-1;i=0;i--)
{
if(a[i]>a[i-1])
{
temp=a[i];
a[i-1]=a[i];
a[i]=temp;
}
}
}``
- 写一个程序,统计自己C语言共写了多少行代码。
`` #include<Windows.h>
#include<string.h>
#include<stdio.h>
int main()
{
FILE *p;
int n;
n=0;
char add[100],a[100];
gets(add);
p=fopen(add,"r");
while(fgets(a,100,p))
{
n++;
}
printf("%d",n);
fclose(p);
return 0;
}``
github的链接。。我现在在上传时出了问题,等我解决好之后会补上。
你知道什么是断点吗?给出自己调试程序的例子
程序执行到断点会停止,这样可以找出错误。
对比C语言的学习,你对《面向对象程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?
我想在这门课程的学习中打好程序设计的基础,做一些小程序,让自己逐渐成为一个真正的coder,,而不仅仅是一个只会做题的学生。我觉得要学好编程,提高程序设计能力和计算思维,只有不断地练习。之前我认为看书比敲代码重要,所以看课本的时间多于编程的时间,可是到了考试时,一些语法规范我居然记不清楚了,知道做题的思路,但是不确定是否合乎语法规范。这之后我决定保证敲代码的量,将技能变得精熟。做中学,侧重于在实践中成长,在于不依靠别人的帮助自己解决问题。我认为我应该在遇到困难时先自己尝试解决,在自己解决不了的时候再请教他人。
毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?要怎么提高?
我觉得我的写作能力还有很多需要提升。
在以前的写作中。我会想怎么用小众的例子,怎么写华丽的排比,但是知道高考前一段时间我才渐渐觉得,写作应该追求表意清晰,一切例子,词句最终都要为要讲的事情,要讲的道理服务。很多高考优秀文章,词句华丽,举的例子闻所未闻,令人感慨其例子的积累,可是细看却还是没有在文章的深度或者逻辑上有动人之处。
我也读到过一些写得很好的文章,它们有的或许没有鲜亮的词句,有的或许只是列举人尽皆知的例子,可它们的内核却是如此地令人折服。所以,文章的好坏,首先便是要看这篇文章所阐述的道理是否表达地清晰准确,能说服读者,其次才是词句的比拼。所以我今后练习写作会注重文章的结构和逻辑,确保读者能很容易地理解我所传达的意思。