您的位置:首页 > 其它

C指针原理(70)-C快速入门(3)

2014-01-23 15:28 260 查看
(3)引入循环机制

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 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 % 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: