📜  C++ 程序的输出 | 21套(1)

📅  最后修改于: 2023-12-03 14:39:55.917000             🧑  作者: Mango

C++ 程序的输出 | 21套

C++ 是一种高级程序语言,广泛用于操作系统、应用程序、游戏等领域。在 C++ 中,我们可以通过输出语句将程序中的结果输出到控制台。本文将介绍21个常用的 C++ 输出程序。

输出字符串

我们可以使用 cout 输出字符串到控制台。以下是输出一段字符串的示例代码:

#include <iostream>
using namespace std;

int main() {
  cout << "Hello, World!";
  return 0;
}

输出结果:

Hello, World!
输出整数

使用 cout 输出整数的方式很简单。以下是输出整数的示例代码:

#include <iostream>
using namespace std;

int main() {
  int num = 10;
  cout << "The number is: " << num << endl;
  return 0;
}

输出结果:

The number is: 10
输出浮点数

使用 cout 输出浮点数的方式也很简单。以下是输出浮点数的示例代码:

#include <iostream>
using namespace std;

int main() {
  float pi = 3.14;
  cout << "The value of pi is: " << pi << endl;
  return 0;
}

输出结果:

The value of pi is: 3.14
输出布尔值

使用 cout 输出布尔值的方式也很简单。以下是输出布尔值的示例代码:

#include <iostream>
using namespace std;

int main() {
  bool isTrue = true;
  cout << "The value is: " << isTrue << endl;
  return 0;
}

输出结果:

The value is: 1
设置精度

使用 cout 输出浮点数时,默认的精度只有6位小数。如果我们想要输出更高的精度,可以使用 setprecision 函数。以下是设置精度的示例代码:

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
  double num = 3.14159265358979323846;
  cout << fixed << setprecision(15) << num << endl;
  return 0;
}

输出结果:

3.141592653589793
输出换行符

使用 cout 默认情况下不会换行。如果我们想要换行,可以在输出语句中加上换行符 endl。以下是输出换行符的示例代码:

#include <iostream>
using namespace std;

int main() {
  cout << "Hello, World!" << endl;
  cout << "My name is John." << endl;
  return 0;
}

输出结果:

Hello, World!
My name is John.
输出转义字符

在 C++ 中,我们可以使用 \ 转义字符来输出一些特殊字符。以下是输出转义字符的示例代码:

#include <iostream>
using namespace std;

int main() {
  cout << "My name is \"John\"" << endl;
  cout << "This is a new line.\n";
  cout << "This is a tab.\t" << "End of line." << endl;
  return 0;
}

输出结果:

My name is "John"
This is a new line.
This is a tab.    End of line.
输出变量

我们可以使用 cout 输出程序中的变量。以下是输出变量的示例代码:

#include <iostream>
#include <string>
using namespace std;

int main() {
  int num = 10;
  string str = "Hello";
  cout << "The number is: " << num << endl;
  cout << "The string is: " << str << endl;
  return 0;
}

输出结果:

The number is: 10
The string is: Hello
输出多个变量

我们可以使用 cout 输出多个变量之间的信息。以下是输出多个变量的示例代码:

#include <iostream>
#include <string>
using namespace std;

int main() {
  int age = 20;
  string name = "John";
  double score = 98.5;
  cout << "Name: " << name << ", Age: " << age << ", Score: " << score << endl;
  return 0;
}

输出结果:

Name: John, Age: 20, Score: 98.5
输出运算结果

我们可以使用 cout 输出程序中的运算结果。以下是输出运算结果的示例代码:

#include <iostream>
using namespace std;

int main() {
  int a = 10, b = 20;
  int sum = a + b;
  cout << "The sum is: " << sum << endl;
  return 0;
}

输出结果:

The sum is: 30
输出数组

我们可以使用 cout 输出数组中的元素。以下是输出数组的示例代码:

#include <iostream>
using namespace std;

int main() {
  int arr[] = {1, 2, 3, 4, 5};
  for (int i = 0; i < 5; i++) {
    cout << arr[i] << " ";
  }
  cout << endl;
  return 0;
}

输出结果:

1 2 3 4 5
输出指针

我们可以使用 cout 输出指针所指向的地址。以下是输出指针的示例代码:

#include <iostream>
using namespace std;

int main() {
  int num = 10;
  int* ptr = &num;
  cout << "The address of num is: " << ptr << endl;
  return 0;
}

输出结果:

The address of num is: 0x7ffeefbff598
输出对象

我们可以使用 cout 输出自定义类型的对象。以下是输出自定义对象的示例代码:

#include <iostream>
#include <string>
using namespace std;

class Person {
public:
  string name;
  int age;
};

int main() {
  Person p;
  p.name = "John";
  p.age = 20;
  cout << "Name: " << p.name << ", Age: " << p.age << endl;
  return 0;
}

输出结果:

Name: John, Age: 20
输出字符

我们可以使用 cout 输出字符。以下是输出字符的示例代码:

#include <iostream>
using namespace std;

int main() {
  char ch = 'A';
  cout << "The character is: " << ch << endl;
  return 0;
}

输出结果:

The character is: A
输出颜色

我们可以使用 ANSI 转义码在控制台中输出不同颜色的字符。以下是输出颜色的示例代码:

#include <iostream>
using namespace std;

int main() {
  cout << "\033[31mThis is red text.\033[0m\n";
  cout << "\033[32mThis is green text.\033[0m\n";
  cout << "\033[33mThis is yellow text.\033[0m\n";
  cout << "\033[34mThis is blue text.\033[0m\n";
  cout << "\033[35mThis is magenta text.\033[0m\n";
  cout << "\033[36mThis is cyan text.\033[0m\n";
  return 0;
}

输出结果:

输出颜色

重载输出运算符

我们可以在自定义类型中重载输出运算符 <<,从而使程序可以直接使用 cout 输出对象。以下是重载输出运算符的示例代码:

#include <iostream>
#include <string>
using namespace std;

class Person {
public:
  string name;
  int age;
  friend ostream& operator<<(ostream& os, const Person& p);
};

ostream& operator<<(ostream& os, const Person& p) {
    os << "Name: " << p.name << ", Age: " << p.age;
    return os;
}

int main() {
  Person p;
  p.name = "John";
  p.age = 20;
  cout << p << endl;
  return 0;
}

输出结果:

Name: John, Age: 20
输出异常信息

在程序出现异常时,我们可以使用 cerr 输出异常信息。以下是输出异常信息的示例代码:

#include <iostream>
#include <string>
using namespace std;

int main() {
  try {
    throw runtime_error("This is an exception.");
  } catch (const exception& e) {
    cerr << "Error: " << e.what() << endl;
  }
  return 0;
}

输出结果:

Error: This is an exception.
输出时间

我们可以使用 ctime 库中的函数输出当前时间。以下是输出当前时间的示例代码:

#include <iostream>
#include <ctime>
using namespace std;

int main() {
  time_t now = time(0);
  char* dt = ctime(&now);
  cout << "The local date and time is: " << dt << endl;
  return 0;
}

输出结果:

The local date and time is: Thu Apr  8 22:59:46 2021
输出文件

我们可以使用 fstream 库中的函数输出到文件。以下是输出到文件的示例代码:

#include <iostream>
#include <fstream>
using namespace std;

int main() {
  ofstream myfile;
  myfile.open("example.txt");
  myfile << "Writing this to a file.\n";
  myfile.close();
  return 0;
}
输出到远程设备

我们可以使用网络 IO 函数向远程设备输出数据。以下是输出到远程设备的示例代码:

#include <iostream>
#include <cstring>
#include <cstdlib>
#include <netinet/in.h>
#include <unistd.h>
using namespace std;

void error(const char *msg) {
    perror(msg);
    exit(1);
}

int main() {
  int sockfd, portno, n;
  struct sockaddr_in serv_addr;
  char buffer[256];
  
  portno = 12345;
  sockfd = socket(AF_INET, SOCK_STREAM, 0);
  if (sockfd < 0) 
    error("ERROR opening socket");
  
  memset((char *) &serv_addr, 0, sizeof(serv_addr));
  serv_addr.sin_family = AF_INET;
  serv_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
  serv_addr.sin_port = htons(portno);
  if (connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) 
    error("ERROR connecting");
  
  bzero(buffer, 256);
  strcpy(buffer, "Hello, World!");
  n = write(sockfd, buffer, strlen(buffer));
  if (n < 0) 
    error("ERROR writing to socket");
  
  close(sockfd);
  return 0;
}

本文介绍了21个常用的 C++ 输出程序。这些输出程序能够帮助程序员更快地输出结果,并且增加程序的可读性和易用性。