上QQ阅读APP看书,第一时间看更新
7.3.6 死循环/退出程序
前面介绍了在C语言中常用的循环语句,在讲解过程中提到了死循环。下面将简要介绍C语言中死循环的基本知识,并顺便介绍退出函数exit的基本用法。
1.死循环
死循环是指没有外来条件的干扰,这个循环语句将永远执行下去。例如下面就是一个死循环。
while(10{ 循环体 }
上述循环表达式的值总为真,并且程序无法改变条件,因为程序不会改变自身值,所以永远不会停止。
在实际应用中,死循环没有任何意义。前面讲解的break语句可以在需要时立刻终止,这样就可以利用死循环来实现需要某些重复功能,在完成后即可使用break来终止。看下面的代码。
#include <stdio.h> int main(void){ int n; while(1) { //输出菜单 puts("\n 1 for is A."); puts("Enter 2 is B."); puts("Enter 3 is C."); puts("Enter 4 is D."); puts("Enter 5 to is program."); scanf("%d", &n); //接收用户输入的数据 if(n==1) //若该数为1则输出执行任务A的消息 puts("is A."); else if(n==2) //若该数为2则输出执行任务B的消息 puts("is B."); else if(n==3) //若该数为3则输出执行任务C的消息 puts("is C."); else if(n==4) //若该数为4则输出执行任务D的消息 puts("is D."); else if(n==5) //若该数为5则退出循环 {puts("Exit! "); break; } else //若为其他数则输出错误消息 puts("Error! "); } }
上述代码通过死循环创建了一个列表选项供用户选择1、2、3、4等数字,选择后输出不同的提示,并继续死循环;当用户输入5后,则输出“exit”的提示,并使用break终止循环,退出系统。
从上述代码中可以得出一个结论:合理利用死循环也可以方便地解决现实项目问题。
2.退出程序
在C语言中,程序执行到main函数右边的花括号“}”后,程序将结束。实际上,在main函数结束时,程序会隐式地调用退出函数exit。
函数exit的功能是退出当前的执行程序,并将控制权返还给操作系统。函数exit会接受一个整型参数,并将其返回给操作系统,提示程序是正常终止还是异常终止。函数exit的使用格式如下所示。
void exit(int status);
其中,“status”表示退出状态,一般用0表示正常退出,非零则表示不退出。
函数exit中的参数是程序退出时返回给操作系统的退出码,这在自己的程序中很少用到。但把函数exit用在main函数内的时候,不管main函数是否定义成void返回值都是有效的,并且exit不需要考虑类型,exit(1)等价于return。看下面的代码。
#include <iostream> #include <string> using namespace std; int main(void) { exit (1); //等价于return (1); }