① 菜鸟怎样学习编程
菜鸟学习c++(编程环境设置)
在图书馆借了一本叫做《How To Think Like a Computer Scientist Learning with C++》
之所以看上这本书,一是因为它比较薄,看起来应该比较节省时间,二是,粗略的抽看了几页,翻译的文字还不错,文字不生硬,基本上没有比较古怪的字眼。
今天试着根据书本的介绍开始实际的编程操作。
光是设置运行环境就费了好大的劲…
我采用得编译软件是书中强烈推荐的BCC55(borlandC++5.5命令行编译器免费软件)+ SciTE(窗口式集成开发环境opensorce软件)。
安装好两个软件,然后打开SciTE,输入helloworld的程序,存盘到d盘,就开始编译了,结果一开始就出错:
>make
>The system cannot find the file specified.
傻眼了,明明就是在这个文件的编译状态下,怎么会找不到文件呢?
赶紧查书,原来没有给SciTE设置如何调用BCC32编译器。
赶紧设置了,再编译,还出错:
>c:\Borland\bcc55\Bin\bcc32hellowrld
>The system cannot find the file specified.
怎么回事呢?
想了老半天终于明白了,我把helloworld文件存在了D盘,但是软件是在c:\Borland\bcc55\Bin\bcc32这个文件夹中搜索文件。于是在这个文件夹中又存了一个副本,再次编译,再出错:
>c:\Borland\bcc55\Bin\bcc32 helloworld
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
hellowrld.cpp:
Error E2209 hellowrld.cpp 1: Unable to open include file 'iostream.h'
Error E2451 hellowrld.cpp 4: Undefined symbol 'cout' in function main()
Error E2451 hellowrld.cpp 4: Undefined symbol 'endl' in function main()
*** 3 errors in Compile ***
>Exit code: 1
怎么会又找不到头文件呢?难道是系统自带的头文件库中没有这个文件?要自己找?编译器不会这么简陋吧,好歹也是borland出的。找到BCC的安装目录,一看,文件好好的存在,开始有点抓狂了…
再看书,SciTE的设置是完全没有问题了,看bcc的设置,找到了问题的所在,没有设置bcc的运行环境。
“Bcc的运行环境有两类,一类是他与操作系统的关系,另一类是它与c++本身的库函数的关系”
看来问题是出在没有设置bcc与库函数的关系,虽然我可能永远不会在winxp操作系统下用到命令行来编译程序,但是不管三七二十一,我把bcc与操作系统的关系也给设置了,然后再设置bcc与c++库函数的关系,主要过程是在bcc的安装目录下面授动添加两个cfg文件——BCC32.cfg和ILINK32.cfg.
BCC32,.cfg文件的内容如下:
-I "c:\Borland\BCC55\Include"
-L "c:\Borland\BCC55\lib"
(在这儿,为了使文本美观,我在-I和—L后面各加了一个blank,想不到又给自己带来一个大麻烦,后面再说)
设置完毕,又仔细地看了一遍书中的说明,确定没有漏掉任何一个必要的设置了,心中不由暗自得意,再运行程序,又出错误:
>c:\Borland\bcc55\Bin\bcc32 helloworld
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
Error E2075: Incorrect configuration file option: c:\borland\bcc55\include
>Exit code: 1
救命啊!
怎么回事?难道是编译程序太古老,不能区分大小写的路径?
更改文件路径,与系统显示完全一致,还是出现这个错误信息,反复地编译了4,5次,还是没有变化,我开始崩溃了!
怎么办?怎么办?
我就盯着书上的
-I "c:\Borland\BCC55\Include"
-L "c:\Borland\BCC55\lib"
和文件里面的同样内容猛看,确实找不出来原因阿。
就在我快要放弃的时候,脑袋里突然一阵灵光闪现,难道美丽也是一种错?难道是那个空格的问题?删去空格,再次运行:
>c:\Borland\bcc55\Bin\bcc32 helloworld
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
helloworld.cpp:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
>Exit code: 0
>make
MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
>Exit code: 0
>helloworld
Hello world!
>Exit code: 4303648
Done!终于完成了,终于完美的结束了最初的磨难,不知道还有怎么样的困难在前路阿。
以前一直都在学习c语言,感觉c语言真是世界上最好的编程语言了,后来看了一本关于c++的书,看到重载那个地方,感觉c++简直神了,这个想法太奇妙了,c语言相对有点落后了。所以感觉该学学c++了,这个可能更适合自己,适合未来,但是不管怎么说,重要的是要把它学好,而不是每次都学到一半就放弃!忌之~
假如你和我一样是一只正在学习编程的菜鸟,那么下面的十个好习惯与你共勉之。
1、设计规划
现在是模块化程序设计的天下,应用程序要实现的目标就是金字塔尖,进行程序设计规划的意义就在于,对构成金字塔的基础模块进行划分,规划得越详细,模块分工越明确,越容易明白下一步该做什么,这好比搭积木的游戏,你可以把你的积木块组合成各种各样的形状,但首先要熟悉每个积木块的功能。
2、有备无患
实战之前,先找几个样例程序研究研究,最起码明白怎么开头,怎么结尾,别打无准备之仗。
3、葵花宝典
做一份所用程序语言的精简列表,包括基本数据类型、各类运算符说明、基本语句结构、常用关键词(保留字)、常用函数(控件)说明等等。
4、自由独立
为你的应用程序建立一个单独的目录,这样既方便应用程序文件的管理,而且如果你要给程序搬“家”,卷起铺盖就可以走人了。
5、见名知意
程序再小,用的变量也不会少,变量起名应当见名知意是个老话题了,好处是显而易见的。推荐程序员使用“匈牙利命名法”,它会使你的起名工作变得轻而易举,而且相当专业。
6、对称之美
中国人讲究对称之美,用在编程里也很合适,如果程序里用到A循环嵌套B判断,B判断又包含C循环之类的结构,记着使用缩进法,让A:ENDDO对齐A:DO,B:ENDIF对齐B:IF……诸如此类,依次缩进,总之对称就等于美观加易读。
7、多加注解
对程序中自定义的变量、函数、子程序加以功能性的注释说明,别嫌麻烦。如果过了三月五月,连自己写的东西都看不明白了,那才大麻烦。
8、环境保护
如果应用程序需要修改系统设置,记着应用开始前先保存设置,应用结束后要恢复设置,千万别污染环境。
9、拿来主义
一个人的力量是有限的,大家的力量是无限的,平时多看些技术资料,如果碰巧有好的经验,巧的方法,用得上的段子,不妨拿来。
10、忍者无敌
当你认为程序代码写的“百分百”正确,而程序编译执行百分百有毛病,你基本属于晕菜的时候,千万要忍,歇口气,重头来,别放弃!相信最终的胜利是属于你的!
你的PC可以装ADSL 也可以连网 但是你想学编程 就去买本书吧 别看电子教材
另外一定要把网线拔了(至少在学习C#或C++语言本身的这段时间把网线拔了) 保持一个月不上网 当然学语言可以学C++也可以学C#
我建议学C# 这是一门优秀的语言 所有学过C#的人都这样评价
好了 这样就可以了 现把语言学会了 就可以上网了 学语言的过程中别老是泡在论坛上问问题 没意思 看书 看msdn 语言层面没有值得你去问的问题 都很简单 正常智商的人都能理解 假如看不会就回家种田吧 当然还要理解什么是面向对象
知道什么是类 什么是接口 对象 多态性 派生 虚拟类和接口的区别 等等
然后找本设计模式的书开始读 推荐 《C#设计模式》 还有软件工程的书也拿来翻翻 语言只是表面的东西 想写windows程序就要搞清楚如何使用面向对象的思维方式去分析手头上的问题 并且保证你写出来的类的灵活性和低耦合 便于维护
另外开始学习类库吧 类库的学习时一个长期的积累过程
语言 + 思维 + 类库 = 程序
秘诀是:看书 看书 遇到书上的程序先照着写一便 理解清楚 然后自己不看书 自己再写一遍 别上网 那样容易让你浮躁