C语言如何提高程序的可读性?

一、问题

        可读性是评价程序质量的一个重要标准,直接影响到程序的修改和后期维护,那么如何提高程序的可读性呢?

二、解答

提高程序可读性可以从以下几方面来进行。

        (1)C程序整体由函数构成的。

        程序中,main()就是其中的主函数。在程序中是可以定义其他函数的,在这些定义函数中进行特殊的操作,使函数完成特定的功能。将所有的执行代码全部放入 main()函数,虽然程序也是可行的,但是如果将其分成一块一块的,每-块使用一个函数进行表示,那么整个程序看起来就具有结构性,并且易于观察和修改。

        (2)函数体的内容在 “ { } ” 中。

        每一个函数都要执行特定的功能,那么怎么能看出一个函数的具体操作的范围呢?答案就是找寻“ { ”和“ } ”这两个花括号。C 语言使用一对花括号来表示程序的结构层次,需要注意的就是左右花括号要对应使用。函数的具体操作范围如图所示。

说明:在编写程序时,为了防止对应花括号的遗落,每一次都先将两个对应的花括号写出来,
然后再向括号中添加代码。

(3)英文字符大小通用。

        在程序中,可以使用英文的大写字母,也可以使用英文的小写字母。一般情况下使用小写字母多一些,因为小写字母易于观察。但是,在定义常量时常常使用大写字母,在定义函数时有时也会将第一个字母大写。

(4)空格、空行的使用。

        空行的作用就是为了增加程序的可读性。使用适量的空格和空行,可以使程序代码位置安排更合理、美观。但是变量名、函数名和C语言保留字中间不能加入空格。除此之外的空格和空行可以任意根据程序可读性和美观的需要进行设置,C语言编译系统是不会理会这些空格和空行的。

例如,下面代码的书写就非常不利于观察。

int max(int a, int b)      /*定义取两数最大者函数*/
{int c;                /*定义存放最大数的变量*/c = a > b ? a : b;    /*将两数中较大的赋给c*/return c;             /*返回最大的数 c*/
}

        但是,如果将其中的执行语句在函数中进行一下缩进,使函数体内代码开头与函数头的代码不在一列,这样就会有层次感,例如下面的代码。

int max(int a, int b)   /*定义取两数最大者函数*/
{int c;              /*定义存放最大数的变量 */c = a > b ? a : b;  /*将两数中较大的赋给 c*/return c;           /*返回最大的数 c*/
}

三、总结

        不要认为代码实现了功能就是成功的程序代码。一个高质量的程序代码要求具有良好的编写风格,但是也不能一味注重风格,而忽略了代码实现的这个最主要的目的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/336920.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用web文件管理器Net2FTP搭建个人网盘

文章目录 1.前言2. Net2FTP网站搭建2.1. Net2FTP下载和安装2.2. Net2FTP网页测试 3. cpolar内网穿透3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 文件传输可以说是互联网最主要的应用之一,特别是智能设备的大面积使用,无论是个人…

Mac创建本地数据库并连接

文章目录 一、下载安装MySql数据库二、查看本地MySQL三、Navcat连接数据库四、样例表脚本 一、下载安装MySql数据库 在MySql官网下载MySQL Community Server 可以选择默认配置安装数据库 二、查看本地MySQL 可以在本地“系统偏好设置”最下方,查看自己的MySql服…

系统性介绍MoE模型架构,以及在如今大模型方向的发展现状

知乎:Verlocksss编辑:马景锐链接:https://zhuanlan.zhihu.com/p/675216281 1 学习动机 第一次了解到MoE(Mixture of experts),是在GPT-4模型架构泄漏事件,听说GPT-4的架构是8个GPT-3级别大小的模…

【案例】尺寸公差软件 -手机装配公差案例-DTAS3D-国产智能

背景: 随着智能手机行业的快速发展,手机装配的精度要求越来越高。尺寸公差软件在手机装配过程中扮演着至关重要的角色,可以帮助制造商提高产品质量和生产效率。本案例介绍了国产智能手机装配过程中使用的尺寸公差软件 DTAS3D,以及…

MySQL数据库导入导出远程备份

一 navcat导入导出 导入 选择数据库 选择自己需要的的脚本进行导入 18万的sql脚本数据 导入时间33秒左右 导出 选择表右击----转存SQL文件---结构和数据 导出时间比较快 二 mysqldump 导入导出 先进入mysql的安装bin目录下,先将所要导入的脚本放入该bin目录下…

强化学习求解TSP(一):Qlearning求解旅行商问题TSP(提供Python代码)

一、Qlearning简介 Q-learning是一种强化学习算法,用于解决基于奖励的决策问题。它是一种无模型的学习方法,通过与环境的交互来学习最优策略。Q-learning的核心思想是通过学习一个Q值函数来指导决策,该函数表示在给定状态下采取某个动作所获…

计算机网络——应用层(2)

计算机网络——应用层(2) 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU) Web和HTTP概念解读HTTPHTTP请求和响应包含内容常见的请求方法Web缓存优点缺点 总结 DNS提供的服务 小程一言 我的计算机网络专栏,是自己在计算机网络学习过程…

IPV6学习记录

IPV6的意义 从广义上来看IPV6协议包含的内容很多: IPV6地址的生成与分配 IPV6的报头的功能内容 IPV4网络兼容IPV6的方案 ICMPv6的功能(融合了arp和IGMP功能) IPV6的路由方式 ipv6的诞生除了由于ipv4的地址枯竭外,很大程度上也是因为ipv4多年的发展产生了很多…

第32次CCF计算机软件能力认证-第二题

因子化简 题目背景 质数(又称“素数”)是指在大于 1的自然数中,除了 1和它本身以外不再有其他因数的自然数。 问题描述 小 P 同学在学习了素数的概念后得知,任意的正整数 n都可以唯一地表示为若干素因子相乘的形式。如果正整数 …

CloudCompare——点云空间圆拟合

目录 1.概述2.软件实现3.完整操作4.算法源码5.相关代码 本文由CSDN点云侠原创,CloudCompare——点云空间圆拟合,爬虫自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT生成的文章。 1.概述 CloudCompare软件中的To…

探索AI技术的奥秘:揭秘人工智能的核心原理

目录 前言 学习AI要看的第一本书 人工智能应当以人为本 史蒂芬卢奇(Stephen Lucci) 萨尔汗M穆萨(Sarhan M . Musa) 丹尼科佩克(Danny Kopec)(已故) 通晓六点,明白…

webpack魔法注释-预获取/预加载模块

Webpack v4.6.0 增加了对预获取(prefetch)和预加载(preload)的支持。 在声明 import 时,使用下面这些内置指令,可以让 webpack 输出“resource hint”,来告知浏览器: prefetch&…