本文目录一览:
- 1、当前C语言标准为ISO/IEC 9899:1999是吗?
- 2、C89,C99,C11等C语言标准是干吗的?
- 3、C语言在世界上有几个标准
- 4、现在的c语言标准是c99吗?
- 5、1999年由iso/iec发布的C语言标准为?
当前C语言标准为ISO/IEC 9899:1999是吗?
C11
2011年12月8日,ISO正式发布了新的C语言的新标准C11,之前被称为C1X,官方名称为ISO/IEC 9899:2011。
新的标准提高了对C++的兼容性,并增加了一些新的特性。这些新特性包括:
对齐处理(Alignment)的标准化(包括_Alignas标志符,alignof运算符, aligned_alloc函数以及stdalign.h头文件。
_Noreturn 函数标记,类似于 gcc 的 __attribute__((noreturn))。
_Generic 关键字。
多线程(Multithreading)支持,包括:_Thread_local存储类型标识符,threads.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()失败时可以做最少的清理工作。
_Atomic类型修饰符和stdatomic.h头文件。
目前大多数的编译系统并没有完全的实现C11标准,主要还是以以前的C99标准为主流
你只要在百度百科中寻找关键字C11,就可以详细查到该标准
C89,C99,C11等C语言标准是干吗的?
C语言的标准就是定义任何一个支持该标准的C语言编译器必须支持的语法和必须提供的库。新的标准是在旧标准的基础上进行扩展,一般都是向后兼容的。
不过现在的编译器对C语言标准的支持不太积极(主要精力放在C++上面),比如VC++编译器只是部分支持了C99,所以新的C语言标准不太实用,你最好还是好好学习C89标准,现在的C语言教程一般都是以这个标准。
C语言在世界上有几个标准
C语言的标准很多,这个问题没有标准答案,但是通常所说的C语言标准一般指如下几个:
KR C:这是Brian Kernighan 和 Dennis Ritchie 1987年合著的《C语言程序设计》中的C语言参考,也称为"经典C"。
ANSI C:这是1989年美国国家标准协会ANSI公布的标准
ISO C:1990年国际标准化组织ISO采用ANSI C作为ISO标准。这个版本也称为 C89或C90。因此ANSI C、ISO C、ANSI/ISO C、C89、C90实际上是一套东西。
C99:ISO 1994年开始修订新的标准,并最终发布了C99.
C11:ISO 2007年开始修订,并于2011年发布了新的标准,称之为C11.
现在的c语言标准是c99吗?
C99是标准ISO/IEC 9899:1999的简称。
2011年12月8号,ISO 发布了新的 C 语言的新标准——C11,之前被称为C1X,官方名称 ISO/IEC 9899:2011。
C11是目前最新的C语言标准。
1999年由iso/iec发布的C语言标准为?
最灵活,最简单,最好理解的一个循环用法 for(表达式1;表达式2;表达式3) {循环体} 这三个表达式,可以都有,也可以都没有,也可以由任意的一项或两项,这就是for的灵活性所在解释一下三个表达式的含义表达式1,这个一般是初始化条件,如i=1。在第一个分号之前,可以用一个,也可以好几个,用逗号隔开表达式2,这个事循环条件,满足就继续执行循环体,不满足就跳出循环。这里一般是个逻辑判断语句。表达式3,这个一般是改变循环条件的地方,如i++。执行顺序是,先初始化,也就是运算表达式1,初始化完成后,这个表达式就没有用处了。接着判断是否满足循环条件,也就是运算表达式2,如果是真,就执行循环体。最后,运算表达式3,改变循环条件。这样第一次循环完成。接着第二次循环,也就是运算表达式2,看是否满足循环条件,如果表达式2还满足(也就是真),接着执行循环体。完成后运算表达式3,。如此往复循环,直到不满足表达式2后,跳出循环这里值得注意的是,举例说一下吧如for(i=0;i10;i++)这个运算,当i=9的时候,满足循环,执行完后,i还会自加1,也就是i++,这样i的值是10,在判断i10,所以当不满足循环条件的时候,最后i的值是10,而不是9