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
    +关注

    关注

    4

    文章

    3694

    浏览量

    93217
  • C语言
    +关注

    关注

    183

    文章

    7642

    浏览量

    144599
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    为什么单片机还在用C语言编程?

    的存储空间非常有限,我们使用者需要靠精打细算来设计程序,根本经不起高级语言臃肿的代码体积。高级语言也无法实现精确的时序控制。 三、C语言
    发表于 11-28 07:37

    C语言的编程技巧

    成员是未知大小的数组,适用于动态分配内存并关联可变长度的数组。‌ ‌3、匿名结构体和
    发表于 11-27 06:46

    C语言程序的结构

    ,87LPC764有4KB的Flash ROM,而笔者的程序量只有2KB多点,因而第一个想法是改用C语言作为主要的开发语言,应该不至于导致代码空间不够用。其次,考虑到需要定时
    发表于 11-26 08:12

    C语言的常量介绍

    、-13; 实型常量:13.33、-24.4; 字符常量:‘a’、‘M’ 字符串常量:”I love china!” 在C语言中,可以用标识符来表示
    发表于 11-24 07:12

    C语言特性

    访问内存地址,对内存中的数据进行读写操作,还可以控制硬件的寄存器,实现对硬件设备的精确控制。这种底层操作的能力,使得 C 语言在嵌入式开发中能够充分发挥硬件的优势,实现各种复杂的
    发表于 11-24 07:01

    C语言在嵌入式开发中的应用

    资源有限的嵌入式设备上实现完整的网络功能 。 5、软件固件开发:嵌入式系统的基石 软件固件是嵌入式系统中最基本的软件,它负责控制硬件设备的运行,并提供基本的系统功能C
    发表于 11-21 08:09

    第4章 C语言基础以及流水灯的实现(4.7 4.8)

    1.1 Keil软件延时 C语言常用的延时方法,有如图4-2所示4种。 图4-2  C语言延时方法 这4种延时方法,其中两种非精确延时,两种精确
    的头像 发表于 11-19 17:20 481次阅读
    第4章 <b class='flag-5'>C</b><b class='flag-5'>语言</b>基础以及流水灯的<b class='flag-5'>实现</b>(4.7 4.8)

    C语言和单片机C语言有什么差异

    语言功能特性外,它可以很好的操作底层的硬件接口。在C语言的基础上,如果你把些单片机的端口或特殊功能
    发表于 11-14 07:55

    复杂的软件算法硬件IP核的实现

    中的运算符有对应关系。 结构域负责将功能域中的各个基本功能单元按特定的顺序和方式连接起来,通常被实现由有限状态机控制的数据通路,该结构
    发表于 10-30 07:02

    第4章 C语言基础以及流水灯的实现(4.3 4.4)

    的符号分别是:+、-、*、/、%。 C语言很重要的赋值运算符“=”,前边程序有使用过。在C语言
    的头像 发表于 10-29 15:30 178次阅读

    C语言精彩编程百例-364页

    内容提要 C种通用的程序设计语言,它包含了紧凑的表达式、丰富的运算符集合、现代控制流以及数据结构等四部分。C
    发表于 06-13 17:28

    深入理解C语言C语言循环控制

    C语言编程中,循环结构是至关重要的,它可以让程序重复执行特定的代码块,从而提高编程效率。然而,为了避免程序进入无限循环,C语言提供了多种循环控制语句,如break、continue和
    的头像 发表于 04-29 18:49 1733次阅读
    深入理解<b class='flag-5'>C</b><b class='flag-5'>语言</b>:<b class='flag-5'>C</b><b class='flag-5'>语言</b>循环控制

    必看!15C语言常见陷阱及避坑指南

      C语言虽强大,但隐藏的“坑”也不少!稍不留神就会导致程序崩溃、数据异常。本文整理15高频陷阱,助你写出更稳健的代码!   陷阱1:运算符优先级混淆  问题:运算符优先级不同可能导致计算顺序错误
    的头像 发表于 03-16 12:10 1377次阅读

    EE-188:使用C语言在ADSP-219x DSP上实现中断驱动系统

    电子发烧友网站提供《EE-188:使用C语言在ADSP-219x DSP上实现中断驱动系统.pdf》资料免费下载
    发表于 01-15 16:06 0次下载
    EE-188:使用<b class='flag-5'>C</b><b class='flag-5'>语言</b>在ADSP-219x DSP上<b class='flag-5'>实现</b>中断驱动系统

    AKI跨语言调用库神助攻C/C++代码迁移至HarmonyOS NEXT

    /C++代码快速迁移至HarmonyOS NEXT。凭借卓越的兼容性,AKI已成为厂商与开发者打造鸿蒙原生应用过程中广泛使用的跨语言调用解决方案。 AKI是款专为鸿蒙原生开发设计的
    发表于 01-02 17:08