C++基础教程

news2024/11/28 4:03:34

目录

一.简介

二.基本语法

三. 面向对象

四.总结

一.简介

        C++ 是一种高级语言,它是由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言。C++ 可运行于多种平台上,如 Windows、MAC 操作系统以及 UNIX 的各种版本。

以下是关于 C++基础的简介:

C++是一种高级编程语言,具有强大的功能和广泛的应用。

在 C++基础部分,主要包括以下关键方面:

数据类型,如整型、浮点型、字符型等,用于表示不同种类的数据。

变量,用于存储和操作数据。

控制结构,如条件语句(if-else)、循环(for、while 等),用于控制程序的流程和执行顺序。

函数,将一段具有特定功能的代码进行封装,方便重复调用和代码组织。

数组,可以存储多个相同类型的数据元素。

指针,提供了一种直接操作内存地址的方式。

运算符,包括算术运算符、逻辑运算符、关系运算符等,用于执行各种运算操作。

此外,C++基础还可能涉及到一些基本的编程概念和原则,如代码的可读性、可维护性等。

掌握这些 C++基础内容是进一步深入学习和应用 C++的重要前提,它们为构建复杂的程序和系统提供了坚实的基础。无论是开发软件、编写算法,还是进行系统编程等领域,C++基础都发挥着关键的作用。

        编辑器用的vs2022,注意符号为英文模式。(PS:记得上学的时候学的时候,还需要输入专门的语句,防止窗口一闪而过。)

二.基本语法

        

//单行注释

/*
多行
注释
*/


#include<iostream> //头文件(编译的时候会把isotream文件的内容复制到这里)

using namespace std; //using 编译指令 (不使用这条语句,下面的 cout 要写成 std::cout)

namespace test { //命名空间,用来区分不同命名空间下,相同的名字(函数名,变量名)。

	bool a = true;//布尔类型  true false

	char b = 'b';// 字符串类型

	int c = 1; //整型

	float d = 1.0; //浮点型  

	double e = 1.00;//双浮点型

	const int f = 1;//const 常量 不可更改

	void Operation(int a, int b); //声明

	int main() 
	{     //函数名    //运行程序时 通常 从 main函数 开始执行
		
		cout << "Hello World" << endl;

		Operation(c,c); //调用函数Operation

		return 0; //返回语句
	}

	void Operation(int a , int b) // void 标识返回值类型 (int 表示 返回一个整数 )     a, b 类型为 整数的参数
	{   
	
		/*
		    先测试,传入的为 2  , 1
		
			a + b =3 
		    a - b =1
			a * b =2
			a / b = 2
			a % b = 0 //取余数

			a++ 3  // a++ 是先取a的值然后a在加1   ++a 是a先加1在取a的值
			a-- 1
		
		
		*/
	

	}

	void IfFun() //if 判断语句使用
	{
		int i = 0;
		// if
		if ( i < 5) 
		{
			//true;
		}
		else
		{
			//false
		}
		// else if
		if (i < 5)
		{
			//true;
		}
		else if (i > 5)
		{
			//false
		}
		else
		{
			//false
		}
	}

	void SwitchFun()  //switch 实例
	{
		int a = 1;

		switch (a)
		{
		case 0 :
			// 执行相关操作
			break;
		case 1:
			// 执行相关操作
			break;
		default:
			break;
		}
	}

	void ForFun()  // For 循环
	{ 
		for (size_t i = 0; i < 2; i++)
		{
			//执行
		}
	}void WhileFun()  // For 循环
	{
		int a = 0;
		// while 使用
		while (a<20)
		{
			a++;
		}
		// do while 使用
		do
		{
			a++;
		} while (a < 20);
	}
}

//结构
struct MyStruct
{
	int age; 
	double price;
};
//枚举
enum MyEnum
{
	one,    // one默认为0
	two = 5,// two指定为 5
	three   // three比前一个加1  three 为6
	
};

三. 面向对象

         1.类和对象



#include<iostream> //头文件(编译的时候会把isotream文件的内容复制到这里)

using namespace std; //using 编译指令 (不使用这条语句,下面的 cout 要写成 std::cout)

class Animal { // 类

   public:     //权限 public 公开   private 私有
	   string name;
	   void Run( ) {
		   //执行
		   cout << name << " Run" << endl;
	   }

};

	int main() 
	{    
		Animal cat;  //对象
		cat.name = "小猫";
		cat.Run();
	}


2.继承



#include<iostream> //头文件(编译的时候会把isotream文件的内容复制到这里)

using namespace std; //using 编译指令 (不使用这条语句,下面的 cout 要写成 std::cout)

class Animal { // 类

   public:     //权限 public 公开   private 私有
	   string name;
	   void Run( ) {
		   //执行
		   cout << name << " Run" << endl;
	   }

};

class Dog : public Animal {
	//以继承基类Animal的 public 的 属性 和 函数
};

	int main() 
	{    
		Dog dat;  //对象
		dat.name = "小狗";
		dat.Run();
	}


3.重载



#include<iostream> //头文件(编译的时候会把isotream文件的内容复制到这里)

using namespace std; //using 编译指令 (不使用这条语句,下面的 cout 要写成 std::cout)

void SetTest(double a);
void SetTest(int a);
void SetTest(char a);


	int main() 
	{    
		SetTest(1.00);
		SetTest(1);
		SetTest('c');
	}

	void SetTest(double a) { // 1
		cout << "我是1" << endl;
	}
	void SetTest(int a ) { // 2
		cout << "我是2" << endl;
	}
	void SetTest(char a) { // 3
		cout << "我是3" << endl;
	}


4.多态



#include<iostream> //头文件(编译的时候会把isotream文件的内容复制到这里)

using namespace std; //using 编译指令 (不使用这条语句,下面的 cout 要写成 std::cout)

class Animal {
public:
	virtual void Run() {
		cout << "我是动物" << endl;
	}
};

class Dog : public Animal {
public:
	virtual void Run (){
		cout << "我是小狗" << endl;
	}
};



	int main() 
	{    
		Animal* dog = new Dog();
		dog->Run();
	}




四.总结

以下是对 C++基础的总结:

C++基础涵盖众多重要方面:

数据类型:包括整型、浮点型、字符型等,确定数据的表现形式。

变量:用于存储和操作具体数据。

控制结构:如条件语句决定程序分支,循环实现重复执行。

函数:代码模块,便于复用和组织。

数组:能存储多个同类型元素。

指针:可直接操作内存地址,增加灵活性。

运算符:执行各类计算和逻辑操作。

通过这些基础知识,学习者能够构建简单程序,理解程序的基本运行逻辑和结构。为深入学习面向对象编程、高级特性等打下坚实基础。是 C++学习中不可或缺的重要部分,对后续开发复杂系统和应用具有关键意义。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1804687.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

梯度下降: 02. 批量梯度下降BGD,随机梯度下降SGD,小批量梯度下降MBGD

简介 本文从原理上介绍了三种梯度下降的方法,相同点,异同点,优缺点。 内容包含了数学公式的推导与说明 1. 梯度下降的3种方法 梯度下降分三类,原理基本相同,操作方式略有区别 批量梯度下降BGD(BatchGradient Descent):使用全量数据进行特征抽取,模型训练小批量梯度下降…

【C++题解】1265. 爱因斯坦的数学题

问题&#xff1a;1265. 爱因斯坦的数学题 类型&#xff1a;简单循环 题目描述&#xff1a; 爱因斯坦出了一道这样的数学题&#xff1a;有一条长阶梯&#xff0c;若每步跨 2 阶&#xff0c;则最最后剩一阶&#xff0c;若每步跨 3 阶&#xff0c;则最后剩 2 阶&#xff0c;若每…

webapi跨越问题

由于浏览器存在同源策略&#xff0c;为了防止 钓鱼问题&#xff0c;浏览器直接请求才不会有跨越的问题 浏览器要求JavaScript或Cookie只能访问同域下的内容 浏览器也是一个应用程序&#xff0c;有很多限制&#xff0c;不能访问和使用电脑信息&#xff08;获取cpu、硬盘等&#…

JWT 从入门到精通

什么是 JWT JSON Web Token&#xff08;JWT&#xff09;是目前最流行的跨域身份验证解决方案 JSON Web Token Introduction - jwt.ioLearn about JSON Web Tokens, what are they, how they work, when and why you should use them.https://jwt.io/introduction 一、常见会…

Kimichat使用案例010:快速识别出图片中的表格保存到Excel

文章目录 一、介绍二、图片信息三、输入内容四、输出内容五、markdown提示词六、markdown输出一、介绍 如果有一张图片格式的表格,想要快速复制到Excel表格中,那么一般要借助于OCR工具。之前试过不少在线OCR工具,识别效果差强人意。其实,kimichat就可以非常好的完成这个任务…

王学岗鸿蒙开发(北向)——————(四、五、六)ArkUi声明式组件

普通组件 1,注意&#xff0c;如上图&#xff0c;build只能有一个根节点 2,Entry表示程序的入口 Component表示自定义的组件 Preview表示可以预览 3&#xff0c;图片存放的地方 4&#xff0c; Image组件最好只给宽度&#xff0c;给了高度又给宽度容易失真。 build() {Row() {/…

Scanpy(3)单细胞数据分析常规流程

单细胞数据分析常规流程 面对高效快速的要求上,使用R分析数据越来越困难,转战Python分析,我们通过scanpy官网去学习如何分析单细胞下游常规分析。 数据3k PBMC来自健康的志愿者,可从10x Genomics免费获得。在linux系统上,可以取消注释并运行以下操作来下载和解压缩数据。…

【Python机器学习】PCA——特征提取(2)

上一篇写过了用单一最近邻分类器训练后的精度只有0.22. 现在用PCA。想要度量人脸的相似度&#xff0c;计算原始像素空间中的距离是一种相当糟糕的方法。用像素表示来比较两张图像时&#xff0c;我们比较的是每个像素的灰度值与另一张图像对应位置的像素灰度值。这种表示与人们…

IDEA下项目发送到Gitee

一、首先在Gitee创建一个仓库&#xff08;什么都不选&#xff0c;这是最简单的方式&#xff0c;否则需要 pull push等一些操作&#xff0c;我嫌麻烦&#xff09; 二、按图点击&#xff08;创建存储区&#xff0c;选择你要上传的项目&#xff09; 三、按图点击后正常文件名会变绿…

信息安全与密码技术概述

1. 信息安全的法律法规 2016年11月7日&#xff0c;中华人民共和国第十二届全国人民代表大会常务委员会第二十四次会议通过《中华人民共和国网络安全法》&#xff0c;自2017年6月1日起施行。 2019年10月26日&#xff0c;中华人民共和国第十三届全国人民代表大会常务委员会第十四…

Ubuntu虚拟机使用纯命令行对根分区进行扩展

Ubuntu虚拟机使用纯命令行对根分区进行扩展 前排提示 因为Ubuntu再安装时&#xff0c;根分区是没有使用LVM进行磁盘管理的&#xff0c;所以如果想扩展根分区&#xff0c;我们不得不使用另外一种暴力的方法。简单来说就是利用fdisk删除原来的根分区再基于原来的起始块号重新建…

PHP超详细安装及应用

目录 所需安装包如下 一、PHP安装 依赖包安装 安装扩展工具&#xff08;先将PHP所需的软件包全部拖进centos根目录下&#xff09; 安装libmcrypt 安装mhash 安装mcrypt 安装PHP 二、设置LAMP组件环境&#xff08;要保证mysql、http都安装完成了&#xff09; Php.ini的建…

MySQL常用的库操作、表操作、INSERT、DELETE

库操作 查询数据库&#xff1a; show databases&#xff1b; 创建数据库&#xff1a; create database chat&#xff1b; 删除数据库&#xff1a; drop database chat&#xff1b; 选择数据库&#xff1a; use chat&#xff1b; 表操作 查询表&#xff1a; show tables&am…

数据库同步软件PanguSync常见错误解决方法

​​​​​​在部署PanguSync数据库同步软件的过程中&#xff0c;常常会遇见一些错误提示&#xff0c;某些老铁可能会一脸懵逼&#xff0c;本文对一些常见的错误信息进行了总结&#xff0c;并提供了解决方法。 1.")"附近有语法错误 该问题是由于源表未设置主键&…

中国现代书法第一人颜廷利:全球知名哲学家思想家教育家

在人生的旅途中&#xff0c;如果一个人的所有追求仅仅是为了满足自己的需求和欲望&#xff0c;而非出于善意、行善或造福他人&#xff0c;那么无论其遭受了多少苦难&#xff0c;这样的生活是难以赢得他人的同情或怜悯的。这是东方哲学家、科学家颜廷利教授在其著作《升命学说》…

如何借助ChatGPT写文献综述?从文献搜索到综述生成,顶级高效指令值得收藏

欢迎关注EssayBot&#xff0c;为大家带来最酷最有效的智能AI学术科研写作攻略。关于使用ChatGPT等AI工具的相关问题可以添加作者七哥沟通 在学术研究的过程中&#xff0c;文献综述是学术论文的核心组成部分&#xff0c;其主要目的在于对特定问题的先行研究成果进行总结和梳理&a…

往前冲,

最近换了个手机&#xff0c;原因是之前的手机存储空间一直不够&#xff0c;隔一段时间就提醒我删除东西&#xff0c;刚好那天去三诺出差&#xff0c;那边有一个工程师给我推荐了红米手机Turbo3&#xff0c;存储直接干到了1T。 第二天&#xff0c;就下定决心要换手机&#xff0c…

哈希表与哈希扩容

一&#xff0c;哈希表 哈希表简单的理解&#xff1a;在记录的存储位置和它的关键字之间建立一个确定的对应关系f&#xff0c;使每个关键字和结构中一个唯一的存储位置相对应。 哈希表基于数组的&#xff0c;正因为数组创建后难于扩展某些哈希表被基本填满时&#xff0c;性能下…

【SQLAlChemy】怎么进行简单的增删改查,CRUD操作是什么?

CRUD 所有的 CRUD 操作&#xff0c;必须在 session 的前提下进行。 构建 session 对象(实例) 所有和数据库的 ORM 操作都必须通过一个叫做 session 的会话对象来实现。 from sqlalchemy.orm import sessionmaker# 构建 session 对象 # engine 为之前创建的数据库连接引擎 s…

透视亚马逊云科技中国峰会:生成式AI全面提速,加速行业应用落地

导读&#xff1a;亚马逊云科技在中国&#xff0c;生成式AI与行业化战略齐头并进。 “亚马逊云科技致力于成为企业构建和应用生成式AI的首选。” 近日2024亚马逊云科技中国峰会上&#xff0c;亚马逊全球副总裁、亚马逊云科技大中华区总裁储瑞松分享了亚马逊云科技中国业务最新进…