c++primer plus学习笔记之while循环 类型别名 延时clock()

本文介绍了C++中的while循环工作原理,讲解了如何利用clock()函数实现延时效果,并探讨了在ctime头文件中的CLOCK_PER_SEC常量的作用。此外,还讨论了C++中typedef关键字创建类型别名的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:while循环是没有初始化和更新部分的for循环,它只有测试条件和循环条件

while (test-condition)

body

首先计算圆括号内的测试条件,如果该表达式为true,则执行循环体中的语句,直到测试条件为false为止。

2:编写延时程序

c++中有一个函数有助于完成这样的工作。这个函数名字为clock(),返回程序开始执行后所用的系统时间。此时,出现两个问题,首先,clock()函数返回的时间单位不一定是秒;其次,该函数的返回类型在某些系统上可能是long,在另一些系统上可能是unsigned long或其他类型。

头文件ctime提供了这些问题的解决方案

①首先,定义了一个符号常量--CLOCK_PER_SEC,该常量等于每秒钟包含的系统时间单位数,因此,将系统时间除以这个值可以得到秒数,或者将秒数乘以CLOCK_PER_SEC,可以得到以系统时间单位为单位的时间。

②其次,ctime将clock_t作为返回类型的别名,这意味着可以将变量声明为clock_t类型,编译器将把它转换为long,unsigned long或适合系统的其他类型。

下面程序使用了clock()函数和头文件ctime来创建延迟循环

//延时5秒
#include <iostream>
#include <ctime>//描述clock()函数,clock_t类型
using namespace std;
int main()
{
	cout<<"Enter the delay time,in seconds: "<<endl;
	float secs;
	cin>>secs;//输入延时的秒数
	clock_t delay=secs*CLOCKS_PER_SEC;//延时以系统时间单位为单位的时间
	cout<<"starting\a\n";
	clock_t start=clock();
	while (clock()-start<=delay)
		;
	cout<<"done\a\n";
	return 0;
} 
输入:5

输出:starting等待5秒之后显示done
3:类型别名

c++为类型建立别名方式有两种。

一种是预处理器:#define aliasName typeName,这样预处理器在编译程序时,用typeName替换所有的aliasName,从而aliasName成为typeName的别名。

二种是使用c++(和c)的关键字typedef来创建别名:typedef typeName aliasName,typedef不会创建新的类型,而只是为已有的类型创建一个新名称。








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值