灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:5311回复:2

从C语言实战谈编程:hello world(入门)

楼主#
更多 发布于:2012-09-06 12:31


 一、学前要思考
  从今天开始,我会按照我的想法一步一步地谈论如何编程。可能我的想法和你不太一样,和其他人不太一样,这不奇怪,每个人都有每个人做法和想法嘛。我从不是照书宣讲,但也不随便乱讲,我还是有系统的、有针对性的、把自己对编程的看法呈现给你们与你们交流。不要拒绝新的尝试、试试听听别人想法,说不定会有一些收获。
  我想问一下读者,当你要学一门新的语言的时候,你应该首先考虑什么?你应该怎么学?你怎么才算学好了?.你会考虑这些问题吗?如果你从不考虑这些问题,不知道怎么去考虑,那我第一课就要告诉你,要学会思考。一个程序员不善于思考就不会是一个好的程序员,记住要学会思考,不习惯也要习惯。
  如何思考?思考什么?学一门语言首先要把学习一门语言当做一个整体来思考。在学之前就要考虑好,为啥要学?怎么学?学什么?学多长时间?学到什么程度?
  很多过来的程序员在学习语言的时候,由于没有很好考虑这些问题,急于编程序、急于看到程序运行出来的结果,或者一切顺其自然,没有急迫感,边学边做,若干年后也不知道自己到底学的怎么样。这些是我最不愿意看到的。
  1、为啥要学?
  我认为这个问题一定要从实用主义出发,一定要学了有用。比如,工作需要、找工作需要、做自己项目的需要。总之能够在近期带来经济效益的,可以考虑去学。那些因好奇、因升级、因流行、因新品、因技术而去学则不要浪费时间去学,最多去了解就行了。而如果为了兴趣,这个就要考虑了,可以考虑比较一两个有用的程序语言去学习。人的时间本来不多,而程序员的时间更是不多而且珍贵,所以要珍惜使用。
  2、怎么学?
  我看到大部分人都是找本书,先看,再试,不懂网上去查,是向书学习,向网学习的个人学习。这种方法一定学出来的是一个平均水平的程序员。我提倡的是不要看书(这个方法我在《程序员成长路线图:从入门到优秀》一书中专门说过),找人学。通过向别人学习,可以加快学习的进程、找到学习的重点、避免无谓的自己长时间查出错原因,更重要的是培养程序员团队意识,通过与其他人的交流,取长补短,共同进步。有些同学会说:"我找不会编程的人呀,向谁去学呀?"我只能说,现在会编程的人很多,只要你用心找,一定会找到的。至于人家肯不肯教你,那就要看你的了。
  3、学什么?
  一个语言就像一个大海,你都不知道这个海有多大,有多深,所以,我们如果像平常一样,去喝几口海水,是喝不光的。因此,我们更重要的是要掌握喝海水的方法,而不是喝了那几口海水。学什么一般人很难说的清,因为,他们面对的无边的海水。我则更注重方法,我初步总结了一下要学会:
  1) 语言环境的安装
  2) 编辑源程序
  3) 编译源程序
  4) 运行程序
  5) 语言的语法
  6) 调试
  7) 语言中的架构
  8) 语言中重要的系统调用和
  9) 打包安装程序制作
  我希望能在文章全部发表完成之后,能把这个列成一个表格,便于记忆和学习。其他细节的东西可以不要过多考虑。
  4、学多长时间
  学多长时间的确是因人而异,有的人基础好一些,经验多一些,脑筋活一些,有人带一些,学的就快一些。而有的人则相反,则要慢一些。一般情况下,一个月到二个月就能学的不错了。
  5、学到什么程度
  语言学习无止境,学2年学10年都不能学透的。我还是提倡实用,只有学了以后,能满足工作要求就行了,就可以告一个段落了。以后,在工作中,可以随机地学,慢慢积累。
  可能有些网友对上面要思考的问题,不太重视,感到学程序那需要考虑这些东西,学编程就是要学语法、学调用就行了。而根据多年的体会,我认为语言本身的语法、函数、调用反而不太重要,那是死的东西,跑不了。而学会思考,学会从流程上学习编程则是重中之重。
  二、hello world编程
  好吧,再说思考,大家可能会把我扁死不可。我把这次我的C语言的环境告诉大家:AIX操作系统、ORACLE数据库。AIX可以看成是传统的UNIX环境,是面向命令行编辑、编译、运行(不是面向windows)。其实,各行C语言的环境大同小异,大家可以根据自己的环境做适当的调整。如果网友准备好了C语言环境后,我们就可以开始C语言实战了。
  我还是不能免俗,还是照顾到急于看到C语言程序的朋友们,开始我的helloworld编程。
  我用vi 编辑了a.c 这个helloworld程序,编译,并运行。
  其流程如下:
  1、编辑a.c
  1.在系统命令行键入
  Vi a.c
  2.编辑a.c
  #include "stdio.h"
  main()
  {
  fprintf(stdout,"hello world!n");
  exit(0);
  }
  2、编译a.c
  在系统命令行键入
  cc a.c
  3、运行a.out
  在系统命令行键入
  ./a.out
  4、显示结果
  hello world!
  好了。第一C语言程序编出来了,运行出来了。你们也可以试试。也算是会编C语言了。
  接下来我们要对这个程序进行思考了:
  1、这个程序功能比较简单,但是,你的重点不要放在程序的功能上。而是放在一个语言的流程上。记住这个流程是:1、编辑 2、编译、3、运行。
  2、大家注意了没有我的源程序名是a.c,而不是取helloworld.c.这关系到源程序取名问题,下次抽空谈。
  3、大家注意了没有这个程序的可执行文件名为a.out,而不是a.exe或a
  这个也值得谈一谈。这个和编译有关,下面在谈编译的时候,会详细谈的。
  4、大家注意了没有,运行这个程序的时候,a.out前加了。/.这也是一个技巧。在有时候,明明看到目录下有这个可执行文件就是执行了别的文件。这是保证就是执行当前目录下的可执行文件的。因为,操作系统在接受命令行命令的时候,是会按照命令路径的顺序去找这个文件的,而当前目录一般是放在bin目录之后的。这个命令路径是放在path环境变量。
  5、关于a.c中每一行程序放在下次再谈吧。这次重点还是在流程,希望大家记住我们上学时候学到的东西:1、编辑 2、编译、3、运行
  总之,通过本文,如果你记住了程序员要思考,要思考为啥要学?怎么学?学什么?学多长时间?学到什么程度?牢记编程流程:1、编辑 2、编译、3、运行 就算及格了。我对编程十分强调基础,强调原理,对编程要做到知其然,知其所以然。编程不要急,慢慢来,要克服自己自发的想当然的欲望,克服基于编程的那种冲动,多思考、多思考,这样你的编程基础才能打得牢,你今后的编程水平才能有很大的提高。


喜欢1 评分0

最新喜欢:

864642230864642...
llh
llh
终身会员
终身会员
  • 注册日期2012-09-14
  • 发帖数100
  • QQ
  • 火币475枚
  • 粉丝9
  • 关注9
  • 新人进步奖
沙发#
发布于:2013-03-04 22:28
新手,学习学习

回复(0) 喜欢(0)     评分
烽火战魂
终身会员
终身会员
  • 注册日期2013-09-13
  • 发帖数334
  • QQ473909140
  • 火币718枚
  • 粉丝0
  • 关注0
  • 忠实会员
  • 最爱沙发
板凳#
发布于:2013-09-13 23:14
嗯嗯!好好学习

烽火网络安全组-烽火网络家族
回复(0) 喜欢(0)     评分
游客

返回顶部