C言語入門

Similar documents
Microsoft Word - tb01.doc

¥ƥ­¥¹¥ȥ¨¥ǥ£¥¿¤λȤ¤˽

10

II ( ) prog8-1.c s1542h017%./prog8-1 1 => 35 Hiroshi 2 => 23 Koji 3 => 67 Satoshi 4 => 87 Junko 5 => 64 Ichiro 6 => 89 Mari 7 => 73 D

I ASCII ( ) NUL 16 DLE SP P p 1 SOH 17 DC1! 1 A Q a q STX 2 18 DC2 " 2 B R b

2016 年 度 情 報 リテラシー 三 科 目 合 計 の 算 出 関 数 を 用 いて 各 教 科 の 平 均 点 と 最 高 点 を 求 めることにする この2つの 計 算 は [ホーム]タブのコマ ンドにも 用 意 されているが 今 回 は 関 数 として 作 成 する まず 表 に 三 科

医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート - 目 次 - < 第 1 章 > 共 通 事 項 説 明 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート 目 次 1.1 本 システムの 注 意 点 入 力 項 目 について 基 本 情

R4財務対応障害一覧

5-2 一 般 ユーザー 用 :メール 2 送 信 者 のリンクをクリックすると 受 信 メールの 内 容 を 見 ることができます 受 信 メール 内 容 画 面 項 目 送 信 者 宛 先 CC 本 文 (テキスト) 本 文 (HTML) メールアドレスのリンクをクリックするとアドレス 帳 へ

メール 受 信 画 面 のレイアウトを 変 更 することができます ここでは 初 期 設 定 のレイアウトで 表 示 されているボタ ンやマークについて 解 説 します メール 一 覧 画 面 には 受 信 したメールが 一 覧 表 示 されます メール 受 信 タブをクリックすると 受 信 箱 フ

Microsoft Word - 03accessデータベース演習レジメ.doc

(Microsoft Word - \215u\213`\203m\201[\203g doc)

研究者情報データベース

Microsoft Word - 第3章.doc

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

Microsoft PowerPoint _リビジョンアップ案内_最終.pptx

<4D F736F F D204D46834E A6D92E8905C8D905F93B193FC819593FA8E9F95D C5292E646F63>

(Microsoft Word - \215u\213`\203m\201[\203g doc)

もくじ 0.はじめに 1 1. 用 紙 をスキャナで 用 紙 を 読 み 込 む 1 2. 書 式 定 義 マークした 部 分 を 個 々のデータとして 取 り 込 む 場 合 ( 複 数 回 答 対 応 ) マークした 部 分 をグループ 化 して 取 り 込 む 場 合

<4D F736F F D C97F195CF8AB DEC90E096BE8F912091E6312E313294C52E646F63>

目 次 1.はじめに 書 式 の 説 明 表 紙 スケジュール 組 入 れ 基 準 併 用 禁 止 薬 併 用 注 意 薬 同 種 同 効 薬 医 師 モニタリング..

プログラミング基礎I(再)

(Microsoft Word - Excel\211\236\227p2\217\315.docx)

Microsoft Word - TCⅡマニュアル_第6章_ doc

PowerPoint プレゼンテーション

ボタンをクリックします ( 警 告 が 表 示 されない 場 合 もあります ) 9 画 面 に Win SFX32M V と 表 示 されますので 保 存 する 箇 所 を 選 択 し OK をクリックしてください 選 択 した 箇 所 にインストールしたフォルダが 保 存 され

目 次 1. Web メールのご 利 用 について Web メール 画 面 のフロー 図 Web メールへのアクセス ログイン 画 面 ログイン 後 (メール 一 覧 画 面 ) 画 面 共 通 項 目

別冊資料-11

計算式の取り扱い

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

1.2. ご 利 用 環 境 推 奨 ブラウザ Internet Explorer Google Chrome(バージョン 32 時 点 で 動 作 確 認 済 み) Mozilla Firefox(バージョン 26 時 点 で 動 作 確 認 済 み) Safari 7

勤 怠 項 目 6~10の 追 加 < 概 要 > 勤 怠 項 目 6~10を 追 加 しました それに 伴 い 下 記 の 箇 所 が 変 更 になりました ページ 場 所 誤 25 給 与 奉 行 への テキスト 書 出 順 勤 怠 項 目 1~ 勤 怠 項 目 5 27 内 容 勤 怠 項 目

検 索 文 字 列 が 住 所 にマッチするならば 地 図 画 面 を 表 示 します 検 索 文 字 列 が 住 所 の 一 部 ならば キーワードを 含 む 検 索 結 果 画 面 を 表 示 します

事前チェック提出用現況報告書作成ツール入力マニュアル(法人用)

名刺作成講習

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を

本 日 の 授 業 内 容 最 低 限 覚 えるべきUNIXコマンド pwd, ls, mkdir, cd, cp, rm, mv テキストエディタの 簡 単 な 使 い 方 テキストエディット, Jedit X,Emacs C 言 語 プログラミングの 初 歩 hello, world を 画 面

はじめに 本 プログラムファイルは Windows 版 Microsoft Office Excel で 作 成 されています 動 作 環 境 などは 下 記 を 参 照 ください 動 作 確 認 環 境 [Excel] Microsoft Office Excel 2010 Microsoft O

図 2 エクスポートによるシェープファイルの 新 規 保 存 新 規 保 存 するファイルは,より 分 かりやすい 名 前 をつけて 適 切 なフォルダ(shape フォル ダにまとめておくのがよい) 上 に 保 存 しておく 2 / 10

Microsoft Word - word_05.docx

C.1 共 有 フォルダ 接 続 操 作 の 概 要 アクセスが 許 可 されている 研 究 データ 交 換 システムの 個 人 用 共 有 フォルダまたは メーリングリストの 共 有 フォルダに 接 続 して フォルダを 作 成 したり ファイル をアップロードまたはダウンロードしたりすることがで

2016 年 度 情 報 リテラシー 変 更 された 状 態 同 様 に 価 格 のセルを 書 式 設 定 する 場 合 は 金 額 のセルをすべて 選 択 し [ 書 式 ]のプルダウンメニューか ら[ 会 計 ]を 選 択 する すると が 追 加 され 金 額 としての 書 式 が 設 定 さ

治 験 実 施 管 理 システム NMGCP 向 け Excel 形 式 プロトコール 作 成 手 順 書 V4.0.3 対 応 版 第 1 版 株 式 会 社 富 士 通 アドバンストエンジニアリング All Rights Reserved,Copyright 株 式 会 社 富 士 通 アドバン

1

Microsoft Office Excel2007(NO.2エクセル初級後編)

決 算 時 の 流 れ-1 1 年 間 の 仕 訳 入 力 が 終 了 したら 以 下 の 手 順 で 決 算 書 を 作 成 します Step1 精 算 表 を 印 刷 する 1.[F2 入 力 ]タブより 合 計 表 を 選 択 し 月 度 の 指 定 で 期 首 ~12ヶ 月 目 を 指 定

PowerPoint プレゼンテーション

情報処理技能検定試験 表計算2級 手順書

PowerPoint プレゼンテーション

Microsoft Word - 311Tools_END

目 次 遺 失 物 管 理 プログラム 利 用 者 マニュアル 1. 動 作 条 件 遺 失 物 管 理 プログラムのインストール 運 用 の 流 れ 起 動 方 法 操 作 方 法 について 基 本 的 な 操

<4D F736F F D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A B E A2E646F63>

スライド 1

< 目 次 > 8. 雇 用 保 険 高 年 齢 雇 用 継 続 給 付 27 ( 育 児 休 業 給 付 介 護 休 業 給 付 ) 8.1 高 年 齢 雇 用 継 続 給 付 画 面 のマイナンバー 設 定 高 年 齢 雇 用 継 続 給 付 の 電 子 申 請 高

Ⅰ 校 外 における 研 修 の 留 意 点 1 校 外 における 研 修 のコマ 数 の 考 え ア) 午 前 午 後 の 講 座 は 0.5 日 (0.5 コマ) イ) 全 日 の 講 座 は 1.0 日 (1.0 コマ) 2 校 外 における 研 修 として 選 択 できない 講 座 研 修

目 次 Ⅰ 集 計 支 援 ツールの 準 備 に 関 するQ&A 1 H27 集 計 支 援 ツール.zip ファイルを 展 開 して 作 成 した,1 ~4のフォルダはどのように 利 用 すればよいか? Ⅱ 必 要 なファイルの 準 備 に 関 するQ&A 1 解 答 回 答 状 況 ファイルや,

REX-KMSU2 Android ユーザーズマニュアルRev1.0

目 次. WEB メールへのログイン.... メール 送 信 手 順.... メール 受 信 手 順 アドレス 帳 の 操 作 手 順 フォルダーの 操 作 手 順 メール 発 信 者 登 録 署 名 登 録 手 順 基 本 的 な 設 定

エ CarotDAV が 起 動 すると 次 のようなウィンドウが 表 示 されます メニューバーにある File から New Connection の WebDAV を 選 択 します オ 次 のような 設 定 画 面 が 表 示 されたら General タブでネットワークアドレスなどを 設

節 実 施 期 間 実 施 級 実 施 期 間 情 報 処 理 第 回 は 級 と 級 のみ 実 施 各 期 間 内 回 の 受 験 となります C 言 語 Java Visual Basic ワードプロセッサ 第 回 は 級 のみ 実 施 第 回 は 級 のみ 実 施 第 回 は 級 と 級 のみ

<4D F736F F D B68F918DEC90AC89898F4B899E977095D2816A2E646F63>

振込データの作成

目 次 1. ログイン ログアウト デスクトップ( 例 :Word Excel 起 動 中 ) Dock( 例 :Word Excel 起 動 中 ) Finder ウィンドウ メニューバー( 例 :Word 起 動 中

Microsoft PowerPoint - J_AuthorManual_JPSJ.ppt [互換モード]

WebMail ユーザーズガイド

Microsoft Word - 205MSPowerpoint2010-(rev_b)-小倉更新_END0228_a.docx

請 求 データを 作 成 しましょう 操 作 手 順 1 トップページ 画 面 で [ 口 座 振 替 請 求 ]をクリックして 口 座 振 替 請 求 サービスのメインメニュー 画 面 を 表 示 し [ 請 求 データ 作 成 ]をクリックします 請 求 データは 最 大 10 個 作 成 する

(Microsoft Word - Word\211\236\227p8\217\315.docx)

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

01_07_01 データのインポート_エクスポート_1

03_主要処理画面.xlsx

Ver 改 訂 日 付 改 訂 内 容 1

プリンター 制 御 BEL ブザー DC 1 デバイス コントロール1 DC 3 デバイス コントロール3 CAN データ 抹 消 ESC U 単 方 向 印 字 指 定 / 解 除 初 期 化 テキスト 印 字 ESC w 縦 倍 拡 大 指 定 / 解 除 ESC - アンダー ライ

目 次 はじめに.... 比 較 表 示 の 手 順...2. 画 像 を 表 示 リストに 登 録 比 較 表 示 画 面 の 使 い 方 枚 の 画 像 を 比 較 する 比 較 表 示 画 面 内 拡 大 表 示 機 能 の 使 い 方 マー

2 研 究 資 源 共 通 化 統 合 検 索 システムソフトウェア 利 用 者 用 マニュアル(ゲートウェイシステム) 目 次 1. はじめに 主 な 利 用 の 流 れ 検 索 検 索 画 面 検 索 画 面 の 設 定...

Prog1_14th

(Microsoft Word - Excel\223\374\226\3456\217\ docx)

POWER EGG V2.01 ユーザーズマニュアル ファイル管理編

目 次 1.はじめに 1-1. はじめに 2. 操 作 2-1. 概 要 2-2. 操 作 方 法 ( 調 査 依 頼 の 確 認 ) 2-3. 操 作 方 法 ( 回 答 登 録 ) 2-4. 操 作 方 法 (ワークシート 出 力 ) 2-5. 操 作 方 法 (ワークシート 取 込 ) 3.

PowerPoint プレゼンテーション

目 次 1. 本 マニュアルについて D-Case ステンシルの 導 入 概 要 インストール D-Case 編 集 D-Case メニュー ノード リンク..

Microsoft Word - 操作マニュアル(石油コンビナート_オフラインソフト編)_v0.2.doc

160 アプリケーションとデータ 管 理 8.1 Microsoft Office Mobile Office Mobileでは 以 下 の4つのアプリケーションを 使 用 して Microsoft 文 書 を 作 成 編 集 閲 覧 することができます Word Mobile は Microsof

<4D F736F F D203193FA8AD45F95CA8E86325F89898F4B315F94F093EF8AA98D AD97DF914F82CC8FEE95F182CC8EFB8F C28E8B89BB2E646F63>

SoftBank 202F 取扱説明書

5 振 込 依 頼 書 の 作 成 方 法 ()ツールの 起 動 コピーまたはダウンロードしたツールをダブルクリックして 開 いてください (ツール 起 動 の 際 マクロを 有 効 にしてください ) ダブルクリック 後 以 下 のメッセージが 出 力 されますので 読 み 取 り 専 用 ボタン

4.5. < 参 加 表 明 書 を 提 出 する> 調 達 案 件 一 覧 の 表 示 対 象 となる 案 件 を 検 索 し 調 達 案 件 一 覧 に 表 示 させます 参 加 したい 案 件 の 調 達 案 件 名 称 行 - 入 札 参 加 資 格 確 認 申 請 / 技 術 資 料 /

操 作 の 手 順 : 個 人 住 民 税 一 括 納 付 / 新 規 依 頼 修 正 複 写 個 人 住 民 税 一 括 納 付 メニュー 個 人 住 民 税 一 括 納 付 新 規 依 頼 修 正 複 写 依 頼 / 委 託 者 情 報 入 力 (P100) 依 頼 修 正 / 委 託 者 情

1. アクセスする 2. 簡 易 検 索 画 面 (fig. 1) アクセスすると 最 初 に 出 る 画 面 です 検 索 語 入 力 ボックスにキーワードを 入 力 して 論 文 検 索 ボタンをクリックし ます 3. ボックス 下 部 のチェック 項

Bar-Code_GUIDE

Microsoft PowerPoint - webサイト更新マニュアル ppt [互換モード]

返還同意書作成支援 操作説明書

Basic

(Microsoft Word - Excel\223\374\226\3452\217\ docx)

K-REE Access販売管理 フォーム定義書

縦 計 横 計 をSUM 関 数 で 一 度 に 計 算 する 縦 横 の 合 計 を 表 示 するセルが 計 算 対 象 となる セルと 隣 接 している 場 合 は 一 度 に 合 計 を 求 め ることができます 1 計 算 対 象 となるセル 範 囲 と 合 計 を 表 示 する セル 範

電子納品チェックシステム利用マニュアル

富士山チェックリスト


Word 003 スキルブック 06 - オブジェクトの 利 用 0.Word で 作 る 表 : 行 幅 を 最 小 値 より 小 さく 設 定 する 3 表 の 左 右 のサイズを 適 宜 調 整 します Word で 表 を 作 成 するとき, 列 幅, 行 幅 ともに 基 本 的 に 自 由

Transcription:

1 C 言 語 入 門 第 2 週 プログラミング 言 語 Ⅰ( 実 習 を 含 む ), 計 算 機 言 語 Ⅰ 計 算 機 言 語 演 習 Ⅰ, 情 報 処 理 言 語 Ⅰ( 実 習 を 含 む )

2 explorer の 使 い 方 先 週 の 復 習 1

3 explorer.exe ファイルの 操 作 を 行 うソフト デスクトップもエクスプローラーの 一 部 デスクトップも explorer これが explorer コントロールパネルも explorer ここに explorer と 入 力 し ENTERキーを 叩 いても explorer が 表 示 できます

4 ポップアップ(popup)メニューの 表 示 表 示 させたい 場 所 でマウス 右 クリック 例 えばデスクトップの 何 もない 場 所 で メニューの 右 にある 三 角 印 サブメニューが 出 る ポップアップメニュー サブメニュー

5 ファイルの 作 成 とオープン explorer の 作 成 したい 場 所 で マウス 右 クリック ポップアップメニューが 出 る 新 規 作 成 テキストドキュメント 出 来 たファイルは 適 当 に 名 前 を 付 けても 良 い マウス 左 ダブルクリック メモ 帳 で 開 かれる

6 フォルダの 作 成 作 成 したい 所 で 右 クリック ポップアップメニューで 新 規 作 成 フォルダ 新 しいフォルダ ができた

7 フォルダを 開 く フォルダアイコンの 上 で 左 ダブルクリック explorer が 開 く 開 いているフォルダ 名

8 ファイルの 移 動 テキストドキュメント を 新 しいフォルダ の 中 に 移 動 ドラッグ&ドロップ すれば 良 い ドラッグ&ドロップ 移 動 しました

9 ファイルのコピー Ctrl を 押 したまま ドラッグ&ドロップ コピーができました

10 ファイルの 選 択 ファイルを 単 純 にクリック ファイル 左 側 のチェックボックスをクリック CTRL キーを 押 したままクリック( 複 数 選 択 ) ファイルを 囲 むようにドラッグ( 複 数 選 択 ) 選 択 された

11 ファイルの 削 除 選 択 したファイル 上 で 右 クリック 削 除 ファイルを 選 択 して Delete キーでも 良 い ファイルが 消 えた

12 CUI 作 業 環 境 ( 端 末 terminal) フォルダをSHIFT+ 右 クリック コマンドプロンプト mintty + bash 右 クリックしたフォルダを 作 業 ディレクトリにして 端 末 (コマンドプロンプトやmintty)が 開 かれる

13 cmd と bash の 主 なコマンド cmd bash マニュアルの 表 示 help [コマンド 名 ] man [コマンド 名 ] ファイル 一 覧 dir ls メッセージの 表 示 echo メッセージ echo メッセージ ファイルの 内 容 を 表 示 type ファイル 名 cat [ファイル 名 ] 作 業 ディレクトリの 移 動 cd ディレクトリ 名 cd [ディレクトリ 名 ] 作 業 ディレクトリの 表 示 cd pwd ファイルコピー copy コピー 元 コピー 先 cp コピー 元 コピー 先 ファイル 移 動 move コピー 元 コピー 先 mv コピー 元 コピー 先 ファイル 削 除 del ファイル 名 rm ファイル 名 ディレクトリの 作 成 mkdir ディレクトリ 名 mkdir ディレクトリ 名 ディレクトリの 削 除 rmdir ディレクトリ 名 rmdir ディレクトリ 目

14 cmd と bash の 主 なキー 操 作 コマンド cmd bash 動 作 Home Ctrl + A 行 頭 へ 移 動 END Ctrl + E 行 末 へ 移 動 Shift + End Ctrl + K 行 末 まで 削 除 tab ファイル 名 の 補 完 コマンド 履 歴 の 再 利 用

教 科 書 pp.30-31. 15 ファイルの 場 所 の 記 述 方 法 (パス) 以 下 の 図 のフォルダ 構 成 を 仮 定 する C Users kou Desktop CLangI week01 hello.c CLangII week01 hellogui.c 作 業 フォルダは CLangI

16 作 業 フォルダ カレントディレクトリ(current directory)とも 言 う コマンドプロンプト mintty + bash ここに 表 示 されているのが 作 業 フォルダ

教 科 書 pp.30-31. 17 Windows の 絶 対 パス 相 対 パス フォルダの 階 層 を で 区 切 る 現 在 の 作 業 フォルダは 以 下 の 場 所 C Users kou Desktop CLangI 絶 対 パスはルートデバイスを 基 準 に C Users kou Desktop CLangI week01 hello.c C Users kou Desktop CLangII week01 hellogui.c 相 対 パスは 現 在 の 作 業 フォルダを 基 準 に week01 hello.c.. CLangII week01 hellogui.c

18 Cygwin の 絶 対 パス 相 対 パス ディレクトリの 階 層 を / で 区 切 る 現 在 の 作 業 ディレクトリは 以 下 の 場 所 /cygdrive/c/users/kou/desktop/clangi 絶 対 パスはルートディレクトリ / を 基 準 に /cygdrive/c/users/kou/desktop/clangi/week01/hello.c /cygdrive/c/users/kou/desktop/clangii/week01/hellogui.c 相 対 パスは 現 在 の 作 業 ディレクトリを 基 準 に week01/hello.c../clangii/week01/hellogui.c

19 特 別 なフォルダ 名... 1つ 親 のディレクトリを 意 味 する 現 在 のディレクトリを 意 味 する UNIX では 実 行 ファイルの 検 索 パスに 作 業 ディレ クトリが 含 まれない 作 業 ディレクトリ 内 にある 実 行 ファイルを 実 行 する 際./ を 実 行 ファイル 名 の 前 に 付 ける 必 要 がある

20 補 足 フォルダとディレクトリは 同 じ 概 念 Windows 流 ではフォルダと 呼 ぶ UNIX 流 ではディレクトリと 呼 ぶ /cygdrive は cygwin 特 有 の 仮 想 ディレクトリ Windows のドライブが 配 置 されている 通 常 UNIX ではパスに (コロン)を 使 わないため ネットワークドライブもアクセス 出 来 る UNC 表 記 を 用 いる fs.cc.yamaguchi-u.ac.jp YUアカウント 名 //fs.cc.yamaguchi-u.ac.jp/yuアカウント 名

21 コマンドの 検 索 パス 環 境 変 数 PATH に 設 定 されたパスからコマン ドを 探 して 実 行 する cmd での 確 認 方 法 > echo %PATH% 複 数 のパスは ; (セミコロン)で 区 切 って 与 える bash での 確 認 方 法 $ echo $PATH 複 数 のパスは (コロン)で 区 切 って 与 える

教 科 書 p.27. ファイル 拡 張 子 の 表 示 Windows 8 以 降 22 explorer.exe から 表 示 ファイル 名 拡 張 子 ON ファイル 名 末 尾 に. と 表 示 される

教 科 書 p.27. ファイル 拡 張 子 の 表 示 Windows 7 以 前 23 explorer.exe から Alt ツール オプション 表 示 登 録 されている 拡 張 子 は 表 示 しない OFF Alt 叩 くとメニュー 出 る ファイル 名 末 尾 に. と 出 る

24 ファイル 拡 張 子 とは? ファイルの 種 類 を 表 している アプリケーションとの 関 連 付 けに 用 いられる 実 行 ファイルは.exe や.com テキスト 文 書 は.txt Word2007 以 降 は.docx それより 前 は.doc Excel2007 以 降 は.xlsx それより 前 は.xls PowerPoint2007 以 降 は.pptx それより 前 は.ppt 圧 縮 ファイルは.zip.lzh.tgz.cab 等 々 等 々 変 更 すると 開 けなくなる 普 通 は 変 更 する 必 要 はない メール 等 で 添 付 されて 来 たファイルには 注 意 文 書 ファイルに 見 えて 実 行 ファイル( 実 はウィルス)ということも

教 科 書 pp.36-42. 25 C コンパイラによるコンパイル cmd.exe から bcc32 で 行 った 例 コマンドプロンプト + Borland C++ C Users kou Desktop CLangI2014>dir /B hello.c ファイル 一 覧 の 表 示 C Users kou Desktop CLangI2014>bcc32 hello.c Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland hello.c 警 告 W8070 hello.c 6 関 数 は 値 を 返 すべき( 関 数 main ) Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland コンパイル C Users kou Desktop CLangI2014>dir /B hello.c hello.exe hello.obj hello.tds C Users kou Desktop CLangI2014>hello hello, world ファイル 一 覧 の 表 示 作 成 した 実 行 ファイルを 実 行

教 科 書 p.17. 26 C コンパイラは 何 をしているのか? デバッグ 情 報 付 きコンパイルし 逆 アセンブル.rdata セクション 部 分 mintty + bash $ gcc -g hello.c $ objdump -d -S -s a.exe a.exe ファイル 形 式 pei-x86-64... セクション.rdata の 内 容 100403000 63796767 636a2d31 342e646c 6c005f4a cyggcj-14.dll._j 100403010 765f5265 67697374 6572436c 61737365 v_registerclasse 100403020 73000000 00000000 00000000 00000000 s... 100403030 68656c6c 6f2c2077 6f726c64 00000000 hello, world... 100403040 4743433a 2028474e 55292034 2e382e31 GCC (GNU) 4.8.1... セクション.text の 逆 アセンブル... 00000001004010d0 <main> #include <stdio.h> 文 字 データの16 進 表 現 文 字 データの 配 置 アドレス 埋 め 込 まれた 文 字 データ

27 C コンパイラは 何 をしているのか?.text セクション 部 分 セクション.text の 逆 アセンブル... 00000001004010d0 <main> #include <stdio.h> アセンブラコードを アセンブルして 得 られた マシン 語 のバイトコード C 言 語 を コンパイルして 得 られた アセンブラコード main() { 1004010d0 55 push %rbp 1004010d1 48 89 e5 mov %rsp,%rbp 1004010d4 48 83 ec 20 sub $0x20,%rsp 1004010d8 e8 73 00 00 00 callq 100401150 < main> printf("hello, world n"); } 1004010dd 48 8d 0d 4c 1f 00 00 lea 0x1f4c(%rip),%rcx # 100403030 <.rdata> 1004010e4 e8 77 00 00 00 callq 100401160 <puts> 1004010e9 48 83 c4 20 add $0x20,%rsp 1004010ed 5d pop %rbp 1004010ee c3 retq 1004010ef 90 nop サブルーチン(printf)の 呼 び 出 し... 配 置 アドレス 元 々の C 言 語 のコード 文 字 データ"hello, world n"の 配 置 アドレス( 前 項 参 照 )

C 言 語 入 門 ( 変 数 と 定 数 ) 28

基 礎 知 識 29

30 テキスト 編 集 系 ソフトの 種 類 テキストエディタ (メモ 帳, 秀 丸, etc,,,) 基 本 的 にプレーンな 文 字 情 報 のみ 装 飾 なし リッチテキストエディタ (ワードパッド, etc,,,) 字 体 色 サイズ 等 の 装 飾 が 可 能 に ワードプロセッサ (Word, 一 太 郎, etc,,,) 更 に 高 度 な 文 書 作 成 支 援 機 能 DTPツール (InDesign, Publisher, etc,,,) 印 刷 用 の 版 下 作 成 特 に 割 付 へ 特 化

プログラミング 向 け テキストエディタの 機 能 構 文 解 析 機 能 シンタックスハイライト 機 能 行 番 号 表 示 機 能 入 力 補 完 機 能 マクロ 機 能 正 規 表 現 対 応 の 検 索 機 能 タグジャンプ 機 能 等 々 31

32 テキストエディタ 窓 の 杜 オフィス / 文 書 作 成 / テキストエディター http//www.forest.impress.co.jp/library/nav/genre/offc/document_txteditor.html 学 習 プログラミング / プログラミング / プログラム 向 けエディター http//www.forest.impress.co.jp/library/nav/genre/stdy/program_progeditor.html Vector Windows / 文 書 作 成 / テキストエディタ http//www.vector.co.jp/vpack/filearea/win/writing/edit/

33 テキストエディタ サクラエディタ http//sakura-editor.sourceforge.net/ xyzzy http//xyzzy-022.github.io/

34 統 合 開 発 環 境 Microsoft Visual Studio http//www.visualstudio.com/ja-jp/ Eclipse Pleiades - Eclipse プラグイン 日 本 語 化 プラグイン http//mergedoc.sourceforge.jp/ NetBeans https//ja.netbeans.org/

教 科 書 p.46. 35 コメント プログラムとしては 解 釈 されない 後 で 読 む 人 用 に 注 釈 をしておく 機 能 /* ~ */ の 間 がコメント // から 行 末 までがコメント comment_test.c 1 2 3 4 5 6 7 8 9 #include <stdio.h> 緑 の 部 分 がコメントとして 扱 われる main() { /* ここがコメント */ printf("hello, world n"); // ここもコメント }

教 科 書 pp.61, 64-66, 98. 36 printf 関 数 の 初 歩 括 弧 の 中 にカンマ, で 区 切 って 複 数 の 引 数 (パラメータ)を 与 える 1つ 目 の 引 数 は 書 式 書 式 内 の %d %f %s 等 の 箇 所 には2つ 目 以 降 の 引 数 が 順 に 埋 め 込 まれる printf("1 + 2 = %d n", 1 + 2); 1 + 2 = n n は 改 行 として 機 能 する ここには int 型 の 整 数 型 データとして 解 釈 した 2つ 目 の 引 数 の 値 ( 上 記 の 例 では1+2の 計 算 結 果 )が 符 号 付 き10 進 数 にして 印 字 される %d は 整 数 %f は 実 数 %s は 文 字 列 の 埋 め 込 み 用

37 演 習 値 を 表 示 してみよう(1/2) printf の1つ 目 の 引 数 に "%d n", "%f n", "%s n" を 与 え 2つ 目 の 引 数 に 整 数 実 数 文 字 列 を 与 えて それぞれの 組 み 合 わせで どうなるか 試 してみよう 1 2 3 4 5 6 printf_practice_11.c #include <stdio.h> void main() { printf("%d n", 123); } 5 行 目 を 書 き 変 えて 計 9つのファイルを 作 りましょう mintty + bash + gcc $ gcc printf_practice_11.c &&./a 123 コマンドプロンプト + Borland C++ >bcc32 printf_practice_11.c && printf_practice_11 Borland C++ 5.5.1 for Win32 Copyright (c) 1993,... printf_practive_11.c Turbo Incremental Link 5.00 Copyright (c) 1997,... 123

38 演 習 値 を 表 示 してみよう(2/2) 結 果 を 調 べて 表 にまとめてみよう ファイル 名 は 整 理 番 号 を 用 いて printf_practice_xy.c のように 付 けてください 例 えば 2の 欄 は printf_practice_32.c となります 整 理 番 号 Y 1 2 3 整 理 番 号 X 第 1 引 数 \ 第 2 引 数 123 123.456 "123.456" 1 "%d n" 123と 表 示 2 "%f n" 3 "%s n" 2

39 SI 接 頭 辞 名 前 記 号 乗 数 キロ(kilo) K 1000 1 =10 3 メガ(mega) M 1000 2 =10 6 ギガ(giga) G 1000 3 =10 9 テラ(tera) T 1000 4 =10 12 ペタ(peta) P 1000 5 =10 15 エクサ(exa) E 1000 6 =10 18 ゼタ(zetta) Z 1000 7 =10 21 ヨタ(yotta) Y 1000 8 =10 24

40 2 進 接 頭 辞 (IEC/IEEE) 名 前 記 号 乗 数 キビ(kibi) Ki 1024 1 =2 10 メビ(mebi) Mi 1024 2 =2 20 ギビ(gibi) Gi 1024 3 =2 30 テビ(tebi) Ti 1024 4 =2 40 ペビ(pebi) Pi 1024 5 =2 50 エクスビ(exbi) Ei 1024 6 =2 60 ゼビ(zebi) Zi 1024 7 =2 70 ヨビ(yobi) Yi 1024 8 =2 80

教 科 書 pp.50-55. 41 b bit 2 進 数 1 桁 bit と byte 通 信 速 度 や IC の 容 量 表 記 等 例 B Byte 100Mbps (100 Mega bits per seconds) 8bit ( 半 角 英 数 1 文 字 分 に 相 当 ) 記 憶 メディアの 容 量 表 記 等 例 32GB (32 Giga Bytes) 1bit 0 1 0 0 0 1 1 0 1 1 1bitの 記 憶 素 子 には 2 進 数 の1 桁 つまり 0 または 1 のみ 記 憶 できる 1bit 毎 では 単 位 が 小 さ 過 ぎて 使 い 辛 い 通 常 は 8 桁 を1まとめにして 扱 う 8bit = 1byte 8bit = 1byte は 2 8 = 256 通 りの 整 数 を 表 現 可 能 符 号 なし 0~255 符 号 あり 128~127

教 科 書 pp.50-55. 42 16 進 数 2 進 数 10 進 数 16 進 数 2 進 数 10 進 数 16 進 数 0b0000 0 0x0 0b1000 8 0x8 0b0001 1 0x1 0b1001 9 0x9 0b0010 2 0x2 0b1010 10 0xa 0b0011 3 0x3 0b1011 11 0xb 0b0100 4 0x4 0b1100 12 0xc 0b0101 5 0x5 0b1101 13 0xd 0b0110 6 0x6 0b1110 14 0xe 0b0111 7 0x7 0b1111 15 0xf 2 進 数 4 桁 16 進 数 1 桁 に 対 応 2 進 数 から 変 換 するとキリが 良 い バイト 単 位 のデータを 表 す 際 読 み 易 い 例 0b0001001000110100 = 4660 = 0x1234 2 進 数 4 桁 16 進 数 1 桁 2 進 数 8 桁 16 進 数 2 桁 2 進 数 16 桁 16 進 数 4 桁 2 進 数 32 桁 16 進 数 8 桁 2 進 数 64 桁 16 進 数 16 桁

教 科 書 pp.50-55. 43 8 bit 整 数 の N 進 数 の 表 現 2 進 数 符 号 なし10 進 数 符 号 あり10 進 数 16 進 数 0b00000000 0 0 0b00000001 1 1 0x01 0b00000010 2 2 0x02 0b00000011 3 3 0x03 0b01111111 127 127 0x7f 0b10000000 128-128 0x80 0b11111100 252-4 0xfc 0b11111101 253-3 0xfd 0b11111110 254-2 0xfe 0b11111111 255-1 0xff 符 号 ありは ここで 正 負 が 入 れ 替 わる 符 号 あり 整 数 の 場 合 は 最 上 位 ビットを 符 号 ビットとして 扱 う(2の 補 数 表 現 )

教 科 書 pp.50-55. 44 16 bit 整 数 の N 進 数 の 表 現 2 進 数 符 号 なし10 進 数 符 号 あり10 進 数 16 進 数 0b0000000000000000 0 0 00 0b0000000000000001 1 1 01 0b0000000000000010 2 2 02 0b0000000000000011 3 3 03 0b0111111111111111 32767 32767 0x7fff 0b1000000000000000 32768-32768 0x8000 0b1111111111111100 65532-4 0xfffc 0b1111111111111101 65533-3 0xfffd 0b1111111111111110 65534-2 0xfffe 0b1111111111111111 65535-1 0xffff 符 号 ありは ここで 正 負 が 入 れ 替 わる 符 号 あり 整 数 の 場 合 は 最 上 位 ビットを 符 号 ビットとして 扱 う(2の 補 数 表 現 )

45 N bit 整 数 の 最 大 値 最 小 値 Bit 数 符 号 あり10 進 数 最 小 値 符 号 あり10 進 数 最 大 値 符 号 なし10 進 数 最 大 値 8-128 127 255 16-32,768 32,767 65,535 32-2,147,483,648 2,147,483,647 4,294,967,295 64-9,223,372,036,854,775,808 9,223,372,036,854,775,807 18,446,744,073,709,551,615 N 2 N 1 2 N 1 1 2 N 1 参 考 128bit の 場 合 Bit 数 128 符 号 あり10 進 数 最 小 値 170,141,183,460,469,231,731,687,303,715,884,105,727 符 号 あり10 進 数 最 大 値 -170,141,183,460,469,231,731,687,303,715,884,105,728 符 号 なし10 進 数 最 大 値 340,282,366,920,938,463,463,374,607,431,768,211,456

46 符 号 なし8bit 整 数 の 演 算 整 数 オーバーフロー 11111111 = 255 +)00000001 = 1 100000000 = 0 有 効 桁 の 外 に1が 溢 れた 整 数 アンダーフロー 100000000 = 0 -)00000001 = 1 11111111 = 255 有 効 桁 外 の 外 から1が 溢 れた

47 符 号 あり8bit 整 数 の 演 算 整 数 オーバーフロー 01111111 = 127 +)00000001 = 1 10000000 = -128 符 号 ビットに1が 溢 れた 整 数 アンダーフロー 10000000 = -128 -)00000001 = 1 01111111 = 127 符 号 ビットから1が 溢 れた 2の 補 数 表 現 有 効 桁 の 外 から1を 借 りてくる 100000000 = 0 -)00000001 = 1 11111111 = -1 11111111 = -1 +)00000001 = 1 100000000 = 0 有 効 桁 の 外 に1を 捨 てる

48 RAM (Random Access Memory) コンピュータのメインメモリで 利 用 されている

教 科 書 pp.52-56. 49 メモリの 構 成 1byte 単 位 でアドレスが 振 られている つまり 各 アドレスには1byteの 値 を 格 納 出 来 る 32bitのOSは32bitのアドレス 空 間 最 大 2 32 Bytes=4GiB 64bitのOSは64bitのアドレス 空 間 最 大 2 64 Bytes=16EiB 000000 00000000000000 000001 00000000000001 000002 00000000000002 000003 00000000000003 0xffffffff 0xffffffffffffffff アドレス 格 納 値 アドレス 格 納 値

50 大 きい 値 の 扱 い 方 複 数 のアドレスをまとめて 変 数 に 割 り 当 てる 0x~00 0x~01 0x~02 0x~03 0x~04 0x~05 0x~06 0x~07 0x~08 8bit 0x~00 0x~01 0x~02 0x~03 0x~04 0x~05 0x~06 0x~07 0x~08 16bit

51 大 きい 値 の 扱 い 方 複 数 のアドレスをまとめて 変 数 に 割 り 当 てる 0x~00 0x~01 0x~02 0x~03 0x~04 0x~05 0x~06 0x~07 0x~08 32bit 0x~00 0x~01 0x~02 0x~03 0x~04 0x~05 0x~06 0x~07 0x~08 64bit

教 科 書 pp.59-61. 52 変 数 の 宣 言 値 の 代 入 変 数 は 値 を 格 納 する 箱 のようなもの int a; // (1) 変 数 の 宣 言 a = 10; // (2) 値 の 代 入 // (3) (1) (2) 10 (3)? a? a 10 a int 型 の 変 数 を 作 り a という 名 前 を 付 ける この 時 点 では 中 身 は 未 定 変 数 a に 10 を 代 入 する 変 数 a に 10 が 代 入 された 状 態 に なっている

教 科 書 pp.59-61. 53 変 数 の 宣 言 と 初 期 化 宣 言 と 同 時 に 初 期 化 することも 出 来 る int a = 10; // (1) 変 数 の 宣 言 と 初 期 化 (1) 10 a int 型 の 変 数 を 作 り a という 名 前 を 付 け 10 を 代 入 する

54 変 数 への 値 の 代 入 変 数 への 代 入 は = を 用 います C 言 語 にお いて = は イコール や 等 号 ではなく 代 入 を 意 味 する 記 号 です 代 入 は 右 辺 の 計 算 結 果 を 左 辺 の 変 数 に 格 納 します ( 左 辺 には 必 ず 単 独 の 変 数 を 書 く) a = 10; // (1) 値 の 代 入 a = a + 1; // (2) 計 算 結 果 の 代 入 (2) 10 a 計 算 結 果 で 左 辺 を 上 書 きする 10 a + 1 まず 右 辺 を 計 算 して

教 科 書 pp.59-61. 55 変 数 文 法 データ 型 変 数 名 ; // 変 数 の 宣 言 データ 型 変 数 名 = 初 期 代 入 値 ; // 変 数 の 宣 言 と 初 期 化 データ 型 変 数 名 1, 変 数 名 2; // 複 数 の 変 数 の 宣 言 データ 型 変 数 名 1= 初 期 代 入 値 1, 変 数 名 2= 初 期 代 入 値 2; // 複 数 の 変 数 の 宣 言 と 初 期 化 変 数 名 = 値 ; // 値 の 代 入

教 科 書 p.54. 56 リテラル ソースコードに 直 接 記 述 された 値 数 値 文 字 列 等 wavetest.c 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 int main(int argc, char *argv[]) { if (argc < 4) { printf("usage %s output_file micro_sec MIDI_note_No n n", argv[0]); return EXIT_FAILURE; } } FILE *fp; if (fp = fopen(argv[1], "wb")) { fwrite_wav(44100, atoi(argv[2]), atoi(argv[3]), fp); fclose(fp); } return EXIT_SUCCESS; 赤 字 で 示 したような 部 分 が リテラルに 当 たる

教 科 書 pp.53-55., [1] pp.44-45. 57 整 数 のデータ 型 signed char, unsigned char 1バイト 局 所 的 な 文 字 セット 内 に1 文 字 を 保 持 し 得 る signed short, unsigned short 少 なくとも16ビット signed int, unsigned int 少 なくとも16ビット 通 常 ホスト 計 算 機 の 自 然 な 整 数 サイズ 現 在 は 32 or 64 ビットであることが 多 い signed long, unsigned long 少 なくとも32ビット 明 確 にビット 数 は 定 められていない 割 り 当 てビット 数 の 大 小 関 係 は short <= int <=long 型 の 前 に signed を 付 けると 符 号 ありの 型 になる 通 常 signed は 省 略 する( 書 かない) 型 の 前 に unsigned を 付 けると 符 号 なしの 型 になる コンパイルする 環 境 により 使 える 値 の 最 大 値 最 小 値 が 異 なる!

教 科 書 pp.53-55., [1] pp.44-45. 58 整 数 のデータ 型 サイズ 符 号 あり 符 号 なし 備 考 1バイト signed char unsigned char 主 に 文 字 文 字 列 バイナリデータ 用 16bit 以 上 signed short unsigned short 16bit 以 上 signed int unsigned int 通 常 はこれを 使 う 32bit 以 上 signed long unsigned long

59 整 定 数 のリテラル 何 も 指 定 しないと int 型 末 尾 に 接 尾 子 (U, L)を 付 けると 型 指 定 される int i = 1234; // int 型 long l = 1234L; // long 型 unsigned int ui = 1234U; // unsigned int 型 unsigned long ul = 1234UL; // unsigned long 型

教 科 書 p.54. 60 C 言 語 のN 進 数 リテラル 0b~ 2 進 数 リテラル(C++14の 仕 様 *1) 0~ 0x~ 8 進 数 リテラル 16 進 数 リテラル *1 少 なくとも gcc4.3, Clang3.2 では 実 装 済 み 古 いコンパイラでは2 進 数 リテラルは 使 えない 例 えばBorland C++ で 0b~ は 使 えない 2015-04-25 追 加 int dec = 100; // 10 進 数 の100 int bin = 0b100; // 2 進 数 の100=10 進 数 の 4 int oct = 0100; // 8 進 数 の100=10 進 数 の 64 int hex = 0x100; // 16 進 数 の100=10 進 数 の256

61 演 習 値 を 表 示 してみよう(1/2) printf の1つ 目 の 引 数 に "%d n" を 与 え 2つ 目 の 引 数 に 前 のページの dec, bin, oct, hex を 与 えてみよう ファイルは dec, bin, oct, hex の4つ 作 る 1 2 3 4 5 6 7 printf_practice_hex.c #include <stdio.h> void main() { int hex = 0x100; printf("%d n", hex); } 5,6 行 目 を 書 き 変 えて 計 4つのファイルを 作 りましょう mintty + bash + gcc $ gcc printf_practice_hex.c &&./a 256 コマンドプロンプト + Borland C++ >bcc32 printf_practice_hex.c && printf_practice_hex Borland C++ 5.5.1 for Win32 Copyright (c) 1993,... printf_practive_11.c Turbo Incremental Link 5.00 Copyright (c) 1997,... 256

教 科 書 pp.55-56. 62 浮 動 小 数 点 数 のデータ 型 float double long double 単 精 度 浮 動 小 数 点 数 倍 精 度 浮 動 小 数 点 数 拡 張 精 度 の 浮 動 小 数 点 数

教 科 書 pp.55-56. 63 浮 動 小 数 点 数 とは IEEE754 http//ja.wikipedia.org/wiki/ieee_754 以 下 のようなに 表 現 する 方 法 ± 仮 数 部 2 指 数 部 ビット 数 符 号 指 数 部 仮 数 部 単 精 度 32bit 1bit 8bit 23bit 倍 精 度 64bit 1bit 11bit 53bit 四 倍 精 度 128bit 1bit 15bit 112bit 指 数 部 の 値 で 小 数 点 の 位 置 が 移 動 するので 浮 動 小 数 点 と 呼 ばれる

64 浮 動 小 数 点 数 定 数 のリテラル 何 も 指 定 しないと double 型 末 尾 に 接 尾 子 (F, L)を 付 けると 型 指 定 される 1.234E5 のような 書 き 方 も 出 来 る( 指 数 表 現 ) これは1.234 10 5 を 意 味 する float f = 1234F; // float 型 double d = 1234; // double 型 long double ld = 1234L; // long double 型 double e = 1.234E5; // double 型 の 123400

備 考 2015-04-25 追 加 65 固 定 小 数 点 数 10 進 数 8 桁 を4 桁 ずつに 分 けた 例 10 3 10 2 10 1 10 0. 10 1 10 2 10 3 10 4 の 桁 1 2 3 4. 5 6 7 8 0000.0000~9999.9999 まで 表 現 可 能 2 進 数 も8 桁 も 同 様 に4 桁 ずつに 分 けてみる 2 3 2 2 2 1 2 0. 2 1 2 2 2 3 2 4 の 桁 0 0 0 1. 1 0 1 1 0b0000.0000~0b1111.1111 まで 表 現 可 能

備 考 2015-04-25 追 加 指 数 表 示 ( 浮 動 小 数 点 数 ) 66 10 進 数 8 桁 を4 桁 ずつに 分 けた 例 10 3 10 2 10 1 10 0 10 3 10 2 10 1 10 0 の 桁 1 2 3 4 10^ 1 2 3 4 0000 10^0000~9999 10^9999 まで 表 現 可 能 2 進 数 も8 桁 も 同 様 に4 桁 ずつに 分 けてみる 2 3 2 2 2 1 2 0 2 3 2 2 2 1 2 0 の 桁 0 0 0 1 2^ 0 0 0 1 0b0000 2^0b0000~0b1111 2^0b1111 まで 表 現 可 能

教 科 書 p.51. 67 ASCII 文 字 コード 表 上 位 4 ビ ッ ト 下 位 4ビット 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI 1 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC 2 SP! " # $ % & ' ( ) * +, -. / 3 0 1 2 3 4 5 6 7 8 9 ; < = >? 4 @ A B C D E F G H I J K L M N O 5 P Q R S T U V W X Y Z [ ] ^ _ 6 ` a b c d e f g h i j k l m n o 7 p q r s t u v w x y z { } ~ DEL 8 9 A B C D E F http//ja.wikipedia.org/wiki/ascii 赤 字 は 制 御 コード

教 科 書 p.51. 制 御 コード 68 HEX Abbr ctrl eseq Name Hex Abbr ctrl eseq Name NUL ^@ 0 Null 0x10 DLE ^P Data Link Escape 0x01 SOH ^A Start of Heading 0x11 DC1 ^Q Device Control 1 0x02 STX ^B Start of Text 0x12 DC2 ^R Device Control 2 0x03 ETX ^C End of Text 0x13 DC3 ^S Device Control 3 0x04 EOT ^D End of Transmission 0x14 DC4 ^T Device Control 4 0x05 ENQ ^E Enquiry 0x15 NAK ^U Negative Acknowledgement 0x06 ACK ^F Acknowledgement 0x16 SYN ^V Synchronous idle 0x07 BEL ^G a Bell 0x17 ETB ^W End of Transmission Block 0x08 BS ^H b Back Space 0x18 CAN ^X Cancel 0x09 HT ^I t Horizontal Tab 0x19 EM ^Y End of Medium 0x0a LF ^J n Line Feed 0x1a SUB ^Z Substitute 0x0b VT ^K v Vertical Tab 0x1b ESC ^[ e Escape 0x0c FF ^L f Form Feed 0x1c FS ^ File Separator 0x0d CR ^M r Carriage Return 0x1d GS ^] Group Separator 0x0e SO ^N Shift Out 0x1e RS ^^ Record Separator 0x0f SI ^O Shift In 0x1f US ^_ Unit Separator 0x20 SP Space 0x7f DEL ^? Delete

教 科 書 p.56. 69 文 字 定 数 のリテラル 1 文 字 を 単 一 の 引 用 符 (')で 囲 む char 型 の 値 になる 単 一 の 引 用 符 (')は Shift + ' 7 char a = 'a'; // a の 文 字 コード0x61 char lf = ' 012'; // 改 行 の 文 字 コード0x0aを8 進 数 で char vt = ' x0b'; // 垂 直 タブの 文 字 コード0x0bを16 進 数 で char cr = ' r'; // 復 帰 の 文 字 コード0x0dを //エスケープシーケ1ンスで

2015-04-25 追 加 70 演 習 値 を 表 示 してみよう3(1/2) printf_practice_hex.c を 元 にして 以 下 の 点 を 変 更 して 動 作 を 確 認 せよ ファイル 名 をコピーして 以 下 の4ファイルを 通 る printf_practice_a.c printf_practice_lf.c printf_practice_vt.c printf_practice_cr.c

2015-04-25 追 加 71 演 習 値 を 表 示 してみよう3(2/2) 5 行 目 はファイル 名 と 対 応 させて2ページ 前 の a, lf, vt, cr の 宣 言 と 初 期 化 に 書 き 換 え 6 行 目 は %d を %x に 書 き 換 え hex は 対 応 する a, lf, vt, cr に 書 き 換 え 1 2 3 4 5 6 7 printf_practice_a.c #include <stdio.h> void main() { char a = 'a'; printf("%x n", a); } 5,6 行 目 の 赤 字 部 分 を 書 き 変 え 計 4つのファイルを 作 りましょう mintty + bash + gcc $ gcc printf_practice_a.c &&./a 61 コマンドプロンプト + Borland C++ >bcc32 printf_practice_a.c && printf_practice_a Borland C++ 5.5.1 for Win32 Copyright (c) 1993,... printf_practive_11.c Turbo Incremental Link 5.00 Copyright (c) 1997,... 61

教 科 書 p.56. 72 エスケープシーケンス a 警 告 (ベル) 文 字 b バックスペース f 改 頁 (フォームフィード) n 改 行 r 復 帰 t 水 平 タブ v 垂 直 タブ これらの 表 記 は 1 文 字 (=1バイト)の 値 を 表 す バックスラッシュ? 疑 問 符 ' 単 一 引 用 符 " 二 重 引 用 符 ooo 8 進 数 ooo (*1) xhh 16 進 数 hh (*2) (*1) ooo は1 桁 ないし 3 桁 の8 進 数 を 取 る (*2) hh は1 桁 あるいは 2 桁 の16 進 数 を 取 る

備 考 73 幅 広 文 字 定 数 のリテラル char 型 では 表 せない 拡 張 文 字 セット 用 文 字 定 数 の 前 に L を 付 ける wchar_t 型 の 値 になる wchar_t hira_a = L'あ'; // あ の 文 字 コードU+3043? Wikipedia / JIS_X_0213 非 漢 字 一 覧 #1 面 4 区 http//ja.wikipedia.org/wiki/jis_x_0213 非 漢 字 一 覧 #1.E9.9D.A24.E5.8C.BA

教 科 書 pp.44, 96-99. 74 文 字 列 定 数 のリテラル 0 個 以 上 の 文 字 を 二 重 引 用 符 (")で 囲 む char 型 の 配 列 になる( 後 述 ) 二 重 引 用 符 (")は Shift " + 2 char emp[] = ""; // 空 の 文 字 列 char str[] = "I am a string"; // 文 字 列 char cat[] = "hello, " "world"; // "hello, world" と 同 じ // 連 続 した 文 字 定 数 リテラルはコンパイル 時 に 連 結 される

75 宿 題 次 回 までに 以 下 の 事 をやっておくこと 教 科 書 の 第 2 章 の 終 わりまで 読 み 指 示 された 操 作 を 試 して 動 作 を 確 認 する 不 明 な 点 疑 問 点 についてメモし 次 回 の 授 業 に 持 参 する または 本 講 義 の Moodle コース 上 に ある 第 1 週 宿 題 用 フォーラムに 書 き 込 んでおく