目次
序文
前回の内容の続き
新参者のXiao Zhaoのブログには様々な面で不備が多々ありますので、ご批判・修正していただければ幸いです。Xiao Zhaoが、誰でも、特に初心者にとって役立つC言語の基礎知識を丁寧に整理します。
前の記事 ->>( http://t.csdn.cn/zPwV6 )
2. 基礎知識
4. 定数
1. リテラル定数
2. const で修飾された定数変数
3. #define で定義された恒等定数
コード例:
#include<stdio.h> #define MAX 1000 int main() { int arr[MAX] = { 1,2,3,4,5,6,7,8,9,10 }; printf("%d", arr[0]); return 0; }
4. 列挙定数 (列挙 - 列挙)
enum は列挙キーワードです
列挙型にリストされている可能な値はすべて列挙定数です
コード例:
#include<stdio.h> enum Sex { //默认值 可赋初始值,但不能改变 MALE, //0 FEMALE //1 SECERT //3 }; int main() { enum Sex s1 = MALE; enum Sex s2 = FEMALE; printf("%d %d \n", MALE, FEMALE); //printf("") return 0; }
5. 文字列 + エスケープ文字 + コメント
1). 文字: 一重引用符で囲まれた文字は、文字リテラル値、または略して文字と呼ばれます。
「あ」;
2). 文字列: 二重引用符で囲まれた文字列は、文字列リテラル、または略して文字列と呼ばれます。
「あ」;
"こんにちは世界";
注: 文字列の末尾は \0 エスケープ文字です。文字列の長さを計算する場合、\0 は終了マークであり、文字列の内容としてカウントされません。
3). エスケープ文字
\n 换行 \' 用于表示字符常量' \" 用于表示一个字符串内部的双引号 \\ 表示一个反斜杠,防止它被解释为一个转义序列符 \a 警告字符,蜂鸣 \b 退格符 \f 进纸符 \r 回车 \t 水平制表符 \v 垂直制表符 \ddd ddd表示1~3个八进制的数字 \xdd dd表示2个十六进制数字
4). 注: コードの意味を説明するか、不要なコードをブロックしてください。
//xxxxxxxxxxx C++ コメント スタイル
/*xxxxxxxx*/ C言語のコメント形式
6. ステートメントの選択
if { ...... } else { ...... }
7. ループ文
while ステートメント
for ステートメント
do while ステートメント
8. 機能
#include<stdio.h>
int Add(int x, int y) //加函数
{
int z = x + y;
return z; //返回函数值
}
int main()
{
int a, b;
int sum = 0;
scanf("%d%d", &a, &b);
sum = Add(a, b); //函数调用
printf("%d", sum);
return 0;
}
9. アレイ
1). 配列の定義
2). 配列の使用
#include<stdio.h> int main() { int a[5] = { 0 }; //定义整型数组 int i=0; //输入五个数给数组 while (i < 5) { scanf("%d", &a[i]); //printf("%d ",a[i]); //可依次输出输入的数 i++; } //输出五个数 i = 0; while (i < 5) { printf("%d ", a[i]); i++; } return 0; }
10. オペレーター
1). 算術演算子: + - * / %
2). シフト演算子: >> <<
#include<stdio.h> int main() { int a = 2; int b,c; //移(2进制)位操作符 b = a<< 2; //左移 c = a>> 2; //右移 printf("%d\n", a); //2 printf("%d\n", b); //8 printf("%d\n", c); //0 return 0; }
3). ビット演算子: & ^ |
4). 代入演算子: = += -= *= /= &= ^= |= >>= <<=
5). 単項演算子: ! 論理逆演算
- 負の値
+ 正の値
住所を取得する(&)
sizeof 演算子の型のサイズ (バイト単位)
~ 数値のビット単位の反転
- フロントリア -
++前、後ろ++
※間接アクセス演算子(逆参照演算子)
(タイプ) キャスト
#include<stdio.h> int main() { int arr[10] = { 0 }; //10个整型元素的数组 int sz; printf("%d\n", sizeof(arr)); //10*sizeof(int)=40 sz = sizeof(arr) / sizeof(arr[0]); //计算数组元素的个数 //个数=数组总大小/每个元素的大小 printf("%d\n", sz); return 0; }
6). 関係演算子: > >= < <= != は、「等しくない」ことをテストするために使用されます。
== は「等しいかどうか」をテストするために使用されます
7).論理演算子: && 論理および
|| 論理和
8).条件演算子: exp1?exp2 : exp3
9). カンマ式: exp1、exp2、exp3、... expn
特徴: 左から右に順番に計算され、式全体の結果は最後の式の結果になります。
10). 次のテーブル参照演算子 []
11). 関数呼び出し演算子 ()
11. キーワード
よくあるキーワード: auto Break case char const continue default do doubleelse enum externfloat
goto の場合、int long レジスタが short signedsizeof staticstruct スイッチを返す場合
typedef Union unsigned void volatile while
(C 言語には豊富なキーワードが用意されており、言語自体があらかじめ設定しており、ユーザーが自分でキーワードを作成することはできません。)
12. ポインタ
1). メモリ: コンピュータ上で特に重要なメモリであり、コンピュータ内のプログラムの実行はメモリ上で行われます。したがって、メモリを有効に使用するために、メモリは小さなメモリ単位に分割され、各メモリ単位のサイズは 1 バイトになります。メモリの各ユニットに効果的にアクセスできるようにするために、メモリ ユニットには番号が付けられており、これらの番号はメモリ ユニットのアドレスと呼ばれます。
変数はメモリ内に作成され (メモリ内に空間が割り当てられ)、各メモリ単位にはアドレスがあるため、変数にもアドレスがあります。
2). ポインター変数のサイズ:
ポインターのサイズは、32 ビット プラットフォームでは 4 バイト、64 ビット プラットフォームでは 8 バイトです。
13. 構造
構造: C 言語の特に重要な知識ポイントであり、この構造により C 言語は複雑な型を記述できるようになります。たとえば、学生を説明する場合、学生には名前 + 年齢 + 性別 + 学生番号が含まれます。ここでは構造のみを使用して説明できます。
#include<stdio.h> struct Stu { char name[20]; //名字 int age; //年龄 char sex[5]; //性别 char id[15]; //学号 }; int main() { struct Stu s = { "张三",20,"男","20220926" }; //结构体的初始化 printf("%s,%d,%s,%s\n", s.name, s.age, s.sex, s.id);//.结构体访问操作符 struct Stu *ps = &s; //->操作符 printf("%s,%d,%s,%s\n", ps->name, ps->age, ps->sex, ps->id); return 0; }
要約する
幸せな時間は常に短い. 以上が今日話したいことですが、この記事は引き続き趙暁同志のC言語に対する初期理解を簡単に紹介し、全体の枠組みを簡単に整理します。Xiao Zhao同志は更新を続けています。継続的な学習の動機は、1つのボタンと3つの連続リンクによるBaoziのサポートです〜。