C++——循环和关系表达式

关系表达式的优先级比算数表达式低;
不能用关系表达式来比较字符串,但是可以用它来比较字符大小(ASCII);

for循环
在C++中,程序在需要整数的地方,把 true 当做 1,把 false 当做 0 ;而在需要 bool 值的地方把非 0 当做 true,把 0 当做 false。
注意这几个的区别:i++,++i,i–,--i;

while循环
while循环是没有初始化和更新部分的for循环,它只有测试条件和循环体;在一等程度上for循环和while循环几乎是等效的。

do while循环
这里需要提到的是,循环必须要有限制,否则就是死循环

这里提到几个函数:
比较字符串大小:strcmp(str1,str2); 把str2与str1进行比较——> 返回值是 0 :str2=str1; 返回值是 >0 :str2>str1 ;返回值 <0 : str2<str1;
如果是bool值;则相等为false;不等为true。

系统延时等待:
clock();在头文件里面有一个符号常量——CKOCKS_PER_SEC,这个常量等于每秒钟所包含的系统时间单位数。其次,在里面,把clock_t作为了clock()返回类型的别名。这就意味着,在申明变量时可以直接声明为clock_t类型。
例:
clock_t wait_time = wait * CLOCKS_PER_SEC;
clock_t start = clock();
cout << “正在等待…” << endl;
while (clock() - start < wait_time);
cout << “等待结束…”;
clock()获取的是当前系统时间,返回值是一个比较大的整数;因为系统时间常量:CLOCKS_PER_SEC=1000; 所以:一秒钟系统clock()自增一千;在while循环里:当前系统时间—开始时间<需要等待时间 ,则clock()继续增加;

简单验证了一下,clock()的时间好像是从程序运行时开始从1或者0递增

多重循环
If(){
}
else if(){
}
这里有一个 if else 循环体的替代语句:
( ? : ) 运算符:
它是C++中唯一一个需要三个操作数的运算符,格式如下: expression1 ? experssion 2 : experssion 3;
Experssion1: 是一个条件表达式 。当条件表达式为true,这个运算符取值:Experssion2 ;当条件表达式为false,Experssion3
例1:
int c=a>b? 10 : 20;——>如果a>b=true,结果取 10; 如果a>b=false,结果取 20;
例2:
a>b? fun()1 : fun()2; ——>通过这个运算符来选择一个函数执行
与 if else 相比 (?:)运算符是一个表达式,它可以是一个值,也可以是一个变量;它适用于简单的关系或者表达式。当结构复杂时还是应该选择if else 结构。

条件运算符
&& || !=
在这里需要注意的是,&&运算符 和 || 运算符的优先级都要比 关系运算符 低 ; 而 != 运算符的优先级要高与所有的条件运算符和算数运算符

Switch语句
结构如下:
switch(n){
case 1: do……;break;
case 2: do……;break;
case 3: do……;break;
case 4: do……;break;
………
case n: do……;break;
default: do…….;
}
注意:switch语句中的每一个case都是一个独立的值,而且这个值必须是一个已知的整数常量;如果涉及到浮点数、变量、取值范围,请使用if else。 并且,在选择分支大于 3 的时候,尽量使用switch语句;
通常 : 我们把枚举和switch语句结合使用,因为枚举的每一个枚举元素都是一个常量

continue 和 break:(略)

注意:在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的 循环放在最外层,以减少 CPU 跨切循环层的次数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值