首页 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
资讯 业界资讯 软件杂谈 编程开发 网站建设 网络观查 搜索引擎 移动应用 网站运营 网络地图
开发 移动开发 Web前端 架构设计 编程语言 互联网 数据库 系统运维 云计算 开发杂谈
[编程语言] 【C语言探索之旅】 第二课:工欲善其事,必先利其器
【C语言探索之旅】 第二课:工欲善其事,必先利其器



内容简介


1、课程大纲

2、第一部分第二课:工欲善其事,必先利其器
3、第一部分第三课预告:你的第一个程序

课程大纲


我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案。还会带大家用C语言编写三个游戏。
C语言编程基础知识



  • 什么是编程?

  • 工欲善其事,必先利其器

  • 你的第一个程序

  • 变量的世界

  • 运算符

  • 条件表达式

  • 循环语句

  • 实战:第一个C语言小游戏

  • 函数

  • 练习题

  • 习作:完善第一个C语言小游戏

C语言高级技术

  • 模块化编程

  • 进击的指针,C语言王牌

  • 数组

  • 字符串

  • 预处理

  • 创建你自己的变量类型

  • 文件读写

  • 动态分配

  • 实战:“悬挂小人”游戏

  • 安全的文本输入

  • 练习题

  • 习作:用自己的语言解释指针

用基于C语言的SDL库开发2D游戏

  • 安装SDL

  • 创建窗口和画布

  • 显示图像

  • 事件处理

  • 实战:“超级玛丽推箱子”游戏

  • 掌握时间的使用

  • 用SDL_ttf编辑文字

  • 用FMOD控制声音

  • 实战:可视化的声音谱线

  • 练习题

数据结构

  • 链表

  • 堆,栈和队列

  • 哈希表

  • 练习题

第一部分第二课:工欲善其事,必先利其器


昨天的课,反响比较好,超乎了我的想象。激动,很感恩。
昨天说了程序员需要具备三个特质:
耐心,逻辑,冷静。
我突然感觉到还需要第四大特质---谦虚,相当重要。因为你只会发现你越学习越觉得不足,外面的世界太大了,编程的前辈和大牛太多,新技术永远比你学习速度快地涌现,所以永远保持一颗初心,不得瑟。
凡事多感恩,一方面感谢帮助过我们的人,也感谢给我们逆耳忠言的人,也要感谢陪伴我们的电脑和开源社区等。
其实,我一直觉得程序员是一个不错的职业,虽然可能程序员有不少职业病,例如话少,宅,呆萌,害羞等,
但是程序员比较单纯,这是跟与我们朝夕相伴的电脑分不开的。因为机器不会说假话,1就是1,0就是0,绝对忠诚,高效和不变心(芯)。所以,和机器长期打交道之后的程序员也变得不是那么有心机,感觉萌萌哒。
之前网上有一篇文章,说找程序员做男女朋友的好处,挺有意思。
跟公司里几个同事相处下来也发现,程序员真的都很有趣,很可爱,很童真。
只是在国内程序员还不是太被重视,但我相信随着中国的强大,会改观的。
好了言归正传。在上一课《什么是编程》后,这一课我们就正式进入C语言编程的正题了。
这一课我们回答以下问题:
我们需要什么软件来编程呢?
这一课大家可以很轻松地度过,因为没有什么难点。我们会花点时间来认识一些常用的编程软件。
应该好好享受这一课,因为下一课开始我们就要一起写程序了,所以该喝咖啡的喝咖啡,该吃烤鸡的吃烤鸡,休息好了,才能上阵。


编程的必要工具
依你看,什么软件对编程来说是必要的呢?如果你认真学了上一课,那你至少可以说出一种吧。
对了,就是编译器。这个重要的程序可以把你的源代码(用高级语言如C语言写的指令)转换成电脑可以理解的二进制码(只包含0和1的,类似 01100110001111011101010...)。
上一课我们也提了一下,每种高级语言都有对应的编译器(当然对于Python这样的解释性语言,就不需要编译了),光是C语言的编译器就有很多。比较常用的有GCC(GNU C Compiler。GNU是国际著名的自由软件基金会,GNU是“GNU is Not Unix” (GNU不是Unix)的递归缩写法,老外总是那么顽皮,起名字也喜欢整一些编程的知识,比如Linux就是“Linux Is Not Unix”(Linux不是Unix)的递归。要不就用很多动物的名字或图标,特别好玩)。
除了编译器,我们还需要什么工具呢?
就不卖关子了,下面列出编程的基本工具:

  • 文本编辑器:用来写源代码的工具。理论上Windows操作系统的记事本或者Linux下的VI编辑器都可以作为文本编辑器来使用。但是,最好还是用一些更高级点的文本编辑器,比如可以支持代码高亮显示,方便你在代码间跳转等。个人非常推荐的文本编辑器是Emacs,真的非常强,跨平台(苹果Mac,Windows,Linux等),自由定制,各种快捷键组合,收发邮件,看视频,浏览网页,浏览PDF,没有你做不到,只有想不到(略有夸张...),可以让你编辑代码非常高效。我之前使用的是VIM,也是很不错的,但是后来用了Emacs,感觉还是更喜欢Emacs一些。当然这见仁见智。还有一个文本编辑器:Notepad++也是挺好的,经过配置和安装一些插件,可以很强大,不过貌似没有苹果电脑版本。

  • 编译器:已经提过了,用来转换(或叫编译)你的源代码成为二进制码

  • 调试器:Debugger,用来跟踪、发现程序里的错误的工具。这里出现一个新名词,调试(Debug)。bug是英语臭虫,虫子的意思,de在英语里是一个表示“分离,除掉”的前缀,所以Debug的意思就是除臭虫。一般把程序里的错误或者缺陷叫做bug(臭虫),据说是因为传奇女程序员Grace Hopper(格莱斯.霍普)有一次在MARK II计算机(就是那种早期的比较庞大的电脑)中发现了一只飞蛾,这只飞蛾导致了这台电脑死机(夹在电脑里的继电器之间),霍普用镊子把飞蛾夹出来,用透明胶布贴到笔记本上,并注明“第一个发现虫子(bug)的实例”。从此,人们就沿用了这个称呼,用debug表示排除程序错误的行为。现在霍普的笔记本,连同那只呆萌的飞蛾,陈列在美国历史博物馆里。



霍普的笔记本和光荣载入历史的飞蛾
当然,如果你有冒险精神,喜欢挑战,也可以不用调试器(通过一些小技巧也是可以自己找到错误所在的)。但是,我想一般来说你是会需要调试器的。
所以,我们就有两个选择了:

  • 分开使用文本编辑器,编译器和调试器这三种工具。虽然复杂一些,但是也行得通。特别在Linux环境下,不少程序员还是喜欢用这种方式来编程,可能不是装,要的就是这个feel,倍爽。

  • 使用一种软件,这种软件集合了这三种工具的功能。这种软件被称为IDE(Integrated Development Environment 集成开发环境)。

一开始你可能会难以抉择,到底用哪种呢?即使选择了用IDE,也会纠结到底用哪一个IDE好呢。其实我们可以肯定的是:不论你选择哪种工具,你都可以编写你想要的程序。只是效率,个人习惯和特定平台要求不同罢了。
个人浅见:
如果刚接触C语言,尽量在Linux的命令行里学习C语言编程。一开始不要怎么用IDE。因为IDE做得太好了,都有提示,代码自动补全,自动帮你添加代码,你就不能学到很多,也记不牢。等编程水平好了一些,再用IDE不迟,那个时候IDE可以提高你的编程效率。一开始用emacs或者vim编写C语言,用GCC编译C语言,用GDB(GNU Debugger)调试C语言,是不错的选择。
当然了,我们还是会花比较多的篇幅介绍几个常用的IDE。
选择你的IDE


我们觉得有必要向大家展示几个最著名的IDE,这几个都是免费的(只买对的,不选贵的)

  • Code::Blocks:个人比较喜欢的一款IDE,免费,开源,跨平台。在之后的课程里,我们会用Code::Blocks来做开发,因为Code::Blocks的开发环境搭建起来太快了,不需要什么配置。
    可以运行在苹果Mac,Windows,Linux等大多数操作系统上

  • Visual Studio:基础版本是收费的。但是幸好有一个Visual Studio Express的版本是免费的。VS功能很完备,而且调试器很强大。
    只能运行在Windows操作系统上

  • Xcode:作为苹果的当家IDE,不得不说Xcode真的做得太棒了。可以用来开发基本的小程序,也可以编写iPhone和iPad的App(模拟器速度超快),和智能手表应用,还可以和其他如Unity 3D引擎配合来编写游戏。
    只能运行在苹果Mac OS X操作系统上

Code::Blocks
Code::Blocks是一款很不错的IDE,不过目前只有英文版,当然网上也有汉化版本,不过既然学编程,就尽量把英语这关过了,也不需要太厉害的英语,基础就好。毕竟汉化版有的翻译不到位,可能会影响使用。而且好的编程资源基本都是英语的。
下载Code::Blocks
先去Code::Blocks的官方下载页面:http://www.codeblocks.org/downloads/binaries

  • Windows用户请下载 .exe 的文件,请注意要下载名字里有 mingw 的那个(codeblocks-13.12mingw-setup.exe),因为如果没有mingw这几个字母的版本不包含编译器,就会很麻烦。

  • Linux用户请下载对应你的操作系统的版本

  • 苹果Mac用户请下载 CodeBlocks-13.12-mac.zip

安装运行Code::Blocks
Code::Blocks的安装太简单了,就跟安装QQ没什么区别,一路默认到底就好。
安装完之后双击运行,你可以看到如下图的界面


上图中标注了四个区域:

  1. 工具栏:有很多按钮,但只有几个是真正我们时常用到的。

  2. 项目文件列表区:左边的栏里面显示了你的项目的所有文件

  3. 主界面:写代码的地方

  4. 通知栏:会看到运行的错误,编译的问题等等

如何来创建一个C语言的基本的控制台应用程序呢?
首先到菜单里,File -> New -> Project,会打开如下的窗口


可以看到,Code::Blocks支持非常多的程序类型,这些程序类型用到不同的库,比如SDL(开发2D程序),OpenGL(开发3D程序),Qt和wxWidgets,等等。目前,这些图标很多都只是好看而已,因为你还没安装对应的库,所有不能用。我们会在后续课程开发基于SDL库的游戏。暂时我们只用最基本的Console application(控制台应用,简单来说就是会弹出一个框,里面显示程序运行的结果)。
选择 Console application,点击Go按钮到下一步


“Project Title”里面填写你要创建的项目名称,我们填的是著名的 HelloWorld。“Folder to create project in” 是选择项目存放的路径。
点击Next到下一步,


这里我们不必更改什么,默认就好。点击Finish(完成)结束配置,Code::Blocks就会创建你的第一个项目了。


打开Sources里的main.c这个C语言的源代码文件,点击上面工具栏里有一个绿色的三角形按钮,运行程序,它会提示你是否要编译,点击“yes”,运行起来后我们的第一个控制台程序输出 Hello World!
Visual Studio
下载 Visual Studio Express,去官方下载页面 http://www.visualstudio.com/products/visual-studio-express-vs
选择适合你的操作系统的版本来下载。
因为小编是在苹果电脑上编辑文章的,所以就不多做演示了。请大家去参考网上的安装和使用图文教程。不好意思啦。
安装完运行后应该是与Code::Blocks类似的布局


Xcode
Mac操作系统里有不少IDE,但是Xcode却是广大苹果用户的最爱。
不是所有的苹果用户都是程序员,所以苹果没有在Mac系统里预装Xcode,你需要到Mac App Store(应用商店)下载Xcode(需要有苹果账户,没有可以注册一个)。
安装很方便,只要去App Store搜索Xcode,然后点击Install(安装),就安装到应用程序里了。将Xcode运行起来


然后选择 Create a new Xcode project(创建一个新的Xcode项目),会弹出如下窗口


选择 OS X -> Application -> Command Line Tool,点击Next到下一步


Project Name里填写项目名称,我们填了HelloWorld。Language(语言)选择 C 语言,点Next下一步,会让你选择项目文件夹的存放路径,随便选择。然后点击Finish完成。


项目打开之后,点击 三角形 按钮,运行,可以看到输出了 Hello World!
总结一下

  • 一个程序要从开始编写到能够运行,一般来说需要三种工具:文本编辑器,编译器,调试器(当然对于Python这样的解释性语言,就不需要编译了)

  • 我们可以分开使用这三种工具来完成任务。但是比较方便的是使用IDE(集成开发环境,混合了这三者)来开发。

  • Code::Blocks,Visual Studio(或Visual C++),Xcode是最著名的IDE,当然还有很多优秀的IDE(例如 Eclipse),就不一一介绍了。IDE只是工具。

第一部分第三课预告:你的第一个程序


今天的课就到这里,一起加油吧。下一课一起来写我们的第一个C语言的程序咯。





程序员联盟 微信公众号*您若觉得本文不错,点击“分享
*新朋友请关注「程序员联盟」微信搜公众号  ProgrammerLeague
小编的微信号 frogoscar
小编的邮箱:    enmingx@gmail.com





程序员联盟”公众号专为程序员,App设计师,各位喜爱编程和热爱分享的小伙伴们推送各样编程相关知识,优秀软件推荐,业界动态等。搜索 ProgrammerLeague 加关注~


持续关注 程序员联盟 微信公众号,更多有趣,有料,有亮点的内容等着你哦!



 此文从网络中自动搜索生成,不代表本网站赞成被搜索网站的内容或立场    查看原文
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 新闻资讯 小游戏 Chinese Culture 股票 三丰软件 开发 中国文化 网文精选 阅读网 看图 日历 万年历 2018年9日历
2018-9-26 15:34:30
 
  网站联系 软件世界网-www.sjsjw.com ©2014 蜀ICP备06016416号 三峰网旗下网站