コンテンツ
1.労働者が良いことをしたいのなら、彼は最初に彼の道具を研ぐ必要があります
配列の終了マークは「\0」です。次のプログラムは特定の\0位置を指定しないため、出力はランダムな値になります。
1.労働者が良いことをしたいのなら、彼は最初に彼の道具を研ぐ必要があります
C言語をコンパイルするにはどのようなツールが必要ですか?
VS 2022(ブログの説明はVS2019に基づいています)ダウンロードVisual Studio Tools-Windows、Mac、Linux用の無料インストール
・Qt Creator(プラットフォーム間でインストールして実行できます。オープンソース) / archive / qtのインデックス(以下は、他のブロガーが共有するQtの使用法のチュートリアルです。
2.最初のコードを書く
新しいプロジェクトを作成する>>
パスと名前を設定すると、ここにいることがわかります
ソースファイルを右クリックして、次の手順を実行します
注: ;separateはステートメントです
//写C语言代码,首先要写出主函数 两个//代表注释,在写代码的时候经常使用注释可以帮助我们很好的理解代码
#include <stdio.h> //库函数的使用,得包含对应的头文件
int main() //主函数,是程序的入口,主函数有且仅有一个
{
printf("Hello,World"); //printf是C语言提供的打印库函数
return 0;
}
//这时候按Ctrl+F5,程序就会运行起来
3.データ型
sizeofは、型のサイズを計算するために使用されます
%d-整数を出力します%s-文字列を出力します%c-文字を出力します%uは符号なし整数を出力します
int main()
{
printf("%u\n", sizeof(char));//1个字节,代表char类型8个bit位
printf("%u\n", sizeof(short));//2个字节,代表short类型16个bit位
printf("%u\n", sizeof(int));//4个字节,代表in类型32个bit位
printf("%u\n", sizeof(long));//4个字节,代表long类型32个bit位
printf("%u\n", sizeof(long long));//8个字节,代表long long类型有64个bit位
printf("%u\n", sizeof(float));//4个字节,代表float类型有32个bit位
printf("%u\n", sizeof(double));//8个字节,代表double类型有64个bit位
return 0;
}
4.変数の分類
int b = 1000;//全局变量 - 定义在大括号的外部
int a = 1000;
int main()
{
int a = 100;//局部变量 - 定义在大括号的内部
//局部变量的名字和全局变量的名字冲突的情况下,局部优先
printf("a = %d\n", a);
return 0;
}
この時点で、aの結果は100です。
知らせ:
1. scanf関数、フォーマット入力関数、つまり、ユーザーが指定したフォーマットに従って、キーボードから指定された変数にデータを入力します。
2.(#define _CRT_SECURE_NO_WARNINGS 1は、scanf関数の戻り値を無視するため、scanf関数がエラーを報告しないようにするためのものです)
2つの整数の加算を完了するコードを記述します
#include <stdio.h>
#define _CRT_SECURE_NO_WARNINGS 1
int main()
{
int num1 = 0;//初始化一个变量,num1仅仅是我们自定义的一个变量名
int num2 = 0;//
int sum = 0;//存放加法的结果
//输入
scanf("%d %d", &num1, &num2);//&下节课会讲
//目前可以理解为num1,num2两个变量给输入函数用来存放.
//相加
sum = num1 + num2;
//输出
printf("%d\n", sum);
return 0;
}
//下面写成函数的写法
int Add(int x, int y)
{
int z = 0;
z = x + y;
return z;
}
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
scanf("%d %d", &num1, &num2);
//求和
//sum = num1 + num2;
sum = Add(num1, num2);
printf("%d\n", sum);
return 0;
5.関数のライフサイクル
一般に、プログラムコードの一部で使用される名前は、常に有効/使用可能であるとは限りません。名前の使用可能性を修飾するコードの範囲は、名前の範囲です。
1.ローカル変数のスコープは、変数が配置されているローカルスコープです。
2.グローバル変数のスコープは、プロジェクト変数全体のライフサイクルであり、変数の作成から変数の破棄までの期間を指します。
3.ローカル変数のライフサイクルは次のとおりです。スコープのライフサイクルに入ると、スコープのライフサイクルが開始および終了します。
4.グローバル変数のライフサイクルは次のとおりです。プログラム全体のライフサイクル。
#include <stdio.h> int main() { { int a = 100; printf("%d\n", a); } printf("%d\n", a);//此时程序报错,a已经在{}局部变量执行完毕销毁了 return 0; }
ライフサイクルを延長するためのローカル変数の静的変更
理解する:
1.whileはループですが、ワイド番号()の内側は、ループが継続するかどうかを判断するためのものです。0以外は継続する場合はtrue、0はループから飛び出す場合はfalseです。
2.test()、testは自分で作成した関数です。実行とは、実行する関数を入力して、戻ることを意味します。
#include <stdio.h>
void test()
{
static int a = 1;
//.static修饰全部变量(或者函数),改变了作用域,让静态的全局变量只能在自己的源文件内部使用
//外部文件用extern就无法调用了,会提示无法解析外部符号
a++;
printf("a=%d\n",a);
}
int main()
{
int i = 0;
while(i<5)
{
test();
i++;
}
return 0;
}
結果は23456です(aは破棄されません)
もう1つの質問
結果は
6.文字列の長さを見つけます
#include <stdio.h>
strlen - 库函数
求字符串的长度
#include <string.h>
int main()
{
char arr1[] = "abc";
char arr2[] = { 'a', 'b', 'c', '\0'};
printf("%d\n", strlen(arr1));//3
printf("%d\n", strlen(arr2));//3
/*printf("%s\n", arr1);
printf("%s\n", arr2);*/
return 0;
}
注:この時点でarr2配列の\ 0を削除すると、結果は異なります。
配列の終了マークは「\0」です。次のプログラムは特定の\0位置を指定しないため、出力はランダムな値になります。
strlenは文字列の有効な長さを取得するためのものであり、末尾の「\0」はカウントされません。
strlenによって取得されるルールは非常に単純です。「\0」に遭遇するまで前から後ろにチェックしてから、検出を終了します。
7.16進変換
1.10進数から2進数
2による10進数の無限除算、結果の余りは1または0のいずれかであり、最後の除算が1になった後、除算された1からの次数を加算します。
同様に、00001010などの2進数から10進数では、右端の0は2の0乗を表し、1は2の1乗を表し、0は2の2の累乗を表し、1は2の3乗を表します。結果は10です(初心者ベース変換-オンラインツール)
文字の「130」は、8進数の130を10進数に変換して得られた88を表し、文字「X」はASCIIコード値で表されます。
8.オペレーター
int main()
{
int a = 0;//初始化
//
a = 20;//赋值
//a = a + 10;
a += 10;//复合赋值符
a -= 15;// 换个意思是a=a-15
printf("a=%d\n", a);//a的结果是15
return 0;
}
int main()
{
//printf("%d\n", 7 / 3);//2....1
//printf("%f\n", 7 / 3.0);
printf("%d\n", 7 % 3);//2...1
return 0;
}
次のコードを実行した結果はどうなりますか?
#include <stdio.h>
int main()
{
int a = 0;
printf("%d",~a);//逻辑反操作符
return 0;
}
//结果是-1
モジュロ測定システムでは、数値の減算はその補数の加算に等しいため、負の数はコンピューターの補数で表されます。これにより、減算演算を加算演算に変換する目的が実現されます。(クロック調整時間と同様に、加算または減算できます)
整数である限り、補数はメモリに格納されます。
正の数の補数、ソースコード、および逆コードは同じです。
負の数をカウントする必要があります。逆コードを取得するには、ソースコードを反転します(符号ビットは最初のビットを反転しないでください)。次に、逆コード+1が取得され、補数コードが取得されます。
数学のand(&&)、または(||)のように、a && bのいずれかが0の場合、結果は0になり、a || bのいずれかがゼロ以外の場合、結果はtrueになります()
9.宿題
毎日のトレーニングは必須です!これは、初心者が質問をするために推奨されるWebサイトプログラミング言語の初心者向けトレーニングキャンプです。
トピック名:
2つの数値のうち大きい方を見つける
トピックの内容:
2つの整数のうち大きい方を見つける関数を記述します
そのような:
入力: 10 20
出力最大値: 20