C++语言基础程序结构
- 你叫什么名字?
- 我叫科塔娜
- 你好科塔娜!
- 你多大?
- 22 岁
- 你好!年轻的科塔娜!
想必你已经迫不及待地想动手写程序了吧,现在就开始写第一个 C++
程序吧!在写代码前首先要明确想要用程序来达到什么样的目的。我们首先来学习用程序控制计算机输出上面的对话,下面给出了部分示例代码。
#include <iostream>
using namespace std;
int main() {
/**
开始
----------
*/
cout << "你叫什么名字?" << endl;
cout << "我叫科塔娜\n";
cout << "你好科塔娜!" << endl;
// ...
return 0;
}
使用 Dev-C++工具可以快速得出结果哦,那么现在的你能大体猜出这段代码块的语言结构嘛?
在这段示例代码中,从高亮行开始到return 0
结束是这段程序的核心部分,它的作用是控制计算机输出语句。
cout
是控制计算机输出的方法,它的具体定义在前面的<iostream>
库中已经实现,在程序主体中直接调用就可以了。计算机输出的内容需要放在「<<
」之后,并且用英文双引号(""
)括起来。每条语句的最后都需要用分号(;
)表示结束。
那么其他的部分都是什么意思呢?
- 前两行的作用是使用已有的方法。就像我们写字需要使用钢笔、编程需要敲击键盘一样,程序也需要使用已有的工具。
#include
是「包含」的意思,<iostream>
是一个用于输入输出流(input and output stream)的库,里面有一些可以用于输入、输出的方法。using namespace std
是在 C++中的一种常见语句,用于指定命名空间,以便更容易访问标准库(Standard Library)中的各种功能和对象,而无需在每次使用它们时都显式指定命名空间。对于命名空间暂不展开讲解,这里仿照样例来写就可以了。- 主函数(
main function
),程序是从这里开始执行的。主函数的内容是以{
开头,并以}
结尾的中间部分,需要注意的是主函数并不必须写在顶部,在函数章节我们将对此讨论。 /** */
与//
是注释,前者一般用于多行,而后者一般用于单行。return 0
是主函数的返回值,表示主函数的结束。
在刚开始学习 C++ 语言期间,可以先不理解某部分的具体含义。在今后随着学习的深入,你的理解会更加透彻,而现在只要记住每次开始写代码前要先将框架部分写好,然后从主函数中开始写程序就好了。
// 基础框架示例
#include <iostream>
using namespace std;
int main() {
// ...
return 0;
}
细心的你可能已经发现了,与刚刚的小练习恭喜你安装成功啦!
的程序打印相比,此程序的打印多了换行,而刚刚的练习却没有。
如果程序需要输出的内容有很多,除了在双引号内直接增加内容之外,还可以继续使用<<
,在之后接上需要输出的内容。
cout << "我下一行要换行啦!" << "没有啊,你忘记使用换行符了。";
在 C++中,<<
不是用于拼接字符串的操作符。相反,它是用于输出数据到标准输出(通常是屏幕)的操作符。当你使用 <<
时,它将右侧的数据追加到左侧的输出流。在前面的示例中,<<
用于将文本和变量的值输出到控制台。
如果你想要拼接字符串,通常可以使用+
操作符来连接
cout << "我下一行要换行啦!" << endl << "是的,我现在和它不一行了。";
在这行代码中,endl
表示换行,可以把接下来的内容输出到下一行,它由英文单词 end(结尾)和英文单词 line(段落中的行)的首字母组成,表示换行。除了使用endl
表示换行外,还可以使用/n
的形式,同样也代表了换行。双引号中的内容称为字符串常量,关于字符串的知识你会在今后的学习中有更深入的了解。
小练习 用程序控制计算机输出你自己的名字,成功后笔试默写整个程序并添加新的功能,在已有基础上添加妈妈的名字并换行打印,要求默写笔试上机条件下能够成功运行
答案
// 包含头文件
#include <iostream>
// 使用命名空间
using namespace std;
// 主函数
int main() {
// 输出
cout << "刘熙宇";
// ...添加换行打印,\n or endl
// 返回
return 0;
}
小练习 使用
\*
字符,用它构造一个底边长 5 个字符.髙 3 个字符的等腰字符三角形
。该字符构成的等腰三角形,底边长 5 个字符,高 3 个字符。
- 样例输出:
*
***
*****
答案
#include <iostream>
using namespace std;
int main() {
cout << " " << " " << "*" << " " << " " << endl;
cout << " " << "*" << "*" << "*" << " " << endl;
cout << "*" << "*" << "*" << "*" << "*" << endl;
return 0;
}
# 重点小结
#include:用于引入库函数的预处理命令。只有在引入库函数之后才能使用其中的内容。
iostream:C++ 的输入输出流库,包含了常用的输入和输出流控制函数。
namespace:命名空间,一种代码组织的形式,通过名称空间来对代码进行分类,区别不同的代码功能。通过
using namespace + 名称
的命令,可以在后面代码调用库函数时省略默认的命名空间。main():C++ 的程序入口,在执行该程序时调用的第一个函数。每个 C++ 程序也只能有一个主函数。
//
/** */
:注释,以在 C++ 代码中包含注释,这将提高源代码的可读性。cout:用于在计算机屏幕上显示信息,通常与
<<
连用,需要引入<iostream>
库才可以使用。<<: 用于将文本和变量的值输出到控制台。
字符串常量:用双引号包括的 0 个或多个字符。
\n
:\n
表示内容为一个回车符的字符串。endl
输出一个换行符,并立即刷新缓冲区。endl:意思是 end of line,即一行输出结束,然后输出下一行,包含在
<iostream>
库的命名空间 std 中。return:函数的返回方法,在函数运行结束时,向调用函数的位置返回一个确定的值,也就是返回值。