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

news/2024/12/22 14:26:08/

前言:

很高兴,从今天开始,我们就要步入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后面加上{ },然后在里面定义变量

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

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


http://www.ppmy.cn/news/1424588.html

相关文章

AI大模型之路 第二篇: Word2Vec介绍

你好&#xff0c;我是郭震 今天我来总结大模型第二篇&#xff0c;word2vec&#xff0c;它是大模型的根基&#xff0c;一切NLP都会用到它。 Word2Vec Word2Vec 是一种流行的自然语言处理&#xff08;NLP&#xff09;工具&#xff0c;它通过将词汇表中的每个单词转换成一个独特的…

探索人工智能绘图的奇妙世界

探索人工智能绘图的奇妙世界 人工智能绘图的基本原理机器之美&#xff1a;AI绘图作品AI绘图对艺术创作的影响未来展望与挑战图书推荐&#x1f449;AI绘画教程&#xff1a;Midjourney使用方法与技巧从入门到精通内容简介获取方式&#x1f449;搜索之道&#xff1a;信息素养与终身…

电脑桌面便签软件哪个好?好用的电脑桌面便签

电脑作为我们日常工作的重要工具&#xff0c;承载着大量的任务和项目。当工作任务繁重时&#xff0c;如何在电脑桌面上高效管理这些任务就显得尤为重要。这时&#xff0c;选择一款优秀的桌面便签软件&#xff0c;无疑会给我们带来极大的便利。 一款好的桌面便签软件&#xff0…

Bilstm双向长短期神经网络多输入单输出回归分析

目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 BILSTM神经网络 Bilstm双向长短期神经网络多输入单输出回归分析 完整代码: Bilstm双向长短期神经网络多输入单输出回归分析.zip资源-CSDN文库 https://download.csdn.net/download/abc991835105/89087121 效果图 结果分析 展望 …

NSA发布《在数据支柱中推进零信任成熟度》报告

4月9日&#xff0c;美国国家安全局&#xff08;NSA&#xff09;发布了题为《在数据支柱中推进零信任成熟度》的报告&#xff0c;旨在于数据安全层面提供指导&#xff0c;以增强数据整体安全性并保护静态和传输中的数据。(如下图&#xff09; 一、主要内容 报告中的建议侧重于将…

flutter知识点---三棵树

在Flutter开发领域中&#xff0c;提到“三棵树”这个概念&#xff0c;通常是指构成Flutter UI构建体系的三个核心组件树&#xff1a;Widget树、Element树和RenderObject树。这三棵树相互关联、协同工作&#xff0c;共同构成了Flutter灵活、高效、高性能的UI渲染机制。下面分别对…

C#值传递和引用传递,ref和out关键字,装箱和拆箱

C#值传递和引用传递 1.值传递和引用传递 值传递&#xff1a;值传递时&#xff0c;系统首先为被调用方法的形参分配内存空间&#xff0c;并将实参的值按位置一一对应复制给形参&#xff0c;被调用方法中形参得任何改变都不会影响到相应的实参。 引用传递时&#xff1a;系统不是…

机器视觉各类光源特点

1. 环形光源 提供不同照射角度和颜色组合突出物体的三维信息高密度LED阵列&#xff0c;高亮度多种紧凑设计&#xff0c;节省安装空间解决对角照射阴影问题可选配漫射板导光&#xff0c;光线均匀扩散 2. 背光源系列 高密度LED阵列面提供高强度背光照明突出物体的外形轮廓特征…