3 コンパイルの練習

3.1 最小のプログラム (nothing.c)

何も、実行しないプログラムである。
         
	main(){
	}

mainは関数名。Cのプログラムの中に、必ず、1つ必要。関数名のあとの( )の中に、引数 を書く。引数とは、その関数の変数みたいなのもの。これについては、後の授業で説明す る。

コンパイル gcc -o nothing nothing.c あるいは、 gcc nothing.c
実行 ./nothing あるいは、 ./a.out
結果 なんにも、起こらない。

3.2 1行出力 (hello_world.c)

画面に、1行出力させる。この、Hello Worldのプログラムは世界で、一番、書かれている プログラムである。
	#include <stdio.h>
	
	int main(){

	  printf("Hello World !!");

	  return 0;
	}

#include $ <$stdio.h$ >$ これは、ヘッダーファイルと呼ばれるもので、関数のプ ロトタイプがかかれている。プロトタイプとは、関数の引数の数と型をチェックするもの である。ここでは、printf関数を使うため、これが必要である。とりあえず、おまじな いと思って、常に先頭に書く習慣をつける。

printf()は、名前のとおり、標準出力に出力する関数である。標準出力とは、通常、 ディスプレイが割り当てられている。

コンパイル gcc -o world hello_world.c あるは、 gcc hello_world
実行 ./world あるいは、 ./a.out
結果 Hello World !!

3.3 2行出力 (hello_akita.c)

画面に、2行出力させる。1, 2行目に改行マークがある。
	#include <stdio.h>

	int main(){
	
	  printf("Hello World !!\n");
	  printf("from Akita National College of Technology !!\n");
	  
	  return 0;
         }

printfの中の $ \backslash$nエスケープシーケンスと言われ改行を示す。重要 な拡張表記については、教科書のp.28に示されているので、見るのがよいだろう。通常、 よく使用されるのは、 $ \backslash$n$ \backslash$tである。

3.4 足し算 (add.c)

$ \pi$+$ e$の計算を行い、その結果を示す。
	#include <stdio.h>

	int main(){
	  double a, b, c;

	  a = 3.1415927;
	  b = 2.7182818;
	  c = a+b;

	  printf("pi = %10.7f\n",a);
	  printf("e = %13.9f\n",b);
	  printf("pi+e = %20.12f\n",c);

	  return 0;
	}

doubleによって、変数の型を指定している。doubleは、倍精度実数型である。 それ以外のデータの型については、教科書のP.34に示されているので確認すること。

%10.7fは、書式つき出力を示している。printf("pi = %10.7f $ \backslash$n",a)は、a10.7f書式で出力する命令。fは浮動 小数点のこと。10.710はフィールド幅を示し、7は小数点以下の桁数を 示している。フォートランと同じ。

3.5 ファイルへの書き込み(outf.c)

sample.txtというファイルを作り、その中に、Hello Worldと書く。
	#include <stdio.h>
	
	int main(){
	  FILE *out_file;

	  out_file = fopen("sample.txt", "w");
	  fprintf(out_file, "Hello World");
	  fclose(out_file);

	  return 0;
	}

FILEは、変数の型指定みたいなも。out_fileの型がファイルを示す。 out_fileの前についている*は、ポインターをしめす。これについては、 おまじないと思って、ファイルを使う場合は、FILE *filename;と記述すればよい。

fopenは、ファイルを開く関数です。引数は、ファイル名とオープンモードである。オー プンモードについては、教科書のp.382に書かれている。

fprintf()は、printf()とほとんど同じ。第一引数に、出力先を指定する。も し、stdoutと指定すると、標準出力(通常ディスプレイ)に出力される。

fcloseは、ファイルを閉じる関数である。

プログラムをコンパイル・実行の後、作成されたファイルを調べよ。

3.6 ファイルからの読み込み(inf.c)

sample.txtというファイルを読み込み、その内容を出力する。
	#include <stdio.h>

	int main(){
	  FILE *in_file;
	  char ss[256];

	  in_file = fopen("sample.txt", "r");

	  fgets(ss, 256, in_file);
	  printf("%s",ss);

	  fclose(in_file);

	  return 0;
	}

char ss[256]は、文字型変数、256バイトのメモリー領域を確保しろという命令であ る。

fgets関数で、ファイルの中身を読み込みむ。最初の引数は読み込んだ文字の格納 領域、次は最大読み込む文字数、最後は読込先のファイルポインターである。


ホームページ: Yamamoto's laboratory
著者: 山本昌志
yamamoto masashi
平成17年5月14日


no counter