<<C++程序设计_谭浩强 >>书中示例汇总
### C++程序设计知识点解析:谭浩强版书籍示例详解 #### 1. 基础输出与输入 在C++中,`cout`用于输出数据到标准输出设备(通常是屏幕),而`cin`则用于从标准输入设备(通常是键盘)读取数据。以下是一个简单的示例: ```cpp #include<iostream> using namespace std; int main() { cout << "Hello, World!"; return 0; } ``` 此代码段展示了如何使用`cout`输出字符串"Hello, World!"。`using namespace std;`语句允许我们直接使用`std`命名空间中的元素,如`cout`和`cin`,而不必每次都加上`std::`前缀。 #### 2. 函数定义与调用 函数是C++程序的基本构建块之一,用于执行特定任务并可重复使用。例如,下面的代码定义了一个名为`compareTwo`的函数,该函数接收两个整数参数,并返回其中较大的一个。 ```cpp int compareTwo(int x, int y) { if (x > y) return x; else return y; } int main() { int z, a, b; cin >> a >> b; z = compareTwo(a, b); cout << z << endl; return 0; } ``` 这里,`compareTwo`函数被定义为比较两个整数,并返回较大值。在`main`函数中,用户输入两个整数,然后调用`compareTwo`函数并将结果存储在变量`z`中,最后输出结果。 #### 3. 字符与ASCII码 字符在C++中可以被视为整数,因为每个字符都有一个对应的ASCII码。例如: ```cpp int main() { int i, j; i = 'A'; j = 'B'; cout << i << " " << j << endl; return 0; } ``` 这段代码将字符'A'和'B'转换为它们对应的ASCII码,并输出这些数值。这有助于理解字符编码和处理。 #### 4. 类型转换 在C++中,可以显式地进行类型转换,例如将浮点数转换为整数: ```cpp float x; int i; x = 3.6; i = int(x); cout << "X=" << x << ", i=" << i << endl; ``` 这里,`int()`函数被用来将浮点数`x`转换为整数`i`。由于`int()`只保留小数点前的整数部分,因此输出的`i`值将是3。 #### 5. 数学运算与格式化输出 C++提供了多种数学库,如`<cmath>`,用于执行复杂的数学运算。同时,`<iomanip>`库提供了控制输出格式的功能,例如设置精度和对齐方式: ```cpp #include <iostream> #include <iomanip> #include <cmath> int main() { double a = 123.456, b = 3.14149, c = -3214.67; cout << setiosflags(ios::fixed) << setiosflags(ios::right) << setprecision(2); cout << setw(10) << a << endl; cout << setw(10) << b << endl; cout << setw(10) << c << endl; return 0; } ``` 通过使用`setiosflags(ios::fixed)`和`setprecision(2)`,我们可以将输出格式固定为两位小数。`setw(10)`则确保每个数字都占据10个字符宽的空间,不足的部分用空格填充。 #### 6. 解二次方程 解决一元二次方程`ax^2 + bx + c = 0`是C++中常见的数学问题,可以通过使用`<cmath>`库中的`sqrt()`函数来计算根: ```cpp double a, b, c, x1, x2; cin >> a >> b >> c; if ((b * b - 4 * a * c) >= 0) { x1 = (-b + sqrt(b * b - 4 * a * c)) / (2 * a); x2 = (-b - sqrt(b * b - 4 * a * c)) / (2 * a); } else { cout << "Please input a, b, c again!" << endl; cin >> a >> b >> c; } cout << "x1=" << x1 << endl; cout << "x2=" << x2 << endl; ``` 首先检查判别式是否非负,如果非负,则计算两个根;如果判别式小于0,则提示用户重新输入系数。 #### 7. 判断闰年 判断一个年份是否为闰年是编程中的经典问题,可以通过以下逻辑实现: ```cpp int year; cout << "Please input a year:"; cin >> year; if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) cout << year << " is a leap year." << endl; else cout << year << " is not a leap year." << endl; ``` 一个年份如果能被4整除且不能被100整除,或者能被400整除,则它是闰年。 #### 8. 计算三角形面积 根据海伦公式,可以通过三边长度计算三角形的面积: ```cpp double a, b, c, s, area; cout << "please enter a, b, c:"; cin >> a >> b >> c; if (a + b > c && b + c > a && c + a > b) { s = (a + b + c) / 2; area = sqrt(s * (s - a) * (s - b) * (s - c)); cout << setiosflags(ios::fixed) << setprecision(4); cout << "area=" << area << endl; } else cout << "it is not a triangle!" << endl; ``` 首先检查给定的边长是否能构成三角形,然后使用海伦公式计算面积。 以上示例涵盖了C++中的一些基础概念和技术,包括基本的输入输出、函数定义、数学运算、格式化输出以及条件判断等。这些示例不仅帮助初学者理解C++语言的基础,也是实际编程中经常用到的技术点。
- 粉丝: 9
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于ESP8266和Arduino的HomeMatic水表读数系统.zip
- (源码)基于Django和OpenCV的智能车视频处理系统.zip
- (源码)基于ESP8266的WebDAV服务器与3D打印机管理系统.zip
- (源码)基于Nio实现的Mycat 2.0数据库代理系统.zip
- (源码)基于Java的高校学生就业管理系统.zip
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip