• 検索結果がありません。

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

N/A
N/A
Protected

Academic year: 2021

シェア "書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf"

Copied!
7
0
0

読み込み中.... (全文を見る)

全文

(1)

情報処理基礎 C 言語について プログラミング言語は1950 年以前の機械語、アセンブリ言語(アセンブラ)の開発を始めとして、現在 までに非常に多くの言語が開発・発表された。情報処理基礎で習う C 言語は、1972 年にアメリカの AT&T ベル研究所でオペレーションシステムである UNIX を作成するために開発された。C 言語は現在使われてい る多数のプログラミング言語に大きな影響を与えている。通常の PC で動作するソフトウェアやマイコン上 で動作するプログラムを作成することができる。実用性・普及度・企業での利用度が高い言語である。 簡単な C 言語プログラム C 言語のプログラムは図1に示すような書式でソースファイルを記述する。角が丸い長方形で囲んだ部分 は今の段階ではおまじないと思っておけば良い。実際に動作させたい処理は囲んだ部分の間に文を順番に書 いていくことで行う。この例では printf 文というものを使っており、ダブルクォーテーション(")で囲ん だ部分の文字列を表示する。表示したいメッセージの後に付いている「\n」についてはもう少し後で述べるの で、とりあえずメッセージの終わりに付けるものだと思っておけば良い。ソースファイルをコンパイルし、 プログラムを実行すると端末に「Hello World!」と表示される。

#include <stdio.h>

int main(void)

{

printf( "Hello World!\n" );

return 0;

}

この部分はおまじない インデント(字下げ)を行う ファイル名の拡張子は.c 図1 簡単な C 言語プログラム 標準入出力 コンピュータには通常、入出力装置が用意され、記憶装置との間でプログラムやデータのやり取りを行う。 入出力装置の例には以下がある。 入力装置:キーボード、マウス、スキャナ、タッチパネル 出力装置:ディスプレイ、プリンタ C 言語では標準入力装置として、キーボードが割り当てられ、標準出力装置としてディスプレイが割り当 てられており、プログラムを通して、キーボードから値を入力(標準入力)したり、ディスプレイに文字列 を表示(標準出力)したりすることができる。今回は標準出力について学習していく。 文字列の表示 文字列の表示には「簡単な C 言語プログラム」で紹介したように、printf 文を利用する。 書式 printf("表示したい文字列");

(2)

書式に示すように表示したい文字列をダブルクォーテーション(")の間に書けば良い。ダブルクォーテー ションで囲まれた文字列は「文字列リテラル」と呼ばれる。プログラム中では以下のように用いる。 プログラム例1 #include <stdio.h> int main(void) { printf("情報処理基礎 "); printf("C言語の練習 "); printf("文字列を表示する"); return 0; } 出力結果 情報処理基礎 C 言語の練習 文字列を表示する 複数行にわたって printf 文を書いたが、出力結果を見てわかるように、表示は 1 行に連続して表示される。 改行するには、以下のプログラム例のように、改行したい部分に「\n」をつければ良い。 プログラム例2 #include <stdio.h> int main(void) { printf("情報処理基礎\n"); printf("C言語の練習\n\n"); printf("文字列を表示する\n"); return 0; } 出力結果 情報処理基礎 C 言語の練習 文字列を表示する 注:日本語は 2 文字分の幅で表示される。 プログラム例2の出力結果にしたい場合、以下のような書き方も可能である。 printf("情報処理基礎\nC言語の練習\n\n文字列を表示する\n"); 状況に応じて使い分ければよいが、基本的にはプログラムが見やすくなるよう心がける必要がある。 拡張表記(エスケープシーケンス) 改行のような特殊な表示には「\n」を用いることを説明した。これは 2 文字で 1 セットになっている。こ のような特殊な表示に用いる 1 セットの文字を拡張表記と呼ぶ。改行の他に良く使う者としてタブ(字下げ) があるが、これは「¥ t」と書いて利用する。拡張表記はこの他にもいろいろあるが、今のところはこの 2 つ

(3)

を使いこなせるようになること。 コメントアウト 処理の説明の記述や開発段階での試しプログラムなど、最終的に実行される内容とは直接関係のない文を コンパイルの段階で無視する方法がある。それをコメントアウトといい、以下のように行う。 「/*」と「*/」で無視したい文を囲む 「//」で記述した以降の行の文を無視する 「/*」と「*/」は複数行にわたってコメントアウトすることが可能である。以下のプログラム例では出力部 分を全てコメントアウトしたので実行結果には何も表示されない。 プログラム例3 /* コメントアウトの例 */ #include <stdio.h> int main(void) { // printf("情報処理基礎\n"); /* printf("C言語の練習\n\n"); printf("文字列を表示する\n"); */ return 0; } 出力例 [出力無し] 変数 プログラムでデータを取り扱う場合には対象となるデータを保存する必要がでてくる。このデータを保存 する場所のことを「変数」と呼び、変数を説明する上ではよく「データを入れておく箱」として例えられ、 必要に応じて中身(データ)は後から自由に変更することが可能である。詳細については改めて解説するが、 今回は標準出力と絡めて、多少説明を行っていく。 num 6 87 図1 変数 変数は以下のように宣言を行うことで利用する。 書式 データ型 変数名;

(4)

データ型にはいくつかあるが今回は以下の1つだけ紹介する。 int 整数用のデータ型 変数名は各自で設定できる。設定する際にいくつかのルールがあるが、後で詳しく説明するので、今回は アルファベットの並び(a、num など)に限って利用していく。変数は以下のようにして、データを保存す ることで利用する。この変数にデータ(値)を保存する処理のことを「変数に値を代入する」という。 書式 変数名 = 値; たとえば、num という変数名の int 型の変数に「100」を代入するには、以下の使用例のように行う。 使用例 int num; num = 100; また、変数の宣言と値の代入は以下のように同時に行うことができる。 使用例 int num = 100; 「変数の宣言と同時に値の代入を行う」場合を特に「初期化」と言い、その時の値を「初期値」という。た だし、より一般的には初めて変数に値を代入する場合も含めて「初期化」と言っているので注意が必要であ る。 変数に代入した値の表示 以下はint 型の整数の変数 a、b、c を宣言して値を代入した後にその値を表示するプログラムである。 プログラム例4 #include <stdio.h> int main(void) { // 変数の宣言 int a; int b = 100; // 初期化 int c; // 代入 a = 10; c = b; // 変数を利用して値を代入することもできる

(5)

// 変数の表示 printf("%d\n", a); printf("%d %d\n", b, c); return 0; } 出力例 10 100 100 図2に示すように、文字列リテラルの部分に「%d」と書くことで、変数の値を表示することができる。「%d」 は変換仕様と呼ばれ、出力される値の種類を指定することができる。これも詳細については後で述べる。

printf("%d\n", a);

printf("%d %d\n", b, c);

aの値が%dの部分に表示される b、cの値が%dの部分に表示される 図2 変数の表示 式の計算結果を表示 また、printf で%d を利用する場合、変数を書いた部分に式を書き、計算した結果を表示することもできる。 プログラム例5 #include <stdio.h> int main(void) { // 計算の表示 printf("5 + 2 = %d\n", 5 + 2); printf("5 - 2 = %d\n", 5 - 2); printf("5 * 2 = %d\n", 5 * 2); printf("5 / 2 = %d\n", 5 / 2); printf("5 %% 2 = %d\n", 5 % 2); return 0; } 出力例 5 + 2 = 7

(6)

5 - 2 = 3 5 * 2 = 10 5 / 2 = 2 5 % 2 = 1 C 言語に限らず、一般的なプログラムでは四則演算と剰余を求めることができる。記号「+」、「-」、「*」、「/」、 「%」はそれぞれ「和」、「差」、「積」、「商」、「剰余」に対応する。「剰余」は割り算を行った際の余りを求め ている。整数を用いた四則演算の注意点は「商」の結果である。計算結果も整数となるため、小数点以下の 値は切り捨て(四捨五入ではない)となる。 プログラム中の printf で「%%」と書いている部分がある。printf 中の「%」は特殊な記号で「%d」のよう に、組み合わせて利用する。そのため、「%」を表示したい場合には「%%」と%を重ねて書く。 変数と式を用いたプログラム 変数を利用してプログラム例を書き換えたものを以下に示す。 プログラム例6 #include <stdio.h> int main(void) { int a = 5, b = 2, c; // 計算の表示 c = a + b; printf("5 + 2 = %d\n", c); c = a - b; printf("5 - 2 = %d\n", c); c = a * b; printf("5 * 2 = %d\n", c); c = a / b; printf("5 / 2 = %d\n", c); c = a % b; printf("5 %% 2 = %d\n", c); return 0; } 出力例 5 + 2 = 7 5 - 2 = 3 5 * 2 = 10 5 / 2 = 2 5 % 2 = 1

(7)

演習 ・テキストで示したプログラム例1~6を作成すること。 ・値を適宜変更するなど、いろいろ試すこと。 ・下図のような実行結果を表示させるプログラムを作成しなさい。 (注意)計算結果を出力させる部分については変数を用いて計算し、出力させること。 □部分はスペースである。 C 言 語 □ 練 習 3 + 2 = 5 9 - 7 = 2

参照

関連したドキュメント

うのも、それは現物を直接に示すことによってしか説明できないタイプの概念である上に、その現物というのが、

 その後、徐々に「均等範囲 (range of equivalents) 」という表現をクレーム解釈の 基準として使用する判例が現れるようになり

の知的財産権について、本書により、明示、黙示、禁反言、またはその他によるかを問わず、いかな るライセンスも付与されないものとします。Samsung は、当該製品に関する

ヒュームがこのような表現をとるのは当然の ことながら、「人間は理性によって感情を支配

このような情念の側面を取り扱わないことには それなりの理由がある。しかし、リードもまた

“〇~□までの数字を表示する”というプログラムを組み、micro:bit

と判示している︒更に︑最後に︑﹁本件が同法の範囲内にないとすれば︑

ぎり︑第三文の効力について疑問を唱えるものは見当たらないのは︑実質的には右のような理由によるものと思われ