ZAP - Cvičenie č. 7 | Lab 7 (2023/2024)
Preber si túto prednášku so svojou AI
Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.
Zhrnutie prednášky
Cvičenie sa venuje práci s reťazcami v jazyku C, ktoré sú reprezentované ako polia znakov. Ukazuje sa načítanie a výpis reťazca pomocou scanf a printf s formátom %s, pričom sa vysvetľuje problém funkcie scanf pri načítaní viacslovných reťazcov kvôli oddeľovaniu bielymi znakmi. Ako alternatíva sa predstavuje funkcia fgets, ktorá dokáže načítať celý riadok vrátane medzier, a funkcia puts na výpis. Ďalej sa rozoberá koncept null-terminátora ako znaku ukončujúceho reťazec a jeho vplyv na veľkosť poľa zistenú pomocou sizeof. Na záver sa na príklade overovania anagramov demonštrujú funkcie z knižníc string.h (strlen, strtok) a ctype.h (isalpha, tolower) na úpravu a spracovanie reťazcov.
- - Reťazce v C sú polia znakov, dátový typ string neexistuje.
- - scanf s %s načíta iba jedno slovo, keďže biele znaky slúžia ako oddeľovače (delimiter).
- - fgets umožňuje načítať celý riadok vrátane medzier a Enteru, výstup sa vypíše cez puts.
- - Reťazec je ukončený null-terminátorom ('\0'), ktorý sa počíta do veľkosti poľa zistenej cez sizeof.
- - Pri práci s reťazcami je dôležité overiť, či pole/reťazec existuje pred volaním funkcií naň.
- - Funkcie isalpha a tolower z ctype.h slúžia na identifikáciu písmen a prevod na malé písmená.
- - strtok z string.h sa používa na rozdelenie reťazca na časti podľa zadaného oddeľovača (napr. medzery).
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky