㈠ c语言和c++有什么关系
如果你是刚开始学习一门语言,相信下面几条对你会有帮助!
1. C++虽然主要是以C的基础发展起来的一门新语言,但她不是C的替代品,不是C的升级,C++和C是兄弟关系。没有谁比谁先进的说法,更重要的一点是C和C++各自的标准委员会是独立的,最新的C++标准是C++98,最新的C标准是C99。因此也没有先学C再说C++的说法,也不再(注意这个 "不再 ")有C++语法是C语法的超集的说法。
2. C++/CLI 和 C# 是微软的,它们与C和C++没有任何关系,虽然部分语法相似。但哪两种语言不相似呢?都是abc这26个字母。
3. 不要使用TC/TC++/BC/CB等古老的编译器来学习C/C++,因为它们太古老了,不支持新的C/C++标准。不要使用CBX/VC++6.0/VC2005等对C/C++标准支持不好的编译器,虽然这些编译器适合工作,但不适合学习,因为它们中的语法陷阱很多。记住唯一适合学习的编译器是gcc/mingw。[antigloss注:Dev-C++ 使用的编译器就是gcc & g++]
4. 不要用 " "代替 <> 来包含系统头文件,虽然有些编译器允许你这样做,但它不符合C/C++标准。
错误的示例:#include "stdio.h ",#include "iostream "。[antigloss注: <> 用于包含标准头文件和系统头文件, " " 用于包含自定义头文件。标准似乎没有明确规定不准用 " " 包含标准头文件和系统头文件。使用 " " 包含标准头文件或者系统头文件只能说是一种不良风格。]
5. 不要将main函数的返回类型定义为void,虽然有些编译器允许你这样做,但它不符合C/C++标准。不要将函数的int返回类型省略不写,在C++中要求编译器至少给一个警告。错误的示例:void main() {},main() {} [antigloss注:C99和C++98都要求编译器对省略int至少发出一个警告]
6. 不要把VC++中的 #include "stdafx.h " 贴出来,它是预编译头文件。如同上菜时不要把厨师也放到托盘中。
7. [C++]不要#include <iostream.h> ,不要#include <string.h> ,因为它们已经被C++标准明确的废弃了,请改为 #include <iostream> 和 #include <cstring> 。规则就是:
a. 如果这个头文件是旧C++特有的,那么去掉.h后缀,并放入std名字空间,
比如 iostream.h 变为 iostream。
b. 如果这个头文件是C也有的,那么去掉.h后缀,增加一个c前缀,比如 string.h
变为 cstring;stdio.h 变为 cstdio, 等等。
BTW:不要把string、cstring、string.h三个头文件搞混淆
BTW:windows.h不是C/C++的标准文件,因此它的命名C/C++不管。
8. 不要再写 char* p = "XXX " 这种语句,要写成 const char* p = "XXX ",编译器之所以让前者通过编译是为了兼容以前的大量的旧代码。
BTW:const TYPE* p 和 TYPE const* p 是一样的,风格不同而已。
BTW:C语言中也有const关键字。
9. 不要在同一条语句中包含一个变量的多个++/--,因为它们的解析在C/C++标准中没有规定,完全取决于编译器的个人行为。
10. C/C++ 是平台无关性语言,因此系统相关的 process/GUI 等不在标准 C/C++ 库中。比如 graphics.h 和 windows.h 等是由某个编译器提供的,而不是由C/C++ 提供的。
11. C/C++只是语言,而且是平台无关性语言。论坛上有部分人甚至认为C就是dos,C++就是windows,那么请问linux是什么?
12.[C++]面向对象曾经是设计C with class(C++的前身)的主要目的,但C++不是,C++是一个多典范语言。主要支持过程调用、基于对象、面向对象、泛式编程这四种编程典范。当然还支持functional, generative,metaprogramming等典范。
13. 语法学家不是文学家,所以当你学会了一门计算机语言时,你还需要学习数据机构和算法,还需要掌握工具和平台API的用法。
14. C/C++ 是通用语言,因此语法很复杂,你应当裁减成适合你自己的语法集合,比如裁减成 better C 和 ADT。
15. C/C++是通用语言,因此只含通用的库,你应该丰富自己需要的库,比如汽车工业协会有自己的C/C++函数/类/模板库。
㈡ C语言与C语言库函数是什么关系
1、C语言与C语言库函数的关系就类似于汉字与经典着作的关系。
C语言是一种计算机编程语言,C语言函数库是由C语言编写出来的文献。方便后来者们更加简单快捷的使用C语言。
2、C语言是一种程序设计的入门语言。由于C语言的语句中没有提供直接计算sin或cos函数的语句,会造成编写程序困难;但是函数库提供了sin和cos函数,可以拿来直接调用。显示一段文字,我们在C语言中找不到显示语句,只能使用库函数printf。
C语言的库函数并不是C语言本身的一部分,它是由编译程序根据一般用户的需要,编制并提供用户使用的一组程序。C的库函数极大地方便了用户,同时也补充了C语言本身的不足。在编写C语言程序时,使用库函数,既可以提高程序的运行效率,又可以提高编程的质量。
㈢ c和c语言是一样的吧
c语言 比 c 多了 语言 两个字。其他的都一样。
呵呵。开个玩笑。
程序员口中的 c、c++ 其中的 c 就是 c语言。
㈣ c语言,C++,C#有什么联系和区别
C++是C的扩展,提供了更多更全面的设计方法,并开始从C的面向过程开发转换到面向对象开发。
这2中语言能直接操作计算机硬件,属于底层语言(与计算机硬件距离近的缘故),而不是楼上说的低级语言,这2种语言一点也不低级!!!
至于C#是微软针对JAVA而开发的应用与。NET框架上的一种开发语言,本身可以写底层操作类,也可以应用在WINFORM或ASP。NET等中作为核心编码。
再来就是前途嘛,至少C#现在或者未来的5-10年内还应该是主流语言之一。没什么问题的。
㈤ c语言和c程序是什么关系
C语言是一门编程语言
C程序一般是使用C语言写出来代码编译后的可执行文件
㈥ 数据结构算法(C语言描述)和C或C++程序具体什么关系啊
一般来说,算法可以被计算机模拟出来,就是说可以被我们写程序写出来。程序只是一个手段,让计算机去机械式地执行,算法才是灵魂,驱动计算机“怎么去”执行。
算法和语言没有关系,任何一门功能完整的语言都可以描述算法,但是执行效率和实现者的水平,还有语言本身的执行效率有关。比如java就比c慢很多,所以在很多做题网站上,如果你用java提交,时限一般是几倍的。
函数就是所谓的功能,没错,算法可以当函数用(正确来讲,算法本身就包含若干个函数),但是你不了解算法的个中原理,你怎么懂得去运用??你若了解的话,ACM比赛是可以带模板去的,所谓的模板就是各个算法的例程,你不用怕忘了某个算法写不出来,但是你往往看到一道题你不知道是用那个算法,因为题目的数学模型会隐藏起来,你算法厉害才能提取出来。