学软件这么久以来,从高中刚刚开始自学的VB到C再到C++,然后到C#,最后到现在的JAVA,一直以来很多身边的朋友都在为学编程而烦恼,其实个人觉得很多朋友都走入了误区。
很多朋友在学习某种语言的时候都只是去注重怎么使用该语言的语法,并没注重培养自己的编程思想,这就导致了写起程序来极为困难。
经常听到很多朋友在问为什么我们要学C,C在就过时了。其实这种想法是错误的,C难,但是却经典!个人认为C主要交给我的是编程的思维,而非它的语法!也有人说C++/C#/JAVA中的类和对象很难理解,为什么要学呢?其实原因很简单,因为它们更接近我们的生活,我们大家就是一个类,单个个体就是对象,对象是一个具体的事物。这些知识都是相互关联的,如果你连C都没学好,连面向过程都没弄明白,又怎么去弄明白面向对象的C++/C#/JAVA呢?
编程是一个逆向的过程,根据个人的一些粗浅的经验,其实写一个程序前,首先要在大脑中先对整个程序先有一个大概的轮廓,这个程序要实现什么样的功能,显示出什么样的结果,它的计算过程是什么样,这都要我们在编写程序前先想好,而这个过程就是逆向思维的过程。有些朋友说为什么每次老师给出了题目,自己坐在电脑旁却怎么也写不出来?其实那是因为你没有按以上的步骤来,没有在老师告诉你题目后好好想想,这个程序该实现什么功能,该用什么方法来运算,说得简单点你有没有想过程序运行后跳出的对话框长什么样呢?如果想到了,恭喜你,接下来就简单了,直接按照你想的样子去设计你的程序。比如说,现在我要用C设计一个简单的加法运算的小程序,那么首先我先想到的是程序运行后第一部是提示用户这是一个简单的加法运算的程序,然后是提示用户输入第一个数值,接着是提示用户输入第二个数值,最后显示两个数值相加后等于的结果;这就是我们编写程序时所需要想的第一部;接下来是我们编写的具体过程,根据上面我们想象程序运行后的样子,我们接下来就该给程序定下数据类型了,既然是数值肯定有整数和浮点数,而我们的程序没有要求用户一定要输入整数,那么用户就可能会输入浮点型类型的数值,那我们在给两个数定义类型的时候就该把他们定义为浮点型类型,这样以免我们的程序出错。然后我们要在mian函数里将刚刚我们想好的数据类型定义出来,假设我们定义的是 i 、 j和 z 三个变量,接下来写出一个printf,提示用户这个程序是一个简单的加法运算,然后换行,换行后是另一个printf提示用户输入程序的第一个数值,接着是scanf,将用户输入的数字存储在刚刚我们定义的第一个浮点型类型的变量 i 里,然后用printf提示用户输入程序的第二个数值,将用户输入的数字存储在我们定义的第二个浮点型类型的变量 j 里,接着就是计算 i+j 将该结果存在我们定义的 z 变量中, 最后用printf将我们 z 变量的结果显示出来。这就是写一个程序的整个过程,我们可以将这种思想用在各种语言编程的程序中,而任何语言编写程序的过程都应该是这样的一个流程,思路清晰了,那么下手就快。借用一句话:只有想不到,没有做不到!只要我们在写程序前多想想,这个程序长什么样,实现什么功能,然后按照我们想的把它转换成对应的语言就成了我们想要的程序。
上面说的只是一个编程思维的过程,接下来我们说说要想成为一个合格的编程人员该注意的几个事项!
1、一个好的程序不仅是它的用户友好度好,同时还有它的代码易读易懂,在我们编写程序的同时一定要注意最好在每条语句后加上这条语句的注释,比如代码开始编写前先给这个程序写一个描述;比如说 :该程序的程序名、程序功能、程序创建者、版本号、优化时间和记录等;而在程序中对与我们定义的函数,我们也应该给该函数做好注释;比如说:函数名、参数、功能描述、返回值、抛出异常、作者等;这样的描述可以让人对一个函数,一个文件有一个总体的认识,对代码的易读性和易维护性有很大的好处。这是好的作品产生的开始。
2、在我们写的程序中我们要学会给我们的程序排版,经常是用缩进、空格、换行、空行、对齐等对我们的程序排版,这不仅使我们的程序美观而且还易于程序排错!
3、多读一下那些优秀的代码,在空闲时间里多去CSDN等这类技术论坛里逛逛,时刻记住IT行业更新的速度很快,你一天不学些新知识,一年下来你就真正的out了!在学校学的东西永远的是基础,不是社会所需的知识,那些只是让我们进入社会后更快的接收新知识的起点,不要满足与学校给的那些知识,闲暇下来后多去网络上接一些任务做做,这样不仅可以提高自己的动手能力、知识面、眼界还能给自己赚点生活费,等你真的接了任务你才知道自己的知识真的太少了!
各位这是我第一次写技术方面的文章,写得不好或者有错的地方,请大家指正和见谅,谢谢!