応用理工学情報処理 第1回(2015年10月 5日) 月曜日担当 前島展也 連絡先 E-mail: [email protected] 研究室: 3F棟634号室 Manaba https://manaba.tsukuba.ac.jp の応用理工学情報処理のページ 授業のHP http://www.ims.tsukuba.ac.jp/~maeshima/joho 今回は最初にこちらを見てください。 1 コンピュータへのログインについて ユーザ名(ID): s+学籍番号下7桁 パスワード: 統一認証パスワード 統一認証パスワードを変更していない場合は、 TWINSの初期パスワードと同じもの 2 コンパイラ コンパイラ(Borland C++ & CPAD) インストール 配布資料に従いインストールしてください 使い方 配布資料、又は、講義のHP http://www.ims.tsukuba.ac.jp/~maeshima/joho にある”使い方” 参照。 3 シラバス 授業内容 C言語を用いたプログラミングに関して、その基礎を講義と演習により学ぶ。 教科書 新・明解C言語 入門編 (柴田望洋著)ソフトバンククリエイティブ 試験日程予定 通常の試験期間に実施予定。 成績評価規準 全クラス共通試験(期末試験)と各学期の演習課題の成績及び出席状況から 判定する。共通試験30%、演習課題評価40%、出席30%の比率とする。 4 C言語について • 1972年開発 – UNIX(OSの一つ)を記述する目的 • プログラミング言語でCの文法を引き継ぐもの多数 – C++, java, など Cを理解すれば、それらの言語も(ある程度) 理解できる • 現在、多くのOSで利用できる。 – UNIX (Linux など)には必ずプログラミング用ソフト付属。 – Windowsでも利用可能 5 プログラム作成から実行まで プログラム作成 プログラム(教科書ではソースプログラム) コンピュータに対する命令を記述したもの ソースファイル コンパイルエラー (文法ミス) hello.c コンパイル 実行エラー (考え方の誤りなど) プログラムを格納したファイル C言語では“なんとか”.cと名前を つける。 コンパイル ソースファイルを実行プログラムに 翻訳する作業 a.exe 実行 実行プログラム(又は実行ファイル) ソースファイルに書かれたプログラ ムを、コンピュータが理解できる形 式に翻訳(コンパイル)したもの 完成 6 まずは表示を行う(printf) (教科書p.2) /* 15+37の計算結果を表示 */ 必須部分(必ず覚えましょう) #include <stdio.h> int main(void) { イ ン デ ン ト 基本的な命令群(printfなど)を記述 しているファイル(stdio.h)を読み込む プログラムの主な(main)部分がここから始まる ことを示す printf(“%d\n“, 15+37); return 0; ここに実行したい作業や計算を記述 する プログラムが正常に終了したことを示す } 7 printf 文字列や数値を表示する命令文(関数) • 文字列を表示 – printf(“Hello, world!”); – 改行などの特殊な文字も利用可能(\n は改行) printf(“Hello, world!\n”); • 数値を表示 – printf(“%d\n”,15+37); • %d は”ここに整数を10進法で表示します”の意味 • 数値と文字列を同時に表示 – printf(“result= %d\n”,15+37); 8 関数と引数 printf = 文字列や数値を表示する関数 プログラム中で関数を呼び出している箇所:関数呼び出し printf( “%d\n” , 15 + 37 ); 関数名 実引数 実引数 この場合、printfは2つの実引数を持っている。 前ページの printf(“Hello, world!”); の場合、printfは1つの実引数を持つ。 9 • 注釈(/* */) その他 – プログラムを理解するために必要な情報を書き 込む /* これはコメントです */ • セミコロン(;) – 文の末尾に必ずつける printf(“Hello!\n”); • 半角英数文字で書く(入力モードに注意)。 • 基本的には小文字を用いて書く。 • インデント(字下げ)を行って見やすくする。 10 書式文字列と変換指定 (p.6) #include <stdio.h> int main(void) { 書式文字列 printf( “15と37の和は%dです。\n“ , 15+37); return 0; } %d : 変換指定 この箇所には、”続く実引数(15+37)の計算結果を 10進数で表示せよ” という意味 11 printfその他 (p.8, 9) #include <stdio.h> int main(void) { printf(“こんにちは。\n私の名前は〇〇です。\n”); return 0; } 書式文字列だけを実引数に すると、そこ書かれた文字列 だけ表示。 putsと同じ (後で説明します) 拡張表記 #include <stdio.h> int main(void) { printf(“こんにちは。\a\a\a\a\n”); return 0; } \n は改行 \aは警報音(実際に音が出るかどうか は試してください) 文字列リテラル “ABC”や”こんにちは。”のように一連の 文字を二重引用符””で囲んだもの 12 変数 数値を保存しておくために使う • int – 整数を保存 • double – 実数を保存 int i; i=10; double pi; pi=3.1415; 他にもいくつかの変数の型がありますが、また後日。 13 変数を使ったプログラム (p.11) #include <stdio.h> int main(void) { int vx, vy; 二つの整数型変数(vx,vy)を宣言 vx = 57; vy = vx + 10; 値を代入 printf(“vxの値は%dです。\n“, vx); printf(“vyの値は%dです。\n“, vy); 値を出力 return 0; } 14 初期化1 (p.12) #include <stdio.h> int main(void) { int vx, vy; 二つの整数型変数(vx,vy)を宣言 値を代入する箇所が無い 不定値が入れられる printf(“vxの値は%dです。\n“, vx); printf(“vyの値は%dです。\n“, vy); どのような値が出力される かはシステムに依存 return 0; } 15 初期化2 (p.13) #include <stdio.h> int main(void) { int vx = 57; int vy = vx+10; 変数を宣言するときに値を入れる(初期化) printf(“vxの値は%dです。\n“, vx); printf(“vyの値は%dです。\n“, vy); return 0; } 16 scanf 読み込みを行う関数 int no; scanf(“%d”, &no); キーボードから10進数を読 み込み、その値をnoに格納 注意:変数に & をつける必要がある int i; scanf(“%d”, &i); &noの意味については後日学習する予定 17 scanf (p.14) #include <stdio.h> int main(void) { int no; printf(“整数を入力してください : “); scanf(“%d“, &no); 整数値を読み込む printf(“あなたは%dと入力しましたね。\n”, no); return 0; } 18 puts • 文字列を表示する関数 – puts(“二つの整数を入力してください。“); printf文を使うとほぼ同じことができる printf(“二つの整数を入力してください。\n”); printf文との違い 1. 文字列だけを出力 2. \nを入れなくても最後に改行してくれる。 19 puts (p.16) #include <stdio.h> int main(void) { int n1, n2; puts(“二つの整数を入力してください。“); 画面に出力 printf(“整数1 : “); scanf(“%d“, &n1); (;)を二回使うと同じ行に printf(“整数2 : “); scanf(“%d“, &n2); 二つの文を記述できる printf(“それらの和は%dです。\n”, n1+n2); return 0; } 20 演習問題 1. scanfを使って読み込んだ3つの整数値の和を表示する プログラムを作成せよ(教科書p.17 演習1-9)。 • プログラム(ソースファイル)への名前の付け方について enX-Y.c 第 X回目講義で出された演習問題の Y問目のプログラム 例: 第 1回目講義の演習問題 1問目 • en01-1.c 演習問題の提出・出席確認について • 授業中にプログラムが完成した方は申し出てください。プログラ ムの確認・出席の確認を同時に行います。完成が確認できた方 は退出しても構いません。 • 授業終了10分前(16:20)の時点でプログラムが未完成の方も、 申し出てください。出席の確認のみを行います。 • 授業終了までにプログラムを完成できなかった方は第2回目の 授業の際に確認を行いますので、それまでに完成させておいて ください。 21
© Copyright 2024 ExpyDoc