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


    前言:

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

    目录

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

    二、C++的基本语法

    1、C++的关键字

    2、命名空间

    2.1 命名空间的定义

    2.1 命名空间的使用

    3、C++的输入输出

    4、缺省参数

    4.1 什么是缺省参数

    4.2 缺省参数的几种类型

    三、总结


    一、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后面加上{ },然后在里面定义变量

    1. namespace zwt //后面这个可以自定义名字,随便即可
    2. {
    3. //命名空间中可以定义变量/函数/类型
    4. int a=0;
    5. int b=1;
    6. int Add(int x, int y)
    7. {
    8. return x + y;
    9. }
    10. struct Stack
    11. {
    12. int* c;
    13. int capacity;
    14. };
    15. }

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

    2.1 命名空间的使用

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

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

    1. int main()
    2. {
    3. printf("%d", zwt::a);
    4. return 0;
    5. }

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

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

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

    3、C++的输入输出

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

    1. #include //C++输入输出所需的头文件
    2. using namespace std;
    3. int main()
    4. {
    5. int a = 0;
    6. //C++输入函数为cin
    7. cin >> a;
    8. //C++输出函数cout
    9. cout << a << endl;
    10. return 0;
    11. }

    运行结果:

    4、缺省参数

    4.1 什么是缺省参数

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

    1. void Func(int a = 10, int b = 20)
    2. {
    3. cout << a << endl;
    4. cout << b << endl;
    5. }
    6. int main()
    7. {
    8. Func();
    9. Func(1, 2);
    10. return 0;
    11. }

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

    4.2 缺省参数的几种类型
    全缺省参数
    1. void Func(int a = 10, int b = 20)
    2. {
    3. cout << a << endl;
    4. cout << b << endl;
    5. }
    6. int main()
    7. {
    8. Func();
    9. return 0;
    10. }

    半缺省参数
    1. void Func(int a = 10, int b = 20)
    2. {
    3. cout << a << endl;
    4. cout << b << endl;
    5. }
    6. int main()
    7. {
    8. Func(1,2);
    9. Func(1);
    10. return 0;
    11. }

    缺省参数注意事项:

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

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

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

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

    三、总结

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

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

  • 相关阅读:
    Prometheus系列第七篇一核心一ClientLib源码分析-Collector系列
    拓端tecdat|python在Scikit-learn中用决策树和随机森林预测NBA获胜者
    MySQL 索引
    医学影像入门知识——3. 26邻域/8邻域和连通性(neighborhood and connectivity)
    人为什么要努力?编程、学习之路…很迷茫?个人经验分享
    GM8775C :是 DSI 转双通道 LVDS发送器
    程序员月薪8000,丢人吗?
    rv1126-rv1109-修改波特率为115200
    【LeetCode每日一题:792.匹配子序列的单词数~~~时间超限的双指针+改进优化的存储元素位置的二分查找】
    java计算机毕业设计ssm+vue社区公益服务平台
  • 原文地址:https://blog.csdn.net/2301_80220607/article/details/137969855