大脑是一个超级强大的计算机,我们的阅读、游历、见识是输入,而我们的好奇、思考和想象则是处理,我们的写作、绘画和编程则是输出。
古时候李白远望庐山瀑布(输入),这个信息经过他的大脑进行思考和创作(加工处理),他便能赋诗一首(输出)。
《望庐山瀑布》
日照香炉生紫烟,遥看瀑布挂前川。
飞流直下三千尺,疑是银河落九天。
温故知新
将我们准备课编写的代码修改一番,就能输出《望庐山瀑布》。
1 创建一个新的C++源代码文件,命名为poem.cpp。
敲黑板
在计算机系统中,每个文件都有一个名字,而这个名字的命名有个规则: 文件名 + . + 扩展名 。
就像我们的命名规则是 姓 + 名 一样。
● 文件名:用于识别文件,通常需要起一个既易于记忆又能准确反映文件内容的名称。
● 扩展名:告诉计算机这个文件属于何种类型,比如图片的JPG类型、视频的MP4类型等。
2 好了,让我们开始编写代码吧。
3 运行程序,诗句就输出到屏幕中了。
一起来分析一下这个程序,这是我们学习C++的起点。
(1) #include <iostream> 预处理命令。
翻译助力理解
● include:包括、包含。
● iostream:“i”代表输入(input),“o”代表输出(output),“stream”表示数据流。组合起来可以理解成输入输出数据流。
在我们使用C++之前,前辈们已经创造了许多工具,使得我们的编程变得更加便捷。例如, iostream 就是一个拥有强大的输入和输出能力的工具,其同名文件被称为 “头文件” 。
想要将这个“头文件”对应的工具运用到程序中,就需要通过 #include 这个 预处理指令 将“头文件”包含到我们的程序里,为我所用。
划重点
这句代码的意思就是告诉计算机,我要将 iostream 里面的输入和输出功能运用到我的程序中。
语法规则是: #include <头文件的名字> 。
(2) using namespace std 。
翻译助力理解
● using:使用、运用。
● namespace:命名空间。
● std:standard的缩写,意思是标准。
随着越来越多的人为C++创造工具,各种工具的名字就很有可能重复。为了避免重名带来的冲突,于是就引入了命名空间。
想一想:计算思维用于生活
为什么学校在分班的时候,要把两个名字相同的学生分在不同的班级呢?
在“C++学校”,有两名学生的名字都叫作“凤飞”,如果他们分在同一个班,当老师点名“凤飞”的时候,这两个同学就不知道喊的是谁了。
如果将一名“凤飞”同学分在A班,将另外一名“凤飞”同学分在B班,是不是就解决问题了。即使学校点名时,只需说“A班的凤飞”,也可以轻松地区分。
这里的A班、B班就可以看作命名空间。
使用 using namespace std 这句代码就是告诉编译器,“我要在代码中使用标准命名空间中的工具”。这样就可以直接使用工具 cout ,而不需要在前面添加 std:: 。
如果没有了命名空间,就需要在 cout 前加上标识std,如下所示。
(3)
在C++中, int main() 是程序的主函数,这是程序执行的起始点。
● int 是一种数据类型(整型),表示主函数有一个整型的返回值,后面的代码 return 0; 返回了整型数字 0 。
● { } 表示了主函数的代码块,指令就编写在这对花括号里面。
● return 0 是一个返回语句,返回 0 表示程序成功地执行完毕。
敲黑板
主函数有起始点,同时需要结束点,所以发明者设计了 { } ,成对的符号可以便捷地约束起始点和结束点。
想一想 ,还有哪些符号是成对的?
( ) 、 [ ] 、 " " 、 ' ' 、 < > ,它们也有大用途,在后面的学习中都会讲到。
(4) cout << "《望庐山瀑布》" 。
翻译助力理解
● cout:这里是“character output”的缩写,意思为字符输出。
将“《望庐山瀑布》”这个文本传递给输出流对象cout,然后显示在屏幕上。 " " 里面包裹的文本就是要输出的内容。
划重点
<< 方向是重点
方向代表了流向, cout << "《望庐山瀑布》" 的流向是输出,所以箭头指向cout的方向。
数据流向哪里,方向就朝哪里。
(5)代码语句的结束标识。
写作时,一句话写完后通常会以句号( 。 )结尾。而在C++编程中,执行语句以英文格式的分号( ; )结尾,告诉计算机这句话结束了。
敲黑板
程序执行指令结束都需要用 ; 结尾。
● #include <iostream> 预处理命令是准备动作,所以不用 ; 结尾。
● { } 不是实际的命令执行语句,也不用 ; 结尾。
提出思考
“《望庐山瀑布》日照香炉生紫烟,遥看瀑布挂前川。飞流直下三千尺,疑是银河落九天。”运行结果将标题和诗句排成一排了,怎么分行呢?
只需要加上 endl 即可,它可以让输入结束一行后开启新的一行。
翻译助力理解
● endl:这是end line的意思,表示结束一行。
运行程序,标题和诗句分开了。
捣鼓字符
学会输出后,我们一起来捣鼓一下字符,运用字符输出有趣的图案。
运行看看结果:
巩固练习
(1)以下哪个是C++源程序的文件名呢?( )
A.自我介绍.pptx
B.优美音乐.mp3
C.first.cpp
D.一架飞机.jpg
(2)找出程序中的两处错误,并在代码中改正。
(3)运用 cout 输出一架飞机,记得秀一秀正确的程序结果。