C++初阶学习第一弹——C++入门(上)

简介: C++初阶学习第一弹——C++入门(上)

前言:

很高兴,从今天开始,我们就要步入C++的学习了,在这之前我们已经对C语言有了不错的了解,对数据结构也有了一些自己的认识,今天开始,我们就进入这个新的主题的学习——C++


一、C++的发展即其特点

C++是贝尔实验室在1979年开发出来的,它是在C语言的基础上开发出来的一门新的计算机语言,所以它有着C语言的一些特点,同时又有许多创新的地方,简单来说,C语言是面向过程的,而C++则是面向对象的,C++的实现在很多时候是要比C语言方便很多的


今天,我们就先来浅浅学习一下C++的一些基本用法


二、C++的基本语法

1、C++的关键字

C++是在C语言的基础上发展而来的,它是完全兼容C语言的,也就是说,你在一个cpp文件里,写一个C语言的代码还是可以正常运行的,但作为一个更先进的语言它又有了一些创新,下面我们给出它的关键字,暂时先不做讲解,等以后遇到再慢慢学习

从这张表格中我们就可以看出,C语言的关键字在C++中还是全部适用的

2、命名空间

C语言的使用上还有一个很大的不利,就是命名空间上,因为它命名的变量一般都是全局变量,就让许多方面变的极为不利


比如,当处理一个大型项目时,我们一般会让多个小组分工实现,每个小组写一段代码,然后再整合到一起,但这就容易导致一个现象出现,那就是命名冲突,可能不同的小组对不同的变量命名了同一个名,然后导致程序不能运行,还要后期继续去改进,这样就很麻烦,所以我们C++就有了命名空间这个概念出现,用来解决这个问题

2.1 命名空间的定义

定义命名空间需要用到一个关键字:namespace

具体做法:在namespace后面加上{ },然后在里面定义变量

namespace zwt   //后面这个可以自定义名字,随便即可
{
  //命名空间中可以定义变量/函数/类型
  int a=0;
    int b=1;
 
  int Add(int x, int y)
  {
    return x + y;
  }
 
  struct Stack
  {
    int* c;
    int capacity;
  };
}

比较有趣的是,我们可以同时命名多个相同名字的空间,最后这些命名空间中的对象会进行整合,相当于命名在同一个空间中

2.1 命名空间的使用

命名空间的使用有三种方法:

1、加命名空间名称及作用域限定符

int main()
{
  printf("%d", zwt::a);
  return 0;
}

2、使用 using 将命名空间中某个成员引入

//2、使用using将命名空间中某个成员引入
using zwt::a;
int main()
{
  printf("%d\n", a);
  printf("%d\n", zwt::b);
  return 0;
}

3、使用using namespace 命名空间名称 引入

//3、使用using namespace 命名空间名称 引入
using namespace zwt;
int main()
{
  printf("%d\n", a);
  printf("%d\n", b);
  return 0;
}

3、C++的输入输出

C++的输入输出与C语言也有很大不同,C++的输入输出函数是定义在std命名空间中的,为了方便,我们一般会在用之前就用using进行展开,下面我们直接通过一段代码来看

#include<iostream>   //C++输入输出所需的头文件
using namespace std;
int main()
{
  int a = 0;
  //C++输入函数为cin
  cin >> a;
  //C++输出函数cout
  cout << a << endl;
 
  return 0;
}

运行结果:

4、缺省参数

4.1 什么是缺省参数

缺省参数就是在函数声明和定义的时候,直接给形参赋一定的值,然后在调用这个参数的时候,就可以不用传参或者传部分参数,比如:

void Func(int a = 10, int b = 20)
{
  cout << a << endl;
  cout << b << endl;
}
int main()
{
  Func();
  Func(1, 2);
  return 0;
}

代码中的这两种调用方式都是没问题的,只是输出结果不同,下面我们就来详细讲解一下这几种调用的区别

4.2 缺省参数的几种类型

全缺省参数

void Func(int a = 10, int b = 20)
{
  cout << a << endl;
  cout << b << endl;
}
int main()
{
  Func();
  return 0;
}

半缺省参数

void Func(int a = 10, int b = 20)
{
  cout << a << endl;
  cout << b << endl;
}
int main()
{
  Func(1,2);
  Func(1);
  return 0;
}

缺省参数注意事项:

1、缺省参数必须依次给出,不能间隔给出

2、缺省参数声明和定义不能分开,尤其是不能分开在两个文件中

3、缺省参数必须是常量或者全局变量

4、缺省参数在C语言中不支持


三、总结

以上就是我们对C++的初步讲解,讲解内容并不多,意在让大家慢慢接受理解,接下来我们就会慢慢扩大知识面,在以后会有更多有趣的知识点等着我们去学习,继续前进吧

创作不易,还请各位大佬点赞支持一下!!!

相关文章
|
4月前
|
存储 安全 编译器
c++入门
c++作为面向对象的语言与c的简单区别:c语言作为面向过程的语言还是跟c++有很大的区别的,比如说一个简单的五子棋的实现对于c语言面向过程的设计思路是首先分析解决这个问题的步骤:(1)开始游戏(2)黑子先走(3)绘制画面(4)判断输赢(5)轮到白子(6)绘制画面(7)判断输赢(8)返回步骤(2) (9)输出最后结果。但对于c++就不一样了,在下五子棋的例子中,用面向对象的方法来解决的话,首先将整个五子棋游戏分为三个对象:(1)黑白双方,这两方的行为是一样的。(2)棋盘系统,负责绘制画面。
55 0
|
8月前
|
存储 缓存 C++
C++ 容器全面剖析:掌握 STL 的奥秘,从入门到高效编程
C++ 标准模板库(STL)提供了一组功能强大的容器类,用于存储和操作数据集合。不同的容器具有独特的特性和应用场景,因此选择合适的容器对于程序的性能和代码的可读性至关重要。对于刚接触 C++ 的开发者来说,了解这些容器的基础知识以及它们的特点是迈向高效编程的重要一步。本文将详细介绍 C++ 常用的容器,包括序列容器(`std::vector`、`std::array`、`std::list`、`std::deque`)、关联容器(`std::set`、`std::map`)和无序容器(`std::unordered_set`、`std::unordered_map`),全面解析它们的特点、用法
C++ 容器全面剖析:掌握 STL 的奥秘,从入门到高效编程
|
7月前
|
存储 分布式计算 编译器
C++入门基础2
本内容主要讲解C++中的引用、inline函数和nullptr。引用是变量的别名,与原变量共享内存,定义时需初始化且不可更改指向对象,适用于传参和返回值以提高效率;const引用可增强代码灵活性。Inline函数通过展开提高效率,但是否展开由编译器决定,不建议分离声明与定义。Nullptr用于指针赋空,取代C语言中的NULL。最后鼓励持续学习,精进技能,提升竞争力。
|
9月前
|
C++ 开发者
C++学习之继承
通过继承,C++可以实现代码重用、扩展类的功能并支持多态性。理解继承的类型、重写与重载、多重继承及其相关问题,对于掌握C++面向对象编程至关重要。希望本文能为您的C++学习和开发提供实用的指导。
143 16
|
10月前
|
算法 网络安全 区块链
2023/11/10学习记录-C/C++对称分组加密DES
本文介绍了对称分组加密的常见算法(如DES、3DES、AES和国密SM4)及其应用场景,包括文件和视频加密、比特币私钥加密、消息和配置项加密及SSL通信加密。文章还详细展示了如何使用异或实现一个简易的对称加密算法,并通过示例代码演示了DES算法在ECB和CBC模式下的加密和解密过程,以及如何封装DES实现CBC和ECB的PKCS7Padding分块填充。
218 4
2023/11/10学习记录-C/C++对称分组加密DES
|
编译器 C++
C++入门12——详解多态1
C++入门12——详解多态1
129 2
C++入门12——详解多态1
|
12月前
|
编译器 C语言 C++
配置C++的学习环境
【10月更文挑战第18天】如果想要学习C++语言,那就需要配置必要的环境和相关的软件,才可以帮助自己更好的掌握语法知识。 一、本地环境设置 如果您想要设置 C++ 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C++ 编译器。 二、文本编辑器 通过编辑器创建的文件通常称为源文件,源文件包含程序源代码。 C++ 程序的源文件通常使用扩展名 .cpp、.cp 或 .c。 在开始编程之前,请确保您有一个文本编辑器,且有足够的经验来编写一个计算机程序,然后把它保存在一个文件中,编译并执行它。 Visual Studio Code:虽然它是一个通用的文本编辑器,但它有很多插
389 6
|
C++
C++入门13——详解多态2
C++入门13——详解多态2
180 1
|
12月前
|
存储 安全 编译器
【C++打怪之路Lv1】-- 入门二级
【C++打怪之路Lv1】-- 入门二级
110 0

热门文章

最新文章