while 的用法
来源:互联网 发布:人工智能 西蒙 编辑:程序博客网 时间:2024/05/21 07:09
while以前经常遇到,没有注意有什么特别的,今天遇到一个程序,一开始竟然没能反应过来。
程序是这样的:
int main()
{
int val, sum = 0;
cout << "Enter the number:";
while (cin >> val)
{
sum += val;
cout << "Enter next number:";
}
cout << "Sum of all values:" << sum << endl;
return 0;
}
一直输入val 的值,3,2,5,觉得差不多了,就想输入0结束程序,但是程序并没有结束,自己很不解,不是while条件中为0就跳出循环吗?后来再想是不是false才是退出条件,自己就尝试了一下,结果真的退出了。不过辛亏自己没高兴的过头,自己尝试了输入true,也退出了,自己又随便输入字母ll,还是退出了,这到底是什么情况了?难道是输入字母就退出,输入数字就一直循环?
再查一下while的语义:计算表达式的值,当值为真(非0)时, 执行循环体语句。那这边就是考虑表达式“cin >> val”的值是否为真,val已经声明为int类型,如果输入是数字,那么表达式就是真;相反,如果输入的不是数字,表达的值就为非真(0),也就退出循环了。
这个例子对于要求对输入的数字求和是一个很好的例子,退出机制就设在了while的条件里,也算是对while的一次灵活应用。
最后再看几个常见的while例子吧:
1)while(i < 10){ sum += i, i++}
2) while(getchar() != '\n'){……}
3)while (n --) {} //当n减到0时循环结束
- while(0)的用法
- while 的用法
- while的经典用法
- @while的用法
- while循环的用法
- while跟do...while的用法
- do...while(0)的用法
- do{} while(0)的用法
- 关于while(true)的用法
- while循环的基本用法
- do{...}while(false)的用法
- do{...}while(0)的用法
- java中while的用法
- do while(0)的用法
- do...while(0)的用法
- while循环的特殊用法
- while (n-- > 0) 的用法
- for,while,do...while,switch,break,continue,return的用法
- Linux查看CPU和内存使用情况
- php 显示错误回显
- Busybox下tftp命令使用详解
- C语言getopt()函数的使用
- shell脚本中自动输入用户名和密码
- while 的用法
- short_open_tag
- Linux 目录配置标准:FHS:FileSystem Hierarchy Standard
- phpMyadmin乱码。
- leetcode之Remove Element
- 解决:The process "c:/qt/2010.05/qt/bin/qmake.exe" exited with&nbs
- Java 网络编程 第一部分
- 对话框修改左上角的图标和任务栏里图标
- 为什么要学习c语言