C语言是面向过程的,而C++是面向对象的

C和C++  的区别:

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C ++ ,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C  的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C  比C更先进,是因为“ 设计这个概念已经被融入到C  之中 ”。

C是一种编译性语言。如果你以前从来没有接触过任何的编程语言,那么你则需要学习一下一个拆分的逻辑思维。当我们想要写一个项目或者软件的时候,我们需要把这个整体拆分为7个步骤,这样也会让你的思路看起来更有条理。

当然啦,这是最完美的状态。然而在实际操作中,并且是在较大的项目中,你可能需要做一些反复工作,用后一步所了解到的内容来改进前一个步骤。

第1步: 定义程序目标

当你在开始写程序之前,你应对希望程序要做什么有一个清晰的想法。考虑程序需要的信息,程序需要进行的计算和操作,以及程序应该向你报告的信息。在这一规划阶段,你应该用一般概念来考虑问题,而不是一些具体的计算机语言术语来考虑。简单来说,我们所要思考的就是,这个程序是用来做什么的。

第2步: 设计程序

当你在对程序需要完成的事情有一个概念性的认识后,你就应该决定程序要如何完成它,用户界面应该是怎么样的,程序应该如何组织,目标用户是谁,你有多长的时间来完成实现这个程序等等。

这个部分其实就像写作文一样,当你想好要写什么题材的文章之后,接下来就要列出你文章中的大纲,需要几个段落,需要用到什么手法,每个段落写的是什么内容,一共有多少时间来给你完成这篇文章。把这些内容规划出来列成大纲,然后依次实现就可以了。

第3步: 编写代码

在程序有了清晰的设计后,就可以通过编写代码来实现它了。也就是说,将你的设计构思转变为 C 语言。这里是你真正需要使用 C 知识的地方。你可以在纸上勾画你的想法,但最终必须将代码输入计算机。一般来说,需要使用文本编辑器来创建一种称为源代码的文件,该文件包含你的程序设计的的 C 实现形式。

例:比如我要实现在屏幕上实现输出 helloworld!

----------------------------------------------------------------------------------------

#includeint main(){printf ("helloworld!\n");return 0;}

这是一个最基础的C语言程序,其作用就是在屏幕上输出一句helloworld!。

第4步:编译

下一个步骤是编译源代码。不过,编译细节取决于编程环境,下面很快就会看到一些常见的环境,让我们先对要做的事情有一个一般性的了解。

前面讲过,编译器是一个程序,其工作是将源代码转换为可执行代码。可执行代码是用计算机的机器语言表示的代码。这种语言是由数字代码表示的详细指令组成。C 编译器用来将 C 语言转换成机器语言。C 编译器还从 C 的库中向最终程序加入代码。库中包括着许多标准例程供你使用,例如 printf()和scanf()。最后的结果是,形成一个包含计算机可以理解的代码并且你能够运行的可执行文件。

编译器还检查你的程序是否为有效的 C 语言程序。如果编译器发现错误,就将错误报告给你,而且不生成可执行文件。理解编译器的报错信息是你将要学习的另一种技能。

第5步:运行程序

一般来说,可执行文件就是你打开之后可以直接能够运行的文件。在一般的操作系统中(例如Windows,Linux),要想运行某个程序,只需要双击这个文件或者右键打开就可以运行,这就是可执行文件。那要怎么才能生成可执行文件呢?例如为在Windows环境中,用QT编译器运行程序可以用快捷键Ctrl+R生成程序并显示程序结构,如果用Visual Studio编译器则是Ctrl+F5编译运行。

第6步: 测试和调试程序

程序能够正常运行那是极好的,但有时候它也可能运行不正确。因此,你应该进行检查,看程序是否存在错误。这个错误在计算机行话中称之为 Bug。调试(Debugging)就是要发现并修正程序错误。学习中自然会犯错误,看起来编程中似乎也会犯错误,所以在将所学知识应用到编程中时,最好准备好时时想到自己很容易犯错误。当你成为本领更强,技艺更精湛的程序员时,你的错误也会变得更严重而且不易察觉。

你犯错误的机会很多。你可能会犯一个基本设计错误,可能会错误地实现了好的想法,可能会因为忽略了某个条件而将程序搞得一团糟,可能会错误地使用C,可能会犯打字母错误,也可能会将中英文输入搞错等等.....

不过,这并不是什么丢脸的事情,每个人都会犯错误,当你被一个错误折腾的焦头烂额的时候,你才会深刻的记住这个错误,以确保下次不会再犯。另外,编译器拥有简单找错误的能力,虽然不会具体到教你怎么改,但它会帮你标记出错误所在的那行,只要你认真仔细的检查错误的那几行并改正就可以了。

第7步: 维护和修改程序

在为自己或为别人创建程序后,该程序可能会有更广泛的应用。如果是这样,你可能会发现需要对其进行更改,也就是项目的维护和修改。在这里不得不提代码风格和注释的作用了,很多人都不喜欢写注释,代码风格也极乱。可当你去维护别人程序的时候,如果他没有写过注释,并且代码一堆堆的挤在一起,那你可能会头痛的要死,只想破口大骂写这个程序的程序员。由人及己,养成一个良好的编程风格是一个非常好的习惯,写完程序顺便标上注释。

总结

编程工作通常不像上面讲述的过程那样是一条线。有时你必须在不同步骤间来回反复。例如,当你编写代码时,可能会发现你的计划是不切实际的。你可能会看到一种更好的实现方式,或者在看到程序的运行后,让你有了改变该设计的想法。对你的编程工作加以记录有助于在各阶段之间反复改动。

很多人在学习过程中都往往会忽视【定义程序目标】和【设计该程序】而直接到【编写程序】。你编写的第一个程序helloworld!非常简单,可以在头脑中想你到整个过程。如果犯了错误,也容易找到。可随着程序变得更长更复杂,头脑中的想象就开始无能为力了,而且错误也将变得难以发现。最终,那些无视计划步骤的人会浪费大量时间并带来混乱和挫折,因为他们编写出了难看,功能不正常而且艰深难懂的程序。工作越大越复杂,需要的计划工作量就越大。

所以,给你一句忠告,那就是应该养成在编写代码前先进行规划的习惯。一定要记下程序的目标,并勾勒出设计概貌。这样那么你会节省大量的时间并且做出来的程序也会非常不错。

C语言程序设计的七个准备步骤相关推荐

  1. Python语言程序设计第七章 - 组合数据类型 - 6.1

    目录 Python语言程序设计第七章 - 组合数据类型 集合运算 集合的关系 集合综合练习 元组元素抓7 元组解包 升序降序 截取部分元素 判断元素书否在列表中存在 头尾对调 翻转列表 指定元素对调 ...

  2. 北航c语言程序设计大一期末题库,北航2016C语言|程序设计题七

    七.程序设计题(本题15分) 字符串处理函数strmap(s1,s2)可以比较两个字符串的大小,其字符的大小是以ASCII码表上的顺序决定的.该函数首先将s1第一个字符值减去s2的第一个字符值,若相差 ...

  3. JAVA语言程序设计第七章

    第七章:输入输出 7.1流式输入输出 两种基本流:InputStream(输入流), OutputStream(输出流) 根据流相对于程序的另一个端点不同可分两类: NodeStream(节点流/基层 ...

  4. c语言程序设计 第七章函数,《C语言程序设计》第七章随堂练习:自定义函数

    题目:创建一个C语言控制台程序,除了main函数外,自定义两个被调用的函数,并要求至少有一个函数包含有参数. 解答: 首先我们要了解,函数包含哪些组成结构,有四个部分,分别是:函数类型.函数名称.函数 ...

  5. java随机数语句_Java语言程序设计(七)Math类生成随机数及if语句

    Java有几种类型的选择语句,单向if语句,双向if语句,嵌套if语句,switch语句和条件表达式. 1.单向if语句 if(radius>=0){ area = radius*radius* ...

  6. C语言设计第七章答案,c语言程序设计第七章答案

    [问答题,简答题] 从流体力学的角度研究密封,必须解决哪两个问题? [单选] 活塞环的密封原理是(). [单选] 活塞环的密封原理是(). [单选] 在装填软填料时,若软填料环数为8环,则装填时切口应 ...

  7. C语言程序设计习题参考答案

    C语言QQ群:108168489 此群是普通群,限100人.无法容纳所有C语言同学,敬请谅解. 申请加入务必注明[班级和姓名](不注明班级和姓名,拒绝加入),加入群后修改群名片.课程结束后[取消该群] ...

  8. C语言程序设计笔记(浙大翁恺版) 第七章:函数

    按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源.原课程链接如下: https://www.icourse163.org/course/ZJU-9001 由于是大三抽空回头整理的, ...

  9. 《Java语言程序设计与数据结构》编程练习答案(第七章)(一)

    <Java语言程序设计与数据结构>编程练习答案(第七章)(一) 英文名:Introduction to Java Programming and Data Structures, Comp ...

  10. 郑莉版java第三章答案_java语言程序设计(郑莉)第七章课后习题答案.docx

    java语言程序设计(郑莉)第七章课后习题答案.docx 还剩 10页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: if (matrix.isTria ...

最新文章

  1. java基础求三角形的面积
  2. Detection and Classification of Acoustic Scenes and Events(DCASE2013详细介绍)
  3. 老工业基地调整改造与振兴
  4. Linux杂碎2/SHELL
  5. 设计作品展示类网站,设计提升调性必不可少
  6. C++虚函数的实现原理(最通俗但并不想专业的解释)
  7. MySql字符集修改
  8. windows聚焦失效的解决办法
  9. android组合键截图原理,步步高vivo x7怎么截屏 组合键截图方法教程
  10. 亚马逊SP-API市场端点接口文档整理
  11. [1125]AES加密报错:Illegal key size or default parameters
  12. mysql拼音码自动生成_根据中文名,自动生成首字母的拼音码或拼音码(两种方法)...
  13. 康奈尔大学的计算机专业怎么样,康奈尔大学研究生院计算机专业怎么样?
  14. IE浏览器不能上网其他浏览器可以解决办法
  15. 基于ssh java php,基于ssh/bs/java/asp.net/php/web毕业生离校系统
  16. Dubbo框架-概念-基础案例
  17. 小米VR安装第三方APP的方法!
  18. 如何打开远程办公桌面 三步轻松开启远程办公电脑
  19. sort 排序大全 - 最全的sort排序
  20. Excel学习笔记:P23-如何计算成绩排名

热门文章

  1. 数分下(第2讲):二阶线性微分方程的解法
  2. 关于Web网页设计规范简述
  3. JavaScript 动态生成表格 及删除表格
  4. sqlserver Change Data CaptureChange Tracking
  5. fastdfs 集群配置
  6. D5渲染器 视频学习笔记
  7. hp mfp scan点配置没有反应_HP LaserJet Pro MFP M125-M126,扫描文件HPScan不能用?
  8. 最适合编程训练的三大OJ(从易到难)
  9. 从URL启动程序:也谈谈旺旺的页面启动
  10. python 金融量化盘后分析系统V0.48