天天看点

编程学习(一)----开篇

        刚开了这个博客,目的就是要督促自己学习。自己的意志力本来就很差,学习能力也不是很好,有个朋友就建议开个博客写一些学习心得体会,想想这也是一个不错的学习方法,一来可以把自己学习的心得记录在这个上面;二来可以加深对已经学习东西的理解。我不是文科出身,所以文采就不会好,希望能看到这些文字的朋友们多多包涵!欢迎大家的各种批评、赞赏与吐槽。

        经历了不少的事情之后,终于想到要定下心来做自己喜欢做的事情了-----学习编程。有时候觉得这是一件很美好的事情,人家那么多人想用个什么样的程序自己写几行代码就实现了复杂的运算,我觉得很神奇,所以也很向往,一直以来希望自己也可以成为那些人中的一份子.......可是,当自己把生意都处理掉不做了,朋友也放弃了投身到学习编程的行业里面的时候,才发现自己的一腔热情瞬间就没有了。这个行业里面要学习的东西很多很多,而我就是一个对编程不懂的人,就像一个刚出生的婴孩儿一样。看着别人顺畅的在键盘上敲上几行代码就实现了自己想要的结果,我真的很羡慕。回头看看自己,啥时候才能像他们那样呢?我觉得简直是望尘莫及。

        我很想学好,所以我很着急,一着急,就乱了,乱的一塌糊涂。就像一个小孩儿还没有学会走路就想着要跑起来那样,结果不但步子没有迈出去还摔了跤。到最后什么也没有学会,我现在就是这么一个状态,我也很着急。可是着急是没有用的,还是要静下心来慢慢学习!也许时间不是很充裕,可是只要着急静下心来不要及需求成,我想努力之后毕竟还是有结果的!

        其实,编程也没有那么复杂的,有时候换个角度想想不就是那么些代码术语+语法么?好好儿琢磨琢磨也就慢慢明白了。

        最近在看一本名叫《c++ Primer》 的书,觉得还可以,比较基础,大家也可以看看《c++程序设计》清华大学郑莉 的这本书,也比较基础比较好。还有其他很多的书籍都可以自己找找看,不管看什么书,最主要的就是一定要看懂里面的知识。一遍看不明白就接着再看第二遍、第三遍.......俗话说:书读百遍其义自现。当然,读的时候不能只为了读书而读,要为了求知而读才有效果。

        我们学习写程序无非就是两个部分组成:算法集合和数据集合。那么什么是算法集合呢?算法就是将指令组织成程序来解决某个特定的问题;什么又是数据集合呢?数据集合就是算法在这些数据上操作以提供解决问题的方案。我们设计程序就是为了解决某些问题和任务,而解决这些问题和任务就要有一个个的步骤和方法,这些步骤、方法就是这个程序的算法。下面我们把算法转换成一种特定的程序设计语言——在这里是C++语言。

        在C++中解决问题和任务的动作序列(步骤、方法)被称为表达式(expression) 以分号结尾的表达式被称作语句(statement)C++中最小的程序单元是语句在自然语言中与此类似的结构就是句子。下面的一个例子就是c++语句:

                                  int  book_count=0;

                                 book_count=book_on_shelf+book_on_order;

                                 cout<<"the value of book_count:"<<book_count;

第一条语句是一个声明(declaration) 语句;book_count 被称为标识符(identifier) 或符号变量(symbolic variable) 简称变量或者对象(object) 它定义了计算机内存的一块区域并且与名字book_count 相关联被用来存储整数值。0 是一个文字常量(literal constantbook_count),book_count 被初始化为0

第二条语句是一个赋值(assignment) 语句,它把 books_on_shelf 和 books_on_order的值相加并把结果放入与book_count 相关联的计算机内存区域中,这里假设books_on_shelf 和books_on_order 已经在前面的代码中被声明为整型并赋了初值

第三条是输出(output) 语句。cout 是与用户终端相关联的输出目标,“<<”是输出操作符,该语句向cout (即用户终端)先输出用引号括起来的字符串文字然后输出存储在与名字books_count 相关联的内存区域中的值。此时,如果假设book_count的值是100,那么输出的结果就是

                                the value of book_count:100

        以上就是我们经常会口头上说到的语句,如果把语句按照逻辑语义分组的话就会形成一个个有名字的单元,我们称这些单元叫做函数(function)。在C++中每个程序必须包含一个被称作main()的函数,它是由程序员提供的,并且只有这样的程序才能运行。下面看一个例子:

                               int main()

                             {

                                readIn();

                                sort();

                                compact();

                                print();

                                return 0;

                             }

        C++程序从main()函数的第一条语句开始执行。在本例中程序从函数readln()开始,并且程序按顺序执行main()函数中的语句。在执行完main()函数的最后一条语句之后程序正常结束。函数由四部分组成:返回类型、函数名、参数表、函数体。前三部分合起来称为函数原型(function prototype)。参数表由小括号括起来包含一个或多个由逗号分开的参数。函数体由一对花括号括起来,由程序语句序列构成。在本例中main()函数的函数体调用(invoke) 函数 readIn() 、sort() 、compact()和 print()。当这些函数调用都完成时,下面的语句return 0将被执行。return 是C++预定义的语句它提供了终止函数执行的一种方法。当return 语句提供了一个值时例如0 ,这个值就成为函数的返回值(return value) 本例中返回值为0表示main()函数成功执行完毕。标准C++中如果main()函数没有显式地提供返回语句则它缺省返回0。

       如果想让以上程序能够执行起来我们还需要做哪些准备工作呢?首先必须提供函数readln() sort() compact()以及print()的定义。下面的哑函数实例已经足够满足这个要求了

                               void readIn() 

                            { 

                                  cout << "readIn()\n"; 

                            }

                               void sort() 

                           { 

                                 cout << "sort()\n"; 

                            }

                               void compact() 

                            { 

                                 cout << "compact()\n"; 

                            }

                               void print() 

                          { 

                                cout << "print()\n"; 

                          }

       void用来指定一个没有返回值的函数。上面函数的实现都是简单的在用户终端上显示,没有什么实际内容。这种渐进式生成程序的方法为控制程序设计中不可避免的错误提供了一种有效的控制手段。试图一下子就能写出一个完美的程序,那几乎是不可能的。

        今天的开篇就先写到这里,只是一个简单的开篇而已,以后的内容希望跟大家再一起共同探讨!

继续阅读