プログラミング基礎

Similar documents
プログラミング基礎

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

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

計算機プログラミング

Microsoft PowerPoint - class04.ppt

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

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

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

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

3. 標準入出力

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

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

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

kiso2-09.key

スライド 1

プログラミングA

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

プログラミング実習I

プログラミング基礎

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

Microsoft PowerPoint - C_Programming(3).pptx

Prog1_6th

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

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

PowerPoint プレゼンテーション

Microsoft Word - Training4_判断と制御.docx

Microsoft Word - VBA基礎(3).docx

Microsoft Word - 3new.doc

情報処理演習 B8クラス

C言語入門

情報工学実験 C コンパイラ第 2 回説明資料 (2017 年度 ) 担当 : 笹倉 佐藤

‚æ4›ñ

Java講座

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

gengo1-2

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

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

:30 12:00 I. I VI II. III. IV. a d V. VI

1. 関数 scanf() 関数 printf() は変数の値を画面に表示しますが それに対し関数 scanf() はキーボードで入力した値を変数に代入します この関数を活用することで対話式 ( ユーザーの操作に応じて処理を行う ) プログラムを作ることができるようになります 整数の和

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

kiso2-06.key

Microsoft Word - no02.doc

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

Microsoft Word - 05

Microsoft PowerPoint - prog04.ppt

情報システム設計論II ユーザインタフェース(1)

PowerPoint プレゼンテーション

Microsoft Word - no103.docx

Prog1_3rd

第2回講義:まとめ

PowerPoint プレゼンテーション

本サンプル問題の著作権は日本商工会議所に帰属します また 本サンプル問題の無断転載 無断営利利用を厳禁します 本サンプル問題の内容や解答等に関するお問 い合わせは 受け付けておりませんので ご了承ください 日商プログラミング検定 STANDARD(C 言語 ) サンプル問題 知識科目 第 1 問 (

Microsoft PowerPoint pptx

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

C 言語固有の命令で全部で32 個 の関数C 言語第 1 回 C 言語って?( シラバス 1 2 回目 ) 関数型言語 コンピュータに実行してもらう命令はすべて関数の中に記述されている 関数がプロ グラム

Microsoft PowerPoint - 3.pptx

JavaプログラミングⅠ

プログラムの基本構成

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

スライド 1

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

ポインタ変数

PowerPoint プレゼンテーション - 物理学情報処理演習

PowerPoint プレゼンテーション

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

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

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

PowerPoint Presentation

プログラミングA

目次

PowerPoint Presentation

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

JavaプログラミングⅠ

講習No.9

物質工学科 田中晋

5

Microsoft Word - no12.doc

Microsoft PowerPoint - lec4.ppt

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

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n

I. Backus-Naur BNF : N N 0 N N N N N N 0, 1 BNF N N 0 11 (parse tree) 11 (1) (2) (3) (4) II. 0(0 101)* (

PowerPoint Presentation

8 if switch for while do while 2

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

数値計算

情報処理Ⅰ演習

P03.ppt

* ライブラリ関数 islower(),toupper() を使ったプログラム 1 /* 2 Program : trupper.c 3 Student-ID : K 4 Author : TOUME, Kouta 5 Comments : Used Library function i

以上

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

Microsoft Word - no206.docx

Report#2.docx

Microsoft PowerPoint - C4(反復for).ppt

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

PowerPoint プレゼンテーション

Report#2.docx

FORTRAN( と C) によるプログラミング 5 ファイル入出力 ここではファイルからデータを読みこんだり ファイルにデータを書き出したりするプログラムを作成してみます はじめに テキスト形式で書かれたデータファイルに書かれているデータを読みこんで配列に代入し 標準出力に書き出すプログラムを作り

Taro-ビット処理(公開版).jtd

Transcription:

C プログラミング Ⅰ 条件分岐 if~else if~else 文,switch 文

条件分岐 if~else if~else 文 if~else if~else 文 複数の条件で処理を分ける if~else if~else 文の書式 if( 条件式 1){ 文 1-1; 文 1-2; else if( 条件式 2){ 文 2-1; 文 2-2; else { 文 3-1; 文 3-2; 真条件式 1 文 1-1 偽 条件式 2 偽 文 3-1 文 3-2 真 文 2-1 文 2-2 文 1-2 条件分岐 if~else if~ else文, switch文 2

条件分岐 if~else if~else 文 if~else if~else 文 if~else if~else 文の書式 if( 条件式 1){ 文 1; else if( 条件式 2){ 文 2; else { 文 3; 1 条件式 1 の判定 1-1 条件式 1 の判定結果が真の場合, 文 1 を実行し, 次の命令へ 1-2 条件式 1 の判定結果が偽の場合, 文 1 は実行せずに 2 へ 2 条件式 2 の判定 2-1 条件式 2 の判定結果が真の場合, 文 2 を実行し, 次の命令へ 2-2 条件式 2 の判定結果が偽の場合, 文 2 は実行せずに 3 へ 3 else の後の文 3 を実行し, 次の命令へ 条件式 1, 条件式 2 の順に判定を行い, どれも true にならなければ else の後の命令文を実行 条件分岐 if~else if~ else文, switch文 3

条件分岐 if~else if~else 文 if~else if~else 文のプログラム例 複数の条件分岐 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include <stdio.h> int main(void) { int a; printf("a = "); scanf("%d", &a); if(a == 0) { printf("a に代入されているのは 0 n"); else if(a == 1) { printf("a に代入されているのは 1 n"); else if(a == 2) { printf("a に代入されているのは 2 n"); else { printf("0,1,2 以外の値 n"); return 0; 条件分岐 if~else if~ else文, switch文 実行結果の例 a = 1 aに代入されているのは1 1 a に格納されている値が 0 かどうか判定 1-1 0 であるとき " 代入されているのは 0" を表示 1-2 0 でないとき 2 へ (2 の条件判定へ ) 2 a に格納されている値が 1 かどうか判定 2-1 1 であるとき " 代入されているのは 1" を表示 2-2 1 でないとき 3 へ (3 の条件判定へ ) 3 a に格納されている値が 2 かどうか判定 3-1 2 であるとき " 代入されているのは 2" を表示 3-2 2 でないとき "0,1,2 以外の値 " を表示 4

条件分岐 if~else if~else 文 フローチャート start 複数の条件分岐 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include <stdio.h> int main(void) { int a; printf("a = "); scanf("%d", &a); if(a == 0) { printf("a に代入されているのは 0 n"); else if(a == 1) { printf("a に代入されているのは 1 n"); else if(a == 2) { printf("a に代入されているのは 2 n"); else { printf("0,1,2 以外の値 n"); return 0; 条件分岐 if~else if~ else文, switch文 実行結果の例 a = 1 aに代入されているのは1 if if if int a; a = 1; 真 a == 0 偽真 a == 1 偽真 a == 2 偽 0,1,2 以外の値 end プログラムのフローチャート a に代入されているのは 0 a に代入されているのは 1 a に代入されているのは 2 5

条件分岐 if~else if~else 文 フローチャート 複数の条件分岐 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include <stdio.h> int main(void) { int a; printf("a = "); scanf("%d", &a); if(a == 0) { printf("a に代入されているのは 0 n"); else if(a == 1) { printf("a に代入されているのは 1 n"); else if(a == 2) { printf("a に代入されているのは 2 n"); else { printf("0,1,2 以外の値 n"); return 0; 実行結果の例 a = 1 aに代入されているのは1 条件が成り立った場合, それ以降の else if( 条件式 ),else の処理は行わずに, 次の命令 ( 左のプログラムの場合には次の命令はない ) に進む 条件分岐 if~else if~ else文, switch文 6

条件分岐 switch 文 switch 文 式の値で処理を切り替える switch 文の書式 switch( 式 ){ case 値 1 文 1-1; case 値 2 文 2-1; default 文 n-1; コロン ( ) であることに注意 break 文が必ず必要! 式式の値が値 1のとき式の値が値 2のときその他文 n-1 文 1-1 文 2-1 条件分岐 if~else if~ else文, switch文 7

条件分岐 switch 文 switch 文 式の値で処理を切り替える switch 文の書式 switch( 式 ){ case 値 1 文 1; case 値 2 文 2; default 文 n; 1 式の判定 1-1 式の値が値 1であれば文 1を実行 break 文まで実行し,switch 文を終了する 1-2 式の値が値 2であれば文 2を実行 break 文まで実行し,switch 文を終了する 1-n 式の値が値 1, 値 2 のどれでもなければ文 n を実行 switch 文を終了する 式の値 ( 基本的には変数に格納されている値 ) によって実行する文が異なる 条件分岐 if~else if~ else文, switch文 8

条件分岐 switch 文 switch 文のプログラム例 処理の切り替え 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include <stdio.h> int main(void) { int a; printf("a = "); scanf("%d", &a); switch(a) { case 1 printf("a の値は 1 n"); case 2 printf("a の値は 2 n"); case 3 printf("a の値は 3 n"); default printf("1,2,3 以外の値 n"); return 0; 1 a に格納されている値を判定 1-1 1 であるとき "aの値は1" を表示 1-2 2 であるとき "aの値は2" を表示 1-3 3 であるとき "aの値は3" を表示 1-4 1,2,3 以外のとき "1,2,3 以外の値 " を表示実行結果の例 a = 2 aの値は2 条件分岐 if~else if~ else文, switch文 9

条件分岐 switch 文 switch 文のプログラム例 処理の切り替え 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include <stdio.h> int main(void) { int a = 2; switch(a) { case 1 printf("a の値は 1 n"); case 2 printf("a の値は 2 n"); case 3 printf("a の値は 3 n"); default printf("1,2,3 以外の値 n"); return 0; start switch a a=1 a=2 a=3 a の値は 1 int a; a = 2; a の値は 2 a の値は 3 end プログラムのフローチャート その他 1,2,3 以外の値 条件分岐 if~else if~ else文, switch文 10

条件分岐 switch 文 switch 文の使用における注意 値 1, 値 2, はひとつの整数値もしくは文字でなければならない ( 式についても, 整数値もしくは文字が格納された変数が望ましい ) caseの後の処理する文の最後に必ずbreak 文を入れる break 文がないと 1 2 3 4 5 6 7 8 9 10 11 12 13 14 int main(void) { int a = 1; switch(a) { case 1 printf("a の値は 1 n"); case 2 printf("a の値は 2 n"); default printf("1,2 以外の値 n"); return 0; 実行結果 aの値は1 aの値は2 1,2 以外の値 すべて出力されてしまう 条件分岐 if~else if~ else文, switch文 11

条件演算子 条件演算子 条件に応じて式の値を変えることができる 構文 条件? 式 1 式 2 条件が真の場合は式 1 の値, 偽の場合は式 2 の値が式全体の値となる if~else 文の使用例 1 2 3 4 5 6 7 8 9 10 11 12 13 int main(void) { int a = 1; char c; if(a == 1) c = 'A'; else c = 'B'; printf("c = %c n", c); return 0; 条件演算子の使用例 1 int main(void) 2 { 3 int a = 1; 4 char c; 5 6 c = (a == 1)? 'A' 'B'; 7 8 printf("c = %c n", c); 9 return 0; 10 if 文よりも簡潔に書ける例 条件分岐 if~else if~ else文, switch文 12

論理演算子 ( 発展編 ) ビット単位の論理演算 整数型のデータは複数のビット (int 型なら 32 ビット ) を持っている ビット単位の論理演算では, それぞれのビット毎に AND や OR の演算を行うことができます. 例 short int 数値のビット単位演算 & 12 4 5 0000000000000101 0000000000001100 0000000000000100 各ビット毎に論理演算を行う 演算子 結果のビットが 1 となる場合 & 2 数のどちらのビットも 1 2 数のどちらかのビットが 1 ^ 2 数のビットが異なる場合 ~ ビットが 0 の場合 ( 単項演算子 ) 普通の論理演算と違って記号 1 つだけ 条件分岐 if~else if~ else文, switch文 13

講義のまとめ 講義内容 if~else if~else 文 switch 文 条件演算子, 論理演算子 ( 発展編 ) ポイント if~else if~else 文,switch 文を使って複数の条件に応じた処理 ( 多分岐 ) を行うことができる switch 文では, 原則として case ごとに break 文を入れること 条件演算子を使って, 式の値の条件によって変更できる 条件分岐 if~else if~ else文, switch文 14