Rumah >pembangunan bahagian belakang >C++ >CS- Minggu 1
Mesin hanya memahami binari. Apabila kita menulis senarai arahan yang boleh dibaca manusia untuk komputer, mesin hanya memahami apa yang kini kita panggil kod mesin. Kod mesin ini hanya terdiri daripada 1s dan 0s.
Dengan program khas yang dipanggil Pengkompil
, kita boleh menukar kod sumber kepada kod mesin.
Kita boleh menilai kod yang baik mengikut 3 kriteria:
ketepatan (
Fungsi
#include <stdio.h> int main(void) { printf("salom, dunyo\n") }hello, dunia
. Watak istimewa di dalamnya memberitahu pengkompil bahawa watak seterusnya adalah arahan khas. Dan simbol n selepasnya bermaksud "baris baharu" (baris baharu).
Ungkapan pada baris pertama kod ialah perintah yang sangat istimewa yang mengatakan kami ingin menggunakan keupayaan perpustakaan yang dipanggil stdio.h. Pustaka ini membenarkan kami menggunakan fungsi printf.
Perpustakaan
ialah satu set fungsi siap pakai yang boleh kami gunakan dalam kod kami.
Pembolehubah
#include <cs50.h> #include <stdio.h> int main(void) { string answer = get_string("Ismingiz nima? "); printf("Assalomu alaykum, %s\n", answer); }jawapan ialah tempat yang dikhaskan untuk mengingati teks khas yang dimasukkan pengguna, yang kami panggil pembolehubah. jawapan adalah daripada jenis
rentetan
. Selain itu, terdapat banyak jenis data lain seperti int, bool, char, dsb.
%s ialah pemegang tempat yang dipanggil kod format
yang memberitahu fungsi printf untuk bersedia menerima beberapa pembolehubah rentetan.
Terdapat juga kod format untuk jenis data lain, contohnya:
%i - untuk
int
(integer).
Pengendali bersyarat
#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"); } }integer
), pembolehubah x dan y. Nilai mereka diisi menggunakan fungsi get_int pustaka cs50.h. Menggunakan pengendali bersyarat, kami membandingkan nilai x dan y dan memaparkan mesej pada skrin bergantung pada hasilnya.
Gambar rajah sekat ialah cara kita boleh menyemak cara atur cara komputer berfungsi. Dengan kaedah ini kami boleh menyemak kecekapan kod kami.
Mari lihat gambarajah blok kod kami di atas:
Kami boleh menambah baik program dengan pengekodan seperti berikut:
#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"); } }
Pengendali ulangan
ke skrin 3 kali:
#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++; } }Kami boleh menambah baik lagi reka bentuk program kami dengan menggunakan gelung for:
Gelung
#include <stdio.h> int main(void) { for (int i = 0; i < 3; i++) { printf("meow\n"); } }Argumen pertama: int i = 0 memulakan pembilang kami.
Hujah kedua: i < 3 - keadaan diperiksa.
Akhir sekali, hujah i++ bermaksud setiap kali bilangan i kita bertambah satu.
Kami juga boleh mencipta fungsi kami sendiri:
void meow(void) { printf("meow\n"); }Kami akan menggunakan fungsi meow yang dicipta ini di dalam fungsi utama:
#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.
Atas ialah kandungan terperinci CS- Minggu 1. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!