作为一个计算机专业的学生编程是必备技能,但是作为一个刚入门的编程新手,该如何形成一个编程思维呢?
你有没有发现,老师课堂上讲的你都懂,书上的代码你能看懂,但是当你自己写的时候,却不知如何下手,这就是没有形成一个编程思维。
很多人嘴皮子厉害,但是动手能力不行,你让他讲一段代码讲一个思想,他都能讲出来,但是一让他动手,他就懵了,不会写,手放在键盘上盯着屏幕半天敲不出一句代码。
为什么?因为写的少啊!你想想你天天听老师讲课,老师在课堂上PPT代码都写好了,直接复制粘贴运行,然后结果出来了,一看好像很简单啊,这么简单根本不需要动手嘛。
这你就错了,编程这个东西,你不动手你永远学不会,就好比学游泳,学羽毛球,你试试你不下水,不拿起拍子,你看你能学会吗?
听的时候什么都懂,做起来啥都不会,是我们国家计算机专业学生的典型问题。动手能力太差了,我曾经在大学的时候,就有很多同学是这样的,比如上课的时候听的很认真,做理论题也很厉害,每次期末考试都是前几名,年年拿奖学金,但是你让他写代码,对比起!
他不会的,连编程的编辑器,编译器都不会用。
这样的同学我相信不少,你不动手,就形成不了编程的思维,别人写的代码是别人的思维,不是你的,你抄别人的代码,能把别人的思维变成你的思维吗?肯定不行啊。
所以作为一个计算机专业的学生,学习编程是肯定要动手的,不仅要动手还要不断的思考。
比如要你设计一个抢红包的程序。
需求是一个大V直播抽奖,奖品是现金红包,分别有{20, 100 , 500, 800, 1000}五个奖金。请使用代码模拟抽奖。
打印出每个奖项,奖项的出现顺序要随机且不重复。打印效果如下:(随机顺序,不一定是下面的顺序)
20元的奖金被抽出 500元的奖金被抽出 1000元的奖金被抽出你会怎么设计呢?
首先当然是分析需求,既然是抽奖那肯定有奖项,奖项是5个固定的金额,那就需要5个变量来存储这5个金额,那么要声明5个变量吗?
完全没有必要啊,可以使用数组啊,一个整型数组的变量可以存储很多个整型数字呢!
比如先定义一个整型数组:
int[] award = new int[5];然后是设计一个随机程序,这个随机数可以用一个函数来生成,而这个函数在C语言中叫rand(),所以生成随机数的代码如下:
int n=rand()%5其中rand()是生成一个随机整型数,但是这个数值可能会很大,具体的最大数值根据编译器的环境确定。
所以还需要对这个生成的数进行裁剪,而这个裁剪方式就是对5进行取余操作。假如rand()函数生成的随机数是26对5取余后就是等于1,那这个索引就是1,再使用这个索引去获取存储的奖项,就是int[1],根据奖项的顺序那就是100元,因为在C语言中,数组的索引是从0 开始的。
还需要对已经抽取的奖项进行记录,因为就5个奖项,已经抽取的肯定不能再次被抽取了,需要定义一个数组用来记录已经抽取的奖项。
int m= new int[5];然后再分析,需求是需要打印输出抽到的奖项,同样需要一个变量来存储,这些打印的数据,这个打印数据是一个字符串,那么可以使用字符串变量存储。
比如定义:
char prize[] = "20元的奖金被抽出";整个分析过程如下:
定义一个数组用于存储这些奖金金额。 定义一个数组用于记录已经抽到的金额。 每次抽奖都随机一个索引,取出索引对应的奖金金额,判断该金额之前是否抽中过,抽中过重新抽一次。 把抽到的奖项打印输出。这就是一个编程思维,把一个具体的问题,变成一段段的代码,每一句代码都有它的含义。
所以要想形成自己的编程思维,首先是分析问题,把解决问题的步骤写下来,然后把每一个步骤变成代码,最后才是写到编辑器上调试执行查看结果,而这个过程需要先动脑再动手。
按照上述方法去做几道书上的题目,把正确的结果都执行出来,我相信你很快就能形成一个自己的编程思维了,但是记住一定要自己手敲代码,复制的不算哦。
欢迎关注我,学习更多计算机知识!