C tili kursi

Poydevordan pointer va ma'lumot tuzilmalarigacha. Tizim dasturlash uchun eng muhim til.

Boshlang'ich · 55 ta dars · ~3 oy

Mavzular: O'zgaruvchilar va turlar, Shartlar va sikllar, Funksiyalar, Massivlar va satrlar, Pointerlar, Dinamik xotira, Struct va Union, Fayllar bilan ishlash, Ma'lumot tuzilmalari, Algoritmlar

Asoslar

  1. C tili tarixi va nima uchun o'rganish kerak
  2. Kompilyator o'rnatish (GCC / Clang)
  3. Birinchi dastur — Hello World
  4. O'zgaruvchilar va ma'lumot turlari
  5. Kirish / chiqish: scanf va printf
  6. Arifmetik va mantiqiy operatorlar
  7. Shartli operatorlar — if / else / else if
  8. switch–case
  9. Sikllar — for, while, do-while
  10. 1-bo'lim mashqlari va masalalar

Funksiyalar va Massivlar

  1. Funksiyalar — e'lon, ta'rif, chaqirish
  2. O'zgaruvchilar ko'rinishi va umr
  3. Rekursiya
  4. 1 o'lchovli massivlar
  5. Massiv va funksiyalar
  6. Ko'p o'lchovli massivlar (2D, 3D)
  7. Satrlar (strings) — char massivi
  8. string.h kutubxonasi
  9. Bubble, Selection, Insertion sort
  10. Linear va Binary qidiruv
  11. math.h va stdlib.h kutubxonalari
  12. 2-bo'lim mashqlari

Ko'rsatkichlar (Pointers)

  1. Ko'rsatkichlarga kirish
  2. Ko'rsatkich arifmetikasi
  3. Pointer va funksiyalar — call by reference
  4. Ko'rsatkichlar massivi va pointer to pointer
  5. Dinamik xotira — malloc, calloc, realloc
  6. Dinamik massivlar
  7. Funksiya ko'rsatkichlari
  8. struct — tuzilmalar
  9. struct va pointer, -> operatori
  10. union va enum
  11. typedef va bit-fields
  12. 3-bo'lim mashqlari

Fayllar va Preprocessor

  1. Fayl bilan ishlash — fopen, fclose
  2. Matnli faylga o'qish va yozish
  3. Binary fayl ishlash
  4. Xato boshqaruvi — errno, perror, exit
  5. Preprocessor direktivlari
  6. Makrolar va inline funksiyalar
  7. Ko'p fayllik loyiha — header fayllar
  8. 4-bo'lim mashqlari

Ma'lumot Tuzilmalari va Algoritmlar

  1. Bog'liq ro'yxat — Linked List
  2. Ikki tomonlama bog'liq ro'yxat (DLL)
  3. Stack (Stek) implementatsiyasi
  4. Queue (Navbat) implementatsiyasi
  5. Ikkilik daraxt (Binary Tree)
  6. Binary Search Tree (BST)
  7. Merge sort va Quick sort
  8. Hash jadval (Hash Table)
  9. Graflar va BFS / DFS
  10. 5-bo'lim mashqlari
  11. Bit operatsiyalari va bitmask
  12. POSIX — fayllar va jarayonlar (Linux)
  13. Yakuniy loyiha — Kontakt boshqaruvchi