预备作业2
你有什么技能比大多人(超过90%以上)更好?
由于我从小生长在一个偏僻的乡村小城,小城市生活节奏非常慢,人们普遍过着比上不足比下有余的小生活,我也没有见过什么大世面,并没有意识到学习一项技能的重要性。当看到这个问题时,我先是脑子一片空白,然后心中有了些许波动,那种感觉就像看到同龄人已经拿了奥运冠军一样。我突然想起高中物理老师和数学老师都曾对我们讲过的“负能量”,他们讲那些出色的成功人士,比如运动员、音乐家,他们从小就展现了他们的天赋,然后在我们上幼儿园的时候就开始练习专业,而现在在做题的你们,除了做题只会做题,12年只学会了做题,所以只有一条出路,就是高考。当时我就已经意识到自己缺憾,但是一直也没有下定决心拿出时间来专供一个技能,很是惭愧。我也一直把自己形容为一个废材,这个问题我也只好变型为我拥有的技能,我曾经学过一段时间乒乓球,现在只能做到掌握平时对打需要的一些基础动作,印象颇深的是在一个寒假我自学了游泳。
针对这个技能的获取你有什么成功的经验?
经验可能多少有一点,但肯定不成功,我想谈一谈我学习中的经历。
- 乒乓球的经历在小的时候,那时候是在上小学,我的父亲有一天迷上了乒乓球运动,他说这个运动普及率高、而且很有意思。在各种强制性过程下让我去参加了一个乒乓球的培训班,万事开头难,刚开始学习的时候是最困难的,因为动作的不规范,再加上当时的教练可能厌倦了天天教一帮小孩子,总是很暴躁,印象深刻的是当初学的时候有许多要点,比如挥拍前右手大臂加紧、左手抱拳放在胸前、右手手腕与小臂保持平直、握拍的角度、右手挥出的弧线、双脚的前后转换......好多的要点,总是容易记起一个又忘了一个,这个我是没有什么好的办法,只能费尽力气的去注意到每个方面的要点,每天这样以高度集中的精神去学习。可能是太多有用没用时间的积累,我也走进了乒乓球的大门。虽然从前一直对父亲抱怨,觉得乒乓球是他强加于我的东西,一点点到了后来,这却成了我唯一拿得出手的运动,我也就越来越喜欢乒乓球。
- 对于游泳是大一上的假期听说下学期会有游泳课,我本身怕水,所以准备提前去自学一下,那个假期游泳变成了我要做的第一大事,第一次去就在浅水区开始练习,浅水区大多是一些小孩子,他们本身会游泳但因身高和安全问题在浅水区,有一些自来熟的孩子还来当起了我的老师,我一个一米八的大孩子在刚过腰的水里为了下学期的体育课在浅水区学习着,我当时充分体会了三个道理:闻道有先后,术业有专攻,小孩子也是我的老师;不论环境多么恶劣,我们还是要做更好的自己;游泳馆的水不好喝......同时我也总结了三个对于刚刚接触的东西的三个经验:要向有能力的人学习请教,自己一个人摸索会走很多弯路;学习环境并不重要,不可能每次学习都要倒好水、坐在沙发里才能学,让你爽的都是在坑你;刚开始的时候一定要勇敢,敢于去挑战、去实践,哪怕喝点水。这也算我那个假期最大的成长了。
与老师博客中的学习经验有什么共通之处?
我觉得老师的学习经历非常的好,完全就是我们要学习的典范,我的学习过程与老师的相比显得不饱满,我说说老师的学习经验中我学到的东西吧。首先我发现老师的学习前提很好,老师非常具有正能量,都是主动的想要提升自己的能力而去学习的,我觉得我先要学习不断努力向上的精神,之后要有主动学习的热情,不能总靠老师的作业督促我。老师在博客中提出“做中学”的理念,很具体很实用也很符合实际,我们每个学生都多多少少能体会到,在老师明确提出之后,我深表同感,做中学才是符合我们当代大学生的学习方式,在今后的学习生活中,我会不断提醒自己做中学的道理,最直接好处就是可以不再拖延,第一时间想到的是去做,这对于我有很大的帮助。
有关C语言学习的调查
你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,C语言的学习有什么经验和教训?
c语言主要是靠平时网上的练习作业来学习的,网上的作业每个章节都规划的很好,通过先自己编写,然后再对比答案、找到错误加以改正。每次做题再修改的过程中,一点点就学到了c语言的知识。当学完c语言后,我的感触是当全学完一本书回过头一点点复习的时候,会有很多收获,而且比之前学习更快更有效。我觉得应该先通览全书,对每个章节都有大致的了解后,开始编程,遇到编程中需要的哪个章节的知识,就去翻书查询着编,当真正编好一个完整的程序后,这些知识也都就理解了。教训是一定要主动去动手编程,不能看看就了事,有些程序可以独立自主的多编写几次,反复的编写才能记牢。
目前为止估算自己写过多少行C代码?理解的情况如何?
提起学c语言我非常惭愧,当初并没有很好的完成老师的要求,估算c代码应该只编写了一千多行,这可能是我们同级中一个很可怜的数字了,我现在深刻意识到自己的错误,在之后的java学习中会痛改前非。
学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?
- 数组指针是指向数组地址的指针,其本质为指针。
- 指针数组是数组元素为指针的数组,其本质为数组。
- 指针函数的本质是函数 ,只是他的返回值类型是指针变量。
- 函数指针是一个指针变量,只不过他是指向函数的指针变量。
学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?
对这些问题没有一点印象,只能靠上网查询自学后回答。
- 文件是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。
存储介质:文件是指在各种存储介质上(如硬盘、可移动磁盘、CD等)永久存储的数据的有序集合,它是进行数据读写操作的基本对象。
特性:每个文件都有文件名、文件所在路径、创建时间及访问仅限等属性。 - 流是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道等。流提供一种向后备存储器写入字节和从后备存储器读取字节的方式。
存储介质:除了和磁盘文件直接相关的文件流以外,流还有多种类型。流可以分布在网络中、内存中或者是磁带中。 - ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。ASCII码文件可在屏幕上按字符显示,例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。由于是按字符显示,因此能读懂文件内容。
- 二进制文件是按二进制的编码方式来存放文件的。例如,数5678的存储形式为:0001011000101110只占二个字节。二进制文件虽然也可在屏幕上显示,但其内容无法读懂。C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。
通过上网的查找,和之前编写c语言时的回忆,对这四个概念有了大致的了解。
学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?
“面向过程”是一种以过程为中心的编程思想。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。所以面向过程最重要的是模块化的思想方法。
在C语言里面,什么是模块?你写过多个源文件的程序吗?
- 函数就是一个模块。模块编程指的就是用函数实现各个功能,然后在主函数中调用各个功能模块(函数),这样在维护或升级程序时就可以只关注某个模块。
- 没有写过多个源文件的程序。
学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?
同样通过上网查阅得到的。高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。
所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
耦合:一个软件结构内不同模块之间互连程度的度量。
对于低耦合,粗浅的理解是:一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。
学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。
利用循环语句。
数组A的内容复制到数组B。
#include <stdio.h>
main()
{
int A[100],B[100],i,j,l;
printf("输入数组个数");
scanf("%d",&j);
printf("输入数组");
for(i=0;i<j;i++)
{
scanf("%d",&A[i]);
}
for(l=0;l<j;l++)
{
B[l]=A[l];
}
}
查找整数数组A中有没有数字5
#include <stdio.h>
main()
{
int A[100],i,j,l;
printf("输入数组个数");
scanf("%d",&j);
printf("输入数组");
for(i=0;i<j;i++)
{
scanf("%d",&A[i]);
}
for(l=0;l<j;l++)
{
if(A[l]==5)printf("有5");
}
}
如何对整数数组A进行排序从小到大
#include <stdio.h>
main()
{
int A[100],i,j,l,k,t;
printf("输入数组个数");
scanf("%d",&j);
printf("输入数组");
for(i=0;i<j;i++)
{
scanf("%d",&A[i]);
}
for(l=0;l<j-1;l++)
{
for(t=l+1;t<j;t++)
{
if(A[t]<A[l])
{
k=A[t];
A[t]=A[l];
A[l]=k;
}
}
}
}
写一个程序,统计自己C语言共写了多少行代码。
之前学习c语言时,没有学会这种编程,通过询问学习后,编写如下。
假定输入文件为in.txt,该文件存在且可读。
#include <stdio.h>
int main()
{
FILE * fp = NULL; //文件指针。
int c, lc=0; //c为文件当前字符,lc为上一个字符,供结尾判断用。
int line = 0; //行数统计
fp = fopen("in.txt", "r");//以只读方式打开文件。
while((c = fgetc(fp)) != EOF) //逐个读入字符直到文件结尾
{
if(c == '
') line ++; //统计行数。
lc = c; //保存上一字符。
}
fclose(fp); //关闭文件
if(lc != '
') line ++;//处理末行
printf("文件共有%d行。
", line);
return 0;
}
你知道什么是断点吗?给出自己调试程序的例子。
断点意思就是,你在某行代码处设置断点后,调试程序时,程序运行到该行代码时会自动停止。然后你就可以在这进行逐步调试了。其作用就是深入代码,查找代码内部缺陷。
分布调试的方法还没有掌握。
对比C语言的学习,你对《Java程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?
下学期我们即将学习《java程序设计》,java是类似c语言的一种计算机语言,在上学期的c语言学习时,我没有付出最大的努力,更多的是排斥那个困难的学科,下学期我的目标是能独立自主的编写一个使用到大多高级语言的java程序。java的学习首先要有主动的理由,我作为一个信息安全的学生,能够正确掌握一种计算机语言是我应该做到的底线,我会不断激励自己去训练和提高。“做中学”在我看来,强调实践,我也非常认同,我会转变为直接走进编程的题目中去,比如学习时直接那一道题目,然后查阅资料和通过老师的讲解来学习。
毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?要怎么提高?
“提笔能写,开口能说,问策能对,遇事能办”这种能力是我非常想获得的能力,这需要的是一个全面、成熟的能力培养,我一直劝告自己学校期间的学业上只是一方面的能力,它能通过不同的学业方面,比如理科、计算机等都代表着自己思维能力的发展,其它方面的学习还有很多,每天只要在生活就时刻都在学习,大学一定要真正的学点东西。
从小语文一直是我的短板,写作能力也是很差,我现在认为写作能力也是需要多方面的培养,首先写作是写给人看的,只有让大家认可才是好,这需要我多接触、多经历、多成长,写出的东西才能写出每个人的感受,这点我是用多看书来弥补,就是看一些名著类的小说,通过看书中的人物特点来学习。然后写作需要大量知识的铺垫,对于我们即将从事的行业来讲,写作多是公文,这个有很多的学习方面,生活中处处都有公文,我最近在坚持看新闻联播,虽然很多人吐槽新闻联播是宣传国内好、鄙视国外坏的节目,但我在收看后,可以经常看到领导人的讲话,听到他们的讲话稿,包括新闻联播的背景介绍也是一些完美的公文形式,要学就要学最好的,日积月累总会学到一些东西。