1 / 24

変数と代入・読込と表示

第2回[平成15年4月24日(木)]:PN03ー02 . ppt. 変数と代入・読込と表示. 今日の内容. 1 プログラムの構造 (復習) 2 文字列と数値(整数値)の出力 (復習) 3 変数と変数宣言 4 入力文とアドレス指定 5 代入と代入演算子 6 変換指定子の補足. 0 . 参考書. 情報処理技術者試験向け雑誌 、 解説書・演習書 アスキー(田口景介著) 入門C言語 、実習C言語、応用C言語 ソフトバンク(林晴比古著) 新C言語入門スーパービギナー編 、 ビギナー編 、シニア編、応用編

rufus
Download Presentation

変数と代入・読込と表示

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第2回[平成15年4月24日(木)]:PN03ー02.ppt第2回[平成15年4月24日(木)]:PN03ー02.ppt 変数と代入・読込と表示 今日の内容 1 プログラムの構造(復習) 2 文字列と数値(整数値)の出力(復習) 3 変数と変数宣言 4 入力文とアドレス指定 5 代入と代入演算子 6 変換指定子の補足

  2. 0. 参考書 • 情報処理技術者試験向け雑誌、解説書・演習書 アスキー(田口景介著)入門C言語、実習C言語、応用C言語 ソフトバンク(林晴比古著)新C言語入門スーパービギナー編、ビギナー編、シニア編、応用編 オーム社(三田典玄著)入門C言語、実習C言語、応用C言語C言語によるプログラミング[基礎編][応用編] [スーパーリファレンス編](内田智史編著) • 図書館を利用しよう

  3. 標準ヘッダ メイン関数の始まり 注釈行 実行部分 プログラムの一般形 1.プログラムの構造 復習 /* 整数値15と37の和を表示する */ #include <stdio.h> int main(void) { printf(”15+37=%d\n”,15+37); return (0); } • 教科書6頁:List1-3(見出し付き出力) #include <stdio.h> int main(void) {実行部分return(0);}

  4. 2.文字列と整数値の出力 復習 printf("1日は %d秒\n",24*60*60); 文字列はそのまま 書式を指定 変換指定子(%d)による変換 見出し付きの出力となる 1日は86400秒Ã 書式は "で囲むこと!!

  5. 注釈行 変数宣言 式と代入文 書式指定(見出し) サンプルプログラム /* List1-8 (11頁) */ #include <stdio.h> int main(void){ int vx, vy; vx = 57; vy = vx + 10; printf("vxの値は%dです。\n", vx); printf("vyの値は%dです。\n", vy); return(0); } List1-8:二つの変数に整数値を格納して表示

  6. 変数 変数名 vx vy wa 英字 _ 英字 _ seki 数字 3.変数と変数宣言 • 変数(識別子) • プログラムの中で値を記憶する場所 • 場所の名前→変数名 • 変数を宣言する • main関数の { の後に宣言する型指定子(int) 変数名リスト; • 命名法:英文字か_で始まり、  32文字以内の英数文字と_ 82頁を参照 (_はアンダーバー)

  7. 予約語(キーワード)と変数名 • 予約語:プログラム特有の文字列 • 特定の意味を持っている語(82頁参照) • int double return if do for while 等 • 変数名:予約語は使わない • 大文字(ABC…)・小文字(abc…)の区別あり • 32文字までが有効 • 利用可能文字A B C ・・・ X Y Za b c ・・・ x y z0 1 2 ・・・ 9_

  8. 演習(変数名) 問.次の名前の中で変数名として不適当な名前を、理由と共に指摘せよ。 (1) gakuseki_bangou (2) 2nennsei (3) jyouhou-kanri (4) Nyuumon (5) _abc (6) const (7) PROGRAM2001 (8) No. (9) Asahi Univ (10) enshuu_13

  9. 出力文 入力文 変数宣言 式と代入文 書式指定(見出し) サンプルプログラム #include <stdio.h> int main(void){ int n1, n2; int wa; puts("two integers ? "); printf("整数1:"); scanf("%d",&n1); printf("整数2:"); scanf("%d",&n2); wa = n1 + n2; printf("それらの和は%dです。\n", wa); return(0); } List1-12:二つの整数の入力と和の計算と表示

  10. 強制改行する。 文字列のみの改行付きの出力 • puts関数: puts(実引数[文字列]) • 出力制御(例えば、%d)は不可 • 文字列の最後に改行(\n)を付して出力 • \nを入れれば強制的に改行する puts("強制改行\nする。");

  11. \nがなくても 改行する。 文字列のみの改行付きの出力 • puts関数: puts(実引数[文字列]) • 実引数は一つ:文字列を分けても良い"abcde" → "abc" "de" • "\n"という文字列を出力する場合には"\\n"と記述する puts("\\nがなくても"); puts("改行" "する。");

  12. 4.入力文とアドレス指定 • scanf関数scanf(入力制御、値を入れる変数のアドレス) • 入力制御で変換指定(%d,%c,%f)をする • アドレス指定子(&)を変数名の前に付ける scanf("%d",&a); scanf("%f",&X) • 複数のデータを入力する → 複数の変数名 scanf("%d %d %d",&a,&b,&c); それぞれ対応 12 13 14 • 入力装置は標準でキーボードとなる • 入力装置がFD,HD内のファイル:別巻『実践編』

  13. 入力文とアドレス指定 変数の ある場所 • アドレス指定の考え方 scanf("%d",&a); (アドレスは&a) 変数 a 12[Enter] 12 変数 a の場所へ整数の値として12を入れる &a %d

  14. 演習 • キーボードから整数値を一つ入力し、画面に、その2倍の値を出力せよ。 #include <stdio.h> int main(void) { int a; printf("整数値を入力せよ:"); scanf( ); printf( ); return(0); }

  15. [補足]入力文とアドレス指定 • 複数のデータを入力 → 複数の変数名 scanf("%d %d %d",&a,&b,&c) それぞれ対応 12 13 14 プログラム暴走??? scanf("%d %d %d",&a,&b ) scanf("%d %d ",&a,&b,&c) 次のキーボード入力に反映 12,13, 14 scanf("%d,%d,%d",&a,&b,&c) 12 ,13, 14 入力値の直後にコンマが必要

  16. a b sum prod 数学の等式と違うことに注意 5.代入文と代入演算子 • 代入:変数に新たに値を割り当てること • 代入演算子による式 → 代入式 • 代入演算子は = (イコール) 変数名 = 式 で式の値が変数に代入される 足し算 +、 引き算 ー 掛け算 *(xではない) わり算 /(÷ではない) a = 3 ; b = 4 ; sum = a + b; prod = a * b; a = a + 2;

  17. 演習(代入式の文:式文) 問. 次の代入式の文に間違いがあれば指摘せよ (1) a = a + b; (2) d = a(b + d); (3) d = {(a + b)/c}; (4) d = a/b/c; (5) a+b = c+d; (6) i = a*b; (7) b = a + a + a; (8)f = a ÷ b; (9) x = a^b;

  18. 演習 • 二つの整数値を読込み、その差(最初の値から後の値を引く)を出力せよ。 int main(void) { int a, b, sa; puts("二つの整数を入力せよ"); printf("a :"); scanf("%d",&a); printf("b:"); scanf("%d",&b); printf("差は%dです。\n", sa); return(0);}

  19. 6.変換指定子の補足(%c) 計算結果を文字として出力 printf("%c",15*2+18*4); 文字"%c"の代わりに整数値(文字コード)に対応する文字を出力 計算式 整数値を与える式 計算結果 → 102 人間が読める文字 として表示する パソコンのメモリ内では(102)10は(01100110)2で表現されている %c による変換

  20. 0000 0 0 0110 6 6 1100 12 C 0001 1 1 0111 7 7 1101 13 D 0010 2 2 1000 8 8 1110 14 E 0011 3 3 1001 9 9 1111 15 F 0100 4 4 1010 10 A 0101 5 5 1011 11 B 文字コードについて 2進数、10進数、16進数の変換 4ビットの場合 2進数 10進数 16進数

  21. 文字コードについて 文字コード:ASCIIコード表(200頁) 上位4ビット 下位4ビット 0000 0000 2進数 0110 0011 ~ (0110 0011)2 0111 1111 16進数  6   3  (63)16 128通り c 10進数  99  (99)10

  22. 演習 • 画面に、ASCIIコード表の77番目の文字を表示するプログラムを作成せよ #include <stdio.h> int main(void) { printf( ); return(0) }

  23. 演習 • 次のプログラムの誤りを正せ #include <stdio.h> int main(void){ printf("結果の文字は%cです\n",30*5); }

  24. 第2回P入門は終了です。次回(第3回)は5月8日第2回P入門は終了です。次回(第3回)は5月8日 続いて、P演習に入ります。しばらく、休憩します。 5月1日は自宅研修日です。各自で教科書を良く復習・予習しておきましょう。

More Related