加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

从C说话过渡到C++之根基变革

发布时间:2020-12-31 12:40:58 所属栏目:创业 来源:网络整理
导读:说到C++和C说话的区别,大部门人城市想到面向工具和面向进程。然而这种说法并禁绝确。面向工具和面向进程指的是两种差异的措施计划头脑,而C++与C是两种编程说话,莫非C++就不能用于面向进程去办理题目吗,虽然可以。而面向工具的计划头脑也可以用到C说话中

说到C++和C说话的区别,大部门人城市想到面向工具和面向进程。然而这种说法并禁绝确。面向工具和面向进程指的是两种差异的措施计划头脑,而C++与C是两种编程说话,莫非C++就不能用于面向进程去办理题目吗,虽然可以。而面向工具的计划头脑也可以用到C说话中去,我之前的文章就涉及过这方面的常识。

我们这个系列就是要抛开编程头脑,纯真地从语法的角度先容一下C++中毕竟插手了哪些C说话中没有的成果。但愿各人在把握了C说话之后再来进修这部门内容。

起首,让我们看一段尺度的C++代码:

  // main.cpp
  #include <iostream>

  using namespace std;

  int main()
  {
    cout << "Hello World!" << endl;

    return 0;
  }

这个是一个最根基的措施,用来在屏幕上打印出“Hello World”这句话。是不是和C说话措施差距较大呢?本日,我们先先容C++和C说话的几个最根基的差异。

1. 头文件

C说话中,尺度输入输出的头文件引用方法如下:

#include <stdio.h>
而C++中行使的是:

#include <iostream>
C++划定,由体系提供的头文件在引用时不带“.h”。假如是本身界说的头文件,必要这样引用:

#include "myfile.h"
留意,这里不只行使了“.h”并且还用了双引号。缘故起因和C说话沟通,从当前路径开始探求。其它,因为C++是完全支持C说话的所有成果的,以是当我们要行使C说话提供的头文件时,依然要行使:

#include <stdio.h>
这样界说的甜头是,我们只看头文件的包括情势就知道引用的是C++的体系库照旧C说话的体系库,亦或是自界说函数库。

2. 定名空间

各人必定留意到这句话了:

using namespace std;
这句话的意思是引入定名空间std,我们输出字符串行使的cout要害字就在std中。C++库中的函数被分别到差异的定名空间中,假如必要会见,就要先行使这句话引入定名空间。

若是我们没有写这句话,就要在每次行使到这些函数时手动指定数名空间,之前的代码就要酿成这样:

// main.cpp
#include <iostream>

int main()
{
  std::cout << "Hello World!" << std::endl;

  return 0;
}

这样写是正当的,只不外有些贫困。

3. C++的输入输出


C++的输入输出做了较大的修改,我们先看下面这个例子:

#include <iostream>

using namespace std;

int main()
{
  int a,b;

  cout << "Please input two numbers : " << endl;

  cin >> a >> b;

  cout << "a = " << a << "," << "b = " << b << endl;

  return 0;
}

这个措施实现了输入两个数字,之后把它们打印在屏幕上。措施的执行功效如下:


cin
相等于scanf,用于把输入的字符生涯在后头的变量中。cin必需和>>一路行使,必要输入几个变量就写几个变量,之间用>>脱离开。

cout
相等于printf,用于把字符串或变量打印在屏幕上。必要打印的元素要用<<脱离开,endl暗示换行。

这两个要害字最大的上风是不必要存眷变量的数据范例,C++会按照变量的界说自动匹共同适的数据范例。

行使这两个要害字时必需包括<iostream>这个库。

4. 变量的界说

C说话中有个被许多人诟病的划定是变量的界说必需放在代码块的首部。这样就会常常呈现变量的界说和第一次行使之间间隔很远,好比下面这段代码。

int main()
{
  int i,j;

  // Do something

  for (i = 0; i < 100; i++)
  {
    printf("%dn",i);
  }

  return 0;
}

这段代码中,变量i的声明和第一次行使之间也许隔了几十行的代码。这样严峻影响了代码的可读性,也进步了调试的本钱。

在C++中,这种环境本根当地办理了。C++应承在任那里所界说变量,只要在行使它之前就行。于是就有了这样的写法:

for (int i = 0; i < 100; i++)
{
  // Do something
}

这样写是不是变得很是清晰了。在C++中,我们风俗在行使变量时界说,许多只会用C说话的措施员也在行使.cpp文件写代码就是为了有这么一个便利前提。

5. 必然要先学C再学C++吗

固然我是带各人先学C说话再学C++的,许多措施员也都是走的这个进修蹊径。但并不是必然要先学C再学C++。

我老是用这么个例子来表明这个题目。C和C++就似乎是手动挡和自动挡的区别,固然我们大部门人都是先学手动挡再学自动挡,但并不能说不会开手动挡的人就学不会自动挡。自动挡着实还更勤学一些。对付驾驶这两种车而言,它们有许多沟通的部门,好比打偏向的要领、踩油门和刹车的要领、打转向灯的要领、转弯并线等等这些要点都是沟通的,只不外你先学哪个就在哪里进修这些民众部门罢了。

C和C++也是一样,80%以上的语法点都是沟通的,而这些语法点你是通过哪种说话学会的没有任何区别。

大部门学校布置课程的时辰都是先学C再学C++,由于C更存眷细节,可以或许辅佐门生更清楚地相识措施和硬件的一些相关,人们以为只要这么学才气打下好的基本。但跟着计较机编程技能的不绝成长,现在更风行的概念是编程就是为了辅佐我们更好地行使计较机办理题目,以这个目标为导向,那些没须要知道的对象可以不去在意。于是越来越多的人用C++、Java、乃至Python这样阔别硬件的说话举办编程入门。这些人依然可以计划出本身想要的措施。

以是,请各人不要再纠结先学谁后学谁的题目了,也许不久后,我就会推出从零开始进修C++这样的系列了。

敬请等候~

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读