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

(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 % 


你可能感兴趣的:(C语言)