gengo1-2

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

プログラミング実習I

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

数値計算

PowerPoint プレゼンテーション

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

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

Microsoft Word - no02.doc

PowerPoint プレゼンテーション

‚æ4›ñ

Microsoft Word - 3new.doc

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

スライド 1

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

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

Microsoft Word - no103.docx

講習No.1

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

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

Taro-ポインタ変数Ⅰ(公開版).j

kiso2-06.key

プログラミング基礎

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

gengo1-8

gengo1-11

PowerPoint Presentation

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

02: 変数と標準入出力

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

Microsoft PowerPoint - lec10.ppt

kiso2-09.key

JavaプログラミングⅠ

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

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

第2回講義:まとめ

JavaプログラミングⅠ

PowerPoint Presentation

PowerPoint プレゼンテーション

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

プログラミング基礎

Microsoft Word - Training10_プリプロセッサ.docx

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

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

Report#2.docx

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

Report#2.docx

untitled

Microsoft PowerPoint - 第1回目復習_pdf用.ppt [互換モード]

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

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

Microsoft PowerPoint - lec4.ppt

cp-7. 配列

gengo1-10

Microsoft Word - java a.doc

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

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

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

物質工学科 田中晋

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

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

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

演算増幅器

講習No.9

Prog1_2nd

JavaプログラミングⅠ

Java講座

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

Microsoft PowerPoint - prog08.ppt

講習No.12

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

Microsoft PowerPoint - prog04.ppt

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

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

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

Cプログラミング1(再) 第2回

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

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

Microsoft Word - no11.docx

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

Prog1_6th

スライド 1

gengo1-6

プログラミング実習I

目次

<4D F736F F F696E74202D2097D58FB089E6919C8B5A8F708A E B8CDD8AB B83685D>

C言語入門

02: 変数と標準入出力

Microsoft PowerPoint pptx

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

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

計算機プログラミング

Microsoft PowerPoint - prog03.ppt

情報処理演習 B8クラス

02: 変数と標準入出力

Prog1_10th

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

数値計算

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

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

第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイ

Transcription:

変数 プログラム中で 値を格納するには変数 variable を用いる変数は 格納する値の型によって 整数型 文字型 などの型 type をもつ変数を使うには 利用に先立って変数の宣言 declaration をしなければならない 値 変数の値はコンピュータのメモリ上に格納される 具体的にメモリのどの場所に格納されるかは言語処理系が自動的に扱うので プログラマ ( 特に初級者 ) が意識する必要はない 変数 変数とは値 ( データ ) を格納する容器 値には 整数値 実数値 文字などの 様々な型がある 整数型 整数の値を保持する変数を整数型という 変数宣言には int を用いる int x; 英語で整数は integer 整数型の変数 x を宣言 x = 1; printf("x = %d\n",x); 変数 x に整数値 1 を代入 変数 x の値を出力 変数の宣言には 変数の型 ( 整数型の場合 int) に引き続き 変数名を書く 変数名は原則として自由に付けられる 最初の 1 文字は英字でなければならない また C 言語のキーワードは使用できない = は 右辺の値を左辺の変数へ代入する代入演算子

printf による変数の出力 printf("x = %d\n", x); 書式 変数名 書式 "x = %d\n" の意味 %d は 変数を整数値として出力することを示す変換指定 変換指定 %d が無ければ printf("x = \n"); は 単に文字列リテラル "x = \n" の出力になる 変換指定は必ず対応する変数と対になっている必要がある printf("x = %d\n",x); 実行結果 /* 変数の出力 */ int x; プログラムの出力結果 x = 1; printf("x = %d\n",x); 整数型の変数 x を宣言して x に整数値 1 を代入 そして画面に変数 x の値を出力するプログラム

問題 下のプログラムをコンパイル 実行するとどうなるか? x = 1; printf("x = %d\n",x); 変数 x が宣言されていないのでコンパイルエラー int x; printf("x = %d\n",x); 宣言しただけの変数には でたらめな値 ( ゴミ ) が格納されているかもしれないので無意味な値が出力される 処理系によっては自動的に 0 で初期化される 変数の入力と出力 キーボードから整数値を入力し その値を出力するプログラム int x; printf(" 整数値を入力せよ :"); scanf("%d", &x); printf(" 入力した整数値は %d です \n",x); キーボードから変数の値を入力するにはライブラリ関数 scanf() を用いる

関数 scanf() キーボードから値を整数値として読み込み 変数 x に格納する scanf("%d", &x); 書式 & 変数名 scanf() による入力では 変数名の前に & をつける! 書式 "%d" の意味 %d はキーボードから入力する値を整数値として取り扱うことを指定する変換指定 &x の意味 & をアドレス演算子という 変数名の前に付けると その変数が格納されているメモリ上の場所を表す scanf の書式の変換指定と & 変数は必ず対になっていなければならない scanf("%d", &x); printf の書式と異なり scanf の書式には変換指定以外の文字は書かない 実行結果 int x; printf(" 整数値を入力せよ :"); scanf("%d", &x); printf(" 入力した整数値は %d です \n",x); このプログラムは整数値を取り扱うことを前提としているので 整数値以外の値 たとえば文字を入力するとおかしな結果が表示される 茶色はプログラムの出力結果

複数の変数を使う 複数の変数を宣言するには 型宣言の後に変数名をコンマで区切って書く int x, y, z; printf を用いて複数の変数を出力するには 書式に複数の変換指定を指定する 書式の後 コンマで変数を区切って記述 printf("x=%d,y=%d,z=%d\n", x, y, z); 変換指定と変数は必ず対を形成する scanf を用いて複数の変数を入力するには 書式に複数の変換指定を指定 書式のあと アドレス演算子と変数名をコンマで区切って記述 scanf("%d %d %d", &x, &y, &z); キーボードから入力する 値は空白 ( スペース ) で区 切って入力する たし算の計算 問題 : キーボードから 2 つの整数値を読み込んで その和を計算して出力するプログラムを作れ 考え方 : 読み込んだ 2 つの整数値を格納するために 整数型の変数 2 つが必要 たし算の結果を格納するためにもう一つの変数が必要 x y z 入力値 1 入力値 2 たし算の結果 変数 x と y は scanf で入力する たし算の結果 z は printf で出力する

たし算のプログラム int x, y, z; printf(" 整数値を 2 つ入力せよ :"); scanf("%d %d", &x, &y); z = x + y; printf("%d と %d の和は %d である \n", x, y, z); + は算術演算子の一つで和を計算する 算術演算子は他には -, *, /, % がある それぞれ 差 積 商 余りを計算する たし算のプログラムその 2 int x, y; printf(" 整数値を 2 つ入力せよ :"); scanf("%d %d", &x, &y); printf("%d と %d の和は %d である \n", x, y, x+y); 変数を 3 つ使わなくても同じことは可能

整数値同士の算術演算 C では 整数型 int 同士の算術演算 +, -, *, /, % の演算結果はすべて整数型になる int + int int - int int * int int / int int % int 演算結果はすべて int となる 1 + 2 -> 3 5-10 -> -5 4 * 6 -> 24 35 / 4 -> 8 35 % 4 -> 3 整数同士の割り算には注意が必要! 整数型の範囲 整数型は通常 2 バイト (16 ビット ) で表される ( 言語処理系により異なる ) つまり 2 の 16 乗 = 65536 通りの表現しか出来ない 正と負の整数を考えると -32768... 32767 の範囲の整数しか取り扱いが出来ないことになる 取り扱い可能な整数値の最大最小値は limits.h というヘッダファイルで INT_MAX, INT_MIN として記載されている #include <limits.h> printf(" %d\n", INT_MAX); printf(" %d\n", INT_MIN);

実数の取り扱い 整数型の変数は整数値しか格納できない 実数を扱う型に浮動小数点型 (floating type) がある 浮動小数点型は 32 ビットで表現され 10 進数での有効桁数は 6 桁 変数宣言には float を用いる 同じく実数を取り扱う型に 倍精度浮動型 ( 単に倍精度型ともいう ) がある 倍精度浮動型は 64 ビットで表現され有効桁数は 10 桁 通常はこちらの倍精度浮動型を用いて実数を取り扱う 変数宣言には double を用いる 倍数度型の変数の宣言 double x, y; x = 3.1415; y = 5.0; 変数 x と y を倍精度として宣言 変数 x に実数 3.1415 を代入変数 y に実数 5 を代入 値が実数であることを明示する場合は 5.0 という具合に書く 実数の出力と入力 printf を用いて倍精度型の変数の値を出力するには 変換指定 %f を用いる scanf を用いて値を倍精度型としてキーボードから入力するには変換指定 %lf を用いる double x; scanf("%lf", &x); printf("%f\n", x);

実数と整数との演算結果 倍精度型同士の算術演算結果は 倍精度型になる 整数型と倍精度型の算術演算結果は 倍精度型になる 整数型で宣言された変数に倍精度型の値を代入すると 少数部分が切り捨てられて代入される double x; int y; x = 3.1415; y = 10; printf("%f\n", x+y); double x; int seisu; x = 3.1415; seisu = x; printf("%d\n", seisu); x+y の型は double になるので変換指定は %f でなければならない 算術演算子の優先度 算術演算子を複数組み合わせる場合 各演算子は数学と同じ優先順位で実行される かけ算と割り算 (*, /) は たし算と引き算 (+, -) よりも優先度が高い a + b*c とは a に b と c の積を足すことを意味する 優先度を変えるには数学と同様 カッコ () を用いる (a+b)*c とは a と b の和に c を掛けることを意味する 以上の優先度は 整数 実数を問わず成り立つ

%d int 型を 10 進数表記に変換 よく使う変換指定 printf("%5d\n",x); int 型の変数 x の値を右詰め 5 桁で表示 (10 進法 ) scanf("%d", &x); キーボードから入力された値を整数値として変数 x に格納 %f double 型を 10 進数表記に変換 (scanf では使用不可 ) printf("%f\n",x); printf("%10.5f\n",x); 変数 x の値を表示 変数 x の値を右詰め 10 桁 小数点以下 5 桁で表示 %lf double 型を 10 進数表記に変換 (printf の書式変換としても使用可能 ) scanf("%lf", &x); キーボードから入力された値を double 型として変数 x に格納 %e 実数を指数部付き 10 進数表記に変換 printf("%10.4e\n", x); 変数 x の値を右詰め 10 桁 精度 4 桁で表示 変換指定は他にもたくさんある 詳細は C 言語の教科書を参照 C 言語のキーワード C 言語で標準的に使い方が決まっている言葉をキーワードという キーワードは変数名として使用することが出来ない キーワード一覧 auto, double, int, struct, break, else, long switch, case, enum, register, typedef, char extern, return, union, const, float, short unsigned, continue, for, signed, void, default goto, sizeof, volatine, do, if, static, while プログラミング言語 1 ではこの色のキーワードを習得する 変数名について : キーワード以外の自由な名前を付けることが可能 プログラム中で分かりやすい名前を付けるのが望ましい int input, output; double ondo_c, ondo_f;

課題 1 キーボードから整数値を 1 つ読み込み そのまま出力するプログラムを作れ 動作例 : 茶色はプログラムの出力結果 課題 2 キーボードから 2 つの整数値を読み込み 加減乗除と余りを計算するプログラムを作れ 動作例 : 空白文字 ( スペース ) で区切って入力 茶色はプログラムの出力結果

課題 3 キーボードから気温 ( 華氏 ) を入力し 摂氏に変換するプログラムを作れ 摂氏 C と華氏 F の関係は以下の通り 動作例 : F = 1.8*C + 32 茶色はプログラムの出力結果 摂氏 : スウェーデンのセルシウス (Celsius, Anders) が水の氷点を 0 沸点を100 と定めた温度の単位 ほとんどの国で用いられる温度の単位系 華氏 : ドイツのファーレンハイト (Fahrenheit, Gabriel Daniel) が 氷と食塩の混合物の温度を0F 人間の体温を96Fと定めた温度の単位 一部の国はいまだにこの単位系を使い続けている あるウェブサイト www.cnn.com では世界各地の気温 ( 摂氏 華氏 ) が得られる 課題 4 1) 計算機システムの C 言語処理系で取り扱い可能な整数の最大 最小値を出力するプログラムを作れ 整数の最大 最小値はヘッダファイル limits.h の中で INT_MAX, INT_MIN として記載されている 2) 最大整数値に整数値 1 を足した結果はどうなるか確認せよ 最小整数値から整数値 1 を引いた結果はどうなるか確認せよ 3) 浮動小数点型 float と倍精度型 double が取り扱い可能な最大値を調べよ それぞれの最大値はヘッダファイル float.h の中で FLT_MAX, DBL_MAX で定義されている この際 printf の書式の変換指定で %f の代わりに %e を使用せよ