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

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

3天内不再提示

了解一些C程序的基本规则

lhl545545 来源:程序猿虎牙参 作者:程序猿虎牙参 2020-07-27 11:01 次阅读

一个简单程序的结构

你已经看过一个具体的例子,下面可以了解一些 C程序的基本规则了。

程序由一个或多个函数组成,其中一定有一个名为 main()的函数。函数的描述由函数头和函数体组成。函数头包括预处理语句#include和函数名。可以通过圆括号识别一个函数名。而函数体位于花括号 { }中,并由一系列语句组成,每个语句以一个;结束 。

了解一些C程序的基本规则

一个包含函数头和函数体的函数

上面的例子中包含一个声明语句,指出所使用的变量名和类型。然后是一个赋值语句,给变量赋一个值。接着,是1个输出语句,调用 printf()函数。最后,main()由一个 return 语句结束。

程序的可读性

让程序具有可读性是一个良好的编程习惯。一个可读的程序更易于理解,而且可以更容易地修改它。使程序可读还有助于你自己对程序所做的事情概念更清楚。

前面我们都已经知道了两种提高可读性的技巧:

● 选择有意义的变量名

● 使用注释

请注意这两种技巧的互补性。如果变量名是 width(宽度),就不需要用注释来说明该变量表示宽度,但是如果变量名是 video_routine_4,那么就需要解释一下 video routine 4的具体意义了。

第三个技巧是使用空行分隔一个函数的多个部分。例如,前面那个简单的示例程序就使用一个空行来分隔定义部分和动作部分。 C不要求有这个空行,但它可以增加程序的可读性。

第四个技巧就是每个语句尽量都只用一行。同样,这也是提高可读性的一个约定,而不是 C语言的要求。C的格式比较自由,你可以把多个语句放在一行或把一个语句分成好多行。

下面的语句对于编译器来说是合法的,但是非 常 不 好 看:

了解一些C程序的基本规则

事实上如果你在公司里写代码如果是这种风格的话,你第二天就会被项目经理辞退,还会狠狠的骂一顿教你C语言的人,虽然他可能不知道是谁教的你C语言!

变量的多个声明

在一个程序中,需要实现的功能越多,那么所定义的变量就会越多,这时候我们通常可以在一个声明语句里声明两个变量。为此,在声明语句中需要用一个逗号把两个变量 分开。也就是说,

int a,b;

int a;

int b;

所表达的意思是完全相同的,只是所书写的方式不一样。

程序的多个函数

到目前为止,这些程序中只有一个main函数的函数体,那么除了 main()函数之外,怎样把你自己的函数加入到程序中呢。

我们来看看下面的例子

了解一些C程序的基本规则

hanshuyi( )函数和hanshuer( )函数在上面的程序中出现了 3次。

第一次出现是在函数声明中,通知编译器后面要用到的该函数。

第二次是在main()函数中以函数调用的形式出现的。

最后,程序给出了函数本身的源代码。让我们依次看一下它在程序中的每一次出现。

首先,我们写的hanshuyi()函数的定义方式和 main()是相同的,都是用一个函数头和括在花括号中的函数体。同时,hanshuyi()函数的执行时间由 main()函数调用它的位置决定,而不是由 hanshuyi()在文件中定义的位置决定的。

例如,在本程序中,你可以把 hanshuyi()函数定义在 main()函数的前面,程序的执行不会改变,hanshuyi()函数仍是在两次 printf()调用之间执行的。记住,所有的 C语言程序都是从 main()函数开始执行的,main函数也称之为入口函数,不管它在程序文件中处于什么位置。

最后我们来看下函数的走向,

当声明函数之后,我们就进入了主函数,执行第一句printf()函数;

然后通过简单地给出 hanshuyi()函数的名字在 main()函数中调用该函数;

当 hanshuyi()执行完毕后,程序会继续执行 main()函数的下一个语句,也就是第二个printf()函数;

然后再执行hanshuer() ;

然后执行getchar()函数,防止闪屏;

最后return结束显示窗口。
责任编辑:pj

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

    关注

    180

    文章

    7527

    浏览量

    128188
  • 函数
    +关注

    关注

    3

    文章

    3863

    浏览量

    61304
  • C程序
    +关注

    关注

    4

    文章

    253

    浏览量

    35746
收藏 人收藏

    评论

    相关推荐

    如何成为名嵌入式C语言高手?

    。 三、通过实践项目提升技能理论知识是建立在实践基础之上的。选择一些小型的嵌入式项目,例如LED闪烁、温度监测等简单的应用,将所学的C语言知识应用到实际中。通过实践,你可以了解如何将C
    发表于 04-07 16:03

    如何成为名嵌入式C语言高手?

    。 三、通过实践项目提升技能理论知识是建立在实践基础之上的。选择一些小型的嵌入式项目,例如LED闪烁、温度监测等简单的应用,将所学的C语言知识应用到实际中。通过实践,你可以了解如何将C
    发表于 03-25 14:12

    一些有关通信电路的资料?

    有关嵌入式之间DSP、ARM、FPGA三者之间和这三款芯片和外部电路之间通信的一些资料,比如说芯片之间的并行通信和芯片和外部电路之间的串行通信,MODBUS、DP、CAN等,一些一些常用的通信协议的
    发表于 03-03 18:53

    有关射频技术无线传输的一些问题

    实际生活中无线信息传播应用极为广泛,有一些在无线传输方面应用的问题想请教。想了解了解。 1、在有线电路中传输的信息是怎么传发送到空间的,这个发送的电路的原理是什么? 2、生活中应用到多种频率的波段
    发表于 02-03 14:42

    一些无功补偿装置SVG的资料

    一些SVG电路原理和功能码相关的技术说明书,想了解一些SVG的工作原理和工作过程
    发表于 02-03 10:13

    了解SiC器件的命名规则

    了解SiC器件的命名规则
    的头像 发表于 11-27 17:14 428次阅读
    <b class='flag-5'>了解</b>SiC器件的命名<b class='flag-5'>规则</b>

    我们为什么需要了解一些先进封装?

    我们为什么需要了解一些先进封装?
    的头像 发表于 11-23 16:32 314次阅读
    我们为什么需要<b class='flag-5'>了解</b><b class='flag-5'>一些</b>先进封装?

    从使用效果看I2C通信方式和普通串口方式哪个抗干扰好一些

    从实际使用效果看,I2C和串口方式哪个抗干扰效果好一些?信号频率从几百到几M不等
    发表于 11-01 06:07

    ALTERA关于CCD的一些verilog实验程序分享

    ALTERA关于CCD的一些verilog实验程序
    发表于 09-26 08:03

    ARM指令集体系结构(ISA)的一些功能介绍

    本指南介绍了特定于每个ARM指令集体系结构(ISA)的一些功能,并考虑了哪些应用程序最好地利用了这些功能。该指南的重点是Cortex-R。然而,我们也考虑Cortex-A和Cortex-M,在帮
    发表于 08-02 07:39

    使用S32DS生成一些驱动程序代码,使用相同的DS和SDK,为什么构建版本不同?

    我正在使用 S32DS 生成一些驱动程序代码,我发现许多我没有修改的文件(由其他人生成)也发生了变化。唯的区别是构建版本。 我们使用相同的 DS 和 SDK,为什么构建版本不同?
    发表于 06-12 07:46

    一些模电笔记

    一些模电笔记
    发表于 06-09 22:33

    谁能给我一些关于 MPC5777C 的 MTBF 或 FIT 的信息?

    谁能给我一些关于 MPC5777C 的 MTBF 或 FIT 的信息?
    发表于 05-18 07:08

    分享下用AD画PCB过程中的一些基础知识

    就是PCB设计前的一些准备工作。   PCB设计过程中的一些快捷方式有助于提高画板效率。   Ctrl+鼠标左键 对正在布的线完成自动布线连接(如果走线比较长,这个快捷键挺好用)。   E+M+C 点击
    发表于 04-27 16:46

    PCB layout时需要注意的一些细节记录

    特殊需求,般都是设置为盖油的,因为盖油方面可以绝缘外部的一些干扰,另方面可以防止在焊接过程中焊锡粘连导致短路。   2 去除碎铜   上图中存在很多由于铺铜造成的
    发表于 04-25 18:03