Download presentation
Presentation is loading. Please wait.
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個ほしいなぁ りんご (数値) 1 3 5 7 8 + = 識別子 (変数名) 記憶 (メモリ) 1 3 5 7 8 3 1 7 5 8
14
変数 1 3 5 7 8 識別子(変数名)をつける ○ 識別子は、英字・数字・‘_’ を用いて命名
記憶 (メモリ) 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. その他、質問など メールの本文に 氏名と学籍番号 を記載してください
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.