C语言规范第一个花括号可以不独占一行吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言规范第一个花括号可以不独占一行吗?相关的知识,希望对你有一定的参考价值。

比如:
int main()
//...

return 0;

我喜欢这么写,行不行?

这样也是可以的,但不建议这样,查错是不好找
都另起一行怎么了,又不是为了打印少用纸张

两个对应的要左右对齐,包含的退格几个,这样好看

你在哪里写都无所谓,c的灵活性就在这里,一行可以写几个句子,一个句子可以写几行都是可以的。
并且编辑器基本上都忽略掉空格(打印的地方除外),一个句子中有很多空格都是可以的追问

google开发的go语言就知既然规定第一个话括号不能另起一行,我就想这些都是编程泰斗,肯定有道理吧

追答

不要管其他语言,每种语言都有其特点,才能生存下去
c的特点就是灵活性,
及其能底层操作(这个就是c被称为中级语言而不是高级语言的由来)

你的问题就是c的灵活性方面
c语言太灵活,所以为了好读程序,所以给出了一些书写规范
其实就是为了让源代码容易读而已

c可以让一句话写好几行,在c++中调用api函数中你可以看到,他的参数很多,一行写下来很长,为了好看,可以多行写

c也可以让好几个句子写在一行当中(不是逗号运算),这样做的目的可能是为了节省界面吧
如排序中交换的那三句话,有的时候就可以写在一行中用花括号包含起来
如果这样的话,其实源代码是不怎么容易读的,所以不建议用这种方式写代码

看过很多人的源代码,如for,while,if等后面跟一句话时,很多人就紧接着写,这样程序不怎么好看,容易略过
有的把前花括号放在main,for,while,if,else后面
这样如果你忘记或者检查时,容易把后花括号忘记或者忽略掉,这样程序容易出错

其实说白了,c的一些书写规范都是前辈们总结出来的经验,为了好查错或者好读而已
vc6.0编辑器的书写规范就很好,你可以借鉴一下

参考技术A 可以的,但是如果代码上千行的话就会要求有统一的编码风格,不然错了不好查错。一般正规公司都要求飞航的,然后层次缩进一个tab,或者2个空格。还是养成熟悉规范吧,以后会显得专业些而且对以后工作有价值 参考技术B 这个当然可以,甚至还可以将函数的返回类型独立一行,也可以将函数的()独立一行些。

c语言中,一行可以写很多很多语句,只要这些语句有明确的被分开就可以。
参考技术C 可以当然是可以,但是以后工作的话,公司都会给编程规范的,最好现在就养成好习惯吧 参考技术D 没问题啊,这是编码规范的问题,只要你自己遵循一致的规范就行,到公司以后公司会有自己的规范,大家遵循统一规范即可,不过c的规范大多大括号应该独占一行

代码规范

规范网址:https://github.com/PizzaLiu/PHP-FIG

一、PHP标签、字符编码
PHP代码必须使用 <?php ?> 长标签 或 <?= ?> 短输出标签; 一定不可使用其它自定义标签。
PHP代码必须且只可使用不带BOM的UTF-8编码。
二、命名空间和类
2.1 类
     类的开始花括号必须独占一行,结束花括号也必须在类主体后独占一行。
     每个类都独立为一个文件,且命名空间至少有一个层次:顶级的组织名称(vendor name)。
     类的命名必须 遵循 StudlyCaps 大写开头的驼峰命名规范。
2.2 namespace
     namespace 声明后 必须 插入一个空白行
     所有 use 必须 在 namespace 后声明。
     每条 use 声明语句 必须 只有一个 use 关键词。
     use 声明语句块后 必须 要有一个空白行。


三、类的常量、属性和方法
3.1 常量
     类的常量中所有字母都必须大写,词间以下划线分隔
     关键词 extends 和 implements必须写在类名称的同一行。
3.2 属性
     每个属性都必须添加访问修饰符。
     类的属性命名可以遵循 大写开头的驼峰式 ($StudlyCaps)、小写开头的驼峰式 ($camelCase)又或者是 下划线分隔式 ($under_score)
     一定不可使用关键字 var 声明一个属性。
     每条语句一定不可定义超过一个属性。
     不要使用下划线作为前缀,来区分属性是 protected 或 private。
3.3 方法
     所有方法都必须添加访问修饰符。
     不要使用下划线作为前缀,来区分方法是 protected 或 private。
     方法名称后一定不能有空格符,其开始花括号必须独占一行,结束花括号也必须在方法主体后单独成一行。参数左括号后和右括号前一定不能有空格。
3.4 方法的参数
     参数列表中,每个逗号后面必须要有一个空格,而逗号前面一定不能有空格。
     有默认值的参数,必须放到参数列表的末尾。
3.5 abstract 、 final 、 以及 static
     需要添加 abstract 或 final 声明时, 必须写在访问修饰符前,而 static 则必须写在其后。


3.6 方法及函数调用
     方法及函数调用时,方法名或函数名与参数左括号之间一定不能有空格,参数右括号前也 一定不能有空格。每个逗号前一定不能有空格,但其后必须有一个空格。
     参数可以分列成多行,此时包括第一个参数在内的每个参数都必须单独成行。
四、文件
     所有PHP文件必须使用Unix LF (linefeed-换行)作为行的结束符。
     所有PHP文件必须以一个空白行作为结束。
     纯PHP代码文件必须省略最后的 ?> 结束标签。
五、行
     非空行后一定不能有多余的空格符、每行一定不能存在多于一条语句。
六、缩进
     代码必须使用4个空格符的缩进,一定不能用 tab键 。
七、关键字以及 true/false/null
     PHP所有 关键字必须全部小写。
     常量 true 、false 和 null 也必须全部小写。
八、控制结构
8.1 控制结构就是函数和判断
    控制结构关键词后必须有一个空格。
    左括号 ( 后一定不能有空格。
    右括号 ) 前也一定不能有空格。
    右括号 ) 与开始花括号 { 间一定有一个空格。
    结构体主体一定要有一次缩进。
    结束花括号 } 一定在结构体主体后单独成行。
8.2  if 、 elseif 和 else

8.3 switch 和 case
     case 语句必须相对 switch 进行一次缩进,而 break 语句以及 case 内的其它语句都 必须 相对 case 进行一次缩进。 如果存在非空的 case 直穿语句,主体里必须有类似 // no break 的注释。

8.4 while 和 do while

8.5 for

8.6 foreach

8.7 tye 、catch

9 闭包
     闭包声明时,关键词 function 后以及关键词 use 的前后都必须要有一个空格。
     开始花括号必须写在声明的同一行,结束花括号必须紧跟主体结束的下一行。
     参数列表和变量列表的左括号后以及右括号前,必须不能有空格。
     参数和变量列表中,逗号前必须不能有空格,而逗号后必须要有空格。
     闭包中有默认值的参数必须放到列表的后面。
     标准的闭包声明语句如下所示,注意其 括号、逗号、空格以及花括号的位置。



























以上是关于C语言规范第一个花括号可以不独占一行吗?的主要内容,如果未能解决你的问题,请参考以下文章

代码规范

在C语言中,if和else if是否在不加花括号的情况下也是一个复合语句

c语言共用体包含一个数组成员,我要对这个数组成员进行赋值,一定要一个一个的赋值么?不能写在花括号

css书写规范

关于c语言数组的问题?知道他是表示几行几列的!

java 大括号写法