第1讲——用C++写一个程序
一、学习新知识
在学习C++之前学过C语言了,一些基础的就不bb了,进入正题。
来几个小程序练练手:
【程序1】
#include <iostream> //头文件 using namespace std; //名称空间 int main() { cout<<"Hello World!"<<endl; return 0; //返回语句 }
【C++预处理器】
C++程序要使用C++输入或输出工具,就需要提供"#include <iostream>"和"using namespace std;"这两行代码。
C++和C一样,也使用一个预处理器,该程序在进行主编译之前对源文件进行处理。
例如,这有一种预处理器,它处理名称以#开头的编译指令。我们不必执行任何操作来调用该处理器,它会在编译程序时自动运行。
如程序1中的编译指令“#include <iostream>”,它导致处理器将iostream文件的内容添加到程序中。这还是一种典型的预处理操作:在源代码被编译之前,替换或添加文本。
我们会想:为何要将iostream文件的内容添加到程序中呢?
答案涉及程序与外部世界之间的通信。iostream中的io指的是输入(进入程序的信息)和输出(从程序中发送出去的信息)。C++的输入/输出方案涉及iostream文件中的多个定义。为了使用cout来显示消息,第一个程序需要这些定义。#include编译指令导致iostream文件的内容随源代码文件的内容一起被发送给编译器。实际上,iostream文件的内容将取代程序中的代码行#include <iostream>。原始文件没有被修改,而是将源代码文件和iostream组合成一个复合文件,编译的下一阶段将使用该文件。
【头文件名】
头文件——iostream——被包含在文件起始处
【名称空间】
名称空间编译指令——using namespace std;
也叫using编译指令
具体现在不必知道(可参见书P17)
上面的程序只有输出,没意思。。我要输入!我要输入!我要输入!
【程序2】
#include <iostream> //头文件 using namespace std; //名称空间 int main() { int apple; cin>>apple; //输入 cout<<apple<<endl; return 0; //返回语句 }
【使用cin】
语句"cin>>apple;"表示信息从cin流向carrots。C++将输出看作是流出程序的字符流一样,它也将输入看作是流入程序的字符流。iostream文件将cin定义为一个表示这种流的对象,输出时,<<运算符将字符串插入到输出流中;输入时,cin使用>>运算符从输入流中抽取字符。(符号<<和>>被选择用来指示信息流的方向)
我还要学习自定义的函数嘞!!
【程序3】
#include <iostream> using namespace std; int myFunction(int); //函数原型声明 int main() { int apple; cin>>apple; int ouo = myFunction(apple); //调用函数myFunction cout<<apple<<endl; return 0; } int myFunction(int a) //形式参数a { int ans = a * 2; return ans; }
函数原型描述了函数接口,即函数如何与程序的其他部分交互。
二、温故而知新
1. 预处理器编译指令“include <iostream>”是做什么用的?
在最终的编译之前,使用iostream文件的内容替换该编译指令。
2. 语句"using namespace std;"是做什么用的?
它使得程序可以使用std名称空间中的定义。