2017第一次寒假作业——我的第一篇随笔

前言

之前从未写过博文,通过这次作业的机会在此写下我的第一篇博文。在这个过程中我学会了挺多的新知识,但比这些新知识更重要的是,我开始逐渐明白了老师所说的learning by doing的重要性,也在learning by doing中感受到了通过自己获取新知识的成就感。

在人生道路上,你有没有专长的高超技能获取的成功经验

你有什么技能比大多人(超过70%以上)更好?

说到对人生有巨大帮助的技能,就不得不提我的一个业余爱好——阅读。记得小学时参加了一个手抄报比赛,学校奖励了几本童话书,那时的我看的如痴如醉。几本童话书为我打开了新世界的大门,我的阅读习惯也从此开始。一开始我大多是看一些故事类的书籍,随着年龄的增长,我阅读的书籍开始摆脱故事类的局限,小说,杂志,文学名著,自然科学等类型的书籍我都有所涉猎。

针对这个技能的获取你有什么成功的经验?

阅读的习惯对我的影响是很深远的,它带给我的好处是无法估量的。

  • 知识面的拓宽是它带来的直接好处,通过阅读我知道了许多新奇的事物。
  • 阅读能帮我缓解学习的压力,让我感到愉快。
  • 大量的阅读能增强我的思考能力,这对于计算机工作者是有巨大帮助的。
  • 有时候遇上特别喜欢的书就会连着几天的空余时间都在看书,长时间的阅读锻炼了我的耐心和平和的心性。这点对于我们计算机专业的人来说是尤其重要的,毕竟我们常常需要花费大量时间在计算机前打代码,难免会产生烦躁心理。这时候学会控制情绪就很重要。

有关C语言学习的调查

你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,C语言的学习有什么经验和教训?

我对c语言的学习,首先是自己预习教材,再加上老师上课的讲解,最重要的是通过作业实践。在作业中遇到不清楚的问题尽量先自己思考解决,如果想不到通过网络寻求解决方法,还是不行的话再来向老师同学寻求帮助。我们在做作业的时候不能够单纯的只为完成作业而做作业,更重要的是找到自己的知识盲区,发现自己的不足。一道题目也不能满足于解出答案,而是要思考有没有更简单的方法,更好的方案。以上就是我在c语言的学习中总结的经验,希望和各位同学共勉。

目前为止估算自己写过多少行C代码?理解的情况如何?

目前为止打了3000行左右的代码,之前从未接触过c语言。很惭愧,我现在只能用c语言解决一些小问题,并且对减少程序占用内存和提高程序的运行效率这方面的内容不是很清楚。

学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?

数组指针是指向数组的指针,指针数组是储存指针的数组;同理,函数指针是指向函数的指针,指针函数是储存函数的指针。

学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?

对于这几个问题我不是很清楚,因此选择了从书籍和网络寻求答案。

文件是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。存储介质:文件是指在各种存储介质上(如硬盘、可移动磁盘、CD等)永久存储的数据的有序集合,它是进行数据读写操作的基本对象。

流是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道等。流提供一种向后备存储器写入字节和从后备存储器读取字节的方式。存储介质:除了和磁盘文件直接相关的文件流以外,流还有多种类型。流可以分布在网络中、内存中或者是磁带中。

一般判断一个文件是否是二进制文件,只是判断一下文件的内容中是否含有0x00-0x07这八个字符内容,如果有的话,就是二进制文件。

学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?

面向过程编程是一种以过程为中心的编程思想,分析出解决问题的步骤,然后用函数把这些步骤一步一步实现。

在C语言里面,什么是模块?你写过多个源文件的程序吗?

按照功能将一个软件切分成许多部分单独开发,然后再组装起来,每一个部分即为模块。在c语言中主要通过函数进行模块化编程。没有。

学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?

不知道这个原则,特意去网上查了资料。

高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。

内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。

耦合:一个软件结构内不同模块之间互连程度的度量(耦合性也叫块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。)对于低耦合,粗浅的理解是:一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。
如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。

学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。

//把数组A的内容复制到数组B中
#include<stdio.h>
int main()
{
	int a[5],b[5],i;
	for(i=0;i<5;i++)
	scanf("%d",&a[i]);
	for(i=0;i<5;i++)
	b[i]=a[i];
	for(i=0;i<5;i++)
	printf("%d ",b[i]);
	return 0;
 } 
//查找整数数组A中有没有数字5
#include<stdio.h>
int main()
{
	int a[5],i;
	for(i=0;i<5;i++)
	scanf("%d",&a[i]);
	for(i=0;i<5;i++)
	{
		if(a[i]==5)
		{
		printf("Yes");
		break;
		}
	}
	if(i=4&&a[4]!=5)
	printf("No");
	return 0;	
 } 
//对整数数组A进行排序(从小到大)
#include<stdio.h>
int main()
{
	int a[5],i,j,k;
	for(i=0;i<5;i++)
	scanf("%d",&a[i]);
	for(i=0;i<5;i++)
	{
	for(j=0;j<5-i;j++)
	
		if(a[j]>a[j+1])
		{
			k=a[j];
			a[j]=a[j+1];
			a[j+1]=k;
		}
	}
	for(i=0;i<5;i++)
	printf("%d ",a[i]);
	return 0;
}

写一个程序,统计自己C语言共写了多少行代码。

这个。。。因为对文件输入方面不是很清楚,实在写不出来。这方面的知识也是我在这次寒假想要学习的内容之一。

你知道什么是断点吗?给出自己调试程序的例子。

断点是调试器的功能之一,可以让程序中断在需要的地方,从而方便进行debug。目前还未使用过这个方法调试程序,也就没有例子了。

对比C语言的学习,你对《面向对象程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?

在c语言的学习中,在解决问题时比较随性,想到什么就是什么,常常发生遇到一道难题解开了而第二次遇到类似的题目却解不开的情况。因此我想在面对对象程序设计的学习中我需要更加注重程序的算法。同时多练无疑也是提升程序设计能力的方法,在编码的过程中巩固知识,寻找知识盲区。一些不是很清楚的知识点不能死揪着不放,通过练习来理解我想是最好的方法。总之,对于编码,保证一定的代码量是必须的。

毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?要怎么提高?

我的写作水平属于中上水平。对于写作水平的提升,我想是没有捷径的,只有多想多练。写多了,写作时自然就有感觉,提笔能写也不是什么问题。

posted on 2017-01-14 00:04  湖心海底  阅读(214)  评论(3编辑  收藏  举报

导航