C言語研修(基礎編)
〜イントロダクション〜

ソース入力上の注意点

・C言語は大文字と小文字区別する。
・C言語では全角文字を使わない
 (コメントや文字列を除く)
・C言語では半角カタカナを使わない
 (コメントや文字列を除く)

入力してみよう
・実行すると画面に文字列に文字列と計算結果を表示するプログラム
#include 

void main(void){
	printf("C Language\n");
	printf("10 + 20 + = %d\n");
}


ソースの保存方法
・間違いなく入力したら保存する
 -テキストディタの保存機能を利用する

・C言語のソースファイルのファイル名には拡張子として".c"をつける
 −今回は"cins0101.c"という名前にする

 −保存は適当にディレクトリ(フォルダ)を作ってそこに保存する(例 C:\work\C-Languege)

コンパイルの方法
・コンパイルはコマンドプロンプトで行う
 −コマンドプロンプトを起動する

・ソースファイルを保存したディレクトリに移動しコンパイルを実行する
     >cd ディレクトリ名
     >bcc32 cins0101.c
・エラーやワーニングが出たら・・・
 −コンパイラの設定に誤りがある
 −作成したソースに誤りがある
 
・コンパイルに成功すると以下の内容となる
 Borland C++ 5.5.1 for Win32 Copyright (c) 1997, 2000 Borland
 cins0101.c:
 Borland Incremetal Link 5.00 Copyright (c) 1997, 2000 Borland

エラーとワーニング
エラー コーディングに致命的なミスがあり実行モジュールを作れない
(Error)
ワーニング コーディングに問題はあるが実行モジュールは作れる
(Warnning)
エラーやワーニングを無視してはいけない

つくったプログラムの実行方法
・実行もコマンドプロンプトで行う
 −コマンドプロンプトは起動したまま
・実行モジュールができているか確認
 −実行モジュールは(基本的に)ソースファイルと同じディレクトリに作られる

作ったプログラムを実行する
 −実行モジュールの名前はソースファイル名の".c"を".exe"に変えたもの
 −実行には

 > cins0101

と書く

ソースの解説
・C言語のプログラムはmain関数から始まる
・関数は"{"で始まる"}"で終わる
・文の区切りは";"(セミコロン)をつける
#include 

void main(void){
	printf("C Language\n");
	printf("10 + 20 + = %d\n");
}

・意味を分離しない所なら改行できる
・意味を分裂しない限り空白も自由に入れられる。

#include 

void    main (   void   )    {     printf
	(
		"C Language\n"
	);
printf("10 + 20 = %d\n", 10       +   20);
}

標準関数 例 printf など

コメントとは
・処理の内容や作成者の情報をソースファイル中に記述するために使用する
・コンパイラはコメント部分を無視する
・コメントにはブロックコメントとラインコメントがある
−ラインコメントはUNIX上のコンパイラで使用できない場合がある

コメントの記述法
・ブロックコメント
−『/*』で始まり『*/』で終わる
−複数行にまらがったコメントが記述できる
・ラインコメント
−『//』ではじまり その行の終端で終わる
−1行で収まるコメントを記述する
−終わりの記号は特に必要がない
−使用できないコンパイラがある

コメントの記述法
・実行する画面に文字列と計算結果を表示するプログラム

/* 文字列と計算結果を表示するプログラム */
#include 		// ヘッダファイル

void main(void){
	printf("C Language\n");
	printf("10 + 20 = %d\n", 10 + 20);
}

C言語研修(基礎編)
〜画面とのやり取り〜
(入出力)

画面に文字を表示するプログラム
#include 

void main(void){
	putchar

・シングルクォーテーション(')で囲まれた1文字
  'A',  'b',  '3'
・特別な文字定数(エスケープ文字)
	'\n'・・・改行(複数改行)を表わす
	'\t'・・・タブ文字を表わす
(注意)文字定数は1文字しか書けない

エスケープ文字	機能
\n              改行(復帰改行)
\t              タブ文字
\a              警報音
\"              ダブルクォーテション(")
\'              シングルクォーテーション(')
\\       \文字

putchar()の使い方
機能     文字を標準出力に書き込む
ヘッダファイル stdio.h
プロトタイプ  int putchar(int c);
引数   c  |書き込む文字
戻り値   書き込んだ文字
      エラーが発生した場合はEOF

実際は文字コードを受け渡している。


キーボードから文字を入力するプログラム

	#include 
	
	void main(void){
		int iChar;
	
		iChar = getchar();
		putchar(iChar);
	}

変数
・値を格納しておく場所
・変数は宣言してから使用する
int iChar;
・代入は符号(=)を使用する
	iChar = 65;
	iChar = getchar();


getchar()の使い方
機能     標準入力から文字を読み込む
ヘッダファイル stdio.h
プロトタイプ  int getchar(void);
引数    なし
戻り値   読み込んだ文字
      ファイルの終端かエラーの場合はEOF

画面に文字列を表示するプログラム

#include 

void main(void){
	puts("Apple");
	puts("Banana");
	puts("Cherry");
}

文字列定数
・文字定数を連続して記述したもの
・ダブルクォーテーション(")で囲まれた文字の列
    "Apple", "b", "38",・・・
・特別な文字列
  ""・・・長さ0の文字列 null

ダブルクォーテーション(") 文字列
シングルクォーテーション(') 文字定数

put()の使い方
機能   標準出力に文字列を書き込む
ヘッダファイル stdio.h
プロトタイプ  int puts(const char *string);
引数   string |書き込む文字列
戻り値  成功すると負でない値
     失敗した場合はEOF


printf()

画面に文字列を表示するプログラム(その2)

#include 

void main(void){
	printf("Apple\n");
	printf("Banana\n");
	printf("Cherry\n");
}

関数によって微妙に振る舞いが違う
put("Apple");           printf("Apple\n");
put("Banana");          printf("Banana\n");
put("Cherry");          printf("Cherry\n");

自動的に改行する    明示的な改行指示が必要

#include 

void main(void){
	printf("%s\n", "Apple");
	printf("%s\n", "Banana");
	printf("%s\n", "Cherry");
}

printf()ってなにもの?
・万能画面表示関数
 −文字の表示
      printf("%c", 'A');
 −文字列の表示
   printf("Test string\n");
      printf("%s %s\n, "Tset", "string");
 −数値の表示
   printf("%d", 10 + 20);
      printf("%f", 10.0 / 3.0);

ptintf()の書式指定定数
書式指定子  機能
  %c    文字として表示(文字コードと判断)
  %s    文字列として表示
  %d    整数型の数値として表示
  %f    実数型の数値として表示
  %p    アドレス
  %%    %文字を表示

printf()の使い方
機能 標準出力にフォーマット付で書き込む
ヘッダファイル stdio.h
プロトタイプ int printf(const char *format[, argument]...);
引数   format フォーマット制御
	     argument 		オプションの引数
戻り値  書き込んだ文字列
     エラーが発生した場合は負の値

キーボードから文字列を入力するプログラム

#include 

	void main(void){
		char pszBuffer[256];
	
		gets(pszBuffer);
		puts(pszBuffer);
	}

・文字列格納用の変数も宣言してから使用する
	char pszBuffer[256];
・格納できる最大文字数を指定する
 この宣言では255文字まで格納できる
・詳しくは後の章で説明

gets()の使い方
機能   標準入力から行を読み込む
ヘッダファイル stdio.h
プロトタイプ char *gets(char *buffer)+
引数   buffer |入力文字列を格納する場所
        (char型の配列)へポインタ
戻り値   成功した場合は引数で与えたアドレス
     ファイルの終端かエラーの場合はNULL

画面に数値を表示するプログラム

#include 

void main(void){
	int iValue;

	iValue = 10 + 20;
	printf("Answer = %d\n", iValue);
}


画面に数値を表示するプログラム

#include 

void main(void){
	double fValue;

	FValue = 10.0 / 3.0;
	printf("Answer = %f\n", fValue);
}