C语言中三种大括号格式的使用规范

简介:
在C中,使用大括号的方法无所谓对还是错——只要每个开括号后都有一个闭括号,你的程序中就不再会出现与大括号有关的问题。然而,有三种著名的大括号格式:Kernighan和Ritchie,Allman,Whitesmiths经常被使用:

1. Kernighan和Ritchie格式 (Kb&R格式)

在《C程序设计语言(The C Programming Language)》一书中,Brian Kernighan和Dennis Ritchie介绍了他们所使用的大括号格式,这种格式如下所示:

if (argc<3) {printf (" Error! Not enough arguments. Correct usage is ..\n" ) ;printf("c:>eopyfile  <source_file>  <destination_file>\n") ;exit (1) ;
}
else {open_files () ;while (! feof(infile)) {read_data ( ) ;write_data() ;}close files() ;
}

注意,在Kb&R格式中,开括号总是与使用它的语句在同一行上,而闭括号总是在它所关闭的语句的下一行上,并且与该语句对齐。例如,在上例中,if语句的开括号和它在同一行上,|f语句的闭括号在它的下一行上,并且与它对齐。在与if语句对应的else条件语句以及出现在程序段后部的while语句中,情况也是这样的。

2. Allman格式

if (argc<3)
{printf("Error! Not enough arguments. Correct usage is :\n" ) ;printf("C:>copyfile  <source_file>  <destination_file>\n") ;exit(1);
}
else
{open_files ( );while (! feof(infile)){read_data ( ) ;write data();}close_files() ;
}

注意,在Allman格式中,每个大括号都单独成行,并且开括号和闭括号都与使用它们的语句对齐。

3.Whitesmiths格式

if (argc<3){printf("Error! Not enough arguments, Correct usage is :\n" );printf ("C :> copyfile<source_file><destination_file>\n." ) ;exit(1);
}
else{open files () ;while (! feof(infile)){read_data() ;write data();}close files () ;}

与Allman格式相同,Whitesmiths格式也要求大括号单独成行,但是它们要和它们所包含的语句对齐。例如,在上例中,if语句的开括号是与第一个printf()函数调用对齐的。


总结:不管你使用哪一种格式,一定要保持前后一致——这将有助于你自己或其它人更方便地读你的程序。

还有需要注意的是,很多编程软件是会“自动对齐”的

转载:https://developer.aliyun.com/article/598037

C语言中三种大括号格式的规范相关推荐

  1. java go md5_Go语言中三种不同md5计算方式的性能比较

    前言 本文主要介绍的是三种不同的 md5 计算方式,其实区别是读文件的不同,也就是磁盘 I/O, 所以也可以举一反三用在网络 I/O 上.下面来一起看看吧. ReadFile 先看第一种, 简单粗暴: ...

  2. C语言中——三种方法判断是偶数还是奇数

    #include <stdio.h> int main(int argc, const char * argv[]) { int a; printf("请输入一个数:" ...

  3. C语言中三个数比较大小详解——三种方法

    ​ C语言中三个数比较大小详解--三种方法 方法一:if-else法 方法二:函数法 方法三:三目运算符法 C语言中比较三个数的大小有很多方法,以下是我总结的三种方法: 首先我定义 int a = 1 ...

  4. 简单介绍Lua中三种循环语句的使用

    今天小编就为大家分享一篇关于Lua中三种循环语句的使用讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧 Lua的循环和C语言的循环的语法其实差不多,所以, ...

  5. C语言的三种基本结构

    C语言的三种基本结构 顺序结构 顾名思义 顺序结构就是顺序写的c语言程序 没有判断也没有循环 所有的语句都是用线性的顺序执行 如下代码为基础的顺序结构 #include <stdio.h> ...

  6. tomcat中三种部署项目的方法(转)

    tomcat中三种部署项目的方法 第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加:  <Context path="/h ...

  7. c语言属于结构化程序设计语言,c语言填空题1.结构化程序设计语言的三种基本结构分别是,和.-查字典问答网...

    c语言填空题 1.结构化程序设计语言的三种基本结构分别是,和. 2.C源程序的基本单位是______,一个C源程序中至少应包括一个______. 3.开发一个C程序要经过编辑.__________.连 ...

  8. c语言的三种基本结构——初学者一定要了解哦

    文章目录 前言 一.顺序结构 二.选择结构(分支语句) 1.选择语句之→if语句 1.1 if语句的基本结构 1.2 if语句之多分支: 1.3 if语句的常见错误使用. 2.选择语句之→switch ...

  9. mp3、amr、wav三种音频格式时长获取

    在平时开发过程中可能遇到需要上传相关音频文件到后台,并且计算各种音频文件的时长,因此对三种音频格式(mp3.amr和wav)的时长计算进行了简单的调研,现将相关实现记录一下,也方便需要的朋友查看. ( ...

最新文章

  1. 《2022城市大脑建设标准研究报告》在京正式发布
  2. oracle 存储过程的基本语法 及注意事项
  3. 计算机的登入灯出操作系统,为什么计算机不能像电灯一样瞬时打开?
  4. 向量 矩阵 张量_张量,矩阵和向量有什么区别?
  5. 我从 Vuejs 中学到了什么——框架设计学问
  6. 在命令提示符输出c语言代码_您可以在Windows命令提示符中更改输出缓冲区的大小吗?...
  7. 对于不是特别擅长Photoshop的人来说,熟悉和运用Photoshop工具提供的各类便捷的快捷键,是有帮助的。...
  8. GitHub直接查看HTML【项目网站一种制作方法】
  9. 做windows界面,用QT还是MFC?
  10. (转)Vue-初步了解vue-router的三要素:路由map 、路由视图、路由导航
  11. win7 IIS7 发布网站遇到 HTTP 错误 500.19 由于权限不足
  12. 数据运营平台-数据采集
  13. 4*4矩阵式键盘识别技术c语言程序,4×4矩阵式键盘识别技术
  14. c语言程序基础设计题,《C语言程序设计基础》习题集(含答案)
  15. SQL 数据库 学习 012 数据库关系图
  16. 【PageHelper】实现拦截pageNum和pageSize
  17. CryptoJS加密库使用及bug解决
  18. 用计算机弹怎么会爱上了他,怎么会爱上了他,并决定跟他回家?《纸短情长》...
  19. Kotlin的协程:挂起函数
  20. ttys和tty_Linux中tty、pty、/dev/ttySn等概念讲解

热门文章

  1. 定点数的除法C语言,定点数除法(示例代码)
  2. 微软收购诺基亚 百年老店必将引发蝴蝶效应
  3. 使用IDM下载B站视频出现声音跟视频分离的一种解决方法
  4. Android 悬浮窗全系统版本实现
  5. Nightwatch 写测试用例--基于vue前端的自动化测试(三)
  6. Templete(springMVC Facelets)
  7. 做人,一定要说话算数!
  8. JAVAWeb html表格
  9. 京东亚马孙遭遇售后囧途吗
  10. 华为手机隐藏的这个功能,简直是办公旅人爱用好物