第二次随笔——从技能获取到语言学习
从技能获取到语言学习
————————————————————————————————————————
你有什么技能比大多人(超过90%以上)更好?
这个问题挺难的,我没什么特长,非要说那就是踢毽球吧,小学时候我踢毽子比较灵活,在校内取得前三名的成绩.经常一个人就是一只军队。
-
针对这个技能的获取你有什么成功的经验?
首先是从内心爱好这个项目,所以才能坚持每天练习,每天训练来找脚的感觉,因为每天练习,时间有了,从而解锁新的知识,每天训练,不断总结,不断找到错误的原因。
-
与老师博客中的学习经验有什么共通之处?
都是大量的练习,老师练习乒乓球花了大量时间,十万次一个动作的重复,高中班主任说过,世上没有天才,只是重复的次数多了,自然被认作了天才,小小班的学生之所以厉害是因为他们重复一个知识点次数多,所以没有一定的时间积累是远远不够的。
-
你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,C语言的学习有什么经验和教训?
笔记本,充足的精力,端正的态度,一样不少,上课认真听讲,一定要好好听课,课上都是老师在下面进行备课的精华,上课老师说的每个知识点都记下来,俗话说的好,“好记性不如烂笔头”,课堂下大量的练习,一个程序看起来简单,但是编起来却有不一样的感觉。不会的题一定记下来,到时候问老师,老师是你走向成功的助手。
-
目前为止估算自己写过多少行C代码?理解的情况如何?
大约6000行程序,因为里面大部分都是重复的,好多语句理解方法都一样,所以大部分还是明白其中道理的。
-
学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?
- 数组指针:一个指向数组的指针
- 指针数组:一个数组,内部每个元素都是指针
- 函数指针: 一个指向函数的指针
- 指针函数:一个函数,其返回值类型是指针
-
学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?
-
编程操作两种文件是在对文件进行打开,处理{读取,写}和关闭三步。
-
学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?
面向过程程序设计是一种以过程为中心的编程思想,分析出解决问题所需要的步骤,然后用函数把这些步骤实现,它是通过主函数来调用一个个子函数,其方法由顺序、选择和循环这三种基本控制结构来表达。
-
在C语言里面,什么是模块?你写过多个源文件的程序吗?
模块就是一个函数里包含的小程序,我现在还没写过多个源文件的程序。
-
学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?
”高内聚“就是一个函数内语句间高度集中紧密联系,”低耦合“就是函数间联系不要太紧密,这样是为了一个程序出问题时候把损失降到最小,便于修改。 -
学过了C语言,你如何把数组A的内容复制到数组B中?
#include <stdio.h>
#include <string.h>
main()
{
char a[1000],b[1000];
printf("输入数组a:\n");
gets(a);
printf("输入数组b:\n");
gets(b);
strcat(b,a);
}
- 如何查找整数数组A中有没有数字5?
#include <stdio.h>
main()
{
char a[100];
int i;
printf("请输入数组:\n");
gets(a);
for(i=0; a[i]!='\0'; i++)
{
if(a[i]=='5')
{
printf("该数组中含有5");
}
}
}
- 如何对整数数组A进行排序(从小到大,从大到小)?
#include<stdio.h>
int datesort(int a[],int);
int Printf(int a[],int);
#define N 20
main()
{
int i,a[N],n;
printf("想对几个数排序: ");
scanf("%d",&n);
printf("请输入 %d 个数字\n",n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
datesort(a,n);
printf("经处理后的顺序为\n");
Printf(a,n);
}
int datesort(int a[],int n)
{
int i,j,temp;
for(i=0;i<(n-1);i++)
{
for(j=i+1;j<n;j++)
{
if(a[j]>a[i])
{
temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
}
}
int Printf(int a[],int n)
{
int i,j;
for(i=0;i<n;i++)
{
if(a[i-1]==a[i]&&i>0)
{
continue;
}
printf("%d ",a[i]);
}
}
- 写一个程序,统计自己C语言共写了多少行代码。
#include<stdio.h>
main()
{FILE *fp,*fp1;
int cap=0, i=1;
char mid,filename[10];
printf("Input the filename like *.txt!\n");
scanf("%s",filename);
if((fp=fopen(filename,"r"))==NULL)
{printf("打不开这个文件 \n");
exit (0);
}
if((fp1=fopen("stdout.txt","w+"))==NULL)
{printf("Can not open the file!\n");
exit (0);
}
while(!feof(fp))
{
mid=fgetc(fp);
if(mid=='\n') cap++;
}
fclose(fp);
if((fp=fopen(filename,"r"))==NULL)
{printf("打不开这个文件!\n");
exit (0);
}
fprintf(fp1,"%d ",i++);
while(!feof(fp))
{
if(fputc(fgetc(fp),fp1)=='\n')
fprintf(fp1,"%d ",i++);
}
printf("cap=%d \n",cap+1);
fclose(fp);
fclose(fp1);
}
-
你知道什么是断点吗?给出自己调试程序的例子。
断点就是设定一个点,然后运行程序时候到那个点就停住了,这时候可以进入函数内部一点一点一步一步观察程序运行情况,非常厉害。常用于解决逻辑问题中。
-
对比C语言的学习,你对《Java程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?
我既然学习这门课,就一定要学好它,jave水平一定要拿到班级前5,一般小程序会编译,而且方法要做到精辟。每天坚持编程,普通小的问题一定要努力去解决,学以致用,编5000行代码是每个人都要做的,但是想超越其他人就要做到“大量重复”,但是由于英语考级,比较忙,所以也不能妄下狂言,下学期编大约7000行程序,做到比c语言程序多,精,专。
“做中学”要求我要理论与实践相统一,有机结合基础上进行再创造。 -
毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?要怎么提高?
自己写作能力当然不怎么样,要不然就不会一篇博客写一天了,哈哈。言归正传,既然我以后要进行公文写作,那就应该课内外多读一些相关的书刊,将其变为一种兴趣,就像之前说的,将其变为兴趣时候才能促使你去不厌其烦的坚持。