Presentation is loading. Please wait.

Presentation is loading. Please wait.

C言語 第2講 生物機能制御学講座 濱田 農学部7号館209室.

Similar presentations


Presentation on theme: "C言語 第2講 生物機能制御学講座 濱田 農学部7号館209室."— Presentation transcript:

1 C言語 第2講 生物機能制御学講座 濱田 農学部7号館209室

2 本日の講義内容 おさらい C言語の基本 文字と数字 変数 アンケート テキスト   やさしいC 第2版 高橋麻奈著           ソフトバンク 社  

3 プログラミングのこつ 1.とにかく、手本をまねる 2.様々なテキストを参考にする
3.プログラムには、おまじないが    含まれていることを認知しておく 4.構文があることを悟る 5.とりあえず、1つの言語を修める

4 C言語をはじめよう ここまでのまとめ ○ プログラムはコンピュータに特定の仕事を付与 ○ ソースコードはエディタ(Mule)にて作成
○ プログラムはコンピュータに特定の仕事を付与 ○ ソースコードはエディタ(Mule)にて作成 ○ ソースコードは英数半角を用いて作成 ○ ソースコードは大文字・小文字を区別して作成 ○ 実行ファイルはソースコードをコンパイルし作成 ○ 実行ファイルは指示した「仕事」を実行 % mule prog1.c % cc prog1.c % a.out

5 アンケート結果 質問および要望 1.ソースコードの意味も一緒に教えてほしい 2.エラーを指摘する文字列の意味がわからない
3.何をしているのかあまりわからない 4.もう少しスローペースで 5.「a.out」を実行する前に「cc prog1.c」が必要か? 6.コンパイルって何?

6 C言語の基本 /* コメント */ ← コメント文 #include <stdio.h> ← 画面出力に使用
/* コメント */   ← コメント文 #include <stdio.h>   ← 画面出力に使用 main()           ← main 関数の開始部 {     printf(“△○×■\n”); ← 最初に実行 printf(“*%$#\n”); ← 次に実行 }    ← main 関数の終了部 C言語は、main関数に記載された1文ずつ(処理の順)実行する。段落ごとにインデントを利用するとわかりやすい。またコメント文を記載するとコードの内容が理解しやすくなる。

7 文字と数値 % a.out A は文字です 文字と数値の型について 123は整数です 10.500000は小数です %
#include <stdio.h>   main() {    printf(“%cは文字です\n”, ‘A’); ← 文字を出力  printf(“%dは整数です\n”, 123); ← 整数を出力  printf(“%fは小数です\n”, 10.5); ← 小数を出力 } %c  Character    文字 %d Decimal  10進整数 %f   Floating     小数

8 文字と数値 誤り例 % a.out A は文字です 107***は整数です 0.000000は小数です %
#include <stdio.h>     main() {    printf(“%cは文字です\n”, ‘ABC’); ← 文字を出力  printf(“%dは整数です\n”, 123.5); ← 整数を出力  printf(“%fは小数です\n”, 10); ← 小数を出力 } 誤り例 型の不一致による誤り % a.out A は文字です 107***は整数です は小数です %

9 文字と数値 2つ以上の文字または数値の出力 % a.out A は文字 123は整数 123は整数 10.500000は小数 %
#include <stdio.h>   main() {    printf(“%cは文字 %dは整数\n”, ‘A’, 123);  printf(“%dは整数 %fは小数\n”, 123,10.5); } % a.out A は文字 123は整数 123は整数  は小数 %

10 文字と数値 問題 以下の出力を実行するプログラムを作成してください。 % a.out 10+5.5=15.500000
問題 以下の出力を実行するプログラムを作成してください。 % a.out 10+5.5=15.500000 10-5.5=4.500000  10*5=50 10/4=2.500000 %

11 文字と数値 問題 以下の出力を実行するプログラムを作成してください。 % a.out 10+5.5=15.500000
問題 以下の出力を実行するプログラムを作成してください。 % a.out 10+5.5=15.500000 10-5.5=4.500000  10*5=50 10/4=2.500000 % #include <stdio.h>   main() {   printf(“%d+%f=%f\n”,10,5.5,10+5.5);   printf(“%d-%f=%f\n”,10,5.5,10-5.5);   printf(“%d*%d=%d\n”,10,5,10*5);   printf(“%d/%d=%f\n”,10,4,10.0/4.0); } #include <stdio.h>   main() {   printf(“%d+%f=%f\n”,10,5.5, );   printf(“%d-%f=%f\n”,10,5.5, );   printf(“%d*%d=%d\n”,10,5,50);   printf(“%d/%d=%f\n”,10,4, ); } #include <stdio.h>   main() {   printf(“10+5.5= \n”);   printf(“10-5.5= \n”);   printf(“10*5=50\n”);   printf(“10/4= \n”); }

12 文字と数値 まとめ ○ main()関数はC言語プログラムの本体 ○ 文は処理の最小単位 ○ コメントはプログラムのメモ書き
○ 文は処理の最小単位 ○ コメントはプログラムのメモ書き ○ 文字列の出力は「printf」 ○ C言語は、文字・文字列・数値を出力 ○ 文字は「‘  ’ 」 (シングルクォーテーション) ○ 文字列は「“ ”」 (ダブルクォーテーション)

13 変数 1 3 5 7 8 + = 1 3 5 7 8 3 1 7 5 8 数値や文字などを記憶しておく箱(メモリ) りんご (数値) 識別子
8個ほしいなぁ りんご (数値) 識別子 (変数名) 記憶 (メモリ)

14 変数 1 3 5 7 8 識別子(変数名)をつける ○ 識別子は、英字・数字・‘_’ を用いて命名
記憶 (メモリ) Address 10 20 30 40 50 識別子 BL PN OR WH GR ○ 識別子は、英字・数字・‘_’ を用いて命名 ○ 予約語(main, include・・・)は無効 ○ 数字の頭文字は不可 ○ 大文字・小文字は区別

15 変数 変数のデータ型 変数に記憶できる主な値は以下の通り! データ型 名前 値の範囲例 文字型 char 英数字1文字
データ型 名前 値の範囲例 文字型 char 英数字1文字 整数型 short int 整数  ±32768 int 長整数 ± 浮動小  float 単精度 3.4E±38 数点型  double 倍精度 1.7E±308

16 変数 浮動小数点型の特徴 浮動小 float 単精度 3.4E±38 数点型 double 倍精度 1.7E±308
                  可数部と指数部 float は、小数点以下7桁の可数部 doubleは、小数点以下15桁の可数部

17 変数 以下のソースコードをコーディングし実行しよう! #include <stdio.h> main() {
int num; char c; float f; double db, dd; num = 3; c = ‘A’; f = 4.5; db = 5.5; dd = db;  printf(“%cは文字 %dは整数\n”, c, num);  printf(“%fは単精度\n %lf,%lfは倍精度浮動         小数\n”,f,db,dd); }

18 変数 % cc prog2.c % a.out Aは文字 3は整数 4.500000は単精度
以下のソースコードをコーディングし実行しよう! #include <stdio.h>   main() { int num; char c; float f; double db, dd; num = 3; c = ‘A’; f = 4.5; db = 5.5; dd = db;  printf(“%cは文字 %dは整数\n”, c, num);  printf(“%fは単精度\n %lf,%lfは倍精度浮動         小数\n”,f,db,dd); } % cc prog2.c % a.out Aは文字 3は整数 は単精度 は倍精度浮動小数 % /*変数宣言*/ /*変数入力*/

19 変数 以下のソースコードをコーディングし実行しよう! #include <stdio.h> main() { 変数の値の入れ替え
int num; num = 3;  printf(“最初のnum = %dです\n”,num); num = 5;  printf(“次のnum = %dです\n”,num); } 変数の値の入れ替え

20 変数 % cc prog2.c % a.out 最初のnum = 3です 次のnum = 5です %
以下のソースコードをコーディングし実行しよう! #include <stdio.h>   main() { int num; num = 3;  printf(“最初のnum = %dです\n”,num); num = 5;  printf(“次のnum = %dです\n”,num); } 変数の値の入れ替え % cc prog2.c % a.out 最初のnum = 3です 次のnum = 5です %

21 変数 誤り例 % a.out num= 3です % 以下のソースコードをコーディングしましょう!
#include <stdio.h>   main() { int num; num = 3.14;  printf(“num = %dです\n”,num); } 誤り例 型の不一致による誤り % a.out num= 3です % 変数は宣言した型によって記憶できる値の種類が決まる。 整数値を格納する変数に小数値を代入すると、小数点以下 が切り捨てられる。

22 変数 キーボードからの数値入力 以下の「prog3.c」をコーディングしましょう! #include <stdio.h>
main() { int num;  printf(“整数を入力してください\n”);  printf(“num = ”); scanf(“%d”, &num);  printf(“%dが入力されました\n”,num); }

23 変数 1.気配りです! % cc prog3.c % a.out 整数を入力してください 2.問い合わせ num = 5
キーボードからの数値入力 以下の「prog3.c」をコーディングしましょう! #include <stdio.h>   main() { int num;  printf(“整数を入力してください\n”);  printf(“num = ”); scanf(“%d”, &num);  printf(“%dが入力されました\n”,num); } 1.気配りです! % cc prog3.c % a.out 整数を入力してください num = 5 5 が入力されました % Enter 2.問い合わせ 3.キーボード入力   された数値を   変数に代入

24 変数 以下の「prog3.c」をコーディングし実行しようう! #include <stdio.h> main() {
float f;  double df;  printf(“単精度浮動小数を入力してください\n f=”); scanf(“%f”, &f);  printf(“%fが入力されました\n”,f);  printf(“倍精度浮動小数を入力してください\n df=”); scanf(“%lf”, &df);  printf(“%lfが入力されました\n”,df); } 単精度浮動小数: %f 倍精度浮動小数: %lf

25 変数 キーボードからの文字入力 以下の「prog4.c」をコーディングし実行しよう! #include <stdio.h>
main() { char c;  printf(“文字を入力してください (英数字) \n”);  printf(“c = ”); c = getchar();  printf(“%cが入力されました\n”,c); }

26 変数 1.気配りです! % cc prog4.c % a.out 文字を入力してください 2.問い合わせ c = a a が入力されました
キーボードからの文字入力 以下の「prog4.c」をコーディングしましょう! #include <stdio.h>   main() { char c;  printf(“文字を入力してください (英数字) \n”);  printf(“c = ”); c = getchar();  printf(“%cが入力されました\n”,c); } 1.気配りです! % cc prog4.c % a.out 文字を入力してください c = a a が入力されました % Enter 2.問い合わせ 3.キーボード入力   された文字を   変数に代入

27 変数 以下の「prog4.c」をコーディングし実行しよう! #include <stdio.h> main() {
float f;  double df;  printf(“単精度浮動小数を入力してください\n f=”); scanf(“%f”, &f);  printf(“%fが入力されました\n”,f);  printf(“倍精度浮動小数を入力してください\n df=”); scanf(“%lf”, &df);  printf(“%lfが入力されました\n”,df); } 単精度浮動小数: %f 倍精度浮動小数: %lf

28 文字と数値と変数 問題 以下の出力を実行するプログラムを作成してください。 % a.out あなたの性別を入力してください
問題 以下の出力を実行するプログラムを作成してください。 % a.out あなたの性別を入力してください 性別 (M/F) = M あなたの年齢を入力してください 年齢 (歳) = 21 あなたの身長を入力してください。 身長 (cm) = 160.5 あなたは、性別M・年齢21歳・身長160.5cmです! %

29 変数 まとめ ○ 変数は、値を格納する ○ 変数は、名前と型を指定して宣言する ○ 変数名は、識別子を使う
○ 変数は、値を格納する ○ 変数は、名前と型を指定して宣言する ○ 変数名は、識別子を使う ○ 変数に値を代入するときは‘=’を使う ○ 変数に新しい値を代入すると、値が入れ替わる ○ キーボードから数値を入力するときは「scanf 」 ○ キーボードから文字を入力するときは「 getchar 」

30 おわりに さて、問題です。 1. 「%c」 「%d」 「%lf」は何型でしょうか? 2. 「printf」は何?
 1.  「%c」 「%d」 「%lf」は何型でしょうか?  2. 「printf」は何?  3. 「int」は何型の変数?  4. 「char」は何型の変数?  5. その他、質問など メールの本文に 氏名と学籍番号 を記載してください


Download ppt "C言語 第2講 生物機能制御学講座 濱田 農学部7号館209室."

Similar presentations


Ads by Google