2020年度都市環境学科 プログラミング言語 -...

44
2020年度都市環境学科プログラミング言語 2020年度都市環境学科 プログラミング言語 担当教員: 姫野賢治 スタッ: 岡本大史・干場希乃・八木笙太 1 けじ e-mail: [email protected] 研室: 2416/ 内線: 1796

Transcript of 2020年度都市環境学科 プログラミング言語 -...

Page 1: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

2020年度都市環境学科プログラミング言語

担当教員: 姫野賢治

スタッフ: 岡本大史・干場希乃・八木笙太

1

ひめの けんじ

e-mail: [email protected]研究室: 2416室 / 内線: 1796

Page 2: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

• 目標はプログラミング言語C#でプログラムが組めるようになること(一部Fortran90も紹介予定).

• 講義はパワーポイントを用い,pdfを配布.

• 講義で用いたスライドは今回や前回の演習課題(manabaではレポートと呼ぶ)の解答などとともに速やかにmanabaとwebに掲載の予定.

• 講義時間の一部を実際のプログラミングの作成等にも充て,演習課題と一体化した形式とする.

• 評価は中間・到達度確認試験,出席点,講義中の小テストおよび演習課題レポートの総合評価.

• 他人のプログラムの丸写し(コピペ)は減点の対象.

2

講義の進め方(1)

Page 3: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

• 毎回座席を変更する.←ITセンター入口に掲示

• 出席は毎回の着席位置で確認する.

• 講義時間の終了間際に比較的基礎的な小テストの他,やや高度な演習課題(宿題)を付与する.

• 小テストは,その日のうちにmanabaから提出する.

• 演習課題は,次回の講義の開始時(10:50) までに,manabaから提出する.

• 自習中はC#の学習に無関係なことをしないで集中すること.←無意味なNetサーフィングなどはしない.

3

講義の進め方(2)

http://chuoprogram.web.fc2.com/

Page 4: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

加工データ(出力データ)

生データ(入力データ)

プログラム

市販アプリ: Word, Excelなど

自作コンソールアプリ: C,C#言語など自作Windowsアプリ: Visual C#など

プログラムを用いて情報(生データ)を加工して,別の形のデータ(加工データ)に形を変えること

4

情報(データ)処理とは

Page 5: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

• コンピュータにおけるプログラムとは,コンピュータにさせる仕事の手順書のこと

• プログラミングとは,コンピュータに実行させる処理(プログラム)を記述すること.

5

プログラミング言語とは

• そこでプログラミング言語を使用する

コンピュータは人間の言葉をそのままでは理解できない.

Page 6: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

• 低水準言語 機械語

• 高水準言語

– 事務処理用言語 COBOL

– 技術計算用言語 Fortran90

– 汎用言語 BASIC,Pascal,C,C++,Java,C#

– Python(AI開発用によく利用される)

– 人工知能開発用言語 LISP,PROLOG

– 教育用言語 LOGO

– Web用言語 PHP,JavaScript

• Windowsアプリ用言語

Visual BASIC, Visual C#

6

プログラミング言語の種類

主にこれを学習する

一部これも学習する

一部これにも紹介する

Page 7: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語 7

プログラミング言語の歴史

手続き型言語

オブジェクト指向型言語(クラスを持つ)

Visual C++

Delphi

Visual C#年

1957

195858

19601960

1964

1970 1972

1972

1977

1983

19801991

1995

2002

19951995

2002

1987

1967

2001

Page 8: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

• C#言語の優れている点

– 処理系が無料で提供される

– C++言語の特長を受け継いでいる

– Java言語の特長をほぼそのまま受け継いでいる

– 文法が厳密で実行時のエラーが起きにくい

– オブジェクト指向でWindows用ソフト開発可能

– 豊富なクラスライブラリ

– ガーベジコレクションによる記憶管理

– 例外処理

8

なぜC#言語を取りあげるか

実社会で広く支持されていることが主因

C++ → C++++

→ C#

Page 9: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

・.NET Framework付属のコンパイラ

・CPad for C# .NET

ITセンターの各PCに導入済み.個人用PCにも導入可能.

9

練習問題・演習課題で使用する処理系

プログラムのソースコードを記述

処理系からのメッセージ

Page 10: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

• .NET Framework付属のコンパイラ

10

C#の処理系の入手方法(無償)

C:¥Windows¥Microsoft.NET¥Framework64¥v4.0.30319¥csc.exe

• CPad for C# .NET

http://cpad.michikusa.jp/

http://chuoprogram.web.fc2.com/

にもURLと説明を示してある.自宅のPCにも容易にインストールが可能であるので,推奨.

数値は,バージョンにより異なる

Page 11: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

• デスクトップ

– PC(コンピュータ)

– ローカルディスク(U:)

– MyDocuments

11

CPadの起動の前に

[ファイル]→[新規作成]→[フォルダ]で「CSharp」

という名称の新規フォルダを作成する.

※自宅等でも作業できるようにUSBメモリなどを利用すると良い.⇒この場合,F:¥CSharpなどのフォルダを作成する.

Page 12: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語 12

推奨するディレクトリ構成

MyDocuments

pl28Apr20

pl05May20

Hello.cs

HowAreYou.cs

pl12May20

HomeWorkA.cs

HomeWorkD.cs

4月28日講義分

CSharp 2020年の意味

・復習問題・演習課題などのサブフォルダを作るのも可

Page 13: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語 13

ITセンターでのCPadの起動

すべてのプログラム

09_開発

cpad for C#.NET

個人用のPCにcpadを導入した場合などは,デスクトップに,cscpad.exeという実行ファイルのショートカットを作成すると良い.

Page 14: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

[実行]→[設定]から[基本設定]タブを選び図のように設定

14

CPadの設定のtips(1)

¥pl28Apr20

毎回

のようにこの下に新しいサブフォルダを作成する

USBメモリの場合,F:¥CSharp¥pl28Apr20

Page 15: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

[実行]→[設定]から[フォント]タブを選び図のように設定

15

CPadの設定のtips(2)

Page 16: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

[実行]→[設定]から[表示]タブを選び図のように設定

16

CPadの設定のtips(3)

Page 17: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語 17

CPadの設定のtips(4)

前ページの設定で改行コード,全角の空白,タブ,[EOF]がすべて見えるようになる.

: 改行コード, : 全角の空白: タブ, : [EOF](ファイルの終端記号)

Page 18: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

• プログラムは,内部にメソッドをいくつか含むクラスで構成される.

• すべて半角英数字で書き,文の終わりはセミコロン.• [Tab],半角空白は使用可.全角文字は使用不可.• 大文字と小文字は厳密に区別される.• Console.WriteLine()メソッドで画面に表示.• 上記プログラムで表示されるのは" "ではさまれた文字列.• //以降はコメントで,プログラムの動作には影響しない.

18

文字列を1行出力するプログラム

usingディレクティブ

クラス

メソッド

Page 19: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語 19

CPadの操作画面

エディタ: ここにプログラムを記述

コンパイルの結果(エラーメッセージなど)

はここに表示される

コンパイルおよび実行のためのボタン

ファイル名の入力:Display.cs

Page 20: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

• ソースプログラムの実体は,ハードディスクドライブなどにテキストファイルとして記録される.ファイル名は自由につけられるが,クラス名と同じにするとよい.ファイル名の拡張子は必ず".cs"とする.

using System;

class Display {public static void Main(string[] args) {

// Hello, C#と出力する.Console.WriteLine("Hello, C#");

}

}

ファイル名="Display.cs"

20

プログラミング言語C#のファイル名

クラス名

Page 21: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

• クラス名は,クラスの名前を簡潔に表す英語の名詞とし,単語の先頭文字のみを大文字とする.

• ファイル名には半角英数字と下線(頻度低)のみ使用可

• ファイル名(クラス名)はPascal形式※で記述する.– ◎: Sample.cs, HomeWork2.cs

– △: sample.cs, homework2.cs

– ×: 例題01.cs, It's a pen.cs

• プログラムおよびデータファイルの格納場所は,たとえば,講義の日が2020年4月28日であればフォルダ:

"U:¥MyDocuments¥CSharp¥pl28Apr20"などとすると良い.

21

ファイル名についての注意事項

Pascal形式※: 識別子の最初の文字と,後に続く各単語の最初の文字を大文字にして連結する形式.

Page 22: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

出力結果として,コマンドプロンプトには,この赤枠内の1行が出力されている(その前の行は,ファイルDisplay.exe

を実行するためのコマンドの実行結果).

22

実行結果

この背景が黒く,文字が白く表示される画面を,コマンドプロンプト,DOS窓などと呼ばれる.今後,本講義では,コンソール画面と称する.

Page 23: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

• エディタでソースプログラムを編集

• コンパイル(CPadの ボタンを押すとcsc.exeが起動され,

ソースプログラム(.cs)→マシン語(機械語)コード(.exe)になる)

• コンパイルエラーが発生したらやり直し

• マシン語コードをそのまま実行する

• 実行エラーが発生したらやり直し

• 完成

23

C#でのプログラム作成手順

CPadで処理をしている部分

Page 24: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語 24

プログラミング言語C#の構造

実行は,必ずMain()メソッドから始まる.

実行されるのはこの部分.

クラスHelloの宣言 Main()メソッドの宣言

Page 25: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語 25

usingディレクティブ

名前空間 クラス名 メソッド名

usingディレクティブを用いると名前空間を省略できる

完全修飾名

Page 26: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

• 名前空間とは,ファイルをフォルダ単位で管理するように,クラスを名前で分類/管理するしくみ.ただし,フォルダのように物理的な入れものがある訳ではなく,論理的な概念.階層的に用いる場合も多い.

• 本講義では,基本的に名前空間は用いない.Visual C#を用いてコンソールアプリを作成すると,プロジェクト名が名前空間名になる.

26

名前空間(namespace)

Page 27: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

• 文の終わりはセミコロン(;)

• プログラミング言語C#には,コメント行を除いて行の概念がない

using System;

class Dispaly {public static void Main(string[] args) {// Hello, C#と出力する.Console.WriteLine("Hello, C#!");

}}

a = 10;b = 20;

a = 10; b = 20;同じ

27

文の区切り

文1文2

文1 文2

Page 28: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語 28

パンチカードと紙テープ

FORTRAN77用パンチカード(1枚のカードに1

つの文を記述)

Algol系言語用の

紙テープと読み取り装置(1巻の紙

テープに複数の文を連続して記述)

Page 29: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

• キーボードからデータを入力し,ディスプレイ(コンソール画面)のコマンドプロンプト(DOS窓,MS-DOSプロンプト)に出力することを基本とするプログラム

29

コンソールアプリケーション

入力 出力

Windowsアプリケーション

Windows画面

コンソール画面キーボード

Page 30: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

• C#言語で記述したプログラムの起動時には,System名前空間のConsoleクラスに,– 標準入力=キーボード

– 標準出力=コンソール画面

というストリームが自動的に割り当てられている.

• これ以外の記憶装置への入出力では明示的にプログラムでファイルをオープンしなければならない

プログラム

コンソール画面

ディスク(記憶装置)

プリンタ

キーボード

ディスク(記憶装置)

30

標準入力と標準出力

標準入力 標準出力

計測装置

Page 31: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語 31

コンソール画面への出力

外部への出力はストリーム(文字の流れる川)を通じて行う.

System.Console:標準出力ストリーム

Syetem.Console.WriteLine("ABC");

Page 32: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語 32

標準出力ストリームのメソッド

System.Console.Write():

()内の文字列を改行せずに出力System.Console.WriteLine():

()内の文字列を出力して改行

Page 33: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語 33

改行文字

文字列リテラルに改行文字「¥n」を埋め込むことができる

改行文字「¥n」は,エスケープシーケンス(Escape Sequence)

と呼ばれる通常の文字では表示できない特殊文字の1つ

改行コード

Page 34: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

----+----1----+----2----+-

1: Hello C#!

----+----1----+----2----+-

Console.WriteLine("Hello C#!");

Console.Write("Hello C#!¥n");

Console.Write("Hello C#!"+"¥n");

Console.Write("Hello C#!");

Console.WriteLine();

改行コードの記述方法

34

改行をさせる方法

改行コード

これらはみな同

の結果を示す

Page 35: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

using System;

class CarrageReturn {public static void Main(string[] args) {

Console.Write("abc"); // ¥nがないConsole.Write("def¥n"); // ¥nがあるConsole.Write("123¥n456¥n¥n789¥n");

// ¥nがいくつもあるConsole.WriteLine();

// WriteLine()がある}

}

35

複数行の文字列の出力

• WriteLine()または"¥n"によって出力が改行される.

Page 36: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

----+----1----+----2----+

1: abcdef

2: 123

3: 456

4:

5: 789

6:

----+----1----+----2----+

改行は,Write()メソッドの個数とは無関係.WriteLine()メソッドおよび"¥n"の個数で決まる.

36

その実行結果

Page 37: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

• 改行記号と空白とタブ[Tab]はプログラムの実行文中では区別されない.

37

自由記述形式

using System;

class Display {public static void Main(string[] args) {

// Hello, C#!と出力する. ⇚この行のみ例外Console.WriteLine("Hello, C#!");

}}

using System;

class Display { public static voidMain(string[]args) {

// Hello, C#!と出力する. ⇚この行のみ例外Console.WriteLine("Hello, C#!");}}

どちらも正しい

Page 38: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

• コメント=プログラマのメモ書

/*

文字列を出力するプログラム

2020年4月28日作成

*/

using System;

class Display {

public static void Main(string[] args) {

// Hello, C#!と出力する.Console.WriteLine("Hello, C#!");

}

}//以降もコンパイル時に無視される(行単位).

/*と*/にはさまれた部分は注釈としてコ

ンパイル時に無視される.漢字も書ける.

38

コメント(注釈)

Page 39: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

using System;

class Calculation {public static void Main(string[] args) {

// 演算結果の出力Console.Write(3 + 12);Console.Write(13 - 24);Console.Write(3 * 4);Console.Write(12 / 4) ;Console.Write(12 % 9);

}}

39

演算結果の出力

• " - "は引き算の記号," * "は掛け算の記号• " / "はわり算の記号," % "は剰余算の記号

定数の出力

演算結果の数値が文字列に変換されて出力される

足し算

Page 40: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

----+----1----+----2----+

1: 15-111233

----+----1----+----2----+

Write()メソッドを用いると,余計な0や空白を出力せず,1

行に横並びに詰めて隙間なく出力される.

• 出力に空白やタブを出力させてすき間を作ったり改行させたりするのはプログラマが行う.

• 指示しなければ隙間なく出力され,改行もされない.

• さらにWrite()メソッドで出力を続けると,改行されず,この行の末尾に続けて出力される.

40

その実行結果

Page 41: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

• " "は,空白1文字を内容とする文字列をあらわす.

41

空白の文字列を挿入した改良版

using System;

class Calculation {public static void Main(string[] args) {

// 演算結果の出力Console.Write(3 + 12 + " ");Console.Write(13 - 24 + " ");Console.Write(3 * 4 + " ");Console.Write(12 / 4 + " ");Console.WriteLine(12 % 9);

}} 「+」の前が数値,後が文字列の場合

Page 42: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語

• 隙間で区切られて出力され,行末に改行コードが出力される(空白は˽,改行コードは で表記).

• この場合,さらに出力を続けると,次の行から出力される.

42

その実行結果

----+----1----+----2----+

1: 15˽-11˽12˽3˽3

----+----1----+----2----+

Write()メソッドを用いて,末尾に空白文字を出力する

と,その空白により隙間を空けて横並びに出力される.

Page 43: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語 43

文字列の連結

複数の文字列リテラルを「+」で結ぶと連結される

「+」の前後が文字列の場合

「+」の前が文字列,後が数値の場合

こんにちは!23

こんにちは!5

+

++

実行結果

こんにちは!元気ですか?実行結果

+

Page 44: 2020年度都市環境学科 プログラミング言語 - FC2chuoprogram.web.fc2.com/pdf/n01_pl2020.pdf2020年度都市環境学科プログラミング言語 • 目標はフルギョポヱギ言語C#

2020年度都市環境学科プログラミング言語 44

演算結果の出力

Console.WriteLine("57 + 32 =" + (57 + 32));

Console.WriteLine("57 + 32 =" + 89 );

Console.WriteLine("57 + 32 =" + "89" );

Console.WriteLine( "57 + 32 = 89" );

整 数

文字列

整数の加算文字列の連結

1

2

3

まず,( )で囲まれた57 + 32の演算が行われる.

数値89が文字列"89"に変換される.

文字列"57 + 32 = "と"89"が連結されて,"57 + 32 = 89"

となる.

1

2

3