C指针原理(70)-C快速入门(3)
2014-01-23 15:28
260 查看
(3)引入循环机制
C语言中可以使用while循环,语法格式如下:
while(条件){
语句块
}
或者使用do...while循环,语法格式如下:
do{
语句块
}while (条件)
通过循环,在玩家输入错误数字的情况下,给玩家重新输入的机会,而不是直接退出程序。
dp@dp:~/cquick % cat guessnum.c
#include <stdio.h>
int main(){
int mynum;
int ispass=0;
while (!ispass){
printf("你好,请输入一个数字:");
scanf("%d",&mynum);
if (mynum>500 ||mynum<1){
ispass=0;
printf("数字仅限于1-500之间,请重新运行本程序!\n");
}
else{
ispass=1;
printf("\n你输入的数字是:%d\n",mynum);
}
}
}
编译并运行:
dp@dp:~/cquick % gcc guessnum.c -o myguess
dp@dp:~/cquick % ./myguess
你好,请输入一个数字:1234
数字仅限于1-500之间,请重新运行本程序!
你好,请输入一个数字:-12
数字仅限于1-500之间,请重新运行本程序!
你好,请输入一个数字:88
你输入的数字是:88
上述程序中的while的条件中使用了“!”,它表示逻辑非。
上述程序中的while的条件中使用了“!”,它表示逻辑非。
也可以用do...while来实现它:
#include <stdio.h>
int main(){
int mynum;
int ispass=0;
do{
printf("你好,请输入一个数字:");
scanf("%d",&mynum);
if (mynum>500 ||mynum<1){
ispass=0;
printf("数字仅限于1-500之间,请重新运行本程序!\n");
}
else{
ispass=1;
printf("\n你输入的数字是:%d\n",mynum);
}
} while (!ispass);
}
dp@dp:~/cquick % gcc guessnum.c -o myguess
dp@dp:~/cquick % ./myguess
你好,请输入一个数字:8889
数字仅限于1-500之间,请重新运行本程序!
你好,请输入一个数字:12
你输入的数字是:12
观察上面2个程序可看出,使用了ispass这个变量做为是否退出循环的依据,也可以不使用ispass,直接通过break语句退出循环(注意,只能退出break语句本身所在的那层循环),
#include <stdio.h>
int main(){
int mynum;
int ispass=0;
while(1){
printf("你好,请输入一个数字:");
scanf("%d",&mynum);
if (mynum>500 ||mynum<1){
printf("数字仅限于1-500之间,请重新运行本程序!\n");
}
else{
printf("\n你输入的数字是:%d\n",mynum);
break;
}
}
}
dp@dp:~/cquick % gcc guessnum.c -o myguess
dp@dp:~/cquick % ./myguess
你好,请输入一个数字:8788
数字仅限于1-500之间,请重新运行本程序!
你好,请输入一个数字:66
你输入的数字是:66
dp@dp:~/cquick %
C语言中可以使用while循环,语法格式如下:
while(条件){
语句块
}
或者使用do...while循环,语法格式如下:
do{
语句块
}while (条件)
麦好的AI乐园博客所有内容是原创,如果转载请注明来源
http://blog.csdn.net/myhaspl/
通过循环,在玩家输入错误数字的情况下,给玩家重新输入的机会,而不是直接退出程序。dp@dp:~/cquick % cat guessnum.c
#include <stdio.h>
int main(){
int mynum;
int ispass=0;
while (!ispass){
printf("你好,请输入一个数字:");
scanf("%d",&mynum);
if (mynum>500 ||mynum<1){
ispass=0;
printf("数字仅限于1-500之间,请重新运行本程序!\n");
}
else{
ispass=1;
printf("\n你输入的数字是:%d\n",mynum);
}
}
}
编译并运行:
dp@dp:~/cquick % gcc guessnum.c -o myguess
dp@dp:~/cquick % ./myguess
你好,请输入一个数字:1234
数字仅限于1-500之间,请重新运行本程序!
你好,请输入一个数字:-12
数字仅限于1-500之间,请重新运行本程序!
你好,请输入一个数字:88
你输入的数字是:88
上述程序中的while的条件中使用了“!”,它表示逻辑非。
上述程序中的while的条件中使用了“!”,它表示逻辑非。
也可以用do...while来实现它:
#include <stdio.h>
int main(){
int mynum;
int ispass=0;
do{
printf("你好,请输入一个数字:");
scanf("%d",&mynum);
if (mynum>500 ||mynum<1){
ispass=0;
printf("数字仅限于1-500之间,请重新运行本程序!\n");
}
else{
ispass=1;
printf("\n你输入的数字是:%d\n",mynum);
}
} while (!ispass);
}
麦好的AI乐园博客所有内容是原创,如果转载请注明来源
http://blog.csdn.net/myhaspl/
dp@dp:~/cquick % gcc guessnum.c -o myguessdp@dp:~/cquick % ./myguess
你好,请输入一个数字:8889
数字仅限于1-500之间,请重新运行本程序!
你好,请输入一个数字:12
你输入的数字是:12
观察上面2个程序可看出,使用了ispass这个变量做为是否退出循环的依据,也可以不使用ispass,直接通过break语句退出循环(注意,只能退出break语句本身所在的那层循环),
#include <stdio.h>
int main(){
int mynum;
int ispass=0;
while(1){
printf("你好,请输入一个数字:");
scanf("%d",&mynum);
if (mynum>500 ||mynum<1){
printf("数字仅限于1-500之间,请重新运行本程序!\n");
}
else{
printf("\n你输入的数字是:%d\n",mynum);
break;
}
}
}
dp@dp:~/cquick % gcc guessnum.c -o myguess
dp@dp:~/cquick % ./myguess
你好,请输入一个数字:8788
数字仅限于1-500之间,请重新运行本程序!
你好,请输入一个数字:66
你输入的数字是:66
dp@dp:~/cquick %
相关文章推荐
- C指针原理(71)-C快速入门(6)
- C指针原理(68)-C快速入门(1)
- C指针原理(69)-C快速入门(2)
- 《算法笔记》2.7小节——C/C++快速入门->指针
- this指针和类的继承 - C++快速入门16
- API hook原理和实例快速入门(inline hook),以dll线程注入方式使用(win7-64bit)
- C++快速入门 (四) 引用 和 指针
- this指针和类的继承 - C++快速入门16
- c++快速简易入门教程_005this指针
- Hibernate 的原理与配置快速入门
- 容斥原理、鸽巢原理快速入门
- XenStore:使用,结构和原理(1. 快速入门)
- 《算法笔记》2.7小节——C/C++快速入门->指针
- Hibernate 的原理与配置快速入门
- Hibernate 的原理与配置快速入门
- JSON 超级快速入门 二 AJAX技术最根本的原理
- C++ Primer快速入门之六:数组和指针
- Spring Boot实战与原理分析之快速入门
- XenStore:使用,结构和原理(1快速入门) .
- Hibernate 的原理与配置快速入门