C--控制语句循环例子

C的三种循环while、for和do  while

先说一下scanf()函数的返回值问题

当scanf("%d,%d",&a,&b);如果用户正确输入了俩个整形变量,那么scanf的返回值为2

当scanf("%d,%d,%d",&a,&b,&c);如果用户正确的输入三个整形变量,那么scanf的返回值为3.

/*对用户输出的整数求和*/

#include <stdio.h>



int main(void)

{

    long num;

    long sum=0;//把sum初始化为零

    int status;

    

    printf("Please enter an integer to be summed,q to quit!\n");

    status=scanf("%1d",&num);

    while(status==1) //==的意思是等于  

    {

        sum+=num;

        printf("next!q to quit!\n");

        status=scanf("%1d",&num);

    }

    printf("All is to %1d",sum);

    getchar();

    getchar();

    getchar();

}

 for循环

经典for循环之九九乘法表:

/*经典for循环九九乘法表*/



#include<stdio.h>



int main(void)

{

    int i,j;

    for(i=1;i<=9;i++)

    {

        for(j=1;j<=i;j++)

        {

            printf("%d*%d=%d  ",i,j,i*j);

        }

        printf("\n");

    }

    getchar();



}

 经典for循环之冒泡排序法

/* 经典for循环之冒泡排序法*/



#include<stdio.h>



int main(void)

{

    int arr[4]={4,5,1,2};     //定义数组 int 数组length为4

    int i,j,temp;

    for(i=0;i<=3;i++)  

    {

        for(j=0;j<3;j++)

        {

            if(arr[j]>arr[i])

            {

                temp=arr[i];     //数据交换

                arr[i]=arr[j];

                arr[j]=temp;

            }

        }

    }

    for(i=0;i<4;i++)  //数组下标从0开始如果不是如果i=1--i=4那么将没有arr【4】将会输出12506....

    {

        printf("%d ",arr[i]);

    }

    getchar();

    



}

 for循环的灵活性。例如,i--,i+12,i*i,i*11,等等。

do while:退出条件循环

while循环和for循环都是入口条件循环,在每次执行loop前进行判断,如果条件不满足就不会执行循环体内的代码块。

为了确保能够在执行循环之后判断条件,do while 可以做到这一点。

 

--数组

/* 接收用户输入的数据存放到数组中并打印*/

#include<stdio.h>



int main(void)

{

    

    char strr[5]={0};

    int i=0;

    

    for(;i<5;i++)

    {

       scanf("%c",&strr[i]);  //我不用&的时候会报错,VC6.0.有待以后解决。

       getchar();



    }

    for(i=0;i<5;i++)

    {

       printf("%c",strr[i]);

    }

    getchar();

}


返回值函数,略。

 

你可能感兴趣的:(例子)