C言語 プログラミングメニュー 

C言語とは

C言語とは? 問題

最初のプログラム (簡単なprintf)

よくあるエラー

簡単な計算

よくあるエラー 問題1

簡単な計算の 問題2

int型とdouble型 (演算子の優先順位と結合規則)

型による違い 問題1(printf 型による違い)

型による違い題 問題2

変数を使う その1

変数宣言 エラーの問題

変数を使う その2 変数の初期化

型による違い printfの指定 問題3

型による違い 問題4

変数を使うことで、長いプログラムを簡単に作る

変数を使う その3 コピー貼り付け

do 〜 whileの繰り返し

do 〜 whileの繰り返し (減らす繰り返し)

関係演算子

関係演算子の問題

do while 繰り返しの問題(ボケ防止)

キー入力で、変数を変更する。

scanf の使い方

scanf の例

scanf を使ったdo while練習(変数を使う練習:貯金)

scanf を使ったdo while練習(変数を使う練習:走行距離)

if else 文

if else 文の練習

if 文の書式練習(賢くなる?)

if else 文の繰り返し練習

if else 文の練習2

インデント指定

インデント指定の練習 問題  練習1

上手く変数を用意して、順番を考えるとプログラムは簡単になります。最小値を求める (1)

入力データ群の最小値を求める (2)

if else if else ・・・・if else 文

if else if else問題


知っていると便利な規則 %演算子 (これまでの命令でほんどできるけど・・? )

if 応用問題 万、千、の単位付き表示
if 応用問題 続き

printfの知っていると便利な規則 複数の出力, 幅指定

printfの知っていると便利な規則 その2 %% %X %o
printfの知っているべき規則の意味 %c  putchar(整数)
printfの%s と puts関数

scanf ⇒%dや%ld 指定は、Enterまでのキー操作でなく、入力の順番が大事

scanf の動作 詳細 その1   その2   scanf入力の注意
scanf の動作 詳細 戻り値
scanf を繰り返し条件で使う。
scanf の動作 詳細 入力フォーマット
fscanf と fflush関数
scanfの %c と getchar
scanfの%s と guts関数

後判定のdo whileと、前判定のwhile

whileの練習(ボケ防止)  インデント練習2
パターンで覚えるwhileの練習(賢くなる?)

ある繰り返しパターンで簡単なfor文

パターンで覚えるforの練習(賢くなる?)

goto文 (あまり使ってほしくない・・けど理解を深めるために・・)

goto文から繰り返し構文に変換する練習

break, continue の特別なgoto文

break, continue returnの練習問題
 

switch (条件で実行するgoto文)


既存の関数やデータ型を使う

#include の意味(さまざまな関数を使えるようにする。⇒プロトタイプ宣言)

stdoutとfprintf、 stdinとfscanf   ストリームを使う関数

関数の戻り値を使う。

インクルードファイルの問題

ファイルの生成と書き込み

ファイルからの読み取り

ファイルからデータを読み込む一般的プログラムパターン

配列を使う

配列とは?

配列の簡単な確認問題

配列の初期化   whileからforへ   char配列の初期化

配列の基本的な使い方1(単純な変数との違い)

配列の基本的な考え方
パターンで覚える配列の使い方(賢くなる?)
配列の基本的な使い方1 問題1(添え字とクラス番号)
配列の基本的な使い方1 問題2(カレンダー)  関数化

配列の基本的な使い方2(任意個数を管理する) プリントの解答例

応用問題  ステップ1 ステップ2 ステップ3

配列の使い方2の特別版(個数を記憶する変数を使わない任意個数管理)

配列の配列


関数定義(関数を作る)

関数とは? また、ローカルとグローバルの変数の違い(スコープ)

関数とグローバル変数の定義練習 

危険なグローバル変数! そして、引数ありの関数や、戻りありの関数

関数(引数と戻り値がある)の動作と、定義練習

過去に作った関数の再利用と、関数定義例(作成例)
 配列内の指定データを数える。   配列の指定位置を交換する。  配列内の指定データ探す。

過去に作った関数の再利用(ソースファイルの分割)

完全に独立した関数 (配列の基本的な使い方2:任意個数を管理する)ポインタ引数の動作1
 配列の表示   配列内への入力   配列内の指定データを数える   配列の指定位置を交換する  配列内の指定データ探す  配列の保存   配列内へファイルデータを読み込む   


ポインタ変数の取り扱い

ポインタ変数とは? 補足

ポインタ変数の単純な応用と、ポインタ引数.

C言語特有の関数の作り方 ポインタ引数が指す変数の変更とポインタを返す関数
  変数内容を交換する  配列内への入力2  入力3(ポインタを返す)   ポインタを返す関数  

ポインタ変数を操作する(文字列操作関数で紹介)
 1行の入力   文字列の長さ   文字列比較関数   文字列コピー  文字列連結  文字、文字列探索  文字列を数値に変換  数値を文字列を変換  

ポインタの配列 入力文字列を管理する例

voidへのポインタ 標準関数の紹介

配列の代わりを動的に作ってポインタで管理する

コマンドプロンプトからプロセスに情報を渡す(main引数、環境変数)


構造体

構造体とは?  構造体変数の初期化

構造体ポインタ演算 (構造体メンバー演算子との使い分け)

構造体の配列


バイナリ操作

ファイルダンプ


文法編  色々な問題

データ型  式の型の練習

基本データ型
ポインタ型
型の名前を定義する typedef
size_t型
staticとauto修飾子
const 修飾子

定数の表現方法

整数の定数表現 文字定数の表現
文字列定数の表現 文字列定数の実体(char *で管理)

演算子

記憶域(変数など)を変更する演算子 記憶域を変更する演算の注意
条件判定で用いられる演算子 論理演算子の取り扱い
キャスト演算子 とポインタ    sizeof演算子    3項演算子 ,その他演算子    ビット演算子

式(expression)

式とは? そして演算子の処理順番 優先順位練習   式の評価順番の練習  

文(statement)

宣言文、実行文(単純文、複合文)

プリプロセッサ命令

基本的なプリプロセッサ命令  確認問題