-
C++教程之C++ 基础知识 (Basics of C++)
第一章 C++ 基础知识 (Basics of C++)
1. C++程序结构
Structure of a program
2. 变量和数据类型
Variables and Data types
3. 常量
Constants
4. 操作符/运算符
Operators
5. 控制台交互
Communication through console
1.1 C++程序结构 (Structure of a program)
下面我们从一个最简单的程序入手看一个C++程序的组成结构。
// my first program in C++
#include <iostream.h>
using namespace std;
int main() {
cout << “Hello World!”;
return 0;
} Hello World!
上面左侧显示了我们的第一个程序的源代码,代码文件名称为hellowworld.cpp。右边显示了程序被编译执行后的输出结果。编辑和编译一个程序的方法取决于你用的是什么编译器,根据它是否有图形化的界面及版本的不同,编译方法也有可能不同,具体请参照你所使用的编译器的使用说明。
以上程序是多数初学者学会写的第一个程序,它的运行结果是在屏幕上打出”Hello World!”这句话。 虽然它可能是C++可写出的最简单的程序之一,但其中已经包含了每一个C++程序的基本组成结构。 下面我们就逐个分析其组成结构的每一部分:
// my first program in C++
这是注释行。所有以两个斜线符号(//)开始的程序行都被认为是注释行,这些注释行是程序员写在程序源代码内,用来对程序作简单解释或描述的, 对程序本身的运行不会产生影响。在本例中, 这行注释对本程序是什么做了一个简要的描述。
# include < iostream.h >
以#标志开始的句子是预处理器的指示语句。它们不是可执行代码,只是对编译器作出指示。在本例中这个句子# include < iostream.h > 告诉编译器的预处理器将输入输出流的标准头文件(iostream.h)包括在本程序中。这个头文件包括了C++中定义的基本标准输入-输出程序库的声明。此处它被包括进来是因为在本程序的后面部分中将用到它的功能。
using namespace std;
C++标准函数库的所有元素都被声明在一个名空间中,这就是std名空间。因此为了能够访问它的功能,我们用这条语句来表达我们将使用标准名空间中定义的元素。这条语句在使用标准函数库的C++程序中频繁出现,本教程中大部分代码例子中也将用到它。
int main()
这一行为主函数(main function)的起始声明。main function是所有C++程序的运行的起始点。 不管它是在代码的开头,结尾还是中间 – 此函数中的代码总是在程序开始运行时第一个被执行。并且,由于同样的原因,所有C++程序都必须有一个main function。
main 后面跟了一对圆括号(),表示它是一个函数。C++中所有函数都跟有一对圆括号 (),括号中可以有一些输入参数。如例题中显示,主函数(main function)的内容紧跟在它的声明之后,由花括号 ({})括起来。
cout << “Hellow World!”;
这个语句在本程序中最重要。 cout 是C++中的标准输出流(通常为控制台,即屏幕),这句话把一串字符串(本例中为”Hello World”)插入输出流(控制台输出)中。cout 在的声明在头文件iostream.h中,所以要想使用cout 必须将该头文件包括在程序开始处。
注意这个句子以分号(;)结尾 。分号标示了一个语句的结束,C++的每一个语句都必须以分号结尾。 (C++ 程序员最常犯的错误之一就是忘记在语句末尾写上分号) 。
return 0;
返回语句(return) 引起主函数 main()执行结束,并将该语句后面所跟代码(在本例中为0) 返回。这是在程序执行没有出现任何错误的情况下最常见的程序结束方式。在后面的例子中你会看到所有C++程序都以类似的语句结束。
你可能注意到并不是程序中的所有的行都会被执行。程序中可以有注释行(以//开头),有编译器预处理器的指示行(以#开头),然后有函数的声明(本例中main函数),最后是程序语句(例如调用cout <<),最后这些语句行全部被括在主函数的花括号({})内。
本例中程序被写在不同的行中以方便阅读。其实这并不是必须的。例如,以下程序
int main ()
{
cout << " Hello World ";
return 0;
}
也可以被写成:
int main () { cout << " Hello World "; return 0; }
以上两段程序是完全相同的。
在C++中,语句的分隔是以分号(;)为分隔符的。分行写代码只是为了更方便人阅读。
以下程序包含更多的语句:
// my second program in C++
#include <iostream.h>
int main ()
{
cout << "Hello World! ";
cout << "I'm a C++ program";
return 0;
} Hello World! I'm a C++ program
在这个例子中,我们在两个不同的语句中调用了cout << 函数两次。再一次说明分行写程序代码只是为了我们阅读方便,因为这个main 函数也可以被写为以下形式而没有任何问题:
int main () { cout << " Hello World! "; cout << " I'm to C++ program "; return 0; }
为方便起见,我们也可以把代码分为更多的行来写:
int main ()
{
cout <<
"Hello World!";
cout
<< "I'm a C++ program";
return 0;
}
它的运行结果将和上面的例子完全一样。
这个规则对预处理器指示行(以#号开始的行)并不适用,因为它们并不是真正的语句。它们由预处理器读取并忽略,并不会生成任何代码。因此他们每一个必须单独成行,末尾不需要分号(;)
栏目列表
最新更新
C#基于接口设计三层架构Unity篇
C#线程 入门
C#读取静态类常量属性和值
C# 插件式编程
C# 委托与事件有啥区别?
C#队列学习笔记:队列(Queue)和堆栈(Stack
linq 多表分组左连接查询查询统计
C#队列学习笔记:MSMQ入门一
C# 基础知识系列- 1 数据类型
二、C#入门—基础语法
C# 在Word中添加Latex 数学公式和符号
inncheck命令 – 检查语法
基于UDP的服务器端和客户端
再谈UDP和TCP
在socket编程中使用域名
网络数据传输时的大小端问题
socket编程实现文件传输功能
如何优雅地断开TCP连接?
图解TCP四次握手断开连接
详细分析TCP数据的传输过程
SqlServer 利用游标批量更新数据
BOS只读状态修改
SQL Server等待事件—PAGEIOLATCH_EX
数据库多行转换为单一列
获取数据表最后最后访问,修改,更新,
计算经历的时间
SQL查询结果自定义排序
修改数据库默认位置
日期简单加或减
从日期获取年,月或日