値と条件式 int x; double y; ©Jun Usuki (※) yには右辺の演算結果が格納され、 yの値が条件判定で使用される 問: 次を説明せよ! (文1はいつ実行される?) 例1) if ( 1 ) { 文1; } else { 文2; } // いつも 例2) if ( 0 ) { 文1; } else { 文2; } // 実行されることはない 例3) if ( x ) { 文1; } else { 文2; } // x = ・・・, 1, 2, -1, ・・・ 例4) if ( y ) { 文1; } else { 文2; } // y = ・・・, 1.0, 2.0, 0.1, -0.1, ・・・ 例5) if ( !0 ) { 文1; } else { 文2; } // いつも 例6) if ( !5 ) { 文1; } else { 文2; } // 実行されることはない 例7) if ( x==7 ) { 文1; } else { 文2; } // x = 7 例8) if ( x!=7 ) { 文1; } else { 文2; } // x= ・・, -1, 0, 1,~, 6, 8, 9, ・・ 例9) if ( x%3 ) { 文1; } else { 文2; } // xが3の倍数でないとき 例10) if ( !(x%3) ) { 文1; } else { 文2; } // xが3の倍数のとき 例11) if ( y=(x%3) ) { 文1; } else { 文2; } // 3の倍数でないとき(※) 例12) if ( y=!(x%3) ) { 文1; } else { 文2; } // xが3の倍数のとき(※) 例13) if ( x<=7 && !(x%3) ) { 文1; } else { 文2; } //7以下で3の倍数 例14) if ( x<=7 || !(x%3) ) { 文1; } else { 文2; } //7以下か3の倍数 ©Jun Usuki while文を思い出そう! & 利便性を高めよう! int sum=0, x=0; do{ sum = sum + x; x = x + 1; printf("sum=%d, x=%d ¥n", sum, x); getchar(); // ←これが便利! }while( x < 20 ); ©Jun Usuki ©Jun Usuki while文(2) for文 括弧内を繰り返し実行する。 N=5とすると、何回繰り返す? xが0でない間、括弧内を繰り返し実行する。 do { while( x ){ 文; } 文; } while( x ); xには数値や数式が入る。条件式でも良い。 for (i=0; i<N; i++) { 文; } for (i=0; i<N; i+=1) { 文; } for (i=10; i>N; i--) { 文; } for (i=10; i>N; i-=2) { 文; } 違いは? ・・・(ヒント)プログラムは上から順に実行される! xが0であっても 最低1度は 括弧内が実行される xが0だと 1度も 括弧内は実行されない ©Jun Usuki 練習:ミスを減らそう! ①~④を実行すると何が表示される? ① for( i=0; i<10; i++) { printf(“A”); printf(“B”); } ② for( i=0; i<10; i++) printf(“A”); printf(“B”); ③ i=0; while(i< 10) { printf(“A”); printf(“B”); i++; } ④ i=0; while(i< 10) printf(“A”); printf(“B”); i++; 1
© Copyright 2024 ExpyDoc