温故而知新_《谭浩强_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

个人以为,不要纠结这种问题,性能的关键在于算法及数据结构,结合自身优化经验,通过改进一个循环控制语句写法而达到了性能的提升,没有遇到过这样的案例,况且,实际编码中可维护性尤为重要。

 

习题:

(待续...

原创粉丝点击