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. 8 —— node —— 响应一切 html 需要的静态资源

      fs.readFile('.'+urls, function (err, data) {   res.end(data)   });

  2. SQL的7种连接查询详细实例讲解

    SQL的7种连接查询详细实例讲解 原文链接:https://mp.weixin.qq.com/s/LZ6BoDhorW4cSBhaGy8VUQ 在使用数据库查询语句时,单表的查询有时候不能满足项目的业 ...

  3. oracle 查询char类型的数据

    曾经遇到一个坑. ';//使用PLSQL工具 能查出结果 偏偏在java代码里面查询不出结果. select taskdate from taskinfo where taskdate='201808 ...

  4. Python Learning Day6

    selenium操作 点击.清除操作 from selenium import webdriver from selenium.webdriver.common.keys import Keys im ...

  5. Cookie简单介绍

    Cookie 饼干. 其实是一份小数据, 是服务器给客户端,并且存储在客户端上的一份小数据 应用场景 自动登录.浏览记录.购物车. 为什么要有这个Cookie http的请求是无状态. 客户端与服务器 ...

  6. HDU 1226 超级密码(BFS) (还需研究)

    Time Limit:10000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Desc ...

  7. 实验吧Web-难-猫抓老鼠

    看题目好像就有让我们抓包的意思. 不管输什么走势一个结果:Check Failed! 也用bp爆破了,但是出不来什么结果. 抓到包后,送到repeater中go一下,发现有一串base64码,以为解码 ...

  8. iOS基础——通过案例学知识之xib、plist、mvc

    透过案例学习xib的使用.plist的使用.mvc在iOS的使用,今天要做的案例效果图 1.xib和nib xib文件可以被XCode编译成nib文件,xib文件本质上是一个xml文件,而nib文件就 ...

  9. Idea的类中使用实体类(有@Data注解)的Get/Set方法报错

    今天从svn上面下了一个maven项目,导入到Idea中之后,发现有的类会使用实体类的Set/Get方法(全报错),导致该问题的原因就是因为实体类中没有这个方法,代码类似如下: @Data publi ...

  10. HDU 2795 Billboard 线段树活用

    题目大意:在h*w 高乘宽这样大小的 board上要贴广告,每个广告的高均为1,wi值就是数据另给,每组数组给了一个board和多个广告,要你求出,每个广告应该贴在board的哪一行,如果实在贴不上, ...