广州中企动力网站制作,深圳app网站,wordpress百万文章,凡客vanclC有许多经典的程序示例#xff0c;以下是其中一些简单但常见的例子#xff0c;以帮助你更好地了解C语言的基本概念。
1. **Hello World程序:** cpp #include iostream int main() { std::cout Hello, World! std…C有许多经典的程序示例以下是其中一些简单但常见的例子以帮助你更好地了解C语言的基本概念。
1. **Hello World程序:** cpp #include iostream int main() { std::cout Hello, World! std::endl; return 0; }
2. **计算器程序:** cpp #include iostream int main() { double num1, num2, result; char op; std::cout Enter first number: ; std::cin num1; std::cout Enter operator (, -, *, /): ; std::cin op; std::cout Enter second number: ; std::cin num2; switch(op) { case : result num1 num2; break; case -: result num1 - num2; break; case *: result num1 * num2; break; case /: if(num2 ! 0) result num1 / num2; else { std::cout Error! Division by zero. std::endl; return 1; // Exit with an error code } break; default: std::cout Error! Invalid operator. std::endl; return 1; // Exit with an error code } std::cout Result: result std::endl; return 0; }
3. **循环程序:** cpp #include iostream int main() { for (int i 1; i 5; i) { std::cout Iteration i std::endl; } return 0; }
4. **数组和循环:** cpp #include iostream int main() { const int size 5; int numbers[size] {1, 2, 3, 4, 5}; std::cout Array elements: ; for (int i 0; i size; i) { std::cout numbers[i] ; } std::cout std::endl; return 0; }
当然接下来是一些稍微复杂一点的C程序涉及到函数、类和文件操作等方面
5. **函数示例:** cpp #include iostream // 函数声明 int add(int a, int b); int main() { int num1, num2, sum; std::cout Enter first number: ; std::cin num1; std::cout Enter second number: ; std::cin num2; // 调用函数 sum add(num1, num2); std::cout Sum: sum std::endl; return 0; } // 函数定义 int add(int a, int b) { return a b; }
6. **类和对象示例:** cpp #include iostream // 类的声明 class Rectangle { public: double length; double width; double calculateArea(); }; // 类的成员函数定义 double Rectangle::calculateArea() { return length * width; } int main() { // 创建对象 Rectangle rect; // 初始化对象的属性 rect.length 5.0; rect.width 3.0; // 调用对象的方法 double area rect.calculateArea(); std::cout Area of the rectangle: area std::endl; return 0; }
7. **文件操作示例:** cpp #include iostream #include fstream int main() { std::ofstream outFile(example.txt); if (outFile.is_open()) { outFile Hello, File!\n; outFile This is a C file example.\n; outFile.close(); std::cout File written successfully.\n; } else { std::cout Unable to open file.\n; } return 0; } 8. **递归函数:** cpp #include iostream int factorial(int n) { if (n 1) { return 1; } return n * factorial(n - 1); } int main() { int num; std::cout Enter a number: ; std::cin num; std::cout Factorial of num : factorial(num) std::endl; return 0; }
9. **链表:** cpp #include iostream struct Node { int data; Node* next; }; int main() { // 略包括链表的创建、插入和打印等操作 return 0; }
10. **异常处理:** cpp #include iostream int main() { try { // 程序代码可能引发异常 } catch (const std::exception e) { std::cerr Exception caught: e.what() std::endl; } catch (...) { std::cerr Unknown exception caught. std::endl; } return 0; }
11. **多线程:** cpp #include iostream #include thread void printNumbers() { for (int i 1; i 5; i) { std::cout Thread: i std::endl; } } int main() { std::thread t(printNumbers); t.join(); // 等待线程结束 return 0; }
12. **文件读取和写入:** cpp #include iostream #include fstream #include string int main() { std::ifstream inFile(input.txt); std::ofstream outFile(output.txt); if (inFile.is_open() outFile.is_open()) { std::string line; while (std::getline(inFile, line)) { // 处理每一行数据 outFile line std::endl; } inFile.close(); outFile.close(); } else { std::cout Unable to open files. std::endl; } return 0; }
13. **面向对象继承:** cpp #include iostream // 基类 class Shape { public: virtual double area() const 0; // 纯虚函数表示需要在派生类中实现 }; // 派生类 class Circle : public Shape { private: double radius; public: Circle(double r) : radius(r) {} double area() const override { return 3.14 * radius * radius; } }; int main() { Circle circle(5.0); std::cout Area of the circle: circle.area() std::endl; return 0; }
14. **模板:** cpp #include iostream // 函数模板 template typename T T add(T a, T b) { return a b; } int main() { std::cout Sum of integers: add(5, 7) std::endl; std::cout Sum of doubles: add(3.14, 2.71) std::endl; return 0; }
15. **STL容器:** cpp #include iostream #include vector int main() { std::vectorint numbers {1, 2, 3, 4, 5}; for (int num : numbers) { std::cout num ; } std::cout std::endl; return 0; }
16. **STL算法:** cpp #include iostream #include algorithm #include vector int main() { std::vectorint numbers {5, 2, 8, 1, 6}; // 使用STL算法对容器进行排序 std::sort(numbers.begin(), numbers.end()); for (int num : numbers) { std::cout num ; } std::cout std::endl; return 0; }
17. **Lambda表达式:** cpp #include iostream #include vector int main() { std::vectorint numbers {1, 2, 3, 4, 5}; // 使用Lambda表达式对每个元素进行平方操作 std::for_each(numbers.begin(), numbers.end(), [](int num) { num num * num; }); for (int num : numbers) { std::cout num ; } std::cout std::endl; return 0; }
18. **网络编程基础:** cpp // 编写一个简单的TCP服务器或客户端程序涉及socket编程 // 这里可能涉及到很多代码可以参考相关网络编程的C库或教程
19. **图形用户界面(GUI)应用:** cpp // 使用Qt或其他GUI库创建一个简单的窗口应用程序 // 这里可能涉及到GUI库的使用事件处理等
20. **数据结构 - 栈:** cpp #include iostream #include stack int main() { std::stackint myStack; myStack.push(1); myStack.push(2); myStack.push(3); while (!myStack.empty()) { std::cout myStack.top() ; myStack.pop(); } std::cout std::endl; return 0; }
21. **数据结构 - 队列:** cpp #include iostream #include queue int main() { std::queueint myQueue; myQueue.push(1); myQueue.push(2); myQueue.push(3); while (!myQueue.empty()) { std::cout myQueue.front() ; myQueue.pop(); } std::cout std::endl; return 0; }
22. **多态和虚函数:** cpp #include iostream // 基类 class Animal { public: virtual void makeSound() const { std::cout Animal makes a sound std::endl; } }; // 派生类 class Dog : public Animal { public: void makeSound() const override { std::cout Dog barks std::endl; } }; int main() { Animal* animalPtr new Dog(); animalPtr-makeSound(); // 调用派生类的虚函数 delete animalPtr; return 0; }
23. **数据库连接:** cpp // 使用C连接数据库例如MySQL、SQLite等 // 这里可能涉及到数据库API的使用SQL查询等
24. **正则表达式:** cpp #include iostream #include regex int main() { std::string text Hello, 12345!; std::regex pattern(\\d); if (std::regex_search(text, pattern)) { std::cout Numbers found in the text. std::endl; } else { std::cout No numbers found in the text. std::endl; } return 0; }
25. **游戏编程基础:** cpp // 编写一个简单的控制台游戏涉及到游戏循环、用户输入处理等
26. **OpenGL图形编程:** cpp // 使用OpenGL库进行简单的图形渲染例如绘制三角形 // 这里可能涉及到OpenGL的初始化渲染循环等
27. **Web服务器:** cpp // 编写一个简单的Web服务器处理HTTP请求 // 这里可能涉及到socket编程、HTTP协议解析等
28. **单元测试:** cpp // 使用C的单元测试框架例如
Catch2 或 Google Test编写一些简单的测试用例来验证程序的正确性。
cpp #define CATCH_CONFIG_MAIN #include iostream #include catch.hpp
// 示例类 class Calculator { public: int add(int a, int b) { return a b; } int multiply(int a, int b) { return a * b; } };
// 测试用例 TEST_CASE(Calculator addition, [Calculator]) { Calculator calc; REQUIRE(calc.add(2, 3) 5); REQUIRE(calc.add(-1, 1) 0); REQUIRE(calc.add(0, 0) 0); }
TEST_CASE(Calculator multiplication, [Calculator]) { Calculator calc; REQUIRE(calc.multiply(2, 3) 6); REQUIRE(calc.multiply(-2, 3) -6); REQUIRE(calc.multiply(0, 5) 0); }
29. **XML或JSON解析:** cpp // 使用第三方库如pugixml或jsoncpp解析和生成XML或JSON数据 // 这里可能涉及到文件读取、数据结构映射等
30. **机器学习基础:** cpp // 使用开源机器学习库如Eigen、MLPack进行简单的线性回归或分类任务 // 这里可能涉及到矩阵运算、模型训练和预测等
这是一系列更高级的示例涉及到面向对象设计、数据结构、网络编程、图形编程、数据库连接、正则表达式、游戏编程、OpenGL图形编程、Web服务器、单元测试、XML/JSON解析、机器学习等方面。你可以选择其中感兴趣或适合你学习目标的主题进行深入学习。每个示例都可能需要额外的学习和研究以理解相关的概念和技术。