C言語初級

C言語初級カテゴリのロゴ画像

このサイトは、C言語初心者とC言語を学ぶ上で必要となる知識についての記事です。
Windowsのコマンドプロンプトについても必要な知識として解説しています。

C言語開発環境の導入

WindowsにC言語開発環境を導入する(MinGW)
ここでは初心者が 1.手に入れやすい(事前登録なしにダウンロードできる) 2.無料 ということに絞ってMinGWというフリーのCコンパイラのダウンロード、インストール、利用するための設定について解説します。
gccコンパイラのコンパイル方法おぼえ書き
gccコンパイラでのコンパイル方法の簡単な覚え書きです。 確認は、WindowsのMinGWをインストールして行っています。

C言語入門

  1. C言語を学習する前に知っておきたい用語
  2. はじめに(構造化プログラミング言語について)
  3. 最初のプログラム
  4. エスケープシーケンス文字
  5. 四則演算
  6. 変数について
  7. 数値の表し方(10進数、8進数、16進数)
  8. キーボードから入力させる
  9. 変数と定数について
  10. 実数の計算について
  11. if文による条件判定について
  12. 数値の比較を行う(比較演算子)
  13. if文で複数の条件を1度に判断する(論理積と論理和)
  14. 否定を使ったif文の記述方法
  15. 代入式の考え方(ふだんの行いを式になおしてみる)
  16. switch文による分岐処理
  17. 繰り返し処理(while文, for文, do~while文)
  18. 繰り返し処理を使って数値の合計を求める
  19. 無限ループについて
  20. 乱数の基本的な使い方
  21. 【乱数応用】C言語でWebカラーをランダム生成する
  22. ASCIIコード表(アスキーコード表)
  23. C言語の配列について最低限の知識
  24. 数値配列
  25. 配列を使うメリット
  26. 文字と文字配列
  27. 配列の使い道(配列をどう使えば良いか)
  28. 関数の作り方と関数の種類
  29. 関数を作るときの考え方
  30. ポインタについて
  31. ポインタの利用1(関数間のやりとり)
  32. 日付と時刻を取得する
  33. コマンドラインパラメタを利用したプログラム
  34. clock関数を使ってある処理にかかった時間を計測する
  35. ファイル処理について
  36. ファイル構造体(FILE)についての簡単な説明

C言語で色々やってみる & その他TIPS

C言語:clock関数を使ってキーボードのA~Zまでの入力速度を測るプログラム
C言語のclock()関数を使ってキーボードのA~Zまでの入力速度を計測してみようと思います。
C言語:10行で暗号化プログラム
入力した数値が暗号化されて、再度暗号化された数値を入力すると元の数に戻るという不思議なプログラムをC言語で紹介します。 ...
C言語:演算子の優先順位を分かりやすく説明
C言語の演算子(えんさんし と読みます)には、優先順位というものが存在します。 優先順位を勘違いして代入式などを記述してしまうとプログラムが意図した処理にならない可能性があります。 ここでは、C言語演算子の優先順位を一覧にまとめてみました。
Windows10のgccでUTF8で作ったコードが文字化けする場合の対処
先日MinGWというgccコンパイラをインストールしたのですが、UTF-8で保存したC言語ソースコードをWindowsのコマンドプロンプトでコンパイルし実行したら見事文字化けしました。
C初級:全角文字列を縦に表示する
キーボードから入力した全角文字列をコンソール画面上で縦に表示するというプログラムです。 何の役に立つのかは分かりません...

C言語サンプルダウンロード

順番に入力・実行確認していくと自然とC言語が身に付くC言語ソースコードです。
zip形式になっています。

c01-10.zip
c11-20.zip
c21-30.zip
c31-40.zip
c41-50.zip
c51-54.zip

事前に憶えておくと良い知識

わたしはC言語学習にCUIの知識も必要と考えています。
コンピュータ内部がどう動いているのか理解することができるからです。
以下は、C言語学習に必須の知識ではありません。しかし、もっとコンピュータを理解したい人はぜひ読んでください。

GUI(グラフィカル・ユーザ・インターフェース)が普及する前は、コンピュータの操作は、CUI(キャラクタ・ユーザ・インターフェース)またはCLI(コマンド・ライン・インターフェース)などと呼ばれていました。
GUIがアイコンやマウスポインタを使用して視覚を通してコンピュータ操作をするのに対し、CUIは、キーボードからコマンドと呼ばれる命令を入力してコンピュータを操作します。

GUIが普及した現在、CUIは隅に追いやられがちですが、実はインターネットサーバの設置や設定・運営、あるいはハッカーなどにとっては必要不可欠な技術です。実際に最新のコンピュータでも、内部では文字ベースで命令が実行されています。

Windowsのコマンドプロンプトというソフトをご存知でしょうか?
少しだけCUIについて説明します。OSは、Windowsです。

1.コマンドプロンプトの起動
Windowsキーを押したままキーボードのRを押すと「ファイル名を指定して実行」というウインドウが開きます。
テキストボックスに「cmd」と入力してエンターキーを押します。

2.コマンドを使ってみる
よく使うコマンドです。

dir

使用例意味
dirディレクトリの内容を表示する(縦に詳細表示)
dir /wディレクトリの内容を横に(ワイドに)表示する
dir *.c拡張子がcのファイル情報を表示する

cd
ディレクトリ間の移動

使用例意味
cd hogehoge現在のディレクトリからディレクトリhogehogeに移動する
cd ..1つ上の階層に移動する
cd ../../hoge2つ上の階層にあるディレクトリhogeに移動する

type
ファイルの中身を表示する

使用例意味
type abc.txtabc.txtの中身を表示する

time
現在時刻を表示・変更する

使用例意味
time /t現在時刻を表示する
time現在時刻を変更する

date
現在日付を表示・変更する

使用例意味
date /t現在日付を表示する
date現在日付を変更する

mkdir
ディレクトリを作成する

使用例意味
mkdir hoge現在のディレクトリにhogeというディレクトリを作成する

exit
コマンドプロンプトを終了する

使用例意味
exitコマンドプロンプトを終了する

マウス操作だと簡単なことがCUIだといちいちキーボードから命令を入力して実行という手順をとるため面倒です。
例えばワードのドキュメントファイルをダブルクリックで済むところを

msword.exe hogehoge.docx[enter]

などのように打ち込んで起動しなければなりません。
でも、コンピュータに対してはどんな情報が必要なのかがよく分かります。

【仕事で使う方は読んでみてください(30秒)】C言語における知見

C言語について、こんなことを言った方がいます。(こちらの方@badboy_です)

The first rule of C is don’t write C if you can avoid it.

日本語訳

C言語の第1のルールは、「もし避けられるならC言語を使うな」ということです。

C言語には色々なバージョンがあり、もしC言語以外でそれを実現できるのならそうした方がいいよという教えです。
仕事でC言語の案件があった場合に少し立ち止まって考えてみてもいい部分です。

詳しくは以下が参考になります。

旧時代のC言語を使うのはそろそろやめよう。 - Qiita
まず、何も言わずに下記の記事をお読んでください。 * ( 英語は・・・という方は、下の翻訳をお読みください。 * [2016年、C言...

とはいえ、このサイトはC言語初級という位置づけですので、管理人のわたしとしては以下で締めくくりたいと思います。

多くのプログラミング言語の親であるC言語でプログラミングの海に漕ぎ出そう!

dennouをフォローする
電脳産物