2022-03-20
C是一种编译性语言。如果你以前从来没有接触过任何的编程语言,那么你则需要学习一下一个拆分的逻辑思维。当我们想要写一个项目或者软件的时候,我们需要把这个整体拆分为7个步骤,这样也会让你的思路看起来更有条理。
当然啦,这是最完美的状态。然而在实际操作中,并且是在较大的项目中,你可能需要做一些反复工作,用后一步骤所了解到的内容来改进前一个步骤。
当你在开始写程序之前,你应对希望程序要做什么有一个清晰的想法。考虑程序需要的信息,程序需要进行的计算和操作,以及程序应该向你报告的信息。
在这一规划阶段,你应该用一般概念来考虑问题,而不是一些具体的计算机语言术语来考虑。简单来说,我们所要思考的就是,这个程序是用来做什么的。
当你在对程序需要完成的事情有一个概念性的认识后,你就应该决定程序要如何完成它,用户界面应该是怎么样的,程序应该如何组织,目标用户是谁,你有多长的时间来完成实现这个程序等等。
这个部分其实就像写作文一样,当你想好要写什么题材的文章之后,接下来就要列出你文章中的大纲,需要几个段落,需要用到什么手法,每个段落写的是什么内容,一共有多少时间来给你完成这篇文章。把这些内容规划出来列成大纲,然后依次实现就可以了。
在程序有了清晰的设计后,就可以通过编写代码来实现它了。也就是说,将你的设计构思转变为 C 语言,这里是你真正需要使用 C 知识的地方。
你可以在纸上勾画你的想法,但最终必须将代码输入计算机。一般来说,需要使用文本编辑器来创建一种称为源代码的文件,该文件包含你的程序设计的的 C 实现形式。
例:比如我要实现在屏幕上实现输出 hello world!
----------------------------------------------------------------------------------------
#include
int main()
{
printf ("hello world! ");
return 0;
}
----------------------------------------------------------------------------------------
这是一个最基础的C语言程序,其作用就是在屏幕上输出一句hello world!。
下一个步骤是编译源代码。不过,编译细节取决于编程环境,下面很快就会看到一些常见的环境,让我们先对要做的事情有一个一般性的了解。
前面讲过,编译器是一个程序,其工作是将源代码转换为可执行代码。可执行代码是用计算机的机器语言表示的代码,这种语言是由数字代码表示的详细指令组成。
C 编译器用来将 C 语言转换成机器语言,C 编译器还从 C 的库中向最终程序加入代码,库中包括着许多标准例程供你使用,例如 printf()和scanf()。最后的结果是,形成一个包含计算机可以理解的代码并且你能够运行的可执行文件。
编译器还检查你的程序是否为有效的 C 语言程序。如果编译器发现错误,就将错误报告给你,而且不生成可执行文件。理解编译器的报错信息是你将要学习的另一种技能。
一般来说,可执行文件就是你打开之后可以直接能够运行的文件。
在一般的操作系统中(例如Windows,Linux),要想运行某个程序,只需要双击这个文件或者右键打开就可以运行,这就是可执行文件。那要怎么才能生成可执行文件呢?
例如为在Windows环境中,用QT编译器运行程序可以用快捷键Ctrl+R生成程序并显示程序结构,如果用Visual Studio编译器则是Ctrl+F5编译运行。
程序能够正常运行那是极好的,但有时候它也可能运行不正确。因此,你应该进行检查,看程序是否存在错误。
这个错误在计算机行话中称之为 Bug。调试(Debugging)就是要发现并修正程序错误。
学习中自然会犯错误,看起来编程中似乎也会犯错误,所以在将所学知识应用到编程中时,最好准备好时时想到自己很容易犯错误。当你成为本领更强,技艺更精湛的程序员时,你的错误也会变得更严重而且不易察觉。
你犯错误的机会很多。你可能会犯一个基本设计错误,可能会错误地实现了好的想法,可能会因为忽略了某个条件而将程序搞得一团糟,可能会错误地使用C,可能会犯打字母错误,也可能会将中英文输入搞错等等.....
不过,这并不是什么丢脸的事情,每个人都会犯错误,当你被一个错误折腾的焦头烂额的时候,你才会深刻的记住这个错误,以确保下次不会再犯。另外,编译器拥有简单找错误的能力,虽然不会具体到教你怎么改,但它会帮你标记出错误所在的那行,只要你认真仔细的检查错误的那几行并改正就可以了。
在为自己或为别人创建程序后,该程序可能会有更广泛的应用。如果是这样,你可能会发现需要对其进行更改,也就是项目的维护和修改。
在这里不得不提代码风格和注释的作用了,很多人都不喜欢写注释,代码风格也极乱。可当你去维护别人程序的时候,如果他没有写过注释,并且代码一堆堆的挤在一起,那你可能会头痛的要死,只想破口大骂写这个程序的程序员。
由人及己,养成一个良好的编程风格是一个非常好的习惯,写完程序顺便标上注释。
编程工作通常不像上面讲述的过程那样是一条线。有时你必须在不同步骤间来回反复。例如,当你编写代码时,可能会发现你的计划是不切实际的。你可能会看到一种更好的实现方式,或者在看到程序的运行后,让你有了改变该设计的想法。对你的编程工作加以记录有助于在各阶段之间反复改动。
很多人在学习过程中都往往会忽视【定义程序目标】和【设计该程序】而直接到【编写程序】。
你编写的第一个程序hello world!非常简单,可以在头脑中想你到整个过程。如果犯了错误,也容易找到。可随着程序变得更长更复杂,头脑中的想象就开始无能为力了,而且错误也将变得难以发现。
最终,那些无视计划步骤的人会浪费大量时间并带来混乱和挫折,因为他们编写出了难看,功能不正常而且艰深难懂的程序。工作越大越复杂,需要的计划工作量就越大。
看到这里是不是又有很多感悟了呢~
1
CI框架连接数据库配置操作以及多数据库操作
09-05
2
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
05-17
3
C语言关键字及其解释介绍 C语言32个关键字详解
04-05
4
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
04-26
5
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
04-12
6
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
09-05
7
PHP中的(++i)前缀自增 和 (i++)后缀自增
09-05
8
PHP中include和require区别之我见
09-05
将视频设置为Android手机开机动画的教程
2014-12-11
php递归返回值的问题
2014-09-05
常用dos命令及语法
2014-09-27
如何安装PHPstorm并配置方法教程 phpstorm安装后要进行哪些配置
2017-05-03
IcePHP框架中的快速后台中的通用CRUD功能框架
2014-09-05
java中的info是什么意思
2022-03-24
PHP 教程之如何使用BLOB存取图片信息实例
2014-09-05
单片机编程好学吗?单片机初学者怎样看懂代码
2022-03-21
学ug编程如何快速入门?
2022-03-17
PHP数组函数array
2014-09-05
火影忍者国际版手游下载v1.71.72.8 安卓最新版本
角色扮演 1.86G
下载绿茵信仰游戏最新版下载v3.8.0 安卓版
体育运动 1.80G
下载奇妙梦幻城堡完整版下载v9.87.00.00 安卓版
其它手游 105.1M
下载labo积木汽车2儿童游戏下载v1.1.422 安卓版
其它手游 131.5M
下载奇妙环游世界宝宝巴士游戏下载v9.87.00.00 安卓版
其它手游 114.2M
下载全民农场游戏下载v1.26.30 安卓正版
经营养成 887.0M
下载哈利波特魔法觉醒网易版下载v1.20.220280 安卓版
其它手游 1.89G
下载宝可梦大集结体验服免费下载v1.2.1.1 安卓手机内测服
其它手游 1.90G
下载宝可梦大集结国服下载v1.2.1.1 官方安卓手机版
下载
问道果盘版本渠道服下载v2.139.0506 安卓客户端
下载
斗破苍穹异火重燃官方腾讯版下载v0.0.0.352 安卓最新版
下载
战舰帝国折扣平台下载v7.1.86 安卓版
下载
宝可梦大集结腾讯版国服下载v1.3.1.1 安卓官方正版
下载
大帝国征服者手游百度版下载v5.670 安卓版
下载
漫威对决最新版下载v1.0.125569 安卓版
下载
雪糕工厂宝宝巴士游戏下载v9.87.13.01 官方安卓版
下载