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

Slides:



Advertisements
Similar presentations
プログラミング論 第八回数字の計算,整数の入出力. 本日の内容 前回の課題(続き) 前回の課題(続き) 数字の計算をする 数字の計算をする – 加減乗除を行う – インクリメント演算子とデクリメン ト演算子.
Advertisements

変数とその種類 変数とは何か? → データ ( 数値 ) を入れておく 箱 1000 変数名とは何か? → 箱に付ける名前 xy 変数名 変数の種類 ( 変数の型 ) → 入れるデータによって箱の種類が異なる int char float double その他たくさん integer (
第 2 章 数値の入力と変数 scanf と変数をやります 第 2 章 数値の入力と変数 1. 以下のプログラムを実行してみよう  C 言語では文の最後に「 ; 」(セミコロン)が付きます 第 2 章 数値の入力と変数 2 #include int main() { int x; x = 3; printf("x.
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
演算、整数型と浮動小数点型 第3回目 [4月27日、H.16(‘04)] 本日のメニュー 1)前回の課題・宿題 2)ファイルサーバの利用
応用理工学情報処理 第1回(2015年10月 5日) 月曜日担当 前島展也 Manaba
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
課題 1 キーボードから整数値を 1つ読み込み、その値の二乗と三乗を出力するプログラムを作れ。 動作例: % ./a.out
1.1 C/C++言語 Hello.ccを作りコンパイルしてa.outを作り出し実行する
プログラミング基礎I(再) 山元進.
第2章 数値の入力と変数 scanfと変数をやります.
演算、整数型と浮動小数点型 第3回[平成16年4月27日(火)]:PN04ー03.ppt 今日の内容 1 復習 2 加減・乗除演算子
基礎プログラミングおよび演習 第9回
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
x y 復習 変数とその種類 変数名 数学の場合 未知数 「変数xに‥を代入し‥」 x = 5 x = 1.3
C言語 第1講 生物機能制御学講座 濱田 農学部7号館209室.
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
第10回 プログラミングⅡ 第10回
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
JAVA入門.
第二回 VB講座 電卓を作ろう.
プログラミング応用 printfと変数.
プログラムはどこに保存され,どこで実行されるのか?
プログラミング序論 2. n人のインディアン.
プログラミング演習I 2003年5月7日(第4回) 木村巌.
知能情報工学演習I 第9回( C言語第3回) 課題の回答
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
高度プログラミング演習 (03).
第13章 文字の取り扱い方 13.1 文字と文字型変数 13.2 文字列 13.3 文字型配列への文字列の代入
第13章 文字の取り扱い方 13.1 文字と文字型関数 13.2 文字列 13.3 文字型配列への文字列の代入
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
プログラムはどこに保存され,どこで実行されるのか?
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
地域情報学 C言語プログラミング 第1回 導入、変数、型変換、printf関数 2016年11月11日
プログラミング基礎B 文字列の扱い.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
整数データと浮動小数データ.
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
情報処理Ⅱ 第2回:2003年10月14日(火).
C言語 はじめに 2016年 吉田研究室.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
C言語ファミリー C# 高級言語(抽象的) Java オブジェクト指向 C++ C 機械語(原始的)
地域情報学 C言語プログラミング 第1回 導入、標準出力、変数 2017年10月13日
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
x y 復習 変数とその種類 変数とは何か? →データ(数値)を入れておく箱 変数名 変数名とは何か?
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
復習 Cにおけるループからの脱出と制御 break ループを強制終了する.if文と組み合わせて利用するのが一般的. continue
第13章 文字の取り扱い方 13.1 文字と文字型変数 13.2 文字列 13.3 文字型配列への文字列の代入
第2回C言語の基本的な規則.
情報処理Ⅱ 第2回 2006年10月13日(金).
第5回 プログラミングⅡ 第5回
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
標準入出力、変数、演算子、エスケープシーケンス
オブジェクト指向言語論 第二回 知能情報学部 新田直也.
第7章 そろそろ int 以外も使ってみよう! ~データ型 double , bool~
情報処理Ⅱ 第2回 2004年10月12日(火).
第3回簡単なデータの入出力.
プログラミング入門2 第5回 配列 変数宣言、初期化について
第4回 配列.
printf・scanf・変数・四則演算
第2章 数値の入力と変数 scanfと変数をやります.
知能情報工学演習I 第9回(後半第3回) 課題の回答
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
第5回 配列.
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
変数と代入・読込と表示 第2回[平成15年4月24日(木)]:PN03ー02.ppt 今日の内容 1 プログラムの構造(復習)
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

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

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

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

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

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

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

文字と数値 % 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     小数

文字と数値 誤り例 % 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***は整数です 0.000000は小数です %

文字と数値 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.500000は小数 %

文字と数値 問題 以下の出力を実行するプログラムを作成してください。 % 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 %

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

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

変数 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

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

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

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

変数 以下のソースコードをコーディングし実行しよう! #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は整数 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は整数 4.500000は単精度 5.500000 5.500000は倍精度浮動小数 % /*変数宣言*/ /*変数入力*/

変数 以下のソースコードをコーディングし実行しよう! #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です % 以下のソースコードをコーディングし実行しよう! #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です %

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

変数 キーボードからの数値入力 以下の「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 整数を入力してください 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.キーボード入力   された数値を   変数に代入

変数 以下の「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

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

変数 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.キーボード入力   された文字を   変数に代入

変数 以下の「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

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

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

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