【C++程序设计】——C++的初步认识

在这里插入图片描述


👨‍💻个人主页@开发者-削好皮的Pineapple!

👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 削好皮的Pineapple! 原创

👨‍💻 收录于专栏C++程序设计


请添加图片描述

请添加图片描述


前言

  1. C++的起源和发展
    C++最初由Bjarne Stroustrup在20世纪80年代初开发,作为C语言的一个扩展,旨在增强C语言的功能和灵活性。它通过引入类和对象的概念,使得程序员可以更轻松地组织和管理代码。

  2. 面向对象编程(OOP)的特性
    在C++中,面向对象编程是一个重要的概念。它基于类和对象的概念,允许开发者将数据和操作封装在一起,从而更好地模拟现实世界的问题。关键的OOP特性包括封装、继承和多态。

封装(Encapsulation):通过将数据(变量)和方法(函数)组合在类中,并限制对类的直接访问,来实现封装。这种方式可以隐藏实现细节,并提高代码的安全性和可维护性。

继承(Inheritance):允许一个类(子类/派生类)从另一个类(父类/基类)继承属性和方法。这种机制支持代码重用和层次结构的构建。

多态(Polymorphism):允许以统一的方式处理不同的数据类型或对象。通过多态,可以使用相同的函数接口处理不同类型的数据或对象,从而增加了代码的灵活性和可扩展性。

  1. C++的泛型编程
    除了OOP,C++还支持泛型编程,这是通过模板实现的。模板允许开发者编写通用的数据类型或函数,从而增强了代码的通用性和灵活性。例如,STL(标准模板库)中的容器和算法都是通过模板实现的,可以用于各种不同类型的数据。

  2. C++的标准库和STL
    C++标准库提供了丰富的功能和数据结构,包括输入输出、字符串处理、容器(如向量、列表、映射等)、算法(如排序、搜索等)等。STL(标准模板库)是C++标准库的一部分,提供了通用的模板类和函数,可以大大简化编程任务。

  3. C++的应用领域
    由于其灵活性和高效性,C++被广泛应用于系统/应用程序开发、游戏开发、嵌入式系统、高性能计算、图形图像处理等领域。


🎶一、最简单的C++程序


(1)输入一行字符"This is the first C++ program!"

编写程序:

#include<iostream>
using namespace std;
int main(){
	cout<<"This is the first C++ program!"; 
	return 0;
} 

运行结果:
在这里插入图片描述
程序分析:

先看程序中的第3行,其中用main代表“主函数”的名字。每一个C++程序都必须有一个main 函数。main 前面的int 的作用是声明函数的类型为整型(标准C共规定main 函数必须声明为int 型,即此主函数返回一个整型的函数值)。程序第6行(retum 0;)的作用是间操作系统返回一个零值。如果程序不能正常执行,则会自动向操作系统返回一个非零值,一般为-1。
函数体是由大括号!(括起来的。本例中主函数内有一个以cout开头的语句。cout 是由c和out 两个单词组成,顾名思义,它是C++用于输出的语句。cout实际上是C++系统定义的对象名,称为输出流对象。在没有学习对象和输出流对象以前,为了便于理解和使用,我们把用“cout”和“<<”实现输出的语句简称为cout语句。“<<”是“插入运算符”,与cout 配合使用,在本例中它的作用是将运算符“<<”右侧双撇号内的字符串"This is a C++program."插入到输出的队列cout中(输出的队列也称作“输出流”),C++系统将输出流cout的内容输出到系统指定的设备(一般为显示器)中。注意C++所有语句最后都应当有一个分号。再看程序的第1行“#include ”,这不是C++的语甸,而是C++的一个预处理指令它以“#”开头以与C++语句相区别,行的末尾没有分号。“#include ”是一个“包含指令”,它的作用是将文件“iostream”的内容包含到该命令所在的程序文件中,代替该指令。文件iostream的作用是向程序提供输入或输出时所需要的一些信息。iostream 是i-o-stream3个词的组合,从它的形式就可以知道它代表“输入输出流”的意思,由于这类文件都放在程序单元的开头,所以称为“头文件”(header file)。在程序进行编译时,先对所有的预处理命令进行处理,将头文件的具体内容代替#include 指令,然后再对该程序单元进行整体编译。
程序的第2行“using namespace std;”的意思是“使用命名空间std”。C++标准库中的类和函数是在命名空间std中声明的,因此程序中如果需要用到C++标准库(此时需要用#include指令),就需要用“using namespace std;”作声明,表示要用到命名空间std中的内容。
初学C++时,对本程序中的第1,2行可以不必深究,只须知道:如果程序有输入或输出时,必须使用“#include ”指令以提供必要的信息,同时要用“using namespace std;”使程序能够使用这些信息,否则程序编译时将出错。

(2)求a和b两个数的和。

#include<iostream>
using namespace std;
int main() {
	int a, b, sum;
	cin >> a >> b;
	sum = a + b;
	cout << "a+b=" << sum << endl;
	return 0;
}

运行结果:
在这里插入图片描述程序分析:

本程序的作用是求两个整数a和b之和sum。第5行是声明部分,定义变量a,b和sum为整型(int)变量。第6行是输入语句,cin是c和in两单词的组合,与cout类似,cin是C++系统定义的输入流对象。“>>”是“提取运算符”,与cin配合使用,其作用是从输入设备中(如键盘)提取数据送到输人流cin中。我们把用cin和“>>”实现输入的语句简称为cin语句。在执行程序中的cin语句时,从键盘输入的第1个数据赋给整型变量a,输入的第2个数据赋给整型变量b。第7行将a+b的值赋给整型变量sum。第9行先输出字符串“a+b=”,然后输出变量sum的值,cout语句中的endl是C++输出时的控制符,作用是换行(endl是end line的缩写,表示本行结束)。因此在输出变量sum的值之后换行。

(3)给两个数x和y,求两个数中的大者。

#include<iostream>
using namespace std;
int max(int x, int y) {
	int z;
	if (x > y) z = x;
	else z = y;
	return (z);
}
int main() {
	int a, b, m;
	cin >> a >> b ;
	m = max(a, b);
	cout << "max=" << m << '\n';
	return 0;
}

运行结果:
在这里插入图片描述
程序分析:

本程序包括两个函数:主函数main 和被调用的函数max。程序中第3~8行是max函数,它的作用是将x和y中较大者的值赋给变量z。return语句将z的值返回给主调函数main返回值是通过函数名max带回到main函数的调用处。主函数中cin语句的作用是输入a和b的值。main 函数中第4行为调用max函数,在调用时将实际参数a和b的值分别传送给max 函数中的形式参数x和y。经过执行max函数得到一个返回值(即max函数中变量z的值),把这个值赋给变量m。然后通过cout语句输出m的值。


🎶二、 C++程序的构成和书写形式


从上面几个例子中,已经初步了解了C++程序的结构和书写格式,现在再归纳如下:
(1)一个C++程序可以由一个程序单位或多个程序单位构成。每一个程序单位作为一个文件。在程序编译时,编译系统分别对各个文件进行编译,因此,一个文件是一个编译单位以上例子是比较简单的程序,都是只由一个程序单位(即一个文件)构成的。
(2)在一个程序单位中,可以包括以下3个部分:
①预处理指令。以上程序中都包括#include指令。
②全局声明部分(在函数外的声明部分)。在这部分中包括对用户自己定义的数据类型的声明和程序中所用到的变量的定义。例如第三个例子的程序中主函数内对max函数的声明。
③函数。函数是实现操作的部分,因此函数是程序中必须有的和最基本的组成部分。每一个程序必须包括一个或多个函数,其中必须有一个(而且只能有一个)主函数(main函数)。
但是并不要求每一个程序文件都必须全部具有以上3个部分,可以缺少某些部分(包括函数)。也就是说,有的程序文件可以不包括函数,而只包括预处理命令和(或)声明部分。完全根据需要而定。这一点在以后的学习中会逐步体会到的。
(3)一个函数由两部分组成。
①函数首部,即函数的第一行。包括函数名、函数类型、函数属性、函数参数(形参)名、参数类型。
例如第三个例子:
在这里插入图片描述

一个函数名后面必须跟一对圆括号,函数参数可以缺省,如int main()。
②函数体,即函数首部下面的大括号内的部分。如果在一个函数中有多个大括号,则最外层的一对{ }为函数体的范围。
函数体一般包括:
·局部声明部分(在函数内的声明部分)。包括对本函数中所用到的类型、函数的声明和变量的定义。
对数据的声明既可以放在函数之外(其作用范围是全局的),也可以放在函数内(其作用范围是局部的,只在本函数内有效),这些在以后会介绍的。
·执行部分。由若干个执行语句组成,用来进行有关的操作,以实现函数的功能。当然,在某些情况下也可以没有声明部分。甚至可以既无声明部分,也无执行部分。如void dump(){}是一个空函数,什么也不做,但它是合法的。
(4)语句包括两类。一类是声明语句,如“inta,b;”,用来向编译系统通知某些信息(如类型、函数和变量的声明或定义),但它并不引起实际的操作,是非执行语句。另一类是执行语句,用来实现用户指定的操作。C++对每一种语句赋予一种特定的功能。语句是实现操作的基本成分,显然,没有语句的函数是没有意义的。C++语句必须以分号结束,如“c=a+b;”,分号是语句的一个组成部分,没有分号的就不是语句。
(5)一个C++程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何(main函数可以放在程序文件的最前头,也可以放在程序文件的最后,或在一些函数之前,在另一些函数之后)。
(6)类(class)是C++新增加的重要的数据类型,是C++对C的最重要的发展。有了类,就可以实现面向对象程序设计方法中的封装、信息隐蔽、继承、派生、多态等功能。在一个类中可以包括数据成员和成员函数,它们可以被指定为私言的(private)和公用的(public)属性。私有的数据成员和成员函数只能被本类的成员函数所调用。
(7)C++程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。一般情况下,提倡一行写一个语句,以使程序清晰。
(8)一个好的、有使用价值的源程序都应当加上必要的注释,以增加程序的可读性。在第1.3节的程序中用“//”作为注释行的标志,在一行中从“//”开始到本行末的内容全部作为注释。注释是写给人看的,而不是给机器看的,在程序编译和运行时不起作用。C++还保留了C语言的注释形式,可以用“/……/”对C++程序中的任何部分作注释。在“/”和“/”之间的全部内容作为注释。以下两行注释的作用相同:
// This is a C++ program.
/This is a C++ program./
但是,用“//”作注释时,有效范围只有一行,即本行有效,不能跨行。如果注释的内容较多,需要用多个注释行,每行用一个“//”开头。而用“/……/”作注释时有效范围为多行。只要在开始处有一个“/”,在最后一行结束处有一个“/”即可。因此,内容较少的简单注释常用“//”,内容较长的可以用“/……/”。

结束语🥇

以上就是C++程序设计
持续更新PHP程序设计教程,欢迎大家订阅系列专栏🔥C++程序设计你们的支持
请添加图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值