機械はバイナリのみを理解します。私たちが人間が判読できる命令のリストをコンピューターに作成すると、機械は現在マシンコードと呼ばれるものだけを理解します。この機械語コードは 1 と 0 のみで構成されます。
コンパイラ
と呼ばれる特別なプログラムを使用すると、ソース コードをマシン コードに変換できます。
良いコードは 3 つの基準に従って判断できます:
正確さ (
#include <stdio.h> int main(void) { printf("salom, dunyo\n") }
を出力します。その中の特殊文字は、次の文字が特殊な命令であることをコンパイラに伝えます。そして、その後の記号 n は、「改行」 (改行) を意味します。
コードの最初の行の式は、stdio.h というライブラリの機能を使用することを示す非常に特殊なコマンドです。このライブラリを使用すると、関数 printf を使用できるようになります。
ライブラリ
は、コードで使用できる既製の関数のコレクションです。
変数
#include <cs50.h> #include <stdio.h> int main(void) { string answer = get_string("Ismingiz nima? "); printf("Assalomu alaykum, %s\n", answer); }
string
です。また、int、bool、char など、他にも多くのデータ型があります。
%s は フォーマット コード
と呼ばれるプレースホルダーで、printf 関数に文字列変数を受け入れる準備をするように指示します。
他のデータ型の形式コードもあります。例:
%i -
int
(整数). の場合
条件演算子
#include <cs50.h> #include <stdio.h> int main(void) { int x = get_int("x ni kiriting: "); int y = get_int("y ni kiriting: "); if (x < y) { printf("x soni y sonidan kichik\n"); } }
) の 2 つの変数、変数 x と y を作成しています。それらの値は、cs50.h ライブラリの get_int 関数を使用して設定されます。条件演算子を使用して、x と y の値を比較し、結果に応じて画面にメッセージを表示します。
ブロック図 は、コンピューター プログラムがどのように動作するかを確認する方法です。このメソッドを使用すると、コードの効率をチェックできます。
上記のコードのブロック図を見てみましょう:
次のようにコーディングすることでプログラムを改善できます:
#include <cs50.h> #include <stdio.h> int main(void) { int x = get_int("x ni kiriting: "); int y = get_int("y ni kiriting: "); if (x < y) { printf("x soni y sonidan kichik\n"); } else if (x > y) { printf("x soni y sonidan katta\n"); } else { printf("x soni y soniga teng\n"); } }
繰り返し演算子
を3回出力しましょう:
#include <stdio.h> int main(void) { printf("meow\n"); printf("meow\n"); printf("meow\n"); }
#include <stdio.h> int main(void) { for (int i = 0; i < 3; i++) { printf("meow\n"); } }
2 番目の引数: i
最後に、i++ 引数は、数値 i が 1 増加するたびに意味します。
独自の関数を作成することもできます:
void meow(void) { printf("meow\n"); }
#includevoid meow(void); int main(void) { for (int i = 0; i < 3; i++) { meow(); } } void meow(void) { printf("meow\n"); }
meow funksiyasini asosiy funksiya ichida chaqira olishimiz uchun funksiya prototipi kodning yuqori qismida void meow(void) sifatida berilgan.
Keling, C tilida kalkulyator yasaymiz:
#include <cs50.h> #include <stdio.h> int main(void) { // x qiymati kiritilsin int x = get_int("x: "); // y qiymati kiritilsin int y = get_int("y: "); // Qo'shish amalini bajarish printf("%i\n", x + y); }
get_int funktsiyasi yordamida foydalanuvchidan butun son bo'lgan x va y o'zgaruvchilariga qiymat berishi so'ralyabdi. Keyin printf funksiyasi butun son uchun format kodi - %i belgisi yordamida x + y qiymatini chop etadi.
Arifmetik operatorlar kompilyator tomonidan qo'llab-quvvatlanadigan matematik operatsiyalardir. C tilida arifmetik operatorlarga quyidagilar kiradi:
Abstraksiya - bu muammoni kichik-kichik bo'laklarga bo'lib hal qilish orqali kodimizni soddalashtirish san'ati.
Biz yuqoridagi kodimizni quyidagicha abstraktlashimiz mumkin:
#include <cs50.h> #include <stdio.h> int add(int a, int b); int main(void) { // x qiymati kiritilsin int x = get_int("x: "); // y qiymati kiritilsin int y = get_int("y: "); // Qo'shish amalini bajarish printf("%i\n", add(x, y)); } int add(int a, int b) { return a + b; }
Bunda parametr sifatida a va b butun sonlarini qabul qilib oladigan va ularning yig'indisini qaytaradigan alohida add funksiyasi e'lon qilingan va asosiy funksiya ichida argument sifatida x va y butun sonlarini olib add(x, y) funksiyamiz chaqirilyabdi.
Kommentlar - kompyuter dasturining asosiy qismlari bo'lib, yozgan kodimiz nima vazifa bajarayotganini ifodalovchi, boshqa dasturchilarga, shuningdek o'zimizga tushunarli hamda qisqa qilib qoldirgan izohlarimizdir. Kommentni yozish uchun shunchaki ikkita // beligisidan foydalanamiz:
#include <cs50.h> #include <stdio.h> int main(void) { // Musbat butun son kiritilsin int n; do { n = get_int("Musbat butun son kiriting: "); } while (n < 1); }
Ma'lumotlar turlari o'zgaruvchida saqlanishi mumkin bo'lgan ma'lumotlar turini belgilaydi. Misol uchun, o'zgaruvchilar raqamlar, belgilar yoki mantiqiy qiymatlarni saqlashi mumkin. O'zgaruvchining turi kompyuterga ushbu ma'lumotlarni qanday boshqarishni aytadi.
C tilidagi umumiy maʼlumotlar turlari:
Har bir turning o'ziga xos chegaralari bor. Misol uchun, xotiradagi cheklovlar tufayli int ning eng yuqori qiymati 4294967295 bo'lishi mumkin. Agar biz int ni uning eng yuqori qiymatidan o'tkazib sanashga harakat qilsak, bu o'zgaruvchida noto'g'ri qiymat saqlanishiga (integer overflow) olib keladi.
Xotirani noto'g'ri ishlatish kodimizdagi xatolar yoki muammolarga olib kelishi mumkin. Muammolarni oldini olish uchun biz to'g'ri ma'lumot turidan foydalanayotganimizga ishonch hosil qilishimiz kerak.
Ushbu maqolada CS50x 2024 manbasidan foydalanilgan.
以上がCS - 第 1 週の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。