C++从入门到精通(第四版)第一章要点总结

绪论

C++历史背景

1946年,第一台电子管计算机ENIAC在美国被研制出来,计算机从此进入了电子计算机时代 。
早期的计算机程序语言就是计算机控制指令,每条指令就是一组二进制数,不同的计算机都有不同的计算机指令集。
以字符串关键字代替二进制机器码的编程语言称为汇编语言,汇编语言被称为是低级语言。
第一个高级语言是美国尤尼法克公司在1952年研制成功的Short Code,但被广泛使用的高级语言是FORTRAN
Pascal和C语言
C++语言就是从C语言发展过来的

常用开发环境

Visual C++

Visual C++6.0是由微软开发的C++开发环境,它是Visual Studio集成开发环境中的一员。Visual C++6.0可以创建Windows应用程序、DLL动态链接库、COM组件以及ActiovX控件等。
Visual C++2017是微软继Visual C++6.0之后新设计的集成开发环境,它更加支持C++标准规范,而且还支持托管程序的编译和WebService。应该说Visual C++20017更加强大,无论是功能上还是编译速率上都有很大提高。

GCC/G++

Linux系统中一般都会带有C/C++的编译器,能够编译C代码的是GCC,够编译C++代码的是G++
有界面的Linux系统下,系统都会提供可视化的文本编辑器,其中比较有名的就是emacs,因为emacs集成了编译代码的菜单,通过emacs可以直接编写代码并编辑,并且可以直接执行编译后的程序。

Dev-C

Dev-C是将Linux系统的GCC/G++移到Windows系统后的产物,具体来讲,编译代码的程序是GCC.exe和G++.exe,这两个程序属于开源项目mingw,Dev-C只是能够调用GCC.exe和G++.exe来编译程序的代码编辑器。

Eclipse

Eclipse是IBM开发的、早期用来编写Java代码的编辑器,但由于CDT插件的出现,使Eclipse也可以用来编写C/C++代码,同Dev-C一样,Eclipse也使用开源项目下的GCC.exe和G++.exe来编译代码,所以在使用Eclipse前一定要注意设置好相关路径。

认知C++代码

#define options 1//宏定义
#ifdef options
#include<iostream.h>
/***************************************/
/*        Sample.cpp               注释*/
/*                                     */
/***************************************/
int ShowMessage();//函数声明
int main(int argc,char* argv[]){
    
    //主函数
	int iResult;
	iResukt = ShowMessage();//自定义函数ShowMessage
	if(iResult<0){
    
    
		cout << "ShowMessage Error" << endl;
	}
	int ShowMessage(){
    
    //自定义函数
		try{
    
    
			cout << "Hello World!" << endl;
			return 0;
		}
		catch(...){
    
    //捕捉错误代码
			cout << "throw exception" <<endl;
			throw "error occurred";
		}
	}
	#endif//预编译指令
}

C++工程项目文件

Windows操作系统主要是用来管理数据的,而数据是以文件的形式存储在磁盘上的。文件可以通过扩展名来区分不同的类型,C++的代码文件就有两种类型,一种是源文件,一种是头文件头文件中添加的是定义和声明函数部分,源文件中则是在头文件中定义函数的实现部分;源文件主要以cpp为扩展名,而头文件主要以h为扩展名。有的开发环境可能使用cxx、cHH来作为源文件的扩展名。

Dev-C

main.cpp:源文件。
Sample.dev:工程文件。
Makefile.win:make程序执行时使用的文件,用于自动编译源代码文件。
main.o:编译后的目标文件。
Sample.exe:连接后生成的程序。

VC

Debug:存储编译后程序文件夹,带有调试信息的程序。
Release:存储编译后程序文件夹,最终程序。
Sample.cpp:源文件。
Sample.dsp:VC的工程文件。
Sample.dsw:VC的工作空间文件。
Sample.ncb:VC的用于声明的数据库文件。
Sample.opt:VC存储用户选项的文件。
StdAfx.cpp:向导生成的标准源文件,代码中涉及MFC类库内容时使用该文件。
StdAfx.h:向导生成的标准头文件。

Eclipse

.cproject:Eclipse工程相关信息文件。
.project:Eclipse工程文件。
Makefile:make程序执行时使用的文件,用于自动编译源代码文件。
Sample.cpp:源文件。
Sample.exe:连接后生成的程序。
Sample.o:编译后的目标文件。

编译与链接过程

编辑就是在文本编辑器中输入代码,并对代码字符进行增、删、改,然后将输入的内容保存成文件。
编译就是将代码文件编译成目标文件。编译过程就是将Sample.cpp编译成Sample.obj。
连接就是将编译后的目标文件连接成可执行的应用程序。如将Sample.obj和lib库文件连接成Sample.exe可执行程序。lib库是编译好的提供给用户使用的目标模块,在有多个源文件的工程,例如Sample1.cpp、Sample2.cpp、Sample3.cpp,会编译成多个目标模块Sample1.obj、Sample2.obj、Sample3.obj,链接器会将程序所涉及的目标模块连接成可执行程序。
执行就是执行生成的应用程序。VC开发环境下集成了运行按钮,单击运行按钮后开发环境自动执行生成的程序。

C++特点

C++语言的运算符十分丰富,共有30多个,有算术、关系、逻辑、位、赋值、指针、条件、逗号、下标、类型转换等多种类型。
C++语言的数据结构多样,有整型、实型、字符型、枚举类型等基本类型,有数组、结构体、共用体等构造类型以及指针类型,还为用户提供了自定义数据类型,能够实现复杂的数据结构,还可以定义类实现面向对象编程,类和指针结合可以实现高效的程序。
C++语言的控制语句形式多样、使用方便。有两路分支、多路分支和虚幻结构几种控制语句,便于结构化模块的实现和控制,结合面向对象编程便于程序的编制和维护。
C++语言是一种面向对象的程序设计语言,采用抽象和实际相结合,各对象间使用消息进行通信,对象通过继承方法增加了代码的复用。
C++语言继承了C语言的特性,可以直接访问地址,进行位运算,从而能对硬件进行操作。C++语句具有编写简单方便、便于理解的优点,还具有低级语言的与硬件结合紧密的优点。
C++语句具有很强的移植性,用C++编写的程序基本不用太多修改就可以用于不同型号的计算机上,C++标准可在多种操作系统下使用

小结

任何编程语言都有它的时代性,都是不断发展的,C++现在是一个成熟的语言,首先要理解C++大师新的编程理念,然后选择自己喜欢的开发环境,可以选择微软的Visual C++,还可以选择Dev-C和Eclipse。

猜你喜欢

转载自blog.csdn.net/qq_44005101/article/details/112766853