一个简单程序的结构

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

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

 

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

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

程序的可读性

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

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

● 选择有意义的变量名

● 使用注释

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

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

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

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

 

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

变量的多个声明

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

int a,b;

int a;

int b;

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

 

程序的多个函数

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

我们来看看下面的例子

 

输出应该像下面这样:

 

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结束显示窗口。


学C/C++不易,此路应携手前行。

欢迎关注我的编程公众號【草莓味狸猫】!

如果你想跟着小编一起学编程的话!

可以来我的C语言C++编程学习基地,【点击进入】

还有(源码,零基础教程,项目实战教学视频)!

 

【C语言C++编程入门】程序的可读性和函数的调用!的更多相关文章

  1. Mysql C语言API编程入门讲解

    原文:Mysql C语言API编程入门讲解 软件开发中我们经常要访问数据库,存取数据,之前已经有网友提出让鸡啄米讲讲数据库编程的知识,本文就详细讲解如何使用Mysql的C语言API进行数据库编程.   ...

  2. 【C语言C++编程入门】——程序结构:构思!

    学习编程语言的最好方法是编写程序.一般来说,初学者编写的第一个程序是一个名为"Hello World"的程序,它简单地将"Hello World"打印到你的电脑 ...

  3. 【C语言编程入门】Do you know 函数?不知道了吧,我来告诉你!

    ☆ 函数 在前面我们已经讲过了一些简单的函数,如程序的主函数main().标准输出函数printf().在C语言中,大多数功能都是依靠函数来实现的.But,你知道什么是函数吗?我猜你肯定不知道. 那么 ...

  4. Windows编程入门程序详解

    引用:http://blog.csdn.net/jarvischu/article/details/8115390 1.     程序 /******************************* ...

  5. 【C语言C++编程入门】——编译机制和语言标准!

    编程机制 编写程序时必须遵循确切步骤主要是取决于你的计算机环境.因为 C语言是可以移植的,所以它在许多环境中可用,其中包括 UNIX,Linux,Windows等等 . 不过,让我们首先来看一看许多环 ...

  6. 【C语言入门教程】5.3 函数的调用 与 参数

    函数通过调用获得程序的控制权,函数的参数是调用者与函数的数据接口.函数可以定义一个或多个参数,也可以省略参数,调用时将与参数的数据类型相匹配的数据置于参数列表中,即可在函数体内使用.参数的调用有多种形 ...

  7. C语言编程入门——程序练习(下)

    C语言的一些简单操作练习. 互换两个数字: # include <stdio.h> int main(void) { int i = 3; int j = 5; int t;   //将i ...

  8. C语言编程入门——程序练习(上)

    大家能够敲写一下以下的练习代码.看下执行结果,都非常easy.关键要理解. if: # include <stdio.h> int main(void) { int i = 1; i = ...

  9. 在VC6.0下运行C语言程序,以及编程入门必备的常识类小知识!

    今天给大家分享在VC6.0环境下编写C语言程序的基本步骤,为初学者打开学习C语言的第一道门.具体步骤如下(如果需要软件资源,可以留言): 1)新建工作区 依次点击 文件--新建--工作区 或是Ctrl ...

随机推荐

  1. LAMP环境之编译安装httpd服务

    “Apache HTTP Server”是开源软件项目的杰出代表,它基于标准的 HTTP 网络协议提供网页浏览服务. 在配置 Apache 网站服务之前,需要正确安装好 httpd 服务器软件.htt ...

  2. 第一课、python基础学习笔记

    自动化非自动化的区别 自动化测试就是让机器按照人的想法把功能全部跑一遍 自动化测试的过程,让我们写一段程序去测试另一段程序是否正常的过程 Java 编译型语言,   编码-->编译-->解 ...

  3. Java 9天入门(黑马程序员) 课程收尾 ------学生管理系统 (9.13)

    1 实现功能 2 结构概述 分为两个包,各自一个类 Student.java 为学生类,目的是储存学生信息 StudentManager.java 是主程序的代码 3 Student.java 的代码 ...

  4. 学习STM32的一些记录_创建库函数版本的工程

    1.新建一个文件夹,用于存放MDK的工程所有文件.例如新建文件夹Template. 2.在Template下新建一个USER文件夹,用于存放工程. 3.打开MDK5,新建工程,目录在USER下. 4. ...

  5. Spring Batch远程分区的本地Jar包模式

    1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! Spring相关文章:Springboot-Cloud Spring Batch远程分区对于大量数据的处理非常擅长,它的实现 ...

  6. [HDU2577]How to Type(DP)

    题目链接 题意 给一个大小写字符串,求最少敲击字符串次数,最开始和最后要求shift都是down的.如日常,大小写转换可以ctrl+z或者shift保持 up/down. 题解 两个dp数组,一个表示 ...

  7. stp域中两台switch互联接口出现两口均为root口 并且在现有stp区域中无法确定根桥设备位置;分析其原因并赋予解决办法

    stp域中两台switch互联接口出现两口均为root口 并且在现有stp区域中无法确定根桥设备位置:分析其原因并赋予解决办法 1.于上图描述了案例中当前组网环境的各交换机位置与stp状态情况  : ...

  8. 3.ConcurrentMap-并发Map

  9. v-if和v-show的区别与使用

    1.共同点: v-if 和 v-show 都能实现元素的显示隐藏. 2.不同点: v-if显示隐藏是将dom元素整个添加或删除,v-show元素隐藏时,会在dom节点中把该元素设置css属性为disp ...

  10. Flutter集成环信IM,发送图片之后渲染conversation.loadMoreMsgFromDB报path为空

    这时会报错,结果如下: 只需在em_message_body下修改如图path为空即可