c++ primer 学习之路 (23)5.2 while循环 延时函数

5.2 while循环

程序清单使用了一个while循环。该循环遍历字符串,并显示其中的字符及其ASCII码。循环在遇到空值字符时停止。这种逐字符遍历字符串直到遇到空值字符的技术是C++处理C-风格字符串的标准方法。由于字符串中包含了结尾标记,因此程序通常不需要知道字符串的长度。

#include<iostream>
#include<string>
using namespace std;
const int Arsize = 20;
int main()
{
    char name[Arsize];
    cout << "your first name ,please";
    cin >> name;
    cout << "Here is your name ,Verticalized and ASCIIized:\n";
    int i = 0;
    while (name[i] != '\0')
    {
        cout << name[i] << ":" << int(name[i]) << endl;
        i++;
    }
    system("pause");
    return 0;
}

5.2.2 等待一段时间:编写延时循环

ANSI C和C++库中有一个函数有助于完成这样的工作。这个函数名为clock( ),返回程序开始执行后所用的系统时间。

 

程序清单演示了如何使用clock( )和头文件ctime来创建延迟循环。这有两个复杂的问题:首先,clock( )返回时间的单位不一定是秒;其次,该函数的返回类型在某些系统上可能是long,在另一些系统上可能是unsigned long或其他类型。

但头文件ctime(较早的实现中为time.h)提供了这些问题的解决方案。首先,它定义了一个符号常量—CLOCKS_PER_SEC,该常量等于每秒钟包含的系统时间单位数。因此,将系统时间除以这个值,可以得到秒数。或者将秒数乘以CLOCK_PER_SEC,可以得到以系统时间单位为单位的时间。其次,ctime将clock_t作为clock( )返回类型的别名(参见本章后面的注释“类型别名”),这意味着可以将变量声明为clock_t类型,编译器将把它转换为long、unsigned int或适合系统的其他类型。

#include<iostream>
#include<ctime>
using namespace std;
const int Arsize = 20;
int main()
{
    float secs;
    cout << "Enter the delay time in seconds ";
    cin >> secs;
    clock_t delay = secs * CLOCKS_PER_SEC;
    cout << "Starting\a\n";
    clock_t start = clock();
    while (clock() - start < delay)
        ;


    cout << "done";
    system("pause");
    return 0;
}

typedef  别名

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值