温故而知新_《谭浩强_C++程序设计》_第三章_程序设计初步
来源:互联网 发布:mac怎么同步铃声 编辑:程序博客网 时间:2024/06/02 18:35
算法的表述方式
※自然语言
※流程图
※伪代码(pseudo code)
※计算机语言表示(程序)
输入输出流中使用控制符
※需包含头文件iomanip,我们一起复习下(坦诚说:C++提供的格式控制不如C好用,我反正很少用...)
#include <iostream>#include <iomanip>int main(int argc, char *const argv[]){ std::cout << "//////////////////////////////////////////////////////////" << std::endl; double a = 123.456789012645; // result is 123.456 std::cout << a << std::endl; // result is 123.456789 std::cout << std::setprecision(9) << a << std::endl; // result is 123.456789013 四舍五入 std::cout << std::setiosflags(std::ios::fixed) << a << std::endl; // result is also 123.456789013 设置全局有效 std::cout << a << std::endl; // result is ?? //std::cout << std::setiosflags(std::ios::scientific) // << std::setprecision(4) // << a << std::endl; std::cout << "//////////////////////////////////////////////////////////" << std::endl; int b = 123456; // result is 123456 std::cout << b << std::endl; // result is 1e240 std::cout << std::hex << b << std::endl; // result is 1E240 std::cout << std::setiosflags(std::ios::uppercase) << b << std::endl; // result is *****1E240 std::cout << std::setfill('*') << std::setw(10) << b << std::endl; // result is +1E240?? //std::cout << std::setiosflags(std::ios::showpos) << b << std::endl; std::cout << "//////////////////////////////////////////////////////////" << std::endl; double c = 123.456, d = 3.14159, e = 3214.67; std::cout << std::setiosflags(std::ios::fixed) << std::setiosflags(std::ios::right) << std::setprecision(2); // result is below: //****123.46 //******3.14 //***3214.67 std::cout << std::setw(10) << c << std::endl; std::cout << std::setw(10) << d << std::endl; std::cout << std::setw(10) << e << std::endl; return 0;}
※do...while执行过程图示:
※while...do执行过程图示:
扩展:
※关于for(;;)同while效率之争
网上各家之言:http://blog.csdn.net/coolbacon/article/details/7469044
http://bbs.csdn.net/topics/210008025
http://bbs.chinaunix.net/thread-2306235-1-1.html
个人以为,不要纠结这种问题,性能的关键在于算法及数据结构,结合自身优化经验,通过改进一个循环控制语句写法而达到了性能的提升,没有遇到过这样的案例,况且,实际编码中可维护性尤为重要。
习题:
(待续...)
- 温故而知新_《谭浩强_C++程序设计》_第三章_程序设计初步
- 温故而知新_《谭浩强_C++程序设计》_第二章_数据类型与表达式
- 操作系统_第三章_处理器管理_多道程序设计
- C++ 程序设计_谭浩强
- 程序设计_洗牌程序
- JAVA程序设计_图谱
- java程序设计基础_陈国君版第五版_第三章习题
- C++程序设计_第八章_习题解答
- 吴文虎_程序设计基础_清华大学视频教程
- 吴文虎_程序设计基础_清华大学视频教程
- 谭浩强C++程序设计_指针习题11
- 谭浩强C++程序设计_指针习题13
- 第01章_程序设计入门
- 第02章_循环结构程序设计
- 程序设计入门—Java语言_第三周编程作业
- 翁凯_面向对象程序设计-第三周
- 读书笔记_C#技术内幕_第三章(C#表达式)
- 第二阶段_第三小节_C#基础
- 个人对回调函数的理解
- 不让键盘挡住Textfield输入框
- cocos2d-x-2.1.5 没有install-templates-msvc.bat
- 判断整数序列是不是二元查找树的后序遍历结果
- js隐藏/显示页面元素的两种方法
- 温故而知新_《谭浩强_C++程序设计》_第三章_程序设计初步
- magento 修改order的状态方法
- ExtJs之Ext.data.Store
- List Delete
- Hdu 4617 Weapon (三维计算几何 异面直线距离)
- linux环境下SDL安装全过程及常见问题剖析
- Java继承中调用子类构造函数
- skew数
- glPixelMap