Maschinen verstehen nur Binär. Wenn wir eine Liste menschenlesbarer Anweisungen für einen Computer schreiben, verstehen Maschinen nur das, was wir heute Maschinencode nennen. Dieser Maschinencode besteht nur aus Einsen und Nullen.
Mit einem speziellen Programm namens Compiler
können wir den Quellcode in Maschinencode umwandeln.
Wir können guten Code anhand von drei Kriterien beurteilen:
Korrektheit (
Die
#include <stdio.h> int main(void) { printf("salom, dunyo\n") }
. Das darin enthaltene Sonderzeichen teilt dem Compiler mit, dass das nächste Zeichen eine spezielle Anweisung ist. Und das Symbol n dahinter bedeutet "neue Zeile" (neue Zeile).
Der Ausdruck in der ersten Codezeile ist ein ganz besonderer Befehl, der besagt, dass wir die Funktionen einer Bibliothek namens stdio.h nutzen möchten. Diese Bibliothek ermöglicht uns die Verwendung der Funktion printf.
Bibliotheken
ist eine Reihe vorgefertigter Funktionen, die wir in unserem Code verwenden können.
Variablen
#include <cs50.h> #include <stdio.h> int main(void) { string answer = get_string("Ismingiz nima? "); printf("Assalomu alaykum, %s\n", answer); }
string
. Außerdem gibt es viele andere Datentypen wie int, bool, char usw.
%s ist ein Platzhalter namens Formatcode
, der die printf-Funktion anweist, sich auf die Annahme einer Zeichenfolgenvariablen vorzubereiten.
Es gibt auch Formatcodes für andere Datentypen, zum Beispiel:
%i – für
int
(Ganzzahlen).
Bedingte Operatoren
#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"); } }
), Variablen x und y. Ihre Werte werden mit der Funktion get_int der Bibliothek cs50.h gefüllt. Mit dem bedingten Operator vergleichen wir die Werte von x und y und zeigen je nach Ergebnis eine Meldung auf dem Bildschirm an. Mit dem
Blockdiagramm können wir überprüfen, wie ein Computerprogramm funktioniert. Mit dieser Methode können wir die Effizienz unseres Codes überprüfen.
Sehen wir uns das Blockdiagramm unseres Codes oben an:
Wir können das Programm verbessern, indem wir wie folgt programmieren:
#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"); } }
Wiederholungsoperatoren
auf dem Bildschirm ausgeben:
#include <stdio.h> int main(void) { printf("meow\n"); printf("meow\n"); printf("meow\n"); }
#include <stdio.h> int main(void) { int i = 0; while (i < 3) { printf("meow\n"); i++; } }
Die
#include <stdio.h> int main(void) { for (int i = 0; i < 3; i++) { printf("meow\n"); } }
Zweites Argument: i < 3 - geprüfter Zustand.
Schließlich bedeutet das i++-Argument, dass sich unsere Zahl jedes Mal um eins erhöht.
Wir können auch unsere eigene Funktion erstellen:
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.
Das obige ist der detaillierte Inhalt vonCS – Woche 1. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!