TIL 02::[CS 50]C言語
🎈 この文章は「傷」プログラムに基づいて説明します!
int main(void){}
When(緑のフラグ)clickはint main(void){}と同じです.
printf("hello world");
sayhelloは、worldのブロックと同じ役割を果たしています.hello worldを出力します.
#include
stdio.hという名前のファイルを検索し、printf関数にアクセスするのを助けます.
すなわちstdioです.hファイルを読み込み(参照)と解釈すれば簡単です.
ライブラリの役割を果たしています.
字、単語、文を「」に入れる.
セミコロン(;)ラベルを貼る.
printf("hello world\n"); で、nは改行(enter)として機能します.terminalで改行して可読性を高めます.
上端に書かれたコードを「ソースコード」と呼び、そのコードをバイナリに変換して「マシンコード」と呼ぶ.
「ソースコード」をコンピュータが理解できる「マシンコード」、すなわちコンパイルに変換する必要があります.
ターミナルウィンドウの$記号の横にあるclang hello.cを入力するとコンパイルできます.
clangはコンパイラhellocはファイルをコンパイルするコードを表す.
その結果、a.outというマシンコードファイルが生成されます.
./a.outコマンドを入力してターミナルウィンドウで実行します.
コンパイルプロセスについては、次の手順に従います。
ここで、askはget stringに似ています.
get string関数がユーザー名を返すとresult変数に格納されます.
string=単語または文
stringを使用してデータ型を指定し、変数を指定します.
これを形式指定者といいます.
変数名は任意に指定できます.
✔割付演算子
プログラミングの"="は、左側に右側に指定されていることを示します.
「==」は同じことを表します.
printf("hello, %s\n", answer);
変数の答えに含まれる内容は出力されなければならないので、%を使用してstringのsを貼り付けて%sを入力するとstringパラメータが得られます.
「」(二重引用符)次の入力の答えは、この変数を使用することを示します.
get string関数を使用するには
#include使用するにはライブラリに入れる必要があります.(コンパイル可能)
今コンパイルするなら?
$ clang -o string string.c -lcs50
-o stringはstringです.文字列c.outというマシンコードを使用して格納します.つまりstringという名前のマシンコードファイルを保存します.
-lcs 50は「link」という接続で、-lパラメータに追加した「cs 50」ファイルの合計です.これにより、コンパイル時にcs 50ファイルに接続することができます.
2つのコードを1つのプログラムとして実行できます.
もっと簡単に言えば$make string
makeを使用する場合は、ターミナルウィンドウにその文章を入力する必要はなく、makeを使用してコンパイルするしかありません.
C言語では、変数値をから1ずつスクラッチします.
counter = counter +1;
これは右から左への意味にも当てはまる.
それができれば
counter += 1; またはcounter++;使えます.
条件などの末尾にセミコロンをつけない
if文で条件文を記述し、ifカッコ内で演算子を使用してブール関数を導出し、条件出力値に基づいて出力できます.
ブールは真と偽、true or false
初期if文の対応する条件がtrueの場合、文を起動し、そうでない場合は、行elseまたはelse ifを読み出して出力します.
複文にはwhile文とfor文があります.
helloは,worldを50回繰り返し出力するにはwhile条件下で変数i<50を与えるだけでよい.
iが0に続くと無限出力が続くので、50の条件を設定すると、i=i+1になります.入力が必要です.
iは0からカウントを開始し、i<50であれば0から49をカウントして50回出力する.
文よりも設計効率の高いコードを記述する場合は、for文を記述することが望ましい.
整数(int)の変数iに0を入れ、iが50未満の場合は対応するコードを出力する.
出力後に再びi=i+1(出力値はtrue)となり、再びi<50となる.比較しprintfで出力します.
この過程は繰り返される.iが50未満になるまで
ブール:True、False、1、0、yes、no などのブール式文字:1文字(例)「a」、「Z」、「?」 文字列:文字列 int:整数(たとえば、5、28、-3、0 )、サイズまたは特定のビットを指定します. long:より大きな整数 float:浮動小数点実数(例:3.14、0.0、-28.56 ) double:浮動小数点を含むより大きな実数 %c : char %f : float, double %i : int %li : long %s : string +:プラス -:マイナス *: を乗算/: で割る%:残り &および:および |:または //:注釈
printf("Your total is %.2f\n", price*1.0625);
%fでは、fの前に必要な小数点以下の桁数を加えればよい.
priceが100の場合、入力%.2fは106.25を出力します.
例
これを使用するには、main(void)ではなく void check(int n)という関数に上部に言及する必要があります.
コンピュータは上から読み始めるので、指定した関数がmain(void)の下にあるとmain(void)は「おい、void咳(intn)関数は存在しないのか?」と言います.エラー
しかし、設計上、コードを効率的に整理し、記述するためには、main(void)は、ファイルを最初に開くときに最上位に位置しなければならない.これにより、良好な可読性が得られる.
プロジェクトをするときはたくさんの関数を書くので、すべてが上にあると読みにくくなります.
したがって、関数を一番下に置き、まず一番上に関数を定義してmain(void)で読み取ると、コンピュータはそれを読み取ることができます.
2.例
while(n<1); 次の操作を行います.
nが1より小さい場合は、問題を繰り返します.
whileを単独で使用する場合、whileの条件は本当でなければなりませんが、do-whileはdoに先に実行させることができます.
int get_positive_int(void) ❓
int get positive int(void)カッコ内のvoid入力は受け付けません.
括弧には何も入れる必要はなく、任意の数の整数を受け入れるだけです.
ただし、cs 50ライブラリのget stringのような関数のように、値を受信して変数に保存して戻したいので、voidではなくint(出力タイプ)を関数の前に使用します.
intは出力のタイプ|(void)は入力のタイプ
注意:get positive intはcs 50にない関数です.
最終結果
n個の横線、n個の縦線の「#」を出力します.
1)C基礎
C言語
int main(void){}
When(緑のフラグ)clickはint main(void){}と同じです.
printf("hello world");
sayhelloは、worldのブロックと同じ役割を果たしています.hello worldを出力します.
#include
stdio.hという名前のファイルを検索し、printf関数にアクセスするのを助けます.
すなわちstdioです.hファイルを読み込み(参照)と解釈すれば簡単です.
ライブラリの役割を果たしています.
セミコロン(;)ラベルを貼る.
printf("hello world\n"); で、nは改行(enter)として機能します.terminalで改行して可読性を高めます.
コンパイラ
上端に書かれたコードを「ソースコード」と呼び、そのコードをバイナリに変換して「マシンコード」と呼ぶ.
「ソースコード」をコンピュータが理解できる「マシンコード」、すなわちコンパイルに変換する必要があります.
ターミナルウィンドウの$記号の横にあるclang hello.cを入力するとコンパイルできます.
clangはコンパイラhellocはファイルをコンパイルするコードを表す.
その結果、a.outというマシンコードファイルが生成されます.
./a.outコマンドを入力してターミナルウィンドウで実行します.
コンパイルプロセスについては、次の手順に従います。
2)文字列
ここで、askはget stringに似ています.
get string関数がユーザー名を返すとresult変数に格納されます.
string=単語または文
stringを使用してデータ型を指定し、変数を指定します.
これを形式指定者といいます.
変数名は任意に指定できます.
✔割付演算子
プログラミングの"="は、左側に右側に指定されていることを示します.
「==」は同じことを表します.
しゅつりょく
printf("hello, %s\n", answer);
変数の答えに含まれる内容は出力されなければならないので、%を使用してstringのsを貼り付けて%sを入力するとstringパラメータが得られます.
「」(二重引用符)次の入力の答えは、この変数を使用することを示します.
get string関数を使用するには
#include
今コンパイルするなら?
$ clang -o string string.c -lcs50
-o stringはstringです.文字列c.outというマシンコードを使用して格納します.つまりstringという名前のマシンコードファイルを保存します.
-lcs 50は「link」という接続で、-lパラメータに追加した「cs 50」ファイルの合計です.これにより、コンパイル時にcs 50ファイルに接続することができます.
2つのコードを1つのプログラムとして実行できます.
makeを使用する場合は、ターミナルウィンドウにその文章を入力する必要はなく、makeを使用してコンパイルするしかありません.
3)条件文と循環
条件文
C言語では、変数値を
counter = counter +1;
これは右から左への意味にも当てはまる.
それができれば
counter += 1; またはcounter++;使えます.
条件などの末尾にセミコロンをつけない
if文で条件文を記述し、ifカッコ内で演算子を使用してブール関数を導出し、条件出力値に基づいて出力できます.
ブールは真と偽、true or false
初期if文の対応する条件がtrueの場合、文を起動し、そうでない場合は、行elseまたはelse ifを読み出して出力します.
ループ
複文にはwhile文とfor文があります.
helloは,worldを50回繰り返し出力するにはwhile条件下で変数i<50を与えるだけでよい.
iが0に続くと無限出力が続くので、50の条件を設定すると、i=i+1になります.入力が必要です.
iは0からカウントを開始し、i<50であれば0から49をカウントして50回出力する.
文よりも設計効率の高いコードを記述する場合は、for文を記述することが望ましい.
整数(int)の変数iに0を入れ、iが50未満の場合は対応するコードを出力する.
出力後に再びi=i+1(出力値はtrue)となり、再びi<50となる.比較しprintfで出力します.
この過程は繰り返される.iが50未満になるまで
4)データ型、フォーマット指定子、演算子
変数のデータ型
フォーマット指定子
その他の演算子とコメント
整数とエラーを出力しようとしたときの小数点表示
printf("Your total is %.2f\n", price*1.0625);
%fでは、fの前に必要な小数点以下の桁数を加えればよい.
priceが100の場合、入力%.2fは106.25を出力します.
コメント
// 주석입니다.
5)ユーザー定義関数、ネストリング
カスタム関数
#include <stdio.h>
void cough(int n);
int main(void)
{
cough(3);
}
void cough(int n)
{
for (int i = 0; i < n; i++)
{
printf("cough\n");
}
}
関数void(int n)は、入力値を受け入れるintタイプというnという変数に格納される.これを使用するには、main(void)ではなく
コンピュータは上から読み始めるので、指定した関数がmain(void)の下にあるとmain(void)は「おい、void咳(intn)関数は存在しないのか?」と言います.エラー
プロジェクトをするときはたくさんの関数を書くので、すべてが上にあると読みにくくなります.
したがって、関数を一番下に置き、まず一番上に関数を定義してmain(void)で読み取ると、コンピュータはそれを読み取ることができます.
2.例
#include <cs50.h>
#include <stdio.h>
int get_positive_int(void);
int main(void)
{
int i = get_positive_int();
printf("%i\n", i);
}
int get_positive_int(void)
{
int n;
do
{
n = get_int("Positive Integer: ");
}
while (n < 1);
return n;
}
do{}while()は条件に制限されず、少なくとも1回{}の内容を実行することができる.while(n<1); 次の操作を行います.
nが1より小さい場合は、問題を繰り返します.
whileを単独で使用する場合、whileの条件は本当でなければなりませんが、do-whileはdoに先に実行させることができます.
int get_positive_int(void) ❓
int get positive int(void)カッコ内のvoid入力は受け付けません.
括弧には何も入れる必要はなく、任意の数の整数を受け入れるだけです.
ただし、cs 50ライブラリのget stringのような関数のように、値を受信して変数に保存して戻したいので、voidではなくint(出力タイプ)を関数の前に使用します.
intは出力のタイプ|(void)は入力のタイプ
注意:get positive intはcs 50にない関数です.
オーバラップリング
#include <cs50.h>
#include <stdio.h>
int main(void)
{
int n;
do
{
n = get_int("Size: ");
}
while (n < 1);
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
printf("#");
}
printf("\n");
}
}
n個の横線、n個の縦線の「#」を出力します.
Reference
この問題について(TIL 02::[CS 50]C言語), 我々は、より多くの情報をここで見つけました https://velog.io/@kanghe2won1/TIL-02-CS50-C언어テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol