20155334的第二次随笔
1. 你有什么技能比大多人(超过90%以上)更好?
不好意思,我不是统计局的人,没办法去计算,更不会无聊到去比较这些东西。我知道自己会做哪些事儿,哪些事儿我会做的比较好,哪些事儿是我需要去改正的,经此而已。
2. 针对这个技能的获取你有什么成功的经验?
经验也谈不上,只能说在做些事儿的时候遇到过什么。首先我一旦对某些事儿感到有兴趣的时候我会乐此不疲的去完成它,哪怕废寝忘食,这和追女生是同样的道理。其次一旦我要去做,一定会遇到很多的问题,但我会去想办法,无论是自己的还是别人的,自己的叫原创,别人的叫借鉴,尽量原创是我乐趣的来源。
3. 与老师博客中的学习经验有什么共通之处?
天下所有的事儿都有一条亘古不变的定律,但我最喜欢姚明总结的那句,你做了不一定会成功,但你不去做就一定会失败。至于某件事的成功与否,我也喜欢另一句俗语,天下无难事,只怕有心人。再简单点就持之以恒,方能水滴石穿。
4. 有关C语言学习的调查
-
你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,C语言的学习有什么经验和教训?
回想起当初C语言的学习,主要集中在平时的课堂上以及课后的作业试验。但与其他的相比最大的差距在于没能够坚持下去,仅仅把这当做一门课程去学,没有当做真正的兴趣去从事,去钻研,去理解。被动的,机械的去完成每一件老师布置的任务,慢慢的好像变成了一件无聊的负担。
-
目前为止估算自己写过多少行C代码?理解的情况如何?
估计有1500左右吧,理解的马马虎虎吧。
-
学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念?
- 指针数组:是用于存储指针的数组。
- 数组指针:是指向数组的指针。
- 函数指针:它是一个指针,只是这个指针指向的是一个函数。
- 指针函数:它是一个函数,只不过这个函数的返回值是一个地址值。
-
学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?
文件是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。每个文件都有文件名、文件所在路径、创建时间及访问仅限等属性。流是字节序列的抽象概念,流提供一种向后备存储器写入字节和从后备存储器读取字节的方式。一般判断一个文件是否是二进制文件,只是判断一下文件的内容中是否含有0x00-0x07这八个字符内容,如果有的话,就是二进制文件。
-
学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?
面向过程程序设计是一种以事件为中心的编程思想。
-
在C语言里面,什么是模块?你写过多个源文件的程序吗?
模块是指一个程序里面负责完成不同任务的方法,各模块之间紧密配合完成程序的职能。
-
学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?
一个软件是由多个子程序组装而成,,一个程序由多个模块(方法)构成,而内聚就是指程序内的各个模块之间的关系紧密程度,耦合就是各个外部程序(子程序)之间的关系紧密程度。
高内聚是指模块之间的关系要紧密,这样出错就比较少。低偶合是指子程序间的关系要简单,否则就会产生更多的意想不到的错误。
减少各模块之间的接口,但在运行过程中要相互调用。
-
学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。
#include <stdio.h>
#define N 40
void Sort(int a[N], int n)
{
int i,j,k;
for(i=0;i<n-1;i++)
{
k = i;
for(j=i+1;j<n;j++)
{
if(a[j]>a[k]) k = j;
}
if(k!=i)
{
a[i] = a[i]^a[k];
a[k] = a[k]^a[i];
a[i] = a[i]^a[k];
}
}
printf("\nresult of sorting:\n");
for(i=0;i<n;i++)
{
printf("%d\t",a[i]);
}
printf("\n");
}
void Search(int a[N], int n)
{
int i,flag=0;
for(i=0;i<n;i++)
{
if(a[i]==5)
{
flag = 1;
break;
}
}
printf("\nresult of searching:\n");
if(flag) printf("Found 5.\n");
else printf("Not found 5!\n");
}
void Copy(int a[N], int b[N], int n)
{
int i;
for(i=0;i<n;i++)
{
b[i] = a[i];
}
printf("result of copy:\n");
printf("a[N]:");
for(i=0;i<n;i++)
{
printf("%d\t",a[i]);
}
printf("\n");
printf("b[N]:");
for(i=0;i<n;i++)
{
printf("%d\t",a[i]);
}
printf("\n");
}
int main(void)
{
int i,n,ret;
int a[N],b[N];
printf("How many elements do you want to input:");
ret = scanf("%d",&n);
if(n<=0 || ret!=1)
{
printf("Wrong! Please input a positive integer.\n");
return 0;
}
printf("Please input a[N]:\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
Copy(a,b,n);
Search(a,n);
Sort(a,n);
return 0;
}
-
写一个程序,统计自己C语言共写了多少行代码。
见上。
-
你知道什么是断点吗?给出自己调试程序的例子。
调试程序时,在代码某处设置断点后,程序运行到该处代码时则会自动停止,接着便可在此进行逐步调试了。
5. 对比C语言的学习,你对《Java程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?
至少能够独立自主地编出自己想要的可以实现目的的正确程序,其次可以适当创新,灵活运用,在以后的工作中自行解决相关问题,提高工作效率和质量。
6. 毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?要怎么提高?
我觉着自己的写作能力只是处于刚刚够用的程度,面对更高层次的水平目前只能望洋兴叹,但我相信只要努力练习,多多思考,只要接触的多了,练得多了就能够快速的提高。现实世界对一个人的文笔文风改变很大,就在某些事发生的一瞬之间。