0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言一个功能的实现过程

汽车玩家 来源:趣味c语言 作者:趣味c语言 2020-05-05 17:36 次阅读

看到本文的朋友们,如果你想系统地学习一下c语言程序设计,请您点击文章左上角带“C语言”三个字的蓝色圆圈样logo,进入我的主页,那里能看到我写的所有文章,建议您按发表时间顺序阅读每一篇文章,因给先发表的文章和后发表的文章是按方便大家学习的顺序递进设计的。

今天跟大家分享的是c语言程序实现一个功能的过程,或者说最终结果的诞生过程。现阶段,我们无需深究其细节,只聊一聊它的基本过程,让大家对c语言怎样实现一个功能有个整体的了解。所谓知其然,知其所以然,只有了解了它的工作过程,后面才能更好地学习各个具体的知识点。

要实现一个什么功能呢?这是个问题。所以,我们第一步就是确定我们要实现什么功能,更规范一点的说法,就是要确定需求。

假如你是某学校的学生,现在老师有一个需求,让你编一段c语言程序求自然数1到100的和。那么,我们的需求就确定了,一是要求自然数1到100的和,二是要用c语言实现这个功能。

第二步,我们开始编写c语言程序。用什么软件编辑都可以,我们就用windows系统自带的记事本吧。

C语言一个功能的实现过程

程序编写完了,保存文件,保存后,给文件取个名字,叫什么都可以,但扩展名必须改为.c,因为c语言程序文件的扩展名只能是.c或.h,.h是头文件,我们后续章节会讲到。现在我们就给这个文件取名叫sum.c吧,当然你也可以叫test.c,aaa.c等等,什么名字都可以,只要扩展名是.c就可以。但是,我还是强烈建议大家给文件取一个能顾名思义的名字,这样更便于维护,当有很多.c文件时候,你看一眼名字就知道这个文件是完成什么功能的。给这个文件取名叫sum.c也是因为sum是求和的意思。

程序编写完毕,进行第三步——对sum.c文件进行编译。为什么要编译?因为计算机不像人类,可以认知很多事物,它只认识两个数字:0和1。有的朋友说,计算机也能认识图片和视频呀?事实上,图片和视频也是通过转换成一串一串的0和1才会被计算机识别的。所以,编译就是把我们认识的c语言程序代码转换成计算机能认识的一串串0和1组成的编码。

编译是在编译环境中进行的。工程上比较常用的编译环境就是linux系统。可能有的朋友没有接触过linux系统,其实它和windows系统一样,也是一种软件操作系统。很多版本的linux系统都自带编译工具,我们把编译工具通俗地称为编译器。为了编译,我们需要把sum.c导入到linux系统里。当然,你也可以用任何一种编译工具来编译,比如visual studio, 或者dev c++,只要它有编译的功能就可以。这里只用linux系统举例。

linux系统编译器依靠这条编译命令对sum.c进行编译:gcc -o sum sum.c。这条命令是什么意思呢?它的意思是使程序文件sum.c通过编译生成一个可执行文件,这个可执行文件的名字叫sum。当然你也可以给它取任意其他的名字,这个名字在-o后面指定。朋友们不必花时间学习这个命令,这里只是为了说明编译的过程,大家只需要知道sum.c文件可以通过编译生成一个可执行文件就可以了。

第四步——运行科执行程序。简单来说,我们要完成一个功能,其实就是想得到这个功能的可执行程序。顾名思义,可执行程序,就是可以执行的程序。事实上,这个可执行程序也和sum.c一样,就是一个文件而已,只是它能够被计算机执行。第三步我们已经通过编译sum.c文件生成了可执行程序sum,执行一下sum文件我们就能看到结果了,其结果就是在屏幕上显示:sum = 5050. 。

到这里,我们就完成了自然数1到100求和这个功能的全部过程。

前面的文章中我提到过用在线集成开发环境codeground来编辑、编译和运行c语言程序,现在请朋友们思考一下,用codeground IDE实现某个功能时,都经过了哪些过程?

C语言一个功能的实现过程

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • WINDOWS
    +关注

    关注

    3

    文章

    3544

    浏览量

    88668
  • C语言
    +关注

    关注

    180

    文章

    7604

    浏览量

    136789
收藏 人收藏

    评论

    相关推荐

    使用C语言实现函数模板

      用C语言能不能实现通用的函数,既能完成整数的相加,又能完成浮点数的相加?
    的头像 发表于 11-09 11:38 386次阅读

    C语言中的socket编程基础

    Socket编程简介 Socket是种通信机制,允许程序之间进行通信。在C语言中,socket编程是网络编程的基础。通过使用socket,程序可以发送和接收数据,实现不同计算机之间的
    的头像 发表于 11-01 16:51 316次阅读

    C语言生成可执行二进制文件的具体过程

    C语言源码到生成可执行文件的过程通常包括预处理(Preprocessing)、编译(Compilation)、汇编(Assembly)、链接(Linking)等多个步骤,每个步骤都有其特定的任务
    的头像 发表于 10-21 14:30 503次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>生成可执行二进制文件的具体<b class='flag-5'>过程</b>

    Transformer语言模型简介与实现过程

    任务,随后迅速扩展到其他NLP任务中,如文本生成、语言理解、问答系统等。本文将详细介绍Transformer语言模型的原理、特点、优势以及实现过程
    的头像 发表于 07-10 11:48 1697次阅读

    如何用C语言实现高效查找(二分法)

    今天给分享下使用C语言实现二分算法,主要包含以下几部分内容:二分查找算法介绍二分查找算法使用场景二分查找算法代码实现二分查找算法实现
    的头像 发表于 06-04 08:04 1133次阅读
    如何用<b class='flag-5'>C</b><b class='flag-5'>语言实现</b>高效查找(二分法)

    使用C语言实现的CRC计算单元的例子

    使用C语言实现的CRC计算单元的例子
    的头像 发表于 05-16 16:16 983次阅读

    C语言中,同一个函数能不能被定义两次?

    稍微有点C语言基础的同学,定知道不能这样做。
    的头像 发表于 05-11 18:27 1709次阅读

    AWTK 开源串口屏开发(18) - 用 C 语言自定义命令

    编写代码即可实现常见的应用。但是,有时候我们需要自定义些命令,以实现些特殊的功能。本文档介绍如何使用
    的头像 发表于 05-11 08:24 440次阅读
    AWTK 开源串口屏开发(18) - 用 <b class='flag-5'>C</b> <b class='flag-5'>语言</b>自定义命令

    C语言实现Web参数传递

    电子发烧友网站提供《C语言实现Web参数传递.docx》资料免费下载
    发表于 03-24 09:14 2次下载

    fpga语言是什么?fpga语言c语言的区别

    功能,从而实现对数字电路的高效定制。FPGA语言主要包括VHDL(VHSIC Hardware Description Language)和Verilog等,这些语言具有强大的描述能力
    的头像 发表于 03-15 14:50 943次阅读

    plc编程语言c语言的联系 c语言和PLC有什么区别

    PLC编程语言C语言的联系 PLC(可编程逻辑控制器)是种针对自动化控制系统的特殊计算机。PLC编程语言是为了控制和管理自动化生产
    的头像 发表于 02-05 14:21 4116次阅读

    c语言,c++,java,python区别

    操作系统、嵌入式系统等对性能要求较高的场景。C语言的语法相对简单,学习曲线较平缓,也是学习其他高级语言的入门语言C++:
    的头像 发表于 02-05 14:11 2385次阅读

    vb语言c++语言的区别

    Microsoft开发的种面向对象的事件驱动编程语言。它的设计目标是简化编程过程,让初学者也能快速上手。与之相比,C++语言
    的头像 发表于 02-01 10:20 2305次阅读

    C语言能够实现单片机功能,为什么还要使用汇编呢?

    C语言能够实现单片机功能,为什么还要使用汇编呢? C语言
    的头像 发表于 01-15 14:59 1060次阅读

    ADUC7061如何使用C语言实现EEPROM功能

    我使用ADUC7061做的信号采集,现在客户需要实现EEPROM功能来保存3-5数据,请问如何使用C语言实现?不使用外部EEPROM 专用
    发表于 01-12 06:56