首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

哪个版本的C更适合学生学习 - C89/90或C99?

C89/90和C99是C语言的两个主要版本,它们在语法和特性上有一些区别。对于学生学习C语言来说,选择哪个版本更适合取决于学习目标和实际需求。

C89/90是最早的C语言标准,它具有广泛的兼容性和稳定性。它的语法相对简单,不包含一些现代化的特性,如布尔类型、行注释、变长数组等。C89/90适合初学者入门,因为它的语法相对较简单,容易理解和掌握。此外,许多老旧的代码库和项目仍然使用C89/90标准,因此了解和熟悉这个版本对于与现有代码的交互和维护也是有帮助的。

C99是C语言的更新版本,引入了一些新的特性和语法改进。它增加了对布尔类型、行注释、变长数组、内联函数等的支持,提供了更多的编程灵活性和便利性。C99相对于C89/90来说更加现代化,更符合当今的编程实践。学习C99可以使学生更好地适应现代C语言开发的需求,并且能够更好地理解和使用一些新的语言特性。

综上所述,对于学生学习C语言来说,建议先学习C89/90作为入门,掌握基本的语法和编程思想。随后可以逐渐过渡到C99,了解并使用其中的新特性和改进。这样可以在学习过程中保持兼容性和稳定性,同时也能够逐步掌握和应用现代C语言的特性。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C++ 标准 和 C 标准 (截止到2019年03月)

C99】 1999 年,ANSI 和 ISO 又通过了最新版本 C 语言标准和技术勘误文档,该标准被称为 C99 。这基本上是目前关于 C 语言最新、最权威定义了。...现在,各种 C 编译器都提供了 C89(C90) 完整支持,对 C99 还只提供了部分支持,还有一部分提供了对某些 K&R C 风格支持。...目前主要C语言规范有c89(c90), c95(94)和c99。...C89是最早C语言规范,于89年提出,90年先由美国国家标准局推出ANSI版本,后来被接纳为ISO国际标准 (ISO/IEC 9899:1990),因而有时也称为c90。...但在94和96年分别对c90进行了两次错误修正,gcc支持是修正后c89(90)版本C语言规 范。在95年提出过对90版规范修订案,称为 C95或者AMD1。gcc也支持c95规范。

88410

C语言笔记】什么是ANSI C标准?

经过漫长而艰苦过程,该标准于1989年完成,这个版本语言经常被称作ANSI C,或有时称为C89(为了区别C99)。...在1990年,ANSI C标准(带有一些小改动)被美国国家标准协会(ANSI)采纳为ISO/IEC 9899:1990。这个版本有时候称为C90或者ISO C。...综上,ANSI C、ISO CC89C90其实是同一种标准。 什么是C99标准? 2000年3月,ANSI采纳了 ISO/IEC 9899:1999 标准。这个标准通常指C99。...C11标准是C语言标准第三版(2011年由ISO/IEC发布),前一个标准版本C99标准。与C99相比,C11有哪些变化呢?...GCC编译器在编译时候可指定C语言标准: 指定c90标准: -std=c90 指定C99标准: -std=c99C11标准(目前正在开发中): -std=c11 以上就是关于C语言标准笔记,如有错误欢迎指出

2.8K30
  • 回顾一下 C 语言发展历程

    C95 5、C99 1999 年,ANSI和ISO 又通过了最新版本C 语言标准和技术勘误文档,该标准被称为 C99 。...总结一张图如下 02 编译器相关 现在,各种C 编译器都提供了C89(C90) 完整支持,对 C99 还只提供了部分支持,还有一部分提供了对某些K&R C 风格支持。...目前主要C语言规范有c89(c90),c95(94)和c99。...C89是最早C语言规范,于89年提出,90年先由美国国家标准局推出ANSI版本,后来被接纳为ISO国际标准 (ISO/IEC9899:1990),因而有时也称为c90。...但在94和96年分别对c90进行了两次错误修正,gcc支持是修正后c89(90)版本C语言规范。 在95年提出过对90版规范修订案,称为C95或者AMD1。gcc也支持c95规范。

    32040

    C】记录两个C语言误区

    前言 之前在windows上使用vc++6.0,编写过c代码,主要是为了完成一些作业,并没有十分深入学习C语言. 因此当时留下了两个对于c误区,现在记录一下。...一开始我以为是使用编译器标准不同,因此尝试着使用c89c90c99c11编译程序,使用c89c90时, 编译器还是没有报任何错误,而使用c99c11时,会报下面的警告: test.c:...随后我又看了一下gcc版本,发现是4.8.4, 然后查看了一下它手册, 发现其默认使用c编译标准是c90 The default, if no C language dialect options...are given, is -std=gnu90; 不过有意思的如果将代码写成下面的形式: int main() { aa(); } void aa(int n) { printf(...静态数组 另一个误区就是静态数组定义, 如下面的形式在vc++6.0中编译时会出现错误 int n = 5; int arr[n]; 因此我一直以为在c中定义静态数组必须要制定一个确定值,而不能是变量

    85220

    GCC编译器-std选项

    GCC支持在编译时候使用-std选项来选择编译语言标准。程序本身也是在发展,不断变化。...以 C 语言为例,发展至今该编程语言已经迭代了诸多个版本,例如 C89(偶尔又称为 C90)、C94(C89 修订版)、C99C11。...同样,C++语言也经历了很多标准变化,例如C++11,C++14,以及现在最新C++20。既然语言都发展了这么多标准,GCC编译器当然也要提供一个标准开关,他就是-std选项。...对于编译 CC++ 程序来说,借助 -std 选项即可手动控制 GCC 编译程序时所使用编译标准。 这个选项使用方式也很简单。下面就是一个例子。...g++ -Wall -std=c++17 test.c 有关这些标准可以参考如下。 ?

    2.5K20

    哪个版本gcc才支持c11

    (而我此处eglibc 2.17,和那人glibc-2.16.0,都是需要支持c11gcc) 所以此处想要去搞清楚,什么版本哪个版本,gcc,才支持c11。...【解决过程】 1.google搜: gcc c11 就可以看到: 2 Language Standards Supported by GCC 而明白: C89=C90:gcc选项是:-ansi..., -std=c90 or -std=iso9899:1990; 带了GNU扩展:-std=gnu90 C94=C95:gcc选项:-std=iso9899:199409 C99:gcc选项:...-std=c99 or -std=iso9899:1999 未完成C99标准之前,叫做C9X 带了GNU扩展:-std=gnu99 C11:gcc选项是-std=c11 or -std=iso9899...关于C++11新特性和一些版本变更请看:C++11-维基百科     目前最新版本GCC/G++是4.8,新版本GCC支持最新C++11标准,十分值得去使用&学习

    7.7K20

    C Primer Plus(一)

    C Primer Plus(一) 發佈於 2020-06-04 从本篇开始,我们就要重新学习 C 语言了,参考书籍为《C Primer Plus》,是个硬骨头,加油吧。...C89/C90 由于应用越来越广泛,需要一个更为严格标准,ANSI 于 1989 年定义了 C 语言和 C 标准库,ISO 于 1990 年采用这一标准,这一版本通常称为 C89 C90,也因为...C99 1994 年,ANSI/ISO 联合委员会开始修订 C 标准,最终发布 C99,这一标准并未在 C 语言中添加新特性,而是把国际化、弥补缺陷和提高计算实用性作为主要修订目标,并尽量与 C90 兼容...C90 添加了 2 个关键字,C99 又添加了 3 个关键字: K&R C C90 C99 int signed _Bool long void _Complex short _Imaginary...根据 C90 标准,我们可以在 char 前使用 signed unsigned 来限定到底是用什么类型,而不用管编译器默认实现。

    55230

    CC++ 之 C发展史及 各标准特性说明

    参考链接: C++ c16rtomb() Tips:  1. 本人当初学习C/C++记录。  2. 资源很多都是来自网上,如有版权请及时告知!  3. 可能会有些错误。...最终第一版C标准被称为C98C90。算是C语言第一个官方标准。由于ANSI C出现较早,该标准也称为 ANSI C。   1994年,ISO 对C语言标准修订工作正式开始。...但要注意:restrict是C99中新增关键字,在C89C++中都不支持,在gcc中可以通过-std=c99来得到对它支持。 ...## 其它特性改动  1.放宽转换限制  限制C89标准C99标准数据块嵌套层数15127条件语句嵌套层数863内部标识符中有效字符个数3163外部标识符中有效字符个数631结构联合中成员个数...C89中,表达式中类型为char,short intint值可以提升为intunsigned int类型。C99中,每种整数类型都有一个级别。

    90500

    CC++语言标准

    ANSI C:也称为 C89,是由美国国家标准协会制定标准,于 1989 年发布。 C99:是第二个 C 语言标准,由国际标准化组织 ISO 制定,于 1999 年发布。...其中,K&R C 已经过时,不再使用,而 ANSI CC99C11 和 C18 都是现代 C 语言标准,但在实际开发中,使用最广泛是 ANSI CC99。...C++11:也称为 C++0x,是第二个 C++ 标准,由 ISO 制定,于 2011 年发布。 C++14:是 C++11 后续版本,于 2014 年发布。...C++17:是 C++14 后续版本,于 2017 年发布。 C++20:是 C++17 后续版本,于 2020 年发布。 C++23:是 C++20 后续版本,预计于 2023 年发布。...在实际开发中,使用哪个标准需要根据实际情况进行考虑。

    1.8K30

    C语言 main 函数到底怎么写是对

    各位,C语言中main函数大家都再熟悉不过了,这是你学习C语言首先就要学习东西,但是我看过很多人写代码包括我们一些读者在main函数写法方面版本很多,今天就跟大家聊一聊main函数到底应该怎么写问题...其实这种写法使用现在编译器编译时会警告,但查了一下在C89标准中是可以,而且由于函数没有显式声明返回类型那么编译器会将返回值默认为int缘故,其返回值也为int。...查了C89/C99/C11相关文档,都没有提到任何这种写法痕迹,我见过最多写法就是这种,不清楚为什么有这么多初学者这么写。严格来说返回值为void是不正确。...其实官方标准已经给出了这个问题答案,C89/C99/C11标准文档中只提供了以下两种main函数写法: int main(void) int main(int argc, char *argv[]...当然如果你使用其他写法,不同编译器产生结果是未定义,但可以肯定是常规编译器对于以上两种标准写法肯定是比较支持

    1.5K10

    C语言笔记---(1)初识C语言

    3.丰富数据类型 数据类型丰富。C语言提供数据类型包括:整型、浮点型、数组类型、指针类型、等,C99又扩充了复数浮点类型、超长整型(long long)和布尔类型(bool)等。...C语言版本C语言发展史上,有过许多不同版本。...又由于这个版本是89年完成制定,因此也被称为C89。 后来 ANSI 把这个标准提交到 ISO(国际化标准组织),1990年被 ISO 采纳为国际标准,称为ISO C。...又因为这个版本是1990年发布,因此也被称为C90。 ANSI C(C89)与ISO C(C90)内容基本相同,主要是格式组织不一样。...ANSI C、ISO CC89C90,这些标准内容都是一样C99 C 语言标准第一次大型修订,发生在1999年,增加了许多语言特性,比如双斜杠(//)注释语法,这个版本称为 C99.

    23.6K12

    你了解C语言发展历史吗?你使用什么开发环境呢?必备指南【C语言编程入门秘籍03】

    1983年,美国标准化ANSI C规范了C语言语法和库函数,有助于不同编译器可移植性。 1990年,国际化ISO C标准,第一个国际标准,称为C89C90标准。...包含经典库stdio.h、stdlib.h等。推动C语言国际化。 1999年,ISO C99标准新特性引入,扩展了C语言功能,例如布尔类型等。...2)学习开发相关工具拓展: 目前编程入门实用vc++6.0是1998年老产品,虽然初学入门学习时推荐使用这块工具,但是要注意是这块工具只支持C89标准。...如果你电脑配置允许,推荐安装visual studio 2022及更高版本IDE开发工具学习C语言编程。...待到学习完基础C语言,在您编写更大项目时,就建议使用Visual StudioIDE,可以找到当前最新版本,安装企业版功能更加强大,但要求您计算机拥有更好地硬件配置。

    32740

    开篇:预备知识---1

    因此本专栏重点是放在 C/C++ 语言特性和一些必要底层原理上,不会从 0 开始介绍 C/C++ 语法。同时,对于图形化相关东西不会过多介绍。也算是对 C/C++ 做一个学习总结。...ANSI/ISO 标准最终版本通常叫作 C89(因为 ANSI 于 1989 年批准该标准) C90(因为 ISO 于 1990 年批准该标准)。...1994 年,ANSI/ISO 联合委员会开始修订 C 标准,为了弥补 C89 标准中存在一些缺陷。最终在 1999 年发布了 C99 标准。而在 2011 年发布了 C11 标准。...注释 ​ 早期 C语言(C89/C90)标准只支持 /*注释内容*/ 类型注释,不支持当行注释,如果你在 C语言源文件中使用了单行注释(// 注释内容),编译器会报错: #include <stdio.h...单行注释这个特性在 C99 标准中被加入,因此我们采用 gcc comments_test.c -std=c99 命令时即可正常编译。

    52040

    Tool之双斜线注释

    因为这个工程中,IDE使用编译器是gnu,编译规则默认包含了-ansi ? 从gnu手册中,可以看到-ansi等同于-std=c89,而c89那个年代,是不支持双斜线 ?...原来删除-ansi后,IDE就会将规则重置为-std=gnu89,而正是gnu89对c89做了一些扩展,其中就包含了这个双斜线注释。...那我们直接将规则设置为gnu89,甚至c99、gnu99之类呢? ? 试一下,都没有问题。...不过,毕竟和c89相比,c99变化太多,编译规则改动太大,可能会涉及到代码移植兼容问题,这就需要项目经理技术负责人来统筹定制规则了。...原来是厂家专门做改进,就像是gnu89对c89改进。 ? 看看它改进了哪些,果然有这一条 ? 好,到此为止,都搞定了! 这正是: 编译工具规则多,代码注释有风格。

    1.3K20
    领券