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

Similar documents
新版明解C言語入門編

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

P02.ppt

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

kiso2-09.key

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

プログラミング基礎

スライド 1

プログラミング実習I

PowerPoint プレゼンテーション

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

ゲームエンジンの構成要素

gengo1-2

PowerPoint Presentation

物質工学科 田中晋

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

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

Microsoft PowerPoint - lec4.ppt

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

Microsoft PowerPoint - C4(反復for).ppt

PowerPoint プレゼンテーション

プログラミングI 第2回 数理物理,総合理学等向け

C言語7

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

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

Microsoft PowerPoint - å®�æ−•è©¦é¨fi3ㆮ対ç�Œ.pptx

cp-7. 配列

P05.ppt

プログラミング基礎

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

Prog1_2nd

第2回講義:まとめ

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

バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科

Microsoft Word - no202.docx

Microsoft Word - no02.doc

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

PowerPoint Presentation

計算機プログラミング

PowerPoint Presentation

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

Prog1_6th

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

演習課題No12

Microsoft PowerPoint - kougi2.ppt

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

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

情報処理演習 B8クラス

Microsoft Word - 3new.doc

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

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

Microsoft PowerPoint - class04.ppt

演算増幅器

問 2 ( 型変換 ) 次のプログラムを実行しても正しい結果が得られない 何が間違いかを指摘し 正しく修正せよ ただし int サイズが 2 バイト long サイズが 4 バイトの処理系での演算を仮定する #include <stdio.h> int main( void ) { int a =

gengo1-11

Microsoft PowerPoint - prog08.ppt

プログラミング基礎

PowerPoint Presentation

講習No.9

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

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

System.out.println("char : " + (int)character.min_value + "~" + (int)character.max_value); System.out.println("float : " + Float.MIN_VALUE + "~" + Flo

JavaプログラミングⅠ

Microsoft Word - no103.docx

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

Microsoft PowerPoint - C1(演算と変数).ppt

<4D F736F F D20438CBE8CEA8D758DC03389F0939A82C282AB2E646F63>

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

講習No.1

プログラミング基礎

PowerPoint プレゼンテーション

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

解答編 第 7 章実数型の計算と標準数学関数 演習問題 7.1 文法事項 1 ) 暗黙の型変換とは何か答えなさい 代入演算子 (=) や算術演算子 (+,-,*,/,%) では 2 つの演算項のデータ型が揃っている事が必要です 2 つの演算項のデータ型が異なる場合 可能ならば 演算項のデータ型を変換

02: 変数と標準入出力

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

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

Microsoft PowerPoint - prog06.ppt

Microsoft Word - no15.docx

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

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

memo

kiso2-06.key

Microsoft PowerPoint - 第3回目.ppt [互換モード]

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

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

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

スライド 1

PowerPoint Presentation

Microsoft Word - no11.docx

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

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

講習No.8

‚æ2›ñ C„¾„ê‡Ìš|

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

C 言語第 7 回 掛け算 (multiply number) ìz1 = x1 + iy1 í îz = x + iy 割り算 (devide number) ( )( ) ( ) Þ z z = x + iy x + iy = x x - y y + i y x + x y

PowerPoint Presentation

PowerPoint プレゼンテーション

1. 入力した文字列を得る 1.1. 関数 scanf() を使う まずは関数 scanf() を使ったプログラムを作ってみましょう 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: #include<stdio.h> #define SIZE 128 main(

目次

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

Transcription:

情報ネットワーク導入ユニット Ⅰ C 言語 演算と型

演算 代入 演算と型 +,-,*,/,% = C 言語では 代入 の意味 vx = a + b; //a+b の結果を vx に代入 型 : int 型 ( 整数 ) double 型 ( 実数 ) 演算での型変換 ( 整数, 実数の混在 ) キャスト演算子 型を一時的に変更 書式指定 :printf("%6d n", a);

加減, 剰余演算 教科書 :p.22 の List 2-1 キーボードから 2 つの整数を読込み, その和 差 積 商 剰余を画面に表示するプログラムを作成しなさい. #include <stdio.h> int main(void){ int vx, vy; puts(" 二つの整数を入力してください."); printf(" 整数 vx:"); scanf("%d", &vx ); printf(" 整数 vy:"); scanf("%d", &vy ); 二つの整数を入力してください整数 vx:57 整数 vy:21 vx + vy = 78 vx vy = 36 : vx % vy = 15 } printf("vx + vy = %d n", vx + vy ); // 和 printf("vx - vy = %d n", vx - vy ); // 差 printf("vx * vy = %d n", vx * vy ); // 積 printf("vx / vy = %d n", vx / vy ); // 商 printf("vx %% vy = %d n", vx % vy ); // 余り return(0); printf で % を表示するときは %% と 2 つ続けて書く * 掛け算 / 割り算 % 余り ( 剰余 )

加減, 剰余演算 キーボードから 2 つの整数を読込み, その和 差 積 商 剰余を画面に表示するプログラムを作成しなさい. #include <stdio.h> int main(void){ int vx, vy; puts(" 二つの整数を入力してください."); printf(" 整数 vx:"); scanf("%d", &vx ); printf(" 整数 vy:"); scanf("%d", &vy ); 二つの整数を入力してください整数 vx:57 整数 vy:21 57 + 21 = 78 57-21 = 36 : 57 % 21 = 15 } printf("%d + %d = %d n", vx, vy, vx + vy ); printf("%d - %d = %d n", vx, vy, vx - vy ); printf("%d * %d = %d n", vx, vy, vx * vy ); printf("%d / %d = %d n", vx, vy, vx / vy ); printf("%d %% %d = %d n", vx, vy, vx % vy ); return(0);

代入 = キーボードから 2 つの整数を読込み, その和 差 積 商 剰余を画面に表示するプログラムを作成しなさい. 教科書 :p.27 = 代入 ( 等しいではない!) a = 10; // 10をaに代入 a = b; // bをaに代入 wa = vx + vy; // 和をwaに代入 #include <stdio.h> int main(void){ int vx, vy, wa, sa, se, sh, jo; puts(" 二つの整数を入力してください."); printf(" 整数 vx:"); scanf("%d", &vx ); printf(" 整数 vy:"); scanf("%d", &vy ); // 計算 wa = vx + vy; // 和の計算 sa = vx vy; // 差の計算 se = vx * vy; // 積の計算 sh = vx / vy; // 商の計算 jo = vx % vy; // 剰余の計算 // 結果の表示 printf("%d + %d = %d n", vx, vy, wa); printf("%d - %d = %d n", vx, vy, sa ); printf("%d * %d = %d n", vx, vy, se ); printf("%d / %d = %d n", vx, vy, sh ); printf("%d %% %d = %d n", vx, vy, jo ); } return(0);

int 型,double 型 int 型 double 型 例 ) int nx; 例 ) double dx; 値 整数値 1, 12, 1000 実数値 1.2, 0.003, 6.00 printf printf("%d", nx ); printf("%f", dx); printf("%lf", dx ); scanf scanf("%d", &nx ); scanf("%lf", &dx );

変換指定 :printf 表示を工夫 n = 12345; printf("%d", n ); printf("%7d", n ); printf("n=%7d", n ); // 変数 aの値を表示 // 変数 aの値を少なくとも7 桁で表示 // 変数 aの値を少なくとも7 桁で表示 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 1 2 3 4 5 n = 1 2 3 4 5

変換指定 :printf 表示を工夫 d = 12.345; printf("%f", d ); //double 型変数 dの値を表示 printf("%7.2f", d ); //dの値を少なくとも7 桁, 小数点以下 2 桁で表示 printf("d=%.1f", d ); // 小数点以下 1 桁で表示 1 2 3 4 5 6 7 8 9 10 1 2. 3 4 5 0 0 0 1 2. 3 5 d = 1 2. 3

List2-8: 計算結果の小数点以下の切り捨てに注目! #include <stdio.h> printf("n1 = %d n", n1 ); int main(void){ printf("n2 = %d n", n2 ); printf("n3 = %d n", n3 ); int n1, n2, n3, n4; /* 整数 */ double d1, d2, d3, d4; /* 実数 */ // 右辺の計算イメージ n1 = 5 / 2; // n1 2 n2 = 5.0 / 2.0; // n2 2.5 n3 = 5.0 / 2; // n3 2.5 n4 = 5 / 2.0; // n4 2.5 d1 = 5 / 2; // d1 2 d2 = 5.0 / 2.0; // d2 2.5 d3 = 5.0 / 2; // d3 2.5 d4 = 5 / 2.0; // d4 2.5 整数どうしの計算 整数整数と実数の計算 実数 } printf("n4 = %d n", n4 ); printf("d1 = %f n", d1 ); printf("d2 = %f n", d2 ); printf("d3 = %f n", d3 ); printf("d4 = %f n", d4 ); return(0); ( 実行結果 ) n1 = 2 n2 = 2 n2 = 2 n2 = 2 d1 = 2.000000 d2 = 2.500000 d3 = 2.500000 d4 = 2.500000

List2-9: 整数と実数の計算 実数で計算 #include <stdio.h> int main(void){ int na, nb; /* 整数 */ puts(" 二つの整数入力 :"); printf(" 整数 A:"); scanf("%d",&na); printf(" 整数 B:"); scanf("%d",&nb); printf(" 平均は %fです n", (na+nb)/2.0); 整数 / 実数 で計算 (na+nb) / 2 とするとどうなるか? 各自確認. return(0); } 二つの整数入力整数 A: 40 整数 B: 45 平均は 42.50000 です

List2-10: #include <stdio.h> int main(void){ キャスト演算子 (double) 一時的に整数を実数扱いする int na, nb; /* 整数 */ puts(" 二つの整数入力 :"); printf(" 整数 A:"); scanf("%d",&na); printf(" 整数 B:"); scanf("%d",&nb); (double) キャスト演算子 一時的に整数を実数とみなして, 計算する printf(" 平均は %f です n", (double)(na+nb)/2); return(0); } 二つの整数入力整数 A: 40 整数 B: 45 平均は 42.50000 です

List2-11: #include <stdio.h> int main(void){ キャスト演算子 (double) 一時的に整数を実数扱いする printf(" それらの合計は %5d n", sum ); printf(" それらの合計は %5.1f n", ave ); int na, nb, nc; /* 整数 */ int sum; /* 合計値用変数 */ double ave; /* 平均値用変数 */ puts(" 三つの整数を入力 "); printf(" 整数 A:"); scanf("%d", &na); printf(" 整数 B:"); scanf("%d", &nb); printf(" 整数 C:"); scanf("%d", &nc); } return(0); 三つの整数入力整数 A: 87 整数 B: 45 整数 C: 59 それらの合計は 191 それらの平均は 63.7 sum = na + nb + nc; ave = (double) sum / 3; (double) を書かないで ave = sum / 3; とすると結果はどうなるか? 整数型 (int 型 ) 変数 sum を一時的に実数型 (double 型 ) にして計算.

演習用

問題 3-1. キーボードから 2 つの整数値を読込み, その商と剰余 ( 余り ) を表示するプログラムを作成しなさい. 1 キーボードから 2 つの整数値を読み込む 2 商と剰余を計算 / と % 3 結果を実行結果例のように表示 ( 実行結果例 ) 整数値を 2 つ入力整数 A:47 整数 B:7 商 :6 余り :5 ( 部分はキーボード入力 ) 整数値 2つ int 型変数 2つ int na, nb; キーボード読込み scanf scanf("%d", &na ); scanf("%d", &nb ); 実行結果例のように printf(" 整数値を2つ入力 n"); printf(" 整数 A:"); scanf("%d", &na ); printf(" 整数 B:"); scanf("%d", &nb ); 計算 sho = na / nb; amari = na % nb; 結果用の変数の宣言を忘れない! int sho, amari; 結果を実行結果例のように表示 printf(" 商 :%d n", sho ); printf(" 余り :%d n", amari );

問題 3-1. キーボードから 2 つの整数値を読込み, その商と剰余 ( 余り ) を表示するプログラムを作成しなさい. 1 キーボードから 2 つの整数値を読み込む 2 商と剰余を計算 / と % 3 結果を実行結果例のように表示 ( 実行結果例 ) 整数値を 2 つ入力整数 A:47 整数 B:7 商 :6 余り :5 ( 部分はキーボード入力 ) // 問題 3-1 // 学籍番号 :0922XXX // 氏名 : #include <stdio.h> int main(void){ int na, nb, sho, amari; printf(" 整数値を2つ入力 n"); printf(" 整数 A:"); scanf("%d", &na ); printf(" 整数 B:"); scanf("%d", &nb ); } sho = na / nb; amari = na % nb; printf(" 商 :%d n", sho ); printf(" 余り :%d n", amari ); return(0);

問題 3-3. キーボードから 2 つの実数値を読込み, その平均値を表示す るプログラムを作成しなさい. ( 実行結果例 ) 2 つの値の平均を求めます実数 1 = 1.6 実数 2 = 3.8 2 つの値の平均値は 2.700000 です 1 キーボードから 2 つの実数値 (double 型 ) を読み込む 2 平均値を計算 2 つを足して 2 で割る 3 結果を実行結果例のように表示 #include <stdio.h> avg = ( x1 + x2 )/2; int main(void){ double x1, x2, avg; printf("2 つの値の平均を求めます n"); printf(" 実数 1 = "); scanf("%lf", &x1 ); printf(" 実数 2 = "); scanf("%lf", &x2 ); } printf("2 つの値の平均値は %f です n", avg ); return(0);

復習 : printf: 画面への表示 printf(" こんにちは. 私は臼杵です. n"); この部分 ( " と " で挟まれた部分 ) が画面に表示される こんにちは. 私は臼杵です. int a; a = 10; printf("a の値 = %d です n", a ); %d " " の後に続く, 整数値を表示 a の値は 10 です

復習 : printf: 画面への表示 int a, b, c; a = 10; b = 30; c = a + b; printf("%d + %d = %d です n", a, b, c ); 10 + 20 = 10 です

復習 : scanf: キーボード読込み int a; printf(" 整数を入力 :"); scanf("%d", &a ); printf("a = %d n", a ); 整数を入力 :20 a = 20 scanf("%d", &a ); キーボードから入力された整数を変数 a に入れる

復習 printf: 表示 scanf: 読込み printf(" 整数を入力 :"); scanf("%d", &x); printf(" 整数を入力 :", &x ); scanf(" 整数を入力 :", &x);

復習 キーボードから 2 つの整数を読込んで, その和を画面に表示するプログラムを作成しなさい 2 つの整数を入力整数 A:100 整数 B:40 和は 140 です // 演習 (2) 問題 10 // 学籍番号 0922150 // 名前 #include <stdio.h> int main(void){ int a, b; printf("2 つの整数を入力 n"); printf(" 整数 A:"); scanf("%d", &a ); printf(" 整数 B:"); scanf("%d", &b ); /* 計算と表示 */ printf(" 和は %d です n", a+b); } return(0);