C言語 Note


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

100629

C言語 

・プログラム コンピュータの動作内容を規定し記述したもの

・CPU ⇒ 電気のON・OFFで動作
      ━━━━━━
      0と1で対応させて命令
 例 2進 0011 1110 0000 1010
  16進 3  E  0  A ⇒ 機械語
  意味 Aレジスタに0Aという値をいれる

  少し人間にわかるように記述 ⇒ アセンブリ言語
  ↓ LD A、10
  機械語に変換する仕組みを作っておく

※[10]進数
  ・[0~9]までの[10]種類の数字を使ってあらわす。[9]より大きい量は桁を使って表す。
  ・ある桁は1つ右の桁の[10]倍の量

※[2]進数
  ・[0~1]までの[2]種類の数字を使ってあらわす。[1]より大きい量は桁を使って表す。
  ・ある桁は1つ右の桁の[2]倍の量

※[16]進数
  ・[0~F]までの[16]種類の数字・文字を使ってあらわす。[F]より大きい量は桁を使って表す。
  ・ある桁は1つ右の桁の[16]倍の量

 10進  2進 16進
  0      0  0 
  1      1  1 
  2     10  2 
  3     11  3 
  4    100  4 
  5    101  5 
  6    110  6 
  7    111  7 
  8   1000  8 
  9   1001  9 
 10   1010  A 
 11   1011  B 
 12   1100  C 
 13   1101  D 
 14   1110  E 
 15   1111  F 
 16 1 0000 10 
 17 1 0001 11 
 18 1 0010 12 

○プログラム言語
 ・機械語(1950年)
   ↓
 ・アセンブリ言語 → Cobol
    → Fortran
    → ALGON(1960) →C(1972)→C++(1982)→JAVA(1990) 

○構造化プログラミング
 ・手続きをいくつかの単位にわけメインとなる部分で大まかな処理を記述し細部をサブルーチンで記述する
  >プロシージャ・ルーチン・サブルーチン・メソッド・関数などの一連の働きを持ったものを任意の時点で呼び出せる
   タイプのプログラミング言語 ⇒ 手続き型言語

○構成要素
 ・順次・順接 : 上から順に一度ずつ実行する  ┓
 ・分岐  : 条件によって処理を分岐する      ┣ これらの組み合わせで解を得る
 ・反復  : 指定回数繰り返し             ┛ アルゴリズム


○コンパイラ
 freecommandlinetools2.exe コンパイラ
 setbcc15b.exe   コンパイラの環境設定

○C言語コンパイル
 コンパイラインストール
  borlandCコンパイラは、インストール先のbin\bcc32.exeでコンパイル
  コマンドプロンプト上で実行するには、パスの設定が必要
  コマンドをどこのフォルダから探してくるのかを設定
  パスの設定 環境変数PATH


プログラムを書く
↓ c:\c\rei1-1.cで保存

機械語に変換したファイルを作る
↓ コマンドプロンプトで bcc32 rei1-1.c

.exe .obj .tdsのファイルが作成される

ソースファイル  : そのファイル
コーディング  : ソースコードの記述
バグ   : プログラマが意図しない動作
デバッグ  : バグの修正

 

○rei1-1.c

#include <stdio.h>
 ヘッダーファイル
int        main                (void)
関数の型(整数)   関数名(最初に実行される関数)  (関数を実行するために必要な情報:引数)VOID=なし

{
 printf  ("Hello World!");   ┓
 関数名  引数                 ┃関数の処理内容
 return 0;                         ┛
}
Printf関数 : 引数を画面に出力する関数
ライブラリ関数 : あらかじめ用意されている関数
ヘッダーファイル : ライブラリ関数についての情報が書かれてるファイル(これがないとライブラリ関数が使えない)

rei1-1.c
コマンドプロンプト  bcc32 rei1-1.c
 ↓
ヘッダーファイルの展開
 ↓
STDUO.Hの内容
 ↓
rei1-1.obj 機械語に変換されたファイル ライブラリ(ライブラリ関数の機械語形式のファイル)
 ↓
rei1-1.exeライブラリ関数も含めた機械語のファイル

○コメント
 ・コンパイルの対象にならない文字列
 /* コメント */ 
 // コメント ←1行

 ・ソースコード内で、改行・空白文字・タブは挿入可
 ・全角の空白文字は記述しない


○printf関数はプログラム内の情報も出力できる
 >rei1-6.c
  printf("10と5の和は%dです。",10+5);
                             ━
       %フォーマット指定子 d整数


 printf(引数1,引数2);
  引数1の%dというところに表示される値を、引数2から取り出す


○printfのフォーマット指定子
 ・%d 整数
 ・%f 実数(浮遊小数点)
 ・%lf 〃
 ・%c 1文字⇒文字データは' 'で囲む
 ・%s 文字列⇒文字列は" "で囲む
 ・%X 16進数

○エスケープシーケンス

 記号 意味 
 \a ベル文字(アラート) 
 \b 1文字分戻る 
 \f ページ送り(クリア) 
 \n 改行、復帰 
 \r 同じ行の先頭に戻る 
 \t 水平タブ 
 \v 垂直タブ 
 \\ \を表示 
 \? ?を表示 
 \' シングルクォーテーション(')を表示 
 \" ダブルクォーテーション(")を表示 
 \0 ヌル 
 \N 8進定数(Nは8進数の定数) 
 \xN 16進定数(Nは16進数の定数) 

○変数
 ・データを一時的に格納する器
 ・変数の作り方
  >宣言
  例 int   x;
    ━   ━
    型   変数名


 ・int  整数
 ・char  文字データ
 ・float  浮遊小数点数
 ・double 倍精度浮動小数点数
 ・void  値なし