@Bei-S
2020-09-11T22:16:02.000000Z
字数 3867
阅读 757
算法入门
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。
C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。——摘自百度百科
#include<bits/stdc++.h>//头文件,这里笔者使用了万能头文件,不同的头文件一般包含不同的库,而如果运行的程序中用到了相应的功能缺没其对应的库(头文件),会编译错误。例如:cin,cout必须调用iostream库,system()会调用cstdlib库
using namespace std;//在C语言中要省略,例如在VC++和TC++中
int main(){//一些C语言可用void main()
cout<<"Hello World!"<<endl;//输出“Hello World!”
system("pause");//暂停作用
return 0;//结束整个程序
}
优点如下:
1.在竞赛中节约时间
2.减少了编写所有必要头文件的工作量
3.对于使用的每个函数,不用记住GNU C++的所有STL
缺点如下:
1.不属于GNU C++库的标准头文件,在部分情况下可能会失败
2.使用它将包含许多不必要的东西,并增加编译时间
3.这个头文件不是C++标准的一部分,因此是不可移植的,应该避免
4.编译器每次编译翻译单元时都必须实际读取和分析每个包含的头文件,应该减少这类头文件的使用
1.以"//"开头为注释行,其后的内容用于对语句的说明,输入程序时可删去。
2.#include<iostream>
告诉编译器的预处理器将输入输出流的标准头文件(iostream)包括在本程序中。这个头文件包括了C++中定义的基本标准输入输出程序库的声明
3.using namespace std
使用std(标准)名字空间的意思。所谓的名字空间是标准C++中的一种机制,用来控制不同类库的冲突问题。使用它可以在不同的空间内使用相同名字的类或者函数
4.int main()
这一行为主函数(main function)的起始声明,main()是所有C++程序的运行的起始
点。不管它是在代码的开头,结尾还是中间,此函数中的代码总是在程序开始运行时第一个被执行。所有C十十程序都必须有一个main(),int main()前int在Dev C++中可省略。在
TC++和VC++中最好保留。
main 后面跟了一对圆括号(),表示它是一个函数。C++中所有函数都跟有一对圆括号(),括号中可以有一些输入参数。注意,圆括号中即使什么都没有也不能省略。如例题中
显示,主函数main()中的内容,由一对花括号{}括起来。
5.cout<<"Hello World!"<endl
这个语句在本程序中最重要。cout是一个输出语句,告诉计算机把引号之间的字符串
送到标准的输出设备(屏幕)上。cout的声明在头文件iostream中,所以要想使用 cout 必须将头文件 iostream包括在程序开始处。(笔者使用的bits/stdc++.h可以简单理解为包含所有头文件的一个头文件)endl是C++语言的换行控制符,表示内容输出后换行显示后续的内容。
6.system("pause")
在4.99以前版本的DevC++环境下,为了查看程序运行结果,需要在
main 函数的return 0 语句前加上:system("pause”);这样程序运行到该语句时,结果显示屏幕将会停留,让大家有时间看程序的输出结果,否则结果显示屏幕将会一闪而过。在4.99之后的版本可不必加该语句,运行结束后结果显示屏幕将自动停留。
7.return 0
主函数 main()的返回语句,一般是函数的最后一条可执行语句。main()函数末尾使用return 语句时,数值0表示程序顺利结束,其他数表示有异常。在后面的例子中你会看到C++程序都以类似的语句结束。
在C++中,语句的分隔是以分号“;”为分隔符的,分行写代码只是为了更方便人阅读。
Dev C++是一个可视化集成开发环境,可以用此软件实现C/C++程序的编辑、预处理/编
译/链接、运行和调试。现在介绍Dev C++常用的一些基本操作,每一位同学都要掌握。
1.双击Dev C++,启动Dev C++集成开发工具
2.新建源程序
(1)从主菜单选择"文件"->"新建"->"源代码"即可(也可使用快捷键Ctrl+N)
(2)此时屏幕右下侧出现一片白色区域,成为"源程序编辑区域";可以在此输入程序。
注意:必须在英文输入环境下编辑程序
3.保存源程序
一个好习惯是创建新程序后,在未输入代码前保存程序到硬盘某个目录下,然后编辑程序时经常保存程序,以防机器断电或者死机。保存程序时从主菜单选择"文件"->"保存"即可(也可用快捷键Ctrl+S)
4.编译、运行
编译:从主菜单选“运行”->“编译运行”或快捷键“F9”(如图1-7).如果程序中存在
词法,语法等错误,则编译过程失败。
编译器会在屏幕右下角的“Compile Log”标签页中显示错误信息,如图1-8所示,并且
将源程序相应的错误行标成红色底色。
编译器标签页中显示的错误信息是寻找错误原因的重要信息来源,每一位同学都要学
会看这些错误信息,并且每一次你碰到错误并且最终解决了错误时,要记录错误信息以及相应的解决方法。这样以后看到类似的错误提示信息,能熟练反映出是源程序哪里有问题,从而提高程序调试效率。在排除了程序中存在的词法、语法等错误后,编译成功,此时在源文件所在目录下将会出现一个同名的.exe可执行文件(如exl.exe).
5.调试程序
通过预处理、编译和链接的程序仅仅是该程序中没有词法和语法等错误,而无法发现程序深层次的问题(譬如算法不对导致结果不正确)。当程序运行出错时,需要找出错误原因。仔细读程序来寻找错误固然是一种方法,但是有时光靠读程序已经解决不了问题,此时需要借助于程序调试(Debug)手段。这是一种有效的排错手段,每一位同学都需要掌握。
(1)设置程序断点
调试的基本思想是让程序运行到你认为可能有错误的代码前,然后停下来。在人的控制下逐条语句地运行,通过在运行过程中查看相关变量的值,来判断错误产生的原因。如果想让程序运行到某一行前能暂停下来,就需要将该行设成断点。具体方法是在代码所在行行首单击,该行将被加亮。默认的加亮颜色是红色。如图所示,将c=a+b语句设成断点,则程序运行完cin语句后,将会暂停。需要说明的是,你可以在程序中根据需要设置多个断点。
如果想取消不让某行代码成为断点,则在代码行首再次点击即可。
(2)运行程序
设置断点后,此时程序运行进入Debug状态。要想运行程序,就不能使用主菜单“运行[R]"一>“运行[R]”,而是需要用主菜单“运行[R]”—>“调试[D]”(或者按快捷键F5)
程序将运行到第一个断点处,此时断点处加亮色由红色变成蓝色,表示接下去将运行蓝色底色的代码。
注意:有时你会发现即使设置了断点,点击了主菜单“运行[R]”一)“调试[D]”。程序还是不在断点处停留。解决方法:取消断点,重新编译程序,然后再设置断点,点击主菜单“运行[R]”一)“调试[D]”即可。
(3)设置 watch窗口
在调试程序时,可能要看程序运行过程中变量的值,以检测程序对变量的处理是否正确,可以在调试时通过调试菜单下的添加变量(Add Watch)窗口来增加变量 watch,新增的变量将会显示在最左边 Explore的 Debug 页中,如图所示。如果左边 Explore中的当前页不是 Debug页,则可以点击Debug标签使之成为当前页。
C++语言程序的结构如下:
(1)C++语言变量在使用之前必须先定义其数据类型,未经定义的变量不能使用。定
义变量类型的语句必须放在可执行语句前面。
(2)程序由一个或多个函数组成,一个程序中必须有且只有一个主函数,主函数的名字为main.不论main()函数在程序中什么位置,程序都是从main()函数开始执行。main()函数执行完毕,程序也就结束了。
(3)在程序中可以调用系统提供的库函数。在调用库函数之前,必须将相应头文件包含
在程序中。例如使用输出函数cout<<和输人函数cin>>.需要,将头文件iostream包含在程序中,编译预处理命令通常放在源程序或源文件的最前面。
(4)程序中可以有注释行。注释是为了使程序更易于理解和提示。在程序编译时,注释部分自动忽略。“//”表示行注释,在“//”之后的一行字符都是注释内容。C++语还有一种注释方式为“/*"和“*/",一对“/”和“*/”中间的内容都是注释内容。
(5)程序的语句以分号结束。分号是C++语言不可缺少的组成部分。从上述实例中可
以看出,每一条语句都以分号结束。但预处理命令、函数头和花括号“}”之后不加分号。
(6)程序的书写要注意适当的缩进,一般采用“逐层缩进”形式,以便使程序更加清晰易读。把处理问题的步骤编成能从上到下顺序执行的程序,是简单程序的基本特征。