c和c++可以说现在都是比较流行的,但是两者到底有什么联系和区别吗,这是学习c和c++最需要注意的,不要把两者搞混了,我们先开始就来看一下c和c++有什么联系,这两者可以这样说:C++是C的超集,兼容大部分C的语法的结构,其实任何语言之间都没有明显的界限,C语言是基础; 所以c++是比c更高级一些吧,他们都是编程语言。但是他们的用法很多都是有不一样的,来听一一道来:

首先不同之处一:他们的应用场合是不一样的

C语言:C语言是结构化和模块化的语言,是面向过程的。当程序的规模较小时,C语言运用起来得心应手。但是当问题比较复杂、程序的规模比较大的时候,C语言就会展现出它的局限性。

C++:正是因为有大规模的程序需要去处理,C++就应运而生了。C++是由C发展而来的,与C语言兼容。​C++既可用于面向过程的结构化程序设计,也可用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言。

接下来不同之处二:语法的不同

1、输入/输出函数

C语言:用一个例子说明一下:

​​ ​​ int a=1;

double d=3.1415926;

printf("%d\n",a);

printf("a=%d\n",a);

printf("b=%6.3f, b=%6.2f, b=%.3f\n",b,b,b);

scanf("%d",&a);​//取地址,输入a的值

%d和%f称为格式说明符,表示以此格式输出对应表达式的值,\n表示换行。%6.3f 中的6表示占六列,.3 表示输出对应浮点表达式值时只输出三位小数。

C++:也是用一个例子说明:

int a=5;

float b;​

cout << "a="<

cin >>b;

cout必须要和”<<“一起使用,cin必须要和”>>“一起使用。我觉得C++中的输入输出流是很强大的,它不像C里面还要指定格式。endl表示换行。​

2、字符串

另外一个我觉得C++里面另外一个特别好用的用来存放字符串的就是string,它是在C++标准库中声明的一个字符串类。

C语言:char a[20]="hangzhou";

char *p="hangzhou";

C++: string s1="abcd";

string s2="hello world";

string s3=s1+s2;

s1=s2;

c++比c更方便许多。

3、头文件

C语言中所有的头文件都带后缀 .h(比如stdio.h)​

C++中有系统提供的头文件不带后缀 .h,用户自己编制的头文件可以有后缀 .h。

4、结构体和类

C语言:结构体

struct Student //声明了一个名为Student的结构体类型

{ int num;

char name[20];

char sex;​

} ;

Student stud1,stud2; //定义了两个结构体变量 ,默认情况下为public类型。

C++:类

class Student

{ private:

int num;

char name[20];

char sex;

public:

void display()

{ cout<<"num="<

cout<<"name="<

cout<<"sex="<

​};

Student stud1,stud2;//定义了两个Student类的对象

C++中的类将数据和操作封装在一起,并且指定了访问权限。如果不指定public,也不指定private,则系统就默认为私有的,这一点和C语言中的结构体是不一样的。

其实总的来说,C语言和c++,他们除了表现在使用场合不同,还有更多的是语法的不同,C语言更加注重过程,c++比C语言更高一级,对c和c++应该有大致的了解了吧。

C和C++的区别,有你不知道的的更多相关文章

  1. Go数组和切片你不知道的区别

    开篇语 数组和切片是两种不同的数据结构,比较常见,在Go语言中同时存在,今天我们就一起来看看他们在使用方式上,原理上的一些区别? 数组 在Go语言中,数组是一种具有相同类型固定大小的一种数据结构. 我 ...

  2. 你不知道的Javascript(上卷)读书笔记之一 ---- 作用域

    你不知道的Javascript(上卷)这本书在我看来是一本还不错的书籍,这本书用比较简洁的语言来描述Js的那些"坑",在这里写一些博客记录一下笔记以便消化吸收. 1 编译原理 在此 ...

  3. 开源 VS 商业,消息中间件你不知道的那些事

    11月23日,新炬网络中间件技术专家刘拓老师在DBA+社群中间件用户组进行了一次主题为“开源 VS 商业,消息中间件你不知道的那些事”的线上分享.小编特别整理出其中精华内容,供大家学习交流. 嘉宾简介 ...

  4. 你不知道的 页面编码,浏览器选择编码,get,post各种乱码由来

    原文:你不知道的 页面编码,浏览器选择编码,get,post各种乱码由来 asp.net页面编码和浏览器的选择编码 每个asp.net的朋友都知道,在新版本的visual studio,在没有任何设置 ...

  5. 你不知道的getComputedStyle

    你不知道的getComputedStyle jQuery的css()的底层实现就用到了getComputedStyle这个方法,也许我们用到的很少,但是不得不说这时一个非常强大的函数,下面让我们一探究 ...

  6. 【读书笔记】-- 你不知道的JavaScript

    <你不知道的JavaScript>是一个不错的JavaScript系列书,书名可能有些标题党的意思,但实符其名,很多地方会让你有耳目一新的感觉. 1.typeof null === &qu ...

  7. 翻译连载 | 第 10 章:异步的函数式(下)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇

    原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTM ...

  8. 翻译连载 | 附录 C:函数式编程函数库-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇

    原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTM ...

  9. 你不知道的JavaScript之类型

    JavaScript是一门简单易用的语言,应用广泛,同时它的语言机制又十分复杂和微妙,即使经验丰富的开发人员也需要用心学习才能真正掌握. <你不知道的JavaScript>中是这样定义类型 ...

随机推荐

  1. POJ 2632:Crashing Robots

    Crashing Robots Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8424   Accepted: 3648 D ...

  2. 【LeetCode】二叉树的最大深度

    [问题]给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数.说明: 叶子节点是指没有子节点的节点. 示例:给定二叉树 [3,9,20,null,null,15,7 ...

  3. logrotate+crond日志切割、轮询

    logrotate 在工作中经常会有需求去查看日志,无论是通过应用或者系统error日志去查找问题或者通过nginx的访问日志统计站点日均PV.UV.所以体现了日志的重要性,但是通常当业务越来越大的时 ...

  4. Swift 3 :基于 AVAudioPlayer 的简单音乐播放器

    2017.05.22 17:46* 字数 1585 阅读 5095评论 0喜欢 8赞赏 2 https://www.jianshu.com/p/4d5c257428a1 学习ios以来差不多接近两个月 ...

  5. 实验吧web-中-忘记密码了

    打开网页,查看源代码,好像发现了管理员邮箱而且还是用vim编辑的. 我们提交一下这个邮箱,虽然提交成功了,但好像并没什么用. 我们随便提交一个,会弹出 看来好像还有个step2呢,我们查看源代码(在这 ...

  6. centos 通过命令查找已安装的部署包名称

    场景: 服务器上已经安装了sz命令,但是我们想知道他是哪个包安装的. 步骤一: [root@localhost home]# whereis sz sz: /usr/bin/sz /usr/share ...

  7. 单变量线性回归(Linear Regression with One Variable)与代价函数

    所谓的单变量线性回归问题就是监督学习的一部分. 通过构建数学模型给出一个相对准确的数值,也就是预测模型,通过将数据通过数学模型,衍生至回归问题 通过以下的几个例子,我们来研究单变量线性回归. 1.王阿 ...

  8. js 数据

    非0数字值 都是true  0和NaN 都是false 任何对象   都是true  null       都是false undefined 不适用 详情

  9. POJ - 3659 Cell Phone Network(树形dp---树的最小点支配集)

    题意:有N个点,N-1条边,任意两点可达,由此形成了一棵树.选取一个点a,它可覆盖自己以及与自己相邻的点,选取尽量少的点a,使得树中所有点都被覆盖,即求树的最小点支配集. 分析: 1.对于每一个点cu ...

  10. JSP编码问题解决方法

    最近再看JSP相关知识,被中文乱码搞的很头大.找了好多方法终于找到了一个简单可行的方案. JSP中request和response操作默认编码为"ISO-8859-1",这是中文乱 ...