第六章循环控制语句

何时退出一个循环

#include <stdio.h>

void main()

{

    int n = 5;

    while (n < 7 ) {

        printf("n = %d \n ",n);

        n ++ ;

        printf("now n = %d \n",n);


    }

    printf("the loop has finished \n.  ");




}


无限循环语句

#include <stdio.h>

void main()

{

    int n = 0;

    while (n < 3 )

        printf("n = %d \n ",n);

        n ++ ;

        printf("now n = %d \n",n);



    printf("the loop has finished \n.  ");




}



浮点数比较

#include <math.h>

#include <stdio.h>

int main()

{

    const double Answer = 3.14159;

    double response ;

    printf("what is the value of pi ? \n");

    scanf( " %lf", &response);

    while (fabs(response - Answer)> 0.0001)

    {

        printf("try again !\n");

        scanf( " %lf", &response);

    }

    printf("close enough\n");


}






c中的真和假

#include <stdio.h>

void main()

{

    int ture_val,false_val;

    ture_val = (10>2);

    false_val = (10 == 2);

    printf("true = %d , false = %d ",ture_val,false_val);

}











那些值为真

#include <stdio.h>

void main()

{

    int  n  =3 ;

    while (n ) {

        printf("%2d is true \n ",n--);


    }

    printf("%2d is false \n",n);

    n = -3 ;

    while (n) {

        printf("%2d is true\n",n++);

    }

      printf("%2d is false \n",n);

}








#include <stdio.h>

void main()

{

    long num ;

    long sum = 0l;

    int status ;

    printf("please enter next integer ( q to quit );");

    printf("(qto quit :");

    status =scanf("%ld",&num);

    while(status ==  1  )// while (status ==  1  )会导致无限循环

    {

        sum +=num ;

        printf("please enter next integer ( q to quit );");


        status =scanf("%ld",&num);

    }

    printf("those integers sum to %ld \n",sum);


}















使用_bool 变量


#include <stdio.h>

void main()

{

    long num ;

    long sum = 0l;

    _Bool input_is_good ;

    printf("plese enter an integer to be summed ");

    printf("(q to quit ):");

    input_is_good = (scanf("%ld", &num)==1);

    while (input_is_good) {

        sum += sum;

        printf("please enter next integer (q to quit ");

         input_is_good = (scanf("%ld", &num)==1);


    }

    printf("those integers sum to %ld ",sum);


}






一个计数程序

#include <stdio.h>

void main()

{

    const int  NUMBER =22;

    int count = 1 ;

    while (count < NUMBER) {

        printf("Be my valentine %10d\n" , count );

        count ++;


    }

}









for 循环


#include <stdio.h>

void main()

{

    const int  NUMBER =22;

    intcount  ;

    for (count = 1;  count < NUMBER; count ++) {

        printf("Be my valentine %10d  \n", count);


    }

}









for 自减

#include <stdio.h>

void main()

{

    int secs;

    for (secs = 5 ; secs; secs --) {

        printf("%d seconds \n",secs);


    }

    printf("we have ignition \n");


}


用字符代替数字进行计数



#include <stdio.h>

void main()

{

    int n ;

    char ch ;

    for(ch  ='a'; ch <= 'z'; ch ++) {

        printf("ch = %c  %d\n",ch,ch);


    }






    for (n = 2;  n <60 ; n += 12 ) {

        printf("n = %d \n", n);


    }


}




yong 



#include <stdio.h>

void main()

{

    int x ;

    int y = 55;

    for (x = 1;  y <=75 ; y = (++x *5)  +50 ) {   

        printf("%10d %10d \n",x,y);

    }

}





可以让一个活着多个表达式为空,但不要遗漏 ,只须 确保在循环中包含了一些能使循环最终结束的语句

#include <stdio.h>

void main()

{

    int ans , n ;

    ans  =2;

    for (n = 3 ; ans <=25 ; ) {

        ans *= n ;


    }


    printf("n =%5d ,ans = %d \n",n ,ans);



}







#include <stdio.h>

void main()

{

    int num = 0 ;

    for (printf(" keep entering num bers \n"); num != 6; ) {

        scanf("%d",&num);



    }

     printf("that's the one I wangt \n");

}



逗号运算符


#include <stdio.h>

void main()

{

    const int FIRST_oz = 37;

    const int NEXT_oz = 23;

    intonuces ,cost    ;

    for (onuces = 1 ,cost = FIRST_oz;onuces <= 16; onuces++, cost += NEXT_oz    ) {


        printf("%5d $%4.2f \n",onuces,cost/100.0);

    }

}



序列数的和

#include <stdio.h>

void main()

{

    int t_ct , limit;

    double time ,x;

    printf("enter the number of terms you want ;");

    scanf("%d",&limit);

    for (time = 0 , x = 1 ,t_ct = 1; t_ct <= limit; t_ct++,x *= 2.0) {

        time +=1.0/x;

        printf("time = %f whe terms = %d .\n ",time,t_ct);


    }


}




推出条件循环


#include <stdio.h>

void main()

{


    const int secret_code = 13 ;

    int code_entered ;

    do

    {

        printf(" to enter the triskaidekaphobia therapy club ,\n");

        printf("please enter the secret code number ");

        scanf("%d",&code_entered);

    }

    while (code_entered != secret_code);

    printf(" congratulations ,your are cured ");



}





入口条件


#include <stdio.h>

void main()

{

    const int secret_code = 13;

    int code_entered ;

    printf("to enter the triskaidekaphobia therapy club \n");

    printf("please enter the secret code number \n");

    scanf("%d",&code_entered);

    while (code_entered != secret_code) {

        printf("to enter the triskaidekaphobia therapy club \n");

        printf("please enter the secret code number \n");

        scanf("%d",&code_entered);

    }

    printf(" congratulation you are cured \n");


}





for循环嵌套


#include <stdio.h>

#define ROWS 6 

#define CHAES 10

void main()

{

    int  row;

    char ch ;

    for (row = 0 ; row < ROWS; row++) {

        for (ch = 'A'; ch < ('A' + CHAES); ch++ ) {

            printf(" %c",ch);

        }

        printf("\n");

    }


}



f





使内部循环依赖于外部循环的嵌套循环

#include <stdio.h>

#define ROWS 6 

#define CHAES 6

void main()

{

    int  row;

    char ch ;

    for (row = 0 ; row < ROWS; row++) {

        for (ch = 'A'+row ; ch < ('A' + CHAES); ch++ ) {

            printf(" %c",ch);

        }

        printf("\n");

    }


}


使用循环进行数组处理

#include <stdio.h>

#define SIZE 10

#define PAR 72

void main()

{

    int index ,score[SIZE];

    int sum = 0; float avage ;

    printf("enter %d golf scores \n ",SIZE);

    for (index = 0 ; index < SIZE ; index ++ ) {

        scanf("%d",&score[index]);


    }

    printf("the scores read in are sa follows \n");

    for (index = 0 ; index < SIZE; index++) {

        printf("%5d",score[index]);

    }

    printf("\n");

    for ( index = 0 ; index < SIZE ; index++) {

        sum += score[index];


    }

    avage = (float) sum / SIZE;

    printf("sum of score = %d average = %.2f\n",sum ,avage);

    printf("that's a handicap of %.0f .\n",avage-PAR);



}





s



计算数值的整数次幂

#include <stdio.h>

double power (double n ,int p )

{

    double pow = 1 ;

    int  i ;

    for (i = 1;  i <= p ; i ++) {

        pow *= n;

    }

    return pow;

}

void main()

{

    double x ,xpow ;

    int exp ;

    printf("Enter a number and the positive intefger power ");

    printf("to which \n the number will be raised enter q");

    printf(" to quit \n");

    while (scanf( "%lf%d",&x,&exp) == 2)//成功的读取了两个数值,并返回2

    {

        xpow =power(x,exp);

        printf(" %.3g to the ower %d is %.5g \n ", x ,exp,xpow);

        printf("Enter next pair of numbers of q to tuit.\n");


    }

    printf("hope you enjoyed this power trip ---bye ! \n");




}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容