1. C++和c语言区别和联系
C++是一种高级语言,由C语言发展而来。C语言是一种支持过程式程序设计的高级语言,而C++是面向对象的程序设计语言(现在看过程式和面向对象可能不是很理解,等进入语言的学习以后就清楚了)。
简单说,C++保留了C语言的所有成分和特点,并在C语言的基础上增加了支持面向对象程序设计的语言成分,功能更加强大。
个人觉得,C语言没有C++那么灵活(灵活的缺点就是对新手来说太容易产生错误和不易掌握),所以学起来会相对轻松,而且学习C++的时候上手肯定很快,但是在C++中在接触到面向对象的部分时则要换一种思维方式,有一定难度;如果先学C++,任务比较重,而且它的灵活性导致没有编程基础的新手不易掌握,但是前面说了,C++包含了C语言,所以再学C语言的时候会很轻松。楼主自己衡量咯~
2. C语言与C语言库函数是什么关系
1、C语言与C语言库函数的关系就类似于汉字与经典着作的关系。
C语言是一种计算机编程语言,C语言函数库是由C语言编写出来的文献。方便后来者们更加简单快捷的使用C语言。
2、C语言是一种程序设计的入门语言。由于C语言的语句中没有提供直接计算sin或cos函数的语句,会造成编写程序困难;但是函数库提供了sin和cos函数,可以拿来直接调用。显示一段文字,我们在C语言中找不到显示语句,只能使用库函数printf。
C语言的库函数并不是C语言本身的一部分,它是由编译程序根据一般用户的需要,编制并提供用户使用的一组程序。C的库函数极大地方便了用户,同时也补充了C语言本身的不足。在编写C语言程序时,使用库函数,既可以提高程序的运行效率,又可以提高编程的质量。
3. C++和C语言的关系到底是什么
C++的4个子部分:
C.
Object-Oriented C++.
Template C++. (GP)
STL.
但在其中的C部分C++还有自己对C的增强,比如我所知道的:
1、内联函数(现在C99也支持);
2、const关键字;
3、on-the-fly变量声明(C99也支持);
4、编译期间的强类型检查;
5、函数重载
所以真正意义上的C在C++中占的部分连1/4也达不到,当然不是按去计算代码中C++从C继承而来的模块(Blocks),语句(statements), 预处理宏(the preprocessor), 内置数据类型(built-in data types), 数组(arrays) 和指针(pointers)等出现的数量比率来算。
所以要真正了解C和C++的不同,了解C++的组成和它的各个副本是很重要的,我的以上发言部分参考了EC中的内容: View C++ as a federation of languages(把C++看做一个语言的联合)。
4. C语言和C 是什么关系啊
这是第一次用C语言来编写操作系统的内核,或者换一个说法:这是第一次操作系统的内核不是由汇编语言编写的。Dennis Ritchie和Brian Kernighan(两个大拿)在1978年出版了《C程序设计语言》(The C Programming Language,经常简称为“白皮书”或“K&R”)。
1980年以后,贝尔实验室使得C变得更为广泛的流行,使得C一度成为了操作系统和应用程序编程的首选。甚至到今天,它仍被广泛用于编写操作系统以及作为广泛的计算机教学语言。
5. 计算机语言和C语言的关系
C语言是一种高级计算机语言
C++相当于是C的升级版,能够兼容C语言
在ANSI标准化后,C语言的标准在一段相当的时间内都保持不变,尽管C++继续在改进。(实际上,Normative Amendment1在1995年已经开发了一个新的C语言版本。但是这个版本很少为人所知。)标准在90年代才经历了改进,这就是ISO9899:1999(1999年出版)。这个版本就是通常提及的C99。它被ANSI于2000年3月采用。
6. 关于C++与C语言的关系的描述中,( )是错误的
选D。 C语言不是面向对象的,是面过过程的~
7. c语言和c++的区别和联系是什么
一、主体不同
1、C语言:是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。
2、C++:是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计。
二、优势不同
1、C语言:能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
2、C++:不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。
三、特点不同
1、C语言:提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
2、C++:在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。
8. 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++函数/类/模板库。
9. Objective-C和C语言有什么关系
Objective-C是C语言的严格超集。
任何C语言程序不经修改就可以直接通过Objective-C编译器,在Objective-C中使用C语言代码也是完全合法的。Objective-C被描述为盖在C语言上的薄薄一层,因为Objective-C的原意就是在C语言主体上加入面向对象的特性。Objective-C的面向对象语法源于Smalltalk消息传递风格。所有其他非面向对象的语法,包括变量类型,预处理器,流程控制,函数声明与调用皆与C语言完全一致。但有些C语言语法合法代码在objective-c中表达的意思不一定相同,比如某些布尔表达式,在C语言中返回值为true,但在Objective-C若与yes直接相比较,函数将会出错,因为在Objective-C中yes的值只表示为1。
10. C++和C语言有什么联系和区别
C语言是结构化和模块化的面向过程的语言,C++语言是面向对象的程序设计语言。C++语言是C语言的超集,也就是说学会了C++,你其实已经把C语言学会了。至于说有什么区别,应该说是编程思想的区别吧,C是基于过程的,强调的是程序的功能,以函数(功能)为中心。C++是面向对象的,强调程序的分层、分类,以抽象为基础,进行对象的定义与展示,即程序设计。具体说来话长。建议你学习C++的时候,学会用面向对象的方式思考和编程。现在在开发大项目的时候,都是应用面向对象的分析和设计的技术