C言語の基礎知識まとめ

爱喝马黛茶的安东尼
リリース: 2019-10-26 09:47:18
オリジナル
22552 人が閲覧しました

C言語は現代人の学習や生活に欠かせない基礎知識であり、広く使われていますが、C言語の基礎知識を以下にまとめます。

アルゴリズム構造:

1. シーケンシャル構造、選択構造、ループ構造; 2. ループ構造は while 型、until 型、for ループ構造に分かれます。プログラム フローチャート;

構造化プログラミング手法:

(1) トップダウン; (2) 段階的な改善; (3) モジュール設計; ( 4) 構造化コーディング。

データ型:

定数: 定数には、リテラル定数、直接定数、およびシンボリック定数が含まれます;

変数: C 言語では、識別子は次のとおりであると規定されています。文字、数字、アンダースコアの 3 つの文字で構成され、最初の文字は文字またはアンダースコアである必要があります。変数は使用前に定義する必要があります。各変数を定義して型を決定した後、対応するストレージ ユニットをその変数に割り当てることができます。コンパイル時 ;

整数型: 整数定数には 10 進数、8 進数、16 進数が含まれます; "%d"

整数変数: データはメモリにバイナリ形式で格納されます。int 型、short 型があります。 int型とlong int型で、符号なし整数変数の範囲は-32768~32767、符号付き型は0~65535で、通常longは32ビット、shortは16ビット、intは32ビットに定義できます。 16 ビットになることもありますが、これは主にマシンのワード長に依存します。

実数型定数の表現方法: (1) 10 進数、0.0; (2) 指数形式、123e3

実数型変数: 実数データのメモリ内 (通常はメモリ内) の格納形式4バイトを占め、整数部と小数部に分けて格納されます。実数型変数はfloat型、double型、long double型に分けられます。実際のデータには丸め誤差が生じます。

実定数の種類: C コンパイル システムは、実定数を倍精度として処理します。

文字配列: (1) 文字定数: エスケープ文字 (——改行、——タブ、——キャリッジリターン、——改ページ、——バックスペース、ddd——1~3桁 表現される文字

(2) 文字変数: 文字データの格納形式は実際には ASCII コードで格納されます。 "%c"

文字列定数: 二重アポストロフィで囲まれた一連の文字。

関連する推奨事項: 「php ビデオ チュートリアル

C の演算子には次のタイプがあります。

1. 算術演算演算子 (- * / %) の結合方向は左から右です。

2. 関係演算子 (> < == >= <= !=)

3.論理演算子 (! && ||)

4、ビット演算子 (<< >> ~ | ^ &)

5、代入演算子 (= および符号拡張代入演算子)

6、条件演算子 (? : )

7、カンマ演算子 ( , )

8、ポインタ演算子 (* &)

9. Seekバイト演算子 (sizeof)

10. 強制型変換演算子 ((type))

11. コンポーネント演算子 (. ->)

12. 添字演算子 ([ ])

13. その他の

制御ステートメント:

特定の制御関数を完了します。

1、if()~else~

2、for()~

3、while()~

4、do~while( )

#5、続行

#6、ブレーク

#7、スイッチ

#8、goto

##9、リターン

文字データの入出力:

#1. putchar() 入力文字変数

#2. getchar() は 1 文字のみ受け入れられます

入力と出力の形式:

1. printf (%d - 整数型, %c - 文字型, %ld, %md, %o, %u, %s, % -m .nf, %e, %g)

2. scanf (フォーマット制御、アドレスリスト)

Array

1 の定義-次元配列: 型指定子配列名 [定数式]; 最初に定義してから参照; 1 次元配列を初期化する場合は一部の要素のみを初期化でき、配列のすべての要素を初期化する場合は長さを指定できますが、定義された配列の長さが提供されたものと異なります。 の初期値が異なる場合、配列の長さは省略できません。

2次元配列の定義: 型指定子配列名 [定数式] [定数式] C言語で2次元配列を格納するには、最初に1行目の要素が格納され、次に2行目の要素が格納されます。実際には、これも 1 次元で格納されます。初期化時にすべての要素の初期値を指定できる場合、1次元目のサイズは省略できますが、2次元目は省略できません。

文字配列: 定義と初期化は、一重引用符が必要であることを除いて、配列の場合と似ています。 C言語で指定される文字および文字列の終了マークは「」で表されます。

文字列処理関数:

1.puts() は端末に文字列を出力します

2.gets() は端末から文字列を入力します文字列を文字配列に変換し、関数値を取得します。

3. strcat() は 2 つの文字配列内の文字列をリンクします。

4. strcpy() 文字列コピー関数。

5. strcmp() は文字列を比較します。

6. 文字列の長さをテストする strlen() 関数には、「」は含まれません。

7. strlwr() は、文字列内の大文字を小文字に変換します。

8. strupr() は、文字列内の小文字を大文字に変換します。

関数

(1) ソースプログラムは複数の関数から構成されます。

(2) C プログラムの実行は main() 関数から始まります;

(3) すべての関数は並列です;

(4) 関数の分類; can標準関数とカスタム関数の場合、パラメータ化された関数とパラメータなしの関数に分けることもできます。

関数定義の一般的な形式:

(1) 型識別子関数名 ()

{
声明部分
语句
}
ログイン後にコピー
ログイン後にコピー

(2) 型識別子関数名 ( 形式パラメータリスト)

{
声明部分
语句
}
ログイン後にコピー
ログイン後にコピー

仮パラメータと実パラメータの説明:

(1) 定義関数内で指定する仮パラメータは、関数呼び出しがない場合に指定されます。メモリ内のストレージ ユニットを占有せず、メモリは呼び出しが発生したときにのみ割り当てられます。

(2) 実パラメータは定数、変数、または式にすることができます。場合によってはアドレスが渡されます。

(3) 定義では、仮パラメータは型を指定する必要があります。

(4) 実パラメータと仮パラメータの型は同じであるか、代入互換である必要があります;

(5) C 言語では、実パラメータ変数から仮パラメータ変数へのデータ転送は「値」であると規定されています。 transfer」、つまり一方向の転送では、実パラメータのみが仮パラメータに渡され、仮パラメータから実パラメータには渡されません。

関数の戻り値:

呼び出し元の関数が関数呼び出しを通じて特定の値を取得することを願っています。

(1) 関数の戻り値は、関数内の return ステートメントによって取得されます。

(2) 関数値の型;

(3) 関数値の型が return ステートメントの式の値と異なる場合は、関数の型が優先されます。

(4) 呼び出し関数に return ステートメントがない場合、ユーザーが必要とする特定の値は返されません。関数は値を返しませんが、単に値を返しません。有用な価値をもたらし、不確実な価値をもたらします。

(5) 値を戻す必要がない場合は、void を使用します。

関数呼び出し:

呼び出しメソッド:

1. 関数ステートメント;

2. 関数式;

3. 関数パラメータ。

呼び出される関数の宣言:

関数が別の関数を呼び出すための条件:

1. 最初に呼び出される関数は次の条件を満たす必要があります。既存の関数;

2. ライブラリ関数を使用する場合は、通常、このファイルの先頭で #include コマンドを使用して、関連するライブラリ関数を呼び出すときに必要な情報をこのファイルに「含める」必要があります。 .h ファイルはヘッダー ファイルに使用される接尾辞です。

3. ユーザー定義関数が使用され、その関数がそれを使用する関数と同じファイル内にある場合、呼び出される関数は通常、メインの呼び出し関数で宣言する必要があります。

4. 呼び出される関数の定義が呼び出し元の関数の前にある場合は、宣言する必要はありません。

5. すべての関数定義の前に関数の外側で関数宣言が行われている場合は、呼び出し関数ごとに呼び出される関数を宣言する必要はありません。

ローカル変数とグローバル変数:

(1) ローカル変数 関数内で定義された変数は内部変数であり、この関数のスコープ内でのみ有効です。 main 関数は他の関数で定義された変数を使用できません。同じ名前の変数は異なる関数で使用できます。それらは異なるオブジェクトを表し、相互に干渉しません。仮パラメータもローカル変数です。関数内では、複合ステートメント 変数、これらの変数はこの複合ステートメント内でのみ有効です。この複合ステートメントは「サブプログラム」または「プログラム ブロック」とも呼ばれます;

(2) グローバル変数、関数の外部で定義された変数外部変数として、グローバル変数は関数間のデータ接続のチャネルを増やすことができます。一般に、必要がなくなった場合は使用しないでください。プログラムの実行全体で記憶域ユニットを占有します。これが汎用変数です。関数. グローバル変数を使用すると、プログラムがより明確になります。また、同じソース ファイル内で外部変数とローカル変数が同じ名前を持つ場合、外部変数はローカル変数のスコープ内で「シールド」され、効果がなくなることに注意してください。

変数の保存カテゴリ:

(変数値の保存時間) 動的保存方法、プログラム実行中に動的に記憶領域を割り当てる、静的保存方法の方法を指します。プログラムの実行中に固定記憶域を割り当てます。記憶域はプログラム領域、静的記憶域、動的記憶域に分割されます。すべてのグローバル変数は静的記憶域に配置され、プログラムの開始時および解放時に領域が割り当てられます。完了時; 動的 次のデータが記憶領域に保存されます:

1. 関数の仮パラメータ;

2. 自動変数;

3. オンサイト関数が呼び出されたときの保護とリターン アドレス (C の場合) この言語のすべての変数と関数には、データ型とデータ ストレージ型という 2 つの属性があります。ストレージ クラスは、データをメモリに格納する方法です。

ストレージ メソッドは、静的ストレージ カテゴリと動的ストレージ カテゴリに分類されます。次の 4 つのタイプがあります。自動 (auto)、静的 (static)、レジスタ (register)、外部 (extern)、宣言されていない場合、宣言されていると思われる場合auto タイプは、ストレージスペースを自動的に割り当て、動的なストレージ方法です。

Static は、ローカル変数が関数呼び出しの終了後に消えず、元の値を保持すること、つまり、占有されていたストレージ ユニットが解放されないことを宣言します。次回関数が呼び出されるとき、変数はすでに値を持っています。最後の関数呼び出しの終了時の値。ここで説明が必要なのは、初期値を代入せずにローカル変数を定義すると、関数呼び出し後も静的ローカル変数は存在しますが、コンパイル時に静的ローカル変数には自動的に値 0 または null 文字が代入されます。完了すると、他の関数はそれを参照できなくなります。静的ローカル変数は主に、初期化後に変数の値を変更せずに参照のみを行う場合に使用されます。

レジスタ変数は、ローカル変数の値を CPU 内のレジスタに配置し、必要に応じてレジスタから直接取り出して演算に参加できるようにする C 言語です。ただし、コンピュータ システム内のレジスタの数は制限されているため、任意の量のメモリを定義することはできず、ローカル静的変数をレジスタ変数として定義することもできません。

Extern は、外部変数のスコープを拡張するために外部変数を宣言します。ファイル内で、定義前の関数が外部変数を参照したい場合は、参照前にキーワード extern を使用して変数を外部変数として宣言する必要があります。複数のファイルで、extern 宣言を使用して外部変数を宣言することもできます。一部のローカル変数を他のファイルではなく、このファイルのみで参照したい場合があります。この場合、外部変数を定義するときに静的変数を追加すると、プログラムのモジュール設計における汎用性が高まります。

Static には、変数を宣言するときに 2 つの機能があります。1 つはローカル変数を宣言するときです。この場合、変数に割り当てられたスペースは、プログラムの実行全体を通じて常に存在します。1 つはグローバル変数の宣言内で、変数のスコープはこのファイル モジュールの操作に限定されます。

注: これらのメソッドは関数宣言にも適用されます

以上がC言語の基礎知識まとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!