C言語講座 四則演算  if ,  switch 制御文.

Slides:



Advertisements
Similar presentations
プログラミング論 第八回数字の計算,整数の入出力. 本日の内容 前回の課題(続き) 前回の課題(続き) 数字の計算をする 数字の計算をする – 加減乗除を行う – インクリメント演算子とデクリメン ト演算子.
Advertisements

コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
情報処理演習 (秋学期・樋口担当) 2回目 10/1 日本工業大学 コンピュータリテラシーII.
7/10 if 文課題 力作が多くて感心! 演習1:キーボードから2つの整数を入力し、小さい方の数字を 表示せよ。
第6回条件による分岐.
プログラミング演習(1組) 第7回
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
計算技術研究会 C言語講座 第3回 Loops (for文 while文).
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
基礎プログラミングおよび演習 第9回
プログラミング基礎I(再) 山元進.
第2回ネットワークプログラミング 中村 修.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
コンピュータープログラミング (C言語)(6) 1.条件分岐2(switch文、復習) 2.繰り返し処理(for文、while文)
第7回 条件による繰り返し.
情報基礎及び演習 プログラミング基礎① 電気・佐藤亮一.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
プログラミング入門2 第2回 型と演算 条件分岐 篠埜 功.
プログラムの制御構造 選択・繰り返し.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
C言語講習 第0章 Hello, world!.
#include <stdio. h> int main() { /. 表示をする
プログラミング応用 printfと変数.
アルゴリズムとプログラミング (Algorithms and Programming)
プログラミング演習I 2003年5月7日(第4回) 木村巌.
プログラミング入門2 第2回 型と演算 条件分岐 篠埜 功.
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
04: 式・条件分岐 (if) C プログラミング入門 基幹7 (水5) Linux にログインし、以下の講義ページ を開いておくこと
第7回 条件による繰り返し.
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
高度プログラミング演習 (02).
知能情報工学演習I 第8回( C言語第2回) 課題の回答
コンピュータープログラミング (C言語)(5) 1.条件分岐1(if文、復習) 2.条件分岐2(switch,case文)
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
高度プログラミング演習 (05).
C言語講座第二回 2017 分岐とループと乱数.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
整数データと浮動小数データ.
疑似乱数, モンテカルロ法によるシミュレーション
C言語 はじめに 2016年 吉田研究室.
C言語ファミリー C# 高級言語(抽象的) Java オブジェクト指向 C++ C 機械語(原始的)
第4章 反復作業を楽にする方法!! ~繰り返しその1 while~
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
IF文 START もしも宝くじが当たったら 就職活動する 就職活動しない YES END NO.
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
C#プログラミング実習 第2回.
復習 if ~ 選択制御文(条件分岐) カッコが必要 true 条件 false 真(true)なら この中が aを2倍する 実行される
C言語講座 制御(選択) 2006年 計算技術研究会.
プログラミング入門2 第2回 型と演算 条件分岐 篠埜 功.
プログラミング基礎演習 第4回.
第2章 printf(“変数と入力”); scanf(“%d”,&num);
ループだよ!難しいよ! 第5章 while(ループ);.
標準入出力、変数、演算子、エスケープシーケンス
知能情報工学演習I 第8回(後半第2回) 課題の回答
cp-15. 疑似乱数とシミュレーション (C プログラミング演習,Visual Studio 2019 対応)
第4章 double 小数型の変数;.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
第7章 そろそろ int 以外も使ってみよう! ~データ型 double , bool~
プログラミング1 プログラミング演習I 第2回.
プログラミング序論演習.
printf・scanf・変数・四則演算
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
計算技術研究会 C言語講座 第二回 制御構文 if , switch.
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
知能情報工学演習I 第10回( C言語第4回) 課題の回答
第1章 文字の表示と計算 printfと演算子をやります 第1章 文字の表示と計算.
= 55 課題6-1 #define _CRT_SECURE_NO_WARNINGS
Presentation transcript:

C言語講座 四則演算  if ,  switch 制御文

ファイルの作り方(復習) 「ファイル」→「新規作成」→「プロジェクト」 「Win32コンソールアプリケーション」になっていることを確認、   保存場所も確認し、プロジェクト名を入れて「OK」 アプリケーションウィザードで「コンソールアプリケーション」と「空のプロジェクト」にチェック入れて「完了」 ソースファイルを右クリック→「追加」→「新しい項目」 「C++ファイル」を選択して、ファイル名をつけて「追加」

算術演算子 二項演算子 ■+ 加算a = 5 + 2; ■- 減算a = 5 -2; ■* 乗算a = 5 * 2;

算術演算子 ● 代入演算子 (右辺から左辺に代入する) ■ = a = b; ■ += a += b; ⇒ a = a + b;

算術演算子 ● 単項演算子 ■ ++ インクリメント a++; ++a; ⇒ a = a + 1; ■ -- デクリメント ■ - 符号の反転   b = -a;

a++と++aの違い a++は「b=a++」のような場合、 「aの値をbに代入した後、1増やす」 ++aは「b=++a」のような場合、

結果を予想しよう #include <stdio.h> void main() { int a = 1; printf("a = %d\n", a); printf("a = %d\n", a++); printf("a = %d\n", ++a); }

算術演算子 ● 演算の精度 double > float > long (int) > short > char ■ 精度が混在する場合は、精度の高い方に合わせて演算が行われる。 ■ 例) 割り算(5÷2) 5 / 2 → 2 5.0 / 2 → 2.5 5 / 2.0 → 2.5 5.0 / 2.0 → 2.5

いろいろ試してみよう #include <stdio.h> void main() { printf(“ %f \n ", 5.0/2 ); }

キャスト演算子 演算の精度を変えたいときに使用 ■ 使用方法 ( 型) 変えたい数値や変数 ■ 例) 割り算(5÷2) (double) 5 / 2 → 2.5 5 / (double) 2 → 2.5 5 / (int) 2.0 → 2 (int) 5.0 / 2 → 2

例 #include <stdio.h> void main() { int a = 2; int b = 5; printf ( "%f\n", (double) b/a ); }

比較演算子、論理演算子 ● 比較演算子(1:True か0:False を返す) == (等しい) != (等しくない) <,<=,>,>= (大小関係) ● 論理演算子 ! (否定NOT) && (論理積AND) || (論理和OR) x y ! x x&&y x| |y 1

if (2または多分岐)選択制御 if(条件文){…} 条件文を満たすときのみ{….}内の処理を行う。 if(条件文) { 処理1 } else { 処理2 } 条件文を満たすとき処理1、そうでない時 に処理2を行う。 if(条件a && 条件b) 条件a かつ条件b if(条件a || 条件b) 条件a または条件b 条件a Yes No 処理1

例 あなたのやる気を表示しよう #include<stdio.h> int main(void){ int a; 例  あなたのやる気を表示しよう #include<stdio.h> int main(void){ int a; printf("あなたのやる気を1~100までで入力:"); scanf("%d",&a); if(a<0 || a>100){ printf("0~100までの整数を入力してください\n"); }else if(a>50){ printf("やる気あるね!\n"); }else{ printf("やる気ないね!\n"); } return 0;

説明 if(a<0 || a>100) No a<0,100<a if(a<0 || a>100)でなく かつif(a>50) if(A){処理X }else if(B){処理Y }else { 処理Z } Yes a>50 No Yes 処理2 処理1 Aを満たす →処理X Aは満たさずBを満たす→処理Y AもBも満たさない   →処理Z

ちょっとした問題 さっきのプログラムにa>40の時と、 a>20の時にも条件分岐をして何か表示するようにしてみましょう。  ヒント: なし } else if(……) {    printf(“任意の文”); } とかをどこかに入れると・・

解答例 #include<stdio.h> int main(void){ int a; printf("あなたのやる気を~までで入力:"); scanf("%d",&a); if(a<0 || a>100){ printf("0~までの整数を入力してください\n"); }else if(a>50){ printf("やる気あるね!\n"); }else if(a>40){ printf(“任意の文\n"); }else if(a>20){ printf("任意の文\n"); }else{ printf("やる気ないね!\n"); } return 0;

if文の中にif文を書く 入力した3つの数を比較するプログラム a>bかつa>c b>aかつb>c #include <stdio.h> int main(void){ int a,b,c; printf("1つ目の整数を入力して下さい。:"); scanf("%d",&a); printf("2つ目の整数を入力して下さい。:"); scanf("%d",&b); printf("3つ目の整数を入力して下さい。:"); scanf("%d",&c); if( a > b ){ if(a > c){ printf("最大値は%d\n",a); }else{ printf("最大値は%d\n",c); } if(b > c){ printf("最大値は%d\n",b); return 0; a>bかつa>c b>aかつb>c

switch 多方向分岐 switch(式または値){ case 値x : ←コロン 処理1; break; case 値y : 処理2; default : 処理3; } 式(値) 値x 値y default 処理1 処理2 処理3

a,b,cを入力してそれに対応した文字を 出力するプログラム #include <stdio.h> int main(void){ char input; printf("a,b,cのどれかを入力:"); scanf("%c",&input); switch (input){ case ‘a’: //文字は(‘ ’)で囲みましょう printf("apple\n"); break; case 'b': printf("bad\n"); case 'c': printf("car\n"); default: printf("a,b,cを入力してください\n"); } return 0;

例 8と入力 → August と出力 早速やってみよう 整数(int 型)を入力して 1~12を入力したときにそれぞれ1月~12月  1~12を入力したときにそれぞれ1月~12月  と出力されるようにしてみよう。 例 8と入力     →   August と出力

解答例 #include <stdio.h> int main(void){ int input; printf("整数を入力:"); scanf("%d",&input); switch (input){ case 1: printf("1月\n"); break; 中略 case 8: printf("August\n");                中略  case 12: printf("12月\n"); default: printf("登録外の整数です\n"); } return 0;