トップ->C言語入門

あなたは

人目のC(C++)言語入門受講生です。

C言語入門内検索

目次
C言語入門〜トップ
C++言語入門〜トップ
0. はじめに

1. 基本的な決まり
   1. 書式
   2. 予約語
   3. 構成
   4. データの形と宣言
   5. 定数と変数
   6. 簡単な演算

2. 入出力
   1. printf
   2. scanf
   3. 練習問題1
   4. 1文字入出力
   5. エスケープシーケンス

3. 制御文
   1. 順次構造
   2. 単一分岐
   3. 多重分岐
   4. ケース構造
   5. 反復構造(while)
   6. 反復構造(do)
   7. 反復構造(for)
   8. 補助制御文
   9. 練習問題
   10.練習問題

4. 配列
   1. 配列とは
   2. 配列の宣言と初期化
   3. 配列の使用法
   4. 練習問題
   5. 文字列
   6. 2次配列と多次元配列
   7. 練習問題

5. 演算子
   1. 演算子の種類
   2. インクリメント演算子とデクリメント演算子
   3. 複合代入演算子
   4. ビット演算子
   5. シフト演算子
   6. キャスト演算子
   7. 順次演算子
   8. 条件演算子(三項演算子)
   9. sizeof演算子
   10.演算子の優先順位
   11.式と値
   12.条件式と値
   13.練習問題

6. ポインタ
   1. ポインタとは
   2. 配列とポインタ
   3. 文字列とポインタ
   4. ポインタのメリット

7. 関数
   1. 関数の作り方
   2. プロトタイプ宣言
   3. 配列とポインタ
   4. 値渡しとアドレス渡し
   5. main関数の引数
   6. 練習問題
   7. 標準関数
   8. 再帰関数

8. プリプロセッサ
   1. プリプロセッサとは
   2. #define, #undef
   3. #include
   4. #if
   5. #error、#warning
   6. マクロ
   7. 定義済みマクロ

9. 変数の有効範囲
   1. 変数の種類
   2. グローバル変数の有効範囲
   3. オート変数の有効範囲
   4. スタティック変数の有効範囲

10. 構造体
   1. 構造体とは
   2. 構造体の宣言
   3. 構造体の使用法
   4. 構造体のポインタ
   5. 構造体の構造体
   6. 構造体と関数
   7. 練習問題

11. 共用体
   1. 共用体とは
   2. 共用体の宣言
   3. 共用体の使用法

12. ファイル
   1. ファイル
   2. ファイル構造体
   3. ファイル作成・オープン
   4. ファイル読み込み
   5. ファイル書き込み
   6. ファイルクローズ
   7. ファイルエラー
   8. ランダムアクセス
   9. 標準入出力
   10. 練習問題
   11. ファイルの検索
   12. ファイルの削除
   13. ファイル名変更
   14. ディレクトリ操作

13. 低水準入出力関数
   1. 高水準入出力関数との違い
   2. ファイル作成
   3. ファイルオープン
   4. ファイル読み込み
   5. ファイル書き込み
   6. ファイルクローズ
   7. 標準入出力
   8. ランダムアクセス
   9. ファイルポインタとファイルディスクリプタ
   10. 練習問題

14. データ構造
   1. データ構造とは
   2. データ構造の種類
   3. 線形リスト
     4. 単方向リスト
     5. 双方向リスト
     6. 環状リスト
   7. ベクター
   8. 木
     9. 二分検索木
   10. スタック
   11. キュー

15 標準関数
   1. 文字分類・文字変換
   2. 文字列操作
   3. データ変換
   4. メモリー操作
   5. 数値演算
   6. ファイル操作(高水準入出力関数)
   7. ファイル操作(低水準入出力関数)
   8. プロセス関係

16 関数ポインタ
   1. 関数ポインタとは
   2. 関数ポインタ
   3. 関数ポインタと引数・戻り値
   4. 関数ポインタの配列

17. そしてその後は (PR)
   1. ヒューマンアカデミー C言語講座
   2. el school C言語講座
   3. C++入門


・ このページの先頭に戻る
・ トップページに戻る


・ このページの先頭に戻る
・ トップページに戻る

トップ-> C言語入門:基本的な決まり-> 1-6. 簡単な演算

←前ページへ :  トップへ :  次章へ→


1-6. 簡単な演算

  演算は式と式を演算子でつなぎます。C言語の演算子は非常に多くの種類があります。 詳しくは5章を参照してください。ここでは簡単なものを 紹介します。

代入演算子
  コピー演算子とも言います。変数に定数を代入したり、変数に変数に代入する場合に 用います。他の多くのコンピュータ言語と同じように「=」を用います。

  「char」型の変数の値を「int」型に代入する場合のように、大きい変数に小さい変数 を代入する場合は問題ありません。しかしこれとは逆に「int」型の変数の値を「char」型 の変数に代入する場合、値が丸め込まれます。すなわちデータの一部が欠落すると言うこと です。大抵は16進数で見た場合の下位の値がそのまま入ります。この場合、コンパイラによっては コンパイル時に警告が発せられます。これをさけるためにはキャストといい、 型変換を行う必要があります。これについては後述します。

	int n1, n2, n3;
	char c1, c2, c3;

	c1 = 100;
	n1 = c1;	// 代入先が型の方が大きいので問題なし

	n2 = 100;
	c2 = n2;	// n2もc2も100が入る

	n3 = 128;
	c3 = n3;	// n3は128、c3は-128が入る
	         	// n3もc3も16進数でみると、両方0x80で同じ値

算術演算子
  算術演算子とは、「+」「-」「*」「/」「%」です。それぞれ、加算、減算、乗算、 除算、余りを求めるです。整数同士のわり算の場合、結果も整数になります。この場合、 小数点以下は切り捨てになります。また小数での計算で余りを求めることはできません。

  これらの計算の順序は、数学の場合と同じです。

  また、負数を含む「余り(%)」を計算する場合は、コンパイラによって異なります。 自分のコンパイラではどんな結果になるか確かめてみてください。


比較演算子
  等値か「==」、非等値か「!=」、大小関係「>」「>=」「<=」「<」を調べます。
演算子 使用例  意 味 
< a < b aはbより小さい
<= a <= b aはb以下
> a > b aはbより大きい
>= a >= b aはb以上
== a == b aはbと同じ
!= a != b aとbは異なる
  成り立つ場合は「真」すなわち1が、成り立たない場合は「偽」すなわち0となります。

比較の「==」と代入の「=」を間違わないように気をつけてください。初心者がよく間違える 部分です。

	int a = 10;
	int b = 20;
	int c;

	c = a >  b;	// c = 0	
	c = a >= b;	// c = 0
	c = a <  b;	// c = 1
	c = a <= b;	// c = 1
	c = a == b;	// c = 0
	c = a != b;	// c = 1
論理演算子
  真と偽を論理演算で評価します。C言語では真とは0以外の数値、偽とは0を表します。
演算子 使用例  意 味 
&& a && b AND(かつ)
|| a || b OR(または)
! !b NOT(否定)
	int a = 10;
	int b = 20;
	int c;

	c = a && b;             	// c = 1	
	c = !b;	                	// c = 0
	c = b == 20 && a < b ;	// c = 1
  これら論理演算子、比較演算子は、場合によって見にくくなる場合もありますので、 括弧をつけて自分のセンスで見やすくなるように心がけましょう。例えば、上の例は のようにします。
	int a = 10;
	int b = 20;
	int c;

	c = a && b;             	// c = 1	
	c = !b;	                	// c = 0
	c = (b == 20) && (a < b) ;	// c = 1


←前ページへ :  トップへ :  次章へ→