第二章 程序的组成部分
2.1使用c++的原因
组成计算机程序的指令称为源代码
基于解释器的语言每次读取一行代码,并将指令进行转换
基于编译器的语言通过编译将程序转换为目标代码,这些代码存储在目标文件中。然后,由链接器将目标文件转换为可在操作系统上运行的可执行程序。
c++特点:快!
面向过程:程序被设计为一系列操作,这些操作对一组数据进行处理。
结构化编程主要思想:分而治之
面向对象:将数据和操作数据的过程视为一个对象:一个有身份和特征(即行为和方法)的独立实体。
c++全面支持面向对象编程(笑了,c++这个体量还有什么不能支持),包括面向对象开发的三个支柱概念:封装、继承和多态。
2.2程序的组成部分
对于第一章中的示例代码:
程序清单2.1 Motto.cpp
#include<iostream>
int main()
{
std::cout<<"Solidum petit in profundis!\n";
return 0;
}
第一行,#指出这一行是一个将由预处理器处理的命令,编译指令#include
告诉预处理器,将指定文件的全部内容加到指定位置。文件名iostream
前后的<>告诉预处理器,前往一组标准位置(也就是标准函数库)寻找该文件(也可使用#include"iostream"
,但是这样是告诉预处理器先从当前目录寻找该头文件,找不到再到标准位置寻找)
也就是在第一行,将插入找到的iostream(实际上文件全名为iostream.h)的全部内容,为标准输入输出流头文件。
第二行,则是main()函数,每个c++程序(此处是程序而不是文件)都包含一个main()函数,程序运行时自动调用main()函数。int为函数返回类型,()为参数列表,{}为函数体。
函数体内,第一行则使用cout命令进行消息输出,而std::则是指定名称空间对其进行限定,告诉编译器,此处使用标准输入输出库。<<为输出重定向符,后接字符串"Solidum petit in profundis!\n"
,\n
为换行符,不多说。第二行为对应之前指出的函数返回值int,此处则返回0,当然,此处的返回值0自然是返回给操作系统的,通常main()返回值为0表示程序运行成功,返回其他数字则是表示出现了某种故障。
2.3注释
//这是单行注释
/*
这是多行注释第一行
这是多行注释第二行
*/
这是没有注释会报错
2.4函数
即:
返回值类型 函数名 (形式参数列表)
{函数体}
例如:
int add(int x,int y){
//add this numbers x and y together and return the sum
std::cout<<"Running Caculator ...\n";
return (x + y);
}
程序清单2.2 Caculator.cpp
#include<iostream>
int add(int x,int y)
{
//add this numbers x and y together and return the sum
std::cout<<"Running Caculator ...\n";
return (x + y);
}
int main()
{
std::cout<<"what is 867 +5309?\n";
std::cout<<"the sum is: "<<add(867,5309)<<"\n\n";
std::cout<<"what is 777 +9311?\n";
std::cout<<"the sum is: "<<add(777,9311)<<"\n";
return 0;
}
实参与形参
实参是传递给函数的信息(你可以理解为传递过去的数据),形参是函数收到的信息。调用函数时,提供的是实参,而函数内部,收到的实参值存储在形参中。