プログラミング入門2 第1回 イントロダクション 芝浦工業大学情報工学科 青木 義満 講義情報 担当教員 青木義満 TA: 授業中紹介 時間・場所 月曜日 3~4限 大学会館2階 実習室 本講義の目的 プログラミング言語の主流であるC言語の基礎知識の習得 → CができればBasicなどの他言語も理解は容易 C言語を通して、プログラミングする際に必要な論理的な物の考え方を身につける 今後の学科の授業、卒業研究、就職において重要 基本情報処理技術者試験でも出題 → ゆえに必修! 1回目 プログラミング入門2 2 講義情報 授業の進め方 内容説明(3限) 例題 → 演習 → チェック(4限) 評価方法 授業内演習、レポート 中間テスト 学期末テスト テキスト 「新版 明解C言語 入門編」、柴田望洋、ソフトバンク → 生協にて購入可能 更にマスターしたい人 「プログラミング言語C」、カーニハン&リッチー、共立出版 「秘伝ポインター問答」、柴田望洋、ソフトバンク ANSI C言語大辞典、マーク・ウィリアムズ社 編/坂本 文、今泉 貴史 監訳 1回目 プログラミング入門2 3 講義スケジュール(予定) 導入 演算と型 分岐 繰り返し 配列 関数1 関数2,文字列 ファイル入出力 ポインタ1 ポインタ2 構造体 まとめの演習 期末テスト 1回目 中間テスト プログラミング入門2 4 質問・問い合わせ先 青木 義満 メールアドレス: [email protected] 研究室: 豊洲校舎研究棟14階14-K-32 メディア工学(青木)研究室 1回目 プログラミング入門2 5 まずはプログラムを書いて動かしてみよう ディレクトリの作成 mkdir エディタを立ち上げる emacs プログラムの内容を記述 保存(***.c) コンパイル gcc source.c -o source ソースファイル名 (***.c) コンパイルコマンド 実行 ./source 実行ファイル名 出力実行ファイル名 指定オプション ※ ./ → 現在いるディレクトリのこと (カレントディレクトリ) 注意: プログラムは半角英数字で記述! 1回目 プログラミング入門2 6 まずはプログラムを書いて動かしてみよう ソースファイル名: name.c (p.8 List1-4) コンパイル: gcc name.c –o name 実行: name #include <stdio.h> 水色部分 おまじない (常に記述) int main(void) { printf(“Hello, My name is AOKI \n”); Tabかスペース で字下げ return(0); 命令を記述 } 1回目 プログラミング入門2 7 エラーが出たら・・・・ 全て半角英数字で書かれているか? スペースも半角 (), ””(ダブルクォーテーション)などに注意! 文の最後に;(セミコロン)を忘れずに! 2つのターミナルを使用して効率的な作業を 1つはEditor用 として 1つはDebug用として 1回目 プログラミング入門2 8 プログラムとコンパイル コンパイル方式 ソースプログラムをコンピュータが直接理解・実行できる形式に“翻訳” する方式 (C言語など) インタプリタ方式 プログラムを1行ずつ解釈しながら実行する方式(Java Scriptなど) → 一般に、コンパイル方式の方が実行速度は高速! 1回目 プログラミング入門2 9 printf 関数 ~ データを表示するコマンド 文字列の表示 文の最後にセミコロン printf( “ Hello Hello \n ” ); “”(ダブルコーテーション)の中に 表示したい文字列を入力 1回目 プログラミング入門2 改行指定 10 プログラムをよりわかりやすく ~ 注釈(コメント) ソースファイル中の /* と */ に挟まれた部分 → 実行時に無視される! プログラムを見やすく、読みやすくするために適切なコメントをつける /*挨拶して自己紹介する プログラム name.c /* 挨拶して自己紹介する */ */コメント 複数行も可 #include <stdio.h> int main(void) { /* 挨拶、名前を表示して、改行 */ コメント printf( “Hello, My name is Yoshimitsu AOKI \n” ); return(0); } 1回目 プログラミング入門2 11 数字(計算結果)の表示 コンピュータの大きな役割 → 計算の高速実行 2つの整数の和を計算して、その値を表示するプログラム /* 2つの整数値の和を計算して表示するプログラム */ #include <stdio.h> int main(void) { /* Calculate sum of 15 and 37 */ コメント printf( “%d\n”, 15 + 37 ); return(0); 早速書いて実行してみよう! } 1回目 プログラミング入門2 12 解説 ~ 整数値を printf で表示する方法 整数値の表示 printf関数の ” ” の中には文字のデータしか入れられない → 数値データを文字列に変換する必要!! 代入! printf( “ %d \n 52 ” , 15+37 ); 改行指定 カンマ カンマの後に続く整数値データを 10進数で表示 → 変換指定 1回目 プログラミング入門2 13 数字(計算結果)の表示をもっとわかりやすく /* 2つの整数値の和を計算して表示するプログラム */ #include <stdio.h> int main(void) { /* Calculate sum of 15 and 37 */ printf( “15 + 37 = %d \n”, 15 + 37 ); return(0); 実行してみよう! } 1回目 プログラミング入門2 14 もっと複雑な計算へ ~ 変数 の必要性 先ほどのプログラム → 15,37,15+37 → 全て定数(Constant) 実際の計算では, 計算の途中経過を覚えさせておく必要が生じる 重要 変数とは、数値などのデータを 格納するための箱である 変数の宣言方法(整数の場合) 57 整数値 int x ; 型名 整数の場合、int (イント: integer の略) 1回目 X 変数の名前 (わかりやすい名前をつける) 変数xは、整数値を入れることのできる int 型の箱である。 プログラミング入門2 15 変数の値を表示するプログラム ファイル名: hensuu1.c /* 2つの整数値を変数を使って表示するプログラム */ #include <stdio.h> int main(void) { int x; int y; Int型変数 x, y の宣言 注: 変数の宣言はmainの直後に! x = 80 ; y = 65 ; 変数に整数値データを代入 printf( “変数 x に入っているデータは%dです。\n”, x ); printf( “変数 y に入っているデータは%dです。\n”, y ); return(0); 表示 } 1回目 プログラミング入門2 16 代入とは? int x ; x = 50 ; 代入演算子: 右辺のデータを左辺に代入する 注: 数学でいう、「xと50が等しい」という意味ではない! 代入 50 整数値 x = 50 ; y = x + 10 ; X yの値は? 変数xに50を代入! 1回目 プログラミング入門2 17 点数の合計を計算して表示するプログラム ファイル名: tensuu.c /* 2科目の点数の合計を表示するプログラム */ #include <stdio.h> int main(void) { int sugaku; int english; int goukei; sugaku = 90; english = 75; 変数goukeiにsugakuとenglishの合計点を計算して代入 printf でsugaku, english, goukeiの点数をそれぞれ表示 return(0); } 1回目 プログラミング入門2 18 キーボードからのデータ入力 前のプログラム : 点数のデータをプログラム中で記述。 → 点数の値を変更するたびにコンパイルして実行する必要がある → 面倒!! 実行時にキーボードから点数を入力できないか? scanf 関数 1回目 プログラミング入門2 19 キーボードからのデータ入力と表示 ~ scanf 関数 ファイル名: keyinput.c /* キーボードから点数を入力して値を表示するプログラム */ #include <stdio.h> int main(void) { int sugaku; アンド,アンバサンド (変数の前に必ず付ける!) 注:printfには不要! printf( “Input score of math :”); scanf( “%d”, & sugaku ); printf(“Score of Math = %d \n”, sugaku); return(0); } 1回目 プログラミング入門2 20 puts関数(プットエス) printf とほぼ同じ役割 文字の並びを出力し、最後に改行を行う %d などとの併用はできない → 書式化は不可 printf ( “ABC\n” ); = puts ( “ABC” ); 改行不要! puts(“値は%dです”, x ); 1回目 printfを使用 プログラミング入門2 21 今日の課題(第1回目、まずはウォーミングアップ) 1. printf関数を用いて、 ・自分の名前 ・出身地 ・趣味 を表示するプログラムを作成せよ。(kadai1-1.c) 2. 数学、英語、国語の3科目の点数をキーボードから入力し、その合計 点を表示するプログラムを作成しなさい。(kadai1-2.c) 終わったらTAもしくは先生に声をかけて下さい。 チェックが終了したら、授業終了です。 1回目 プログラミング入門2 22
© Copyright 2024 ExpyDoc