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++的初步讲解,讲解内容并不多,意在让大家慢慢接受理解,接下来我们就会慢慢扩大知识面,在以后会有更多有趣的知识点等着我们去学习,继续前进吧

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

相关文章
|
1天前
|
编译器 C语言 C++
【C++】学习笔记——C++入门_2
【C++】学习笔记——C++入门_2
15 6
|
1天前
|
安全 编译器 C语言
【C++】学习笔记——C++入门_3
【C++】学习笔记——C++入门_3
16 4
|
1天前
|
程序员 编译器 C语言
【C++】学习笔记——C++入门_1
【C++】学习笔记——C++入门_1
9 4
|
22小时前
|
存储 编译器 C++
【C++ 初阶路】--- 类和对象(下)
【C++ 初阶路】--- 类和对象(下)
7 1
|
22小时前
|
存储 编译器 C语言
【C++初阶路】--- 类和对象(中)
【C++初阶路】--- 类和对象(中)
7 1
|
22小时前
|
安全 编译器 程序员
【C++初阶】--- C++入门(上)
【C++初阶】--- C++入门(上)
8 1
|
22小时前
|
存储 安全 编译器
【C++初阶】--- C++入门(下)
【C++初阶】--- C++入门(下)
4 0
|
22小时前
|
存储 编译器 Linux
【C++初阶】--- C++入门(中)
【C++初阶】--- C++入门(中)
6 0
|
2天前
|
存储 编译器 程序员
C++语言基础学习
C++语言基础学习
|
2天前
|
安全 API C++
逆向学习Windows篇:C++中多线程的使用和回调函数的实现
逆向学习Windows篇:C++中多线程的使用和回调函数的实现
5 0