📅  最后修改于: 2023-12-03 14:39:55.917000             🧑  作者: Mango
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 = #
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++ 输出程序。这些输出程序能够帮助程序员更快地输出结果,并且增加程序的可读性和易用性。