C++ 是一种跨平台的编程语言,用来创建高性能的应用程序,如操作系统,聊天软件,浏览器,游戏等。c++ 源自于 c 语言,并且很大程度上使用了 c 语言的设计理念。

下面用几篇文章介绍 c++ 的基础用法。

结构

c++ 程序是一个集成很多命令和描述的集合,以下是一个模板程序:

#include <iostream>
using namespace std;

// comment
int main()
{
    cout << "Hello world!" << endl;
    cout << "Hello world!" << "WOW" << "\n";
    return 0;
}
/*
comments
*/

所有 c++ 程序的入口都是 main() function,使用大括号 {} 将 function 的内容包围起来,括号内的指令在 fuction 运行时执行。每句指令结尾使用分号; 结束。

coutiostream 的一个 object,功能是输出信息到标准的输出设备,一般是显示屏上。<< 是 insertion operator 用来将后面的字符串传入 cout 指令最后输出到显示屏。可以使用多个 << 将信息连起来。

iostream 是头文件,里面包含各种程序执行需要的功能模块,使用 #include 调用头文件。iostream 包含输入输出数据块的 stream object。

每个 namespace 是一个申明区域,定义了程序调用 function 或 object 时的类型,using namespace std 告诉程序默认使用 std 类型的元素。在命令中可以直接写 std 中定义的元素:

cout << "Hello world!";
std::cout << "Hello world!";

以上两种写法效果是一样的,表示使用 std 类型的 cout 指令。

也可以写自定义的申明如:

namespace fs = boost::filesystem;
fs:path testpath;

以上申明意思是用 fs 表示 boost::filesystem 类型,然后定义一个 boost::filesystem::path 类型的变量。

cout 执行后默认不添加行结束符号,添加一个 endl object 来实现换行操作。也可以添加字符串 \n 表示换行。

反斜杠 \ 是转义符用来输入特殊意义的符号,如:\n 表示换行。

// 双斜杠用来添加单行注释信息,斜杠所在的行不会被编译。
/*....*/ 用来表示注释区域,这一段的内容都不被编译。

变量

定义一个变量会请求一个内存空间来存储变量值。编译器需要在定义变量时指定变量类型,类型可以是系统内置的也可以是自定义的。定义的个体可以是变量,function,class 等:

int testVar = 10;

以上定义了一个 int 整数型的变量 testVar 并赋值为 10,注意变量名是区分大小写的,也就是 testVar 和 testvar 代表两个不同的变量。

double testDouble1, testDouble2;

也可以同时定义两个变量。

根据需求设置变量类型,可以优化内存占用空间。

示例:

#include <iostream>
using namespace std;

int main()
{
    int a = 30;
    int b = 12;
    int sum = a + b;
    cout << sum;
    return 0;
}
//Outputs 42

定义的变量可以在后续程序中赋值:

int a;
int b = 1;

a = 2;
b = 3;

输入参数

使用 cin 来请求用户输入数据,用 extraction operator 来将输入数据提取到别处:

int a;
cin >> a;

以上程序定义一个 int 型变量,然后提示用户输入一个数据存储到变量 a 中。

结合输入输出可以实现简单的交互操作:

#include <iostream>
using namespace std;

int main() 
{
  int a, b;
  int sum;
  cout << "Enter a number \n";
  cin >> a;
  cout << "Enter another number \n";
  cin >> b;
  sum = a + b;
  cout << "Sum is: " << sum << endl;

  return 0;
}

运算符

c++ 支持以下运算符:

  • / 除
  • % 模(整除后的余数)
int a = 1 + 1;
int b = 5 * 6;
int c = 5 % 2;
int d = 5 + 2 * 2;
int e = (5 + 2) * 2;

cout << c << endl;

//output: 1

如果对变量本身的加减乘除操作可以简写:

x *= 3; // equivalent to x = x * 3
x /= 2; // equivalent to x = x / 2
x %= 4; // equivalent to x = x % 4

对本身自加或自减操作,有两种方式:后缀和前缀:

x++; //后缀,相当于 x = x + 1
x--;
++x;
--x;

使用后缀方式是先执行表达式再自加,前缀方式是先自加再执行表达式:

int a = 1;
int b = a++;
int c = ++a;

//b = 1
//c = 3

以上是基础概念及指令。

标签:无

你的评论