本文介绍入门OpenFOAM所必须的C++语言基础。
注:本文内容取自Wolf Dynamics公司的培训教材《C++: A Crash introduction》。
”1 C++程序基本结构先来看一个最简单的C++程序示例。
在任意目录下创建一个cpp扩展名的文件(如demo.cpp),利用任何文本编辑器打开,输入下面的内容:
#include <iostream>using namespace std; int main(){ cout << "hello,world!" << endl; return 0;}
保存文件后在终端输入:
g++ demo.cpp -o demo./demo
终端输出如下图所示。
图片
关于最简单的CPP代码:
程序第1行利用预处理命令#include包含了一个名为iostream的头文件程序第2行表示使用std命名空间,C++中使用命名空间对函数作用范围进行限制定义了一个名为main的入口函数。所有的C++程序都必须有main函数在main函数中利用标准输出cout实现了输出信息“hello,world!”到终端的功能CPP代码中可以使用两种形式的注释,采用/* */或//。其中/**/用于多行注释,而//用于单行注释。一个简单的注释示例如下所示。
/*这里定义了一个最简单的C++程序,其主要功能是向屏幕打印一行信息。*/#include <iostream>using namespace std; //main()函数是C++程序的入口程序//所有C++程序中都必须包含有main()函数int main(){ cout << "hello,world!" << endl; //打印信息到屏幕上 return 0; //返回空值}2 数据类型
C++中的标准数据类型如表所示。
数据类型关键字布尔型bool字符型char整型int浮点型float双精度浮点型double无值型void宽字符型wchar_tC++允许char、int和Double数据类型前面有修饰符。修饰符用于改变基类型的含义,使其更符合实际需要。一些常用的数据类型修饰符如signed、unsigned、long、short等。
修饰符signed、unsigned、long和short可以应用于整数基类型。此外,有符号和无符号可以应用于char, 安达市和户烹饪有限公司long可以应用于double。如下所示。
unsigned int y; //4字节。范围从0到4294967295signed int y; //4字节。范围从-2147483648到-21474836473 变量与常量3.1 变量声明与初始化
C++中的变量在使用之前需要先进行声明, 深圳创维数字技术有限公司建议在声明变量的同时对其初始化。
如下一些变量声明与初始化的示例:
int a ,民丰县东欧土特产有限公司 b , c; //声明了三个变量a,b,业务合作cint aa = 5; //声明了一个变量aa,并将其初始化为5int b (2); //声明变量b,设置其初始值为2float pi; //声明一个浮点值变量pipi = 3.1415926; //为变量pi赋初始值3.2 变量作用域
定义的变量可以是全局范围,也可以是局部范围。全局变量是在所有函数之外的源代码主体中声明的变量,而局部变量是在函数体或块内部声明的变量。
如下面的示例代码,定义了一个全局作用域变量a,在程序的所有位置都可以直接调用。
#include <iostream>using namespace std; int a = 4; //全局作用域变量int main(){ int b = 4; //局部作用域变量 int result = 0; result = a * b; cout << result << endl; //输出结果 return 0;}
上面代码的输出结果为16。
3.3 常量C++中的常量定义的是确定不变的值。
#include <iostream>using namespace std; #define PI 3.1415926 //全局常量int main(){ const float pi = 3.1415926; //局部常量 float r = 1.0; double area1 = pi * r * r; double area2 = PI * r * r; cout << "area1 = " << area1 << endl; cout << "area2 = " << area2 << endl; return 0;}
程序输出结果如下图所示。
图片
4 运算符运算符是告诉编译器执行特定数学或逻辑操作的符号企业文化。C++具有丰富的内置运算符:
赋值运算符:=算术运算符:+,-,\,*,%增加/减少:++,--关系运算符:==,!=,>,<=逻辑运算符:&&,