标题:[讨论]FAQ新增条目建议 正确的书写规范
只看楼主
lg_mic
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2007-9-18
 问题点数:0 回复次数:61 
[讨论]FAQ新增条目建议 正确的书写规范

初学C语言的朋友大部分都是使用TC,而有不少在TC下可以编译通过的代码,拿到其他编译器上却是错误的。所以说,我觉得应该把标准的书写规范列为FAQ的第一条

C最新标准规定的main函数

int main()
{
// add your code here
return 0;
}

对应代码中的函数,代码前应有相应的头文件。如代码中存在scanf/printf时,代码前应有#include<stdio.h>

头文件列表(引用自沙漠里的骆驼的帖子)

C、传统 C++

#include <assert.h>    //设定插入点
#include <ctype.h>     //字符处理
#include <errno.h>     //定义错误码
#include <float.h>     //浮点数处理
#include <fstream.h>    //文件输入/输出
#include <iomanip.h>    //参数化输入/输出
#include <iostream.h>   //数据流输入/输出
#include <limits.h>    //定义各种数据类型最值常量
#include <locale.h>    //定义本地化函数
#include <math.h>     //定义数学函数
#include <stdio.h>     //定义输入/输出函数
#include <stdlib.h>    //定义杂项函数及内存分配函数
#include <string.h>    //字符串处理
#include <strstrea.h>   //基于数组的输入/输出
#include <time.h>     //定义关于时间的函数
#include <wchar.h>     //宽字符处理及输入/输出
#include <wctype.h>    //宽字符分类

//////////////////////////////////////////////////////////////////////////

标准 C++ (同上的不再注释)

#include <algorithm>    //STL 通用算法
#include <bitset>     //STL 位集容器
#include <cctype>
#include <cerrno>
#include <clocale>
#include <cmath>
#include <complex>     //复数类
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <deque>      //STL 双端队列容器
#include <exception>    //异常处理类
#include <fstream>
#include <functional>   //STL 定义运算函数(代替运算符)
#include <limits>
#include <list>      //STL 线性列表容器
#include <map>       //STL 映射容器
#include <iomanip>
#include <ios>       //基本输入/输出支持
#include <iosfwd>     //输入/输出系统使用的前置声明
#include <iostream>
#include <istream>     //基本输入流
#include <ostream>     //基本输出流
#include <queue>      //STL 队列容器
#include <set>       //STL 集合容器
#include <sstream>     //基于字符串的流
#include <stack>      //STL 堆栈容器    
#include <stdexcept>    //标准异常类
#include <streambuf>    //底层输入/输出支持
#include <string>     //字符串类
#include <utility>     //STL 通用模板类
#include <vector>     //STL 动态数组容器
#include <cwchar>
#include <cwctype>

using namespace std;

//////////////////////////////////////////////////////////////////////////

C99 增加

#include <complex.h>   //复数处理
#include <fenv.h>    //浮点环境
#include <inttypes.h>  //整数格式转换
#include <stdbool.h>   //布尔环境
#include <stdint.h>   //整型环境
#include <tgmath.h>   //通用类型数学宏

由于我也是初学者,其他还有什么需要注意的地方,请大家讨论来决定。

搜索更多相关主题的帖子: FAQ 条目 书写 规范 
2007-09-19 13:11
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
得分:0 

干的不错!

2007-09-19 13:20
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
得分:0 
总结最完整的帖子将评为精华,录入置顶的FAQ中,加入这里讨论贴的链接。

欢迎大家讨论,话题为“C程序书写规范”
2007-09-19 14:06
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
得分:0 
补充下,//是C++的注释方式,/**/才是标准C的注释方式,LZ要更正下啊

编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-09-19 17:52
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
得分:0 
回楼上,标准C支持两种注释,谢谢



by 雨中飞燕 QQ:78803110 QQ讨论群:5305909

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/
2007-09-19 18:04
sunyuantz
Rank: 1
等 级:新手上路
威 望:1
帖 子:407
专家分:0
注 册:2006-3-20
得分:0 
书写规范有很多,比如一些工程上的规范,比如变量名要有意义,即使没有意义也最起码告诉大家这是什么变量,比如int nX这个变量就是说这个变量是int型的,而一看变量 nX也就知道变量是整形的,这有利于程序找错和阅读

我不是名人,所以不要签名。等哪天我成名人了......你都认识我了还要签名干嘛!
2007-09-19 21:25
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
得分:0 
以下是引用酒肉弥勒佛在2007-9-19 17:52:59的发言:
补充下,//是C++的注释方式,/**/才是标准C的注释方式,LZ要更正下啊

//后面所有的内容都作为注释看带..一般用在注释比较少的地方``
/* ... */``中间的所有内容都作为注释看带```而且不可以铅套````一般用在注释比较多的地方``



[此贴子已经被作者于2007-9-19 21:31:37编辑过]


女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-09-19 21:30
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
得分:0 
顶上去`````大家继续讨论`````

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-09-20 09:20
zmfttkl
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2007-7-1
得分:0 
很好撒!我支持!顶!

2007-09-20 13:40
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
得分:0 
以下是引用雨中飞燕在2007-9-19 18:04:34的发言:
回楼上,标准C支持两种注释,谢谢


我印象中从来没有一本外国人写的C的书提到要用//的注释方式,也好像没有在一个外国写的优秀代码上看到过这种注释方式

C的编译器有很多TC,VC,GCC等都很常用,但也有一些编译不常用,只用在嵌入式上,入arm,mips等,还有些更少见的编译,有些编译器就不支持//

编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-09-20 13:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-171171-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.281795 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved