问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言的编程开发

发布网友 发布时间:2022-04-24 17:43

我来回答

1个回答

热心网友 时间:2022-06-01 10:33

GCC,GNU组织开发的开源免费的编译器
MinGW,Windows操作系统下的GCC
Clang,开源的BSD协议的基于LLVM的编译器
Visual C++ :: cl.exe,Microsoft VC++自带的编译器 CodeBlocks,开源免费的C/C++ IDE
CodeLite,开源、跨平台的C/C++集成开发环境
Orwell Dev-C++,可移植的C/C++IDE
C-Free
Light Table
Visual Stdio系列 起初,C语言没有官方标准。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。这本书被 C语言开发者们称为K&R,很多年来被当作 C语言的非正式的标准说明。人们称这个版本的 C语言为K&R C。
K&R C主要介绍了以下特色:
结构体(struct)类型
长整数(long int)类型
无符号整数(unsigned int)类型
把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。
即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最 准要求,许多老旧的编译器仍然运行K&R C的标准。 1970到80年代,C语言被广泛应用,从大型主机到小型微机,也衍生了C语言的很多不同版本。
1983年,美国国家标准协会(ANSI)成立了一个委员会X3J11,来制定 C语言标准。
1989年,美国国家标准协会(ANSI)通过了C语言标准,被称为ANSI X3.159-1989 Programming Language C。因为这个标准是1989年通过的,所以一般简称C89标准。有些人也简称ANSI C,因为这个标准是美国国家标准协会(ANSI)发布的。
1990年,国际标准化组织(ISO)和国际电工委员会(IEC)把C89标准定为C语言的国际标准,命名为ISO/IEC 9899:1990 - Programming languages -- C 。因为此标准是在1990年发布的,所以有些人把简称作C90标准。不过大多数人依然称之为C89标准,因为此标准与ANSI C89标准完全等同。
1994年,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C89标准修订版,名叫ISO/IEC 9899:1990/Cor 1:1994 ,有些人简称为C94标准。
1995年,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C89标准修订版,名叫ISO/IEC 9899:1990/Amd 1:1995 - C Integrity ,有些人简称为C95标准。 1999年1月,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C语言的新标准,名叫ISO/IEC 9899:1999 - Programming languages -- C ,简称C99标准。这是C语言的第二个官方标准。
在C99中包括的特性有: 增加了对编译器的*,比如源程序每行要求至少支持到 4095 字节,变量名函数名的要求支持到 63 字节(extern 要求支持到 31)。 增强了预处理功能。例如: 宏支持取可变参数 #define Macro(...) __VA_ARGS__ 使用宏的时候,允许省略参数,被省略的参数会被扩展成空串。 支持 // 开头的单行注释(这个特性实际上在C89的很多编译器上已经被支持了) 增加了新关键字 restrict, inline, _Complex, _Imaginary, _Bool 支持 long long, long double _Complex, float _Complex 等类型 支持不定长的数组,即数组长度可以在运行时决定,比如利用变量作为数组长度。声明时使用 int a[var] 的形式。不过考虑到效率和实现,不定长数组不能用在全局,或 struct 与 union 里。 变量声明不必放在语句块的开头,for 语句提倡写成 for(int i=0;i<100;++i) 的形式,即i 只在 for 语句块内部有效。 允许采用(type_name){xx,xx,xx} 类似于 C++ 的构造函数的形式构造匿名的结构体。 复合字面量:初始化结构的时候允许对特定的元素赋值,形式为:
struct test{int a[3],b;} foo[] = { [0].a = {1}, [1].a = 2 }; struct test{int a, b, c, d;} foo = { .a = 1, .c = 3, 4, .b = 5 }; // 3,4 是对 .c,.d 赋值的 格式化字符串中,利用 \u 支持 unicode 的字符。 支持 16 进制的浮点数的描述。 printf scanf 的格式化串增加了对 long long int 类型的支持。 浮点数的内部数据描述支持了新标准,可以使用 #pragma 编译器指令指定。 除了已有的 __line__ __file__ 以外,增加了 __func__ 得到当前的函数名。 允许编译器化简非常数的表达式。 修改了 /% 处理负数时的定义,这样可以给出明确的结果,例如在C89中-22 / 7 = -3, -22% 7 = -1,也可以-22 / 7= -4, -22% 7 = 6。 而C99中明确为 -22 / 7 = -3, -22% 7 = -1,只有一种结果。 取消了函数返回类型默认为 int 的规定。 允许 struct 定义的最后一个数组不指定其长度,写做 [](flexible array member)。 const const int i 将被当作 const int i 处理。 增加和修改了一些标准头文件,比如定义 bool 的 <stdbool.h> ,定义一些标准长度的 int 的 <inttypes.h> ,定义复数的 <complex.h> ,定义宽字符的 <wctype.h> ,类似于泛型的数学函数 <tgmath.h>, 浮点数相关的 <fenv.h>。 在<stdarg.h> 增加了 va_copy 用于复制 ... 的参数。里增加了 struct tmx ,对 struct tm 做了扩展。 输入输出对宽字符以及长整数等做了相应的支持。 GCC和其它一些商业编译器支持C99的大部分特性。 2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C语言的新标准,名叫ISO/IEC 9899:2011 - Information technology -- Programming languages -- C ,简称C11标准,原名C1X。这是C语言的第三个官方标准,也是C语言的最新标准。
新的标准提高了对C++的兼容性,并增加了一些新的特性。这些新特性包括: 对齐处理(Alignment)的标准化(包括_Alignas标志符,alignof运算符, aligned_alloc函数以及<stdalign.h>头文件。 _Noreturn 函数标记,类似于 gcc 的 __attribute__((noreturn))。 _Generic 关键字。 多线程(Multithreading)支持,包括: _Thread_local存储类型标识符,<threads.h>头文件,里面包含了线程的创建和管理函数。 _Atomic类型修饰符和<stdatomic.h>头文件。 增强的Unicode的支持。基于C Unicode技术报告ISO/IEC TR 19769:2004,增强了对Unicode的支持。包括为UTF-16/UTF-32编码增加了char16_t和char32_t数据类型,提供了包含unicode字符串转换函数的头文件<uchar.h>. 删除了 gets() 函数,使用一个新的更安全的函数gets_s()替代。 增加了边界检查函数接口,定义了新的安全的函数,例如 fopen_s(),strcat_s() 等等。 增加了更多浮点处理宏。 匿名结构体/联合体支持。这个在gcc早已存在,C11将其引入标准。 静态断言(static assertions),_Static_assert(),在解释 #if 和 #error 之后被处理。 新的 fopen() 模式,(“…x”)。类似 POSIX 中的 O_CREAT|O_EXCL,在文件锁中比较常用。 新增 quick_exit() 函数作为第三种终止程序的方式。当 exit()失败时可以做最少的清理工作。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
空调加氟时要注意什么? 电脑安装了pr兼容性pr显示系统兼容性报告 带你了解——赫伯罗特 一千克面粉三十元一克面粉多少钱 大米2元500克面粉3元500克 2千克大米和和1500克面粉多少钱?_百度... ...面粉每千克多少元.大米25千克4.5元一千克面粉2 买8000克面粉需要32元,每千克面粉多少钱 500克面粉2元钱1千克面粉多少钱,怎么练式? 软棕和硬棕哪个好 amd rx6800m相当于nvidia什么水平? 什么是C语言编程的标准格式?包含了哪些内容? afp报名资格 工业设计,产品设计,机械设计三者之间有什么区别 咨询AFP报名时间,考试时间,考试科目等相关较全面的内容 C语言编程规范问题 第二题不懂,求解释,谢谢! 什么是工业设计?什么又是产品设计??? ug产品设计和工业设计是怎么区分的 考AFP需要具备哪些?一般要多久才能考完? 最新c语言编程规范是什么? 中鹏工业设计的结构和外观要怎么选? AFP考试报名条件,AFP考试报名条件是什么? 工业设计和产品设计有什么区别? C语言编程规范问题? AFP考试的具体流程?需要什么资格? 工业设计和产品造型设计有什么不同?? 有谁知道C语言程序的编程规范,给我概括一下, 工业设计与产品结构设计区别 C语言 编程规范 金融理财师(AFP)的报名条件,报名时间,考试时间 工业设计和产品造型有什么区别? 工业设计产品如何申请专利 c语言编程 有特殊要求 c语言编写程序;输入一个摄氏温度,要求输出华氏温度。公式为f=9&#47;5*c+32 电气专业就业方向有哪些? 电气专业好就业吗? 电气专业不读研真的没有出路吗? 电气有哪些专业 电气专业和机械专业哪个好? 电气类专业怎么样 电气工程及其自动化属于什么类别的专业? 电气专业的专业方向是什么 apple id必须至少8个字符,且包含一个数字,一个大写和一个小小写字母什么意思 申请苹果id账号需要什么条件 创建苹果帐户显示没有达到最低年龄要求是什么意思 apple id老说没达到最低年龄要求 apple id必须真名吗? apple id最低年龄要求是几岁创建apple ID 提示不到最低年龄要求写多少岁行啊,求一个能申请的年份和日期 大众迈腾空调怎么清洗,迈腾空调清洗方法图解 大众迈腾14t标配前空调出风网怎么拆? 19款迈腾330豪华后出风口REAR无法解锁,通过前面中控菜单扔无法解锁。求助!求助!求助!