Microsoft PowerPoint - 説明3_if文switch文(C_guide3)【2015新教材対応確認済み】.pptx

Similar documents
Microsoft PowerPoint - 説明2_演算と型(C_guide2)【2015新教材対応確認済み】.pptx

プログラミング基礎

プログラミング基礎

Microsoft PowerPoint - class04.ppt

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

新・明解C言語で学ぶアルゴリズムとデータ構造

C¥×¥í¥°¥é¥ß¥ó¥° ÆþÌç

4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の

C言語によるアルゴリズムとデータ構造

計算機プログラミング

kiso2-09.key

Microsoft PowerPoint - C言語の復習(配布用).ppt [互換モード]

3-4 switch 文 switch 文は 単一の式の値によって実行する内容を決める ( 変える ) 時に用いる 例えば if 文を使って次のようなプログラムを作ったとする /* 3 で割った余りを求める */ #include <stdio.h> main() { int a, b; } pri

4-4 while 文 for 文と同様 ある処理を繰り返し実行するためのものだが for 文と違うのは while 文で指定するのは 継続条件のみであるということ for 文で書かれた左のプログラムを while 文で書き換えると右のようになる /* 読込んだ正の整数値までカウントアップ (for

プログラミングA

Microsoft PowerPoint - lec4.ppt

P03.ppt

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

プログラミングA

C 言語第 3 回 2 a と b? 関係演算子 a と b の関係 関係演算子 等しい a==b 等しくない a!=b より大きい a>b 以上 a>=b より小さい a<b 以下 a<=b 状態 真偽 値 条件が満たされた場合 TRUE( 真 ) 1(0 以外 ) 条件が満たされなかった場合 F

C言語入門

スライド 1

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

Taro-Basicの基礎・条件分岐(公

‚æ4›ñ

PowerPoint Presentation

Microsoft PowerPoint - 説柔5_間勊+C_guide5ï¼›2015ã•’2015æŒ°æŁŽæš’å¯¾å¿œç¢ºèª“æ¸‹ã†¿ã•‚.pptx

Prog1_6th

PowerPoint Presentation

プログラミング実習I

kiso2-06.key

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

PC Windows 95, Windows 98, Windows NT, Windows 2000, MS-DOS, UNIX CPU

PowerPoint プレゼンテーション

Microsoft PowerPoint - C_Programming(3).pptx

C 言語の式と文 C 言語の文 ( 関数の呼び出し ) printf("hello, n"); 式 a a+4 a++ a = 7 関数名関数の引数セミコロン 3 < a "hello" printf("hello") 関数の引数は () で囲み, 中に式を書く. 文 ( 式文 ) は

プログラミング方法論 II 第 14,15 回 ( 担当 : 鈴木伸夫 ) 問題 17. x 座標と y 座標をメンバに持つ構造体 Point を作成せよ 但し座標 は double 型とする typedef struct{ (a) x; (b) y; } Point; 問題 18. 問題 17 の

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

初歩のC言語ターミナル_2014_May.pages

fuga scanf("%lf%*c",&fuga); 改行文字を読み捨てる 10 進数の整数 おまじない取り込んだ値を代入する変数 scanf( %d%*c,&hoge); キーボードから取り込め という命令 1: scanf 1 1: int double scanf %d %lf printf

P02.ppt

スライド 1

Microsoft PowerPoint - C4(反復for).ppt

P05.ppt

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

C言語7

Taro-プログラミングの基礎Ⅱ(公

Microsoft Word - Training4_判断と制御.docx

Microsoft PowerPoint - 3.pptx

printf("5つの整数を入力して下さい \n"); /* データ入力 */ for( /*** 02 ***/ ){ printf("%dつ目の入力 :",i+1); scanf("%d", /*** 03 ***/ ); sum=dat[0]; /* 合計値の初期設定 */ n_max= 0

物質工学科 田中晋

プログラムの基本構成

新版明解C言語入門編

£Ã¥×¥í¥°¥é¥ß¥ó¥°ÆþÌç (2018) - Â裵²ó ¨¡ À©¸æ¹½Â¤¡§¾ò·ïʬ´ô ¨¡

Taro-C言語の基礎Ⅰ(公開版).j

Microsoft Word - 3new.doc

PowerPoint プレゼンテーション

Microsoft PowerPoint - prog04.ppt

Taro-リストⅠ(公開版).jtd

3. 標準入出力

JavaプログラミングⅠ

新・明解C言語 実践編

8 / 0 1 i++ i 1 i-- i C !!! C 2

1. if~ 1.1. 確認を促す まずは簡単な分岐プログラムを作ってみましょう 以下はそのフローチャートです 開始 charc よろしいですか? (y/n) 変数 c の値が 'y' と等しいかどうか c c='y' Yes よろしいですね No 終了 1: 2: 3: 4: 5: 6: 7: 8

gengo1-2

cp-7. 配列

Java講座

Microsoft PowerPoint - Prog05.ppt

Microsoft PowerPoint - CproNt02.ppt [互換モード]

以上

C のコード例 (Z80 と同機能 ) int main(void) { int i,sum=0; for (i=1; i<=10; i++) sum=sum + i; printf ("sum=%d n",sum); 2

講習No.9

Microsoft Word - no11.docx

Taro-再帰関数Ⅲ(公開版).jtd

Microsoft Word - no206.docx

プログラミング入門1

プログラミング入門1

Microsoft Word - Cプログラミング演習(1)_2012

P06.ppt

8 if switch for while do while 2

5

プログラミング基礎

情報処理演習 B8クラス

/*Source.cpp*/ #include<stdio.h> //printf はここでインクルードして初めて使えるようになる // ここで関数 average を定義 3 つの整数の平均値を返す double 型の関数です double average(int a,int b,int c){

関数の呼び出し ( 選択ソート ) 選択ソートのプログラム (findminvalue, findandreplace ができているとする ) #include <stdiu.h> #define InFile "data.txt" #define OutFile "surted.txt" #def

Microsoft Word - Cプログラミング演習(8)

gengo1-11

[1] #include<stdio.h> main() { printf("hello, world."); return 0; } (G1) int long int float ± ±

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

Microsoft PowerPoint - 4.pptx

C言語入門

フローチャートの書き方

Taro-リストⅢ(公開版).jtd

次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1

Microsoft Word - Cプログラミング演習(11)

Report#2.docx

kiso2-03.key

Microsoft Word - no103.docx

main

プログラミング及び演習 第1回 講義概容・実行制御

Transcription:

情報ネットワーク導入ユニット Ⅰ C 言語 if 文 switch 文

3 章 : プログラムの流れの分岐 if 文 if( 条件 ) 条件が成立すれば実行 if( 条件 ) ~ else 場合分け ( 成立, 不成立 ) if( 条件 A) ~ else if( 条件 B) ~ else if( 条件 C) ~ else 場合分け ( 複数の条件での場合分け ) 等価演算子 : == ( 等しい ),!= ( 等しくない ) 関係演算子 : > < >= <= 論理演算子 : && (AND, かつ ) (OR, または ) 条件演算子 : a==b? a=10 : a=20; (a と b が等しいなら,a に 10 を, そうでないなら a に 20 を代入 ) 複合文 ( ブロック ) : { ひとつのかたまりとして扱われる switch case 文 : 場合分けに便利な方法

3 章 : プログラムの流れの分岐 if( 条件 ) ~ else ~ C 言語のプログラムの流れの基本と条件分岐, 繰り返し #include <stdio.h> int main(void) { int vx; printf(" 整数を入力 :"); scanf("%d", &vx ); printf("5 で割ったあまり %d n", vx%5 ); 実行の方向 C 言語のプログラムの流れの基本 main から始まり上 下に順番に実行される. 上 下の単純な流れを変えたい場合がある. 例えば, 条件によって実行したり, しなかったり if 文, switch 文 同じようなプログラムを繰返す do 文,while 文,for 文

if( 条件 ) { else { if 文基本形 1 (if ~ else ~ ) 条件が成立した場合に, 実行するプログラムを書く 条件が成立しない場合に, 実行するプログラムを書く #include <stdio.h> int vx; printf(" 整数を入力 :"); scanf("%d", &vx ); if( vx % 2 == 0 ) { printf(" 偶数です %d n",vx ); else { printf(" 奇数です %d n",vx ); printf(" 終了! n"); いろいろな条件 整数を入力 :10 if( x == y ) xとyは等しい if( vx%3 == 0 ) 偶数です. 10 if( x!= y ) xとyは等しくない if( dx%2!= 0 ) 終了! if( x > y ) x は y より大きい if( x1-x2 > 0 ) if( x >= y ) x は y 以上 ( 大きいか等しい ) if( x1 >= 0.5 ) if( x < y ) x は y より小さい if( 0 < sum ) if( x <= y ) x は y 以下 ( 小さいか等しい ) if( sum <= 100 ) 実行結果 1 実行結果 2 整数を入力 :11 奇数です. 11 終了! 整数を読込み, 2 で割った余りが 0 なら偶数ですそうでないなら奇数ですと表示する

if( 条件 ) { 条件が成立した場合に, 実行するプログラムを書く if 文基本形 2(if だけ ) #include <stdio.h> int vx; printf(" 整数を入力 :"); scanf("%d", &vx ); if( vx % 2 == 0 ) { printf(" 偶数です %d n",vx ); 整数を読込み, 2 で割った余りが 0 なら偶数ですと表示する * そうでない場合は何もしない if ~ else ~ if だけ printf(" 終了! n"); 実行結果 1 vx%2は0か? No 奇数です終了 Yes 偶数です vx%2は0か? No 終了 Yes 偶数です 整数を入力 :10 偶数です. 10 終了! 実行結果 2 整数を入力 :11 終了!

if 文基本形 3 (if ~ else if ~ else if ~ else ) #include <stdio.h> if( 条件 1 ) { else if( 条件 2 ){ else if( 条件 3 ){ else { 条件 1 が成立した場合に, 実行するプログラムを書く 条件 1 が成立しないで, 条件 2 が成立する場合に, 実行するプログラムを書く 条件 1 も 2 も成立しないで, 条件 3 が成立する場合に, 実行するプログラムを書く どの条件も成立しない場合に, 実行するプログラムを書く int vx; printf(" 整数を入力 :"); scanf("%d", &vx ); if( vx >= 90 ) { printf("%d は 90 以上です n",vx ); else if( vx >= 80 ) { printf("%d は 80 以上です n",vx ); else if( vx >= 70 ) { printf("%d は 70 以上です n",vx ); else { printf("%d は 69 以下です n",vx ); printf(" 終了! n"); 実行結果 1 整数を入力 :10 10 は 69 以下です. 終了!

教科書 List3-1 if( 式 ) if( 式 ) 式の値が 0 以外なら次のプログラムを実行, 0 なら次をとばす. 教科書 :p.42 の List 3-1 キーボードから読込んだ整数値が 5 で割りきれないかを調べる割り切らないならば 割り切れない 表示して, そうでないなら何もしない. 実行結果 1 整数を入力 :17 その数は 5 で割り切れません int vx; printf(" 整数を入力 :"); scanf("%d", &vx ); if( vx % 5 ) { printf(" その数は 5 で割り切れません n"); 実行結果 2 整数を入力 :15

教科書 List3-2 if( 式 ) if( 式 ) 式の値が0 以外なら次のプログラムを実行, 0なら次をとばす. 教科書 :p.43の List 3-2 キーボードから読込んだ整数値が奇数かを調べる 実行結果 1 整数を入力 :17 その数は奇数です int no; printf(" 整数を入力 :"); scanf("%d", &no ); if( no % 2 ) { // if( no % 2!= 0 ) でも同じ printf(" その数は奇数です n"); 実行結果 2 整数を入力 :10

教科書 List3-3 if( 式 ) ~ else if( 式 )~else 式の値が 0 以外なら次のプログラムを実行, 0 なら else の次を実行. 教科書 :p.44 の List 3-3 キーボードから読込んだ整数値が 5 で割りきれないか, 割り切れるかを調べる 実行結果 1 整数を入力 :17 その数は 5 で割り切れません 実行結果 2 整数を入力 :35 その数は 5 で割り切れます int vx; printf(" 整数を入力 :"); scanf("%d", &vx ); // if( vx % 5 ) { if( vx % 5!= 0) { //5 で割ったあまりが 0 でない printf(" その数は 5 で割り切れません n"); else { printf(" その数は 5 で割り切れます n");

教科書 List3-6 ==,!= if( a==b ) aとbが等しいなら次のプログラムを実行, if( a!=b ) aとbが等しくないなら次のプログラムを実行. 教科書 :p.48 の List 3-6 キーボードから読込んだ 2 つの整数値が等しいかどうか? int x1, x2; 実行結果 1 2 つの整数を入力 : 整数 1:-5 整数 2:-5 それらの値は同じです. 実行結果 2 2つの整数を入力 : 整数 1:40 整数 2:45 それらの値は違います. printf("2つの整数を入力 : n"); printf(" 整数 1:"); scanf("%d", &x1 ); printf(" 整数 2:"); scanf("%d", &x2 ); if( x1 == x2 ) { //x1 と x2 は等しい printf(" それらの値は同じです n"); else { printf(" それらの値は違います n");

教科書 List3-7 ==,!= if( a==b ) aとbが等しいなら次のプログラムを実行, if( a!=b ) aとbが等しくないなら次のプログラムを実行. 教科書 :p.49 の List 3-7 キーボードから読込んだ 2 つの整数値が等しいかどうか? int x1, x2; 実行結果 1 2 つの整数を入力 : 整数 1:-5 整数 2:-5 それらの値は同じです. 実行結果 2 2つの整数を入力 : 整数 1:40 整数 2:45 それらの値は違います. printf("2つの整数を入力 : n"); printf(" 整数 1:"); scanf("%d", &x1 ); printf(" 整数 2:"); scanf("%d", &x2 ); if( x1!= x2 ) { //x1 と x2 は等しくない printf(" それらの値は違います n"); else { printf(" それらの値は同じです n");

教科書 p.48~50 いろいろな条件 教科書 :p.48~50 等価演算子, 関係演算子 if( x == y ) xとyは等しい if( vx%3 == 0 ) if( x!= y ) xとyは等しくない if( dx%2!= 0 ) if( x > y ) xはyより大きい if( x1-x2 > 0 ) if( x >= y ) xはy 以上 ( 大きいか等しい ) if( x1 >= 0.5 ) if( x < y ) xはyより小さい if( 0 < sum ) if( x <= y ) xはy 以下 ( 小さいか等しい ) if( sum <= 100 )

3 章 : プログラムの流れの分岐 if 文 if( 条件 ) 条件が成立すれば実行 if( 条件 ) ~ else 場合分け ( 成立, 不成立 ) if( 条件 A) ~ else if( 条件 B) ~ else if( 条件 C) ~ else 場合分け ( 複数の条件での場合分け ) 等価演算子 : == ( 等しい ),!= ( 等しくない ) 関係演算子 : > < >= <= 論理演算子 : && (AND, かつ ) (OR, または ) 条件演算子 : a==b? a=10 : a=20; (a と b が等しいなら,a に 10 を, そうでないなら a に 20 を代入 ) 複合文 ( ブロック ) : { ひとつのかたまりとして扱われる switch case 文 : 場合分けに便利な方法

教科書 :p.56 条件演算子 a? b : c a? b : c a が 0 でなければ b, そうでなければ c の値 ( 条件 )? b : c 条件が成立すれば b, そうでなければ c の値 教科書 :p.56 List3-14 読込んだ2つの整数値の大きい方を求めて表示 実行結果 1 2 つの整数を入力整数 1:83 整数 2:45 大きい方の値は 83 です int n1, n2, max; printf("2つの整数を入力 n"); printf(" 整数 1:"); scanf("%d", &n1 ); printf(" 整数 2:"); scanf("%d", &n2 ); max = ( n1 > n2 )? n1 : n2; printf(" 大きい方の値は %d です n", max); if( n1 > n2 ) { max = n1; else { max = n2;

教科書 :p.56 条件演算子 a? b : c a? b : c a が 0 でなければ b, そうでなければ c の値 ( 条件 )? b : c 条件が成立すれば b, そうでなければ c の値 n1 と n2 の大きい方から小さい方を引いた値を vx に代入. vx = (n1 > n2)? n1-n2 : n2-n1; if (n1 > n2) { vx = n1 - n2; else { vx = n2 - n1; 条件演算子を使ったプログラムと同じものは, if 文でプログラムできる.

教科書 :p.58 複合文 ( ブロック ) { で囲むことで単一の文とみなされる { { printf("abc n"); printf("def n"); int x; x = 5; printf(" x = %d n", x ); if( 条件 ) 文 1 else 文 2 if( n1 > n2 ) max = n1; else max = n2; if( n1 > n2 ) { max = n1; else { max = n2; 教科書 :p.58 List3-16 条件が成立すれば文 1を実行不成立なら文 2を実行 正しい エラー if( n1 > n2 ) max = n1; min = n2; else max = n2; min = n1; 正しい if( n1 > n2 ) { max = n1; min = n2; else { max = n2; min = n1;

教科書 :p.60 論理演算子 &&, ( 類題 : 教科書 :p.61 List3-17) if( 条件 A && 条件 B ) if( 条件 A 条件 B ) 条件 A, 条件 B ともに成立するなら. AND 条件 A, 条件 B のどちらかが成立するなら. OR 読込んだ整数値 n が 偶数で, かつ 3 で割り切れるならば, 成立 と表示する. そうでなければ 不成立 と表示する. 実行結果 1 整数を入力 :6 成立 整数を入力 :8 不成立 int n; printf(" 整数 n を入力 :"); scanf("%d", &n ); if( (n%2 == 0) && (n %3 == 0) ) { printf(" 成立 n"); else { printf(" 不成立 n"); 整数を入力 :9 不成立

教科書 :p.60 論理演算子 &&, if( 条件 A && 条件 B ) if( 条件 A 条件 B ) 条件 A, 条件 B ともに成立するなら. AND 条件 A, 条件 B のどちらかが成立するなら. OR 読込んだ整数値 n が 偶数または 3 で割り切れるならば, 成立 と表示する. そうでなければ 不成立 と表示する. 実行結果 整数を入力 :6 成立 整数を入力 :8 成立 int n; printf(" 整数 n を入力 :"); scanf("%d", &n ); if( (n%2 == 0) (n %3 == 0) ) { printf(" 成立 n"); else { printf(" 不成立 n"); 整数を入力 :7 不成立

教科書 :p.64 switch 文 (switch~case 文 ) 読込んだ整数値を 3 で割ったあまりで分類 int num; printf(" 整数を入力 :"); scanf("%d", &num ); if 文によるプログラム 実行結果 整数を入力 :6 3 で割切れる 整数を入力 :40 1 余る if( num %3 == 0 ) { printf("3 で割り切れる n"); else if( num % 3 == 1 ) { // 余り 1 printf("1 余る n"); else { // 余り 2 printf("2 余る n"); // 余り 0 割り切れる

教科書 :p.64 switch 文 (switch~case 文 ) 読込んだ整数値を 3 で割ったあまりで分類 int num; printf(" 整数を入力 :"); scanf("%d", &num ); switch 文によるプログラム 実行結果 整数を入力 :6 3 で割切れる 整数を入力 :40 1 余る switch( num % 3 ) { case 0 : printf("3 で割り切れる n"); break; case 1 : printf("1 余る n"); break; default: printf("2 余る n"); break; // この行には break は不要!

switch 文 (switch~case 文 ) switch 文の動作を確認する 実行結果 整数を入力 :1 A B 整数を入力 :2 C D 整数を入力 :3 F 教科書 :p.66 List3-20 int sw; printf(" 整数を入力 :"); scanf("%d", &sw ); switch( sw ) { case 1 : printf("a n"); printf("b n"); break; case 2 : printf("c n"); case 5 : printf("d n"); break; case 6 : case 7 : prnitf("e n"); break; default : printf("f n"); break; // この行はbreak 不要 整数を入力 :5 D 整数を入力 :6 E