210 likes | 391 Views
Süsteemprogrammeerimine keeles C ja C#. Teine loeng. Sisu. keele konstruktsioonid Kommentaarid Muutuja printf; WriteLine Avaldis Juhtstruktuurid. Keele kontstruktsioonid. Algoritm – korralduste jada Programm – kirja pandud algoritm Moodul – programmidokument (fail)
E N D
Süsteemprogrammeerimine keeles C ja C# Teine loeng
Sisu • keele konstruktsioonid • Kommentaarid • Muutuja • printf; WriteLine • Avaldis • Juhtstruktuurid
Keele kontstruktsioonid • Algoritm – korralduste jada • Programm – kirja pandud algoritm • Moodul – programmidokument (fail) • Transleerimine – moodil(te) tõlkimine • Programm on nimeline korralduste jada, mida on võimalik käivitada opsüsteemis või mõnest teisest programmist
Programmi vormistus • Kindlad reeglid • Algus, lõpp, kasutamisreeglistik (liides) xxx Nimi (yyy) { keha } vastus Sõdur (käsk) { tegevus }
Kõige lühem programm • C ja C++void main (void) { } • C# • Iga moodul on klass • Igas klassis peab olem 1 liige • Süsteemi poolt käivitataval moodulil peab olema ühene käivituskoht class x { static void Main() { } }
Programm võiks midagi ütelda • printf( ); // C ja C++ • Write( ); // C# • WriteLine( ); // C# • C ja C++: • printf on ise programm, ta on kuskil kirjeldatud ja selle kasutamiseks #include <stdio.h> • C# • Write ja WriteLine on mingi klassi (Console) meetodid, seepärast using System.Console või System.Console.WriteLine( );
Kommentaarid • // kuni rea lõpp -- inline comment • /* kuni */ -- block comment • Milleks • Selgitamiseks • Dokumenteerimiseks • Ajutiseks eemaldamiseks • Kommentaarid on ka: • Treppimine • Muutujate nimed
Kommenteerimine C# keeles • Samad võimalused, plus • /// suhtlemine IDEga (ToDo) • /// <Summary> • /// Automatane dokumentatsioon • /// <Summary>
Muutuja • Nimeline mälupiirkond • Ulatus • Sisu • Tähendus • Andmetüüp määrab: • Ulatuse • Sisu tähenduse • Operatsioonide tähenduse
Muutuja kirjeldamine • Tüübinimi MuutujaNimi; • Tüübinimi MuutujaNimi = algväärtus; • seltsimees Henn; • Inimene Henn; • õpetaja Henn; • õpilane Henn;
Literaalid • Nimeta isekirjeldavad tüübiga mälupiirkonnad, mida ei saa (tohi) muuta • Arvud (4; 7; 18;) • Tekstid (“neidmevaatamehiljem”)
Esimesed tegevused • Omistamine • Muutuja = avaldis; • Suurendamine • Muutuja++; Muutuja += lisa ; • ++Muutuja; • Vähendamine • Muutuja-- Muutuja -= maha; • --Muutuja
Avaldis • Tehted • Aritmeetika (+, -, ++, --, *, /, %) • BitiLoogika (&, |, ^, !) • Loogika (&&, ||, ^^) • Nihutamine (<<, >>) • Omistus (=, +=, -=, *=, /=, %=, &=, ^=, <<=, >>=) • Tingimuslik ?: • Võrdlused ==, != >=, jne
Tehete järjekord (prioriteet) () [] . -> ++ -- & ! * / % + - >> << == != & ^ | && || ?: = += -= *= /= ... Avaldis (jätk)
Tingimuslik algoritm - IF • if (tingimus) lause; • if (tingimus) lause else lause; • if (tingimus) lause else if (tingimus) lause; • Lause := {lausete jada}
Tingimuslik algoritm - SWITCH • if (palk –arved) = 0 • minekoju; • else if (palk –arved) > 100 • minejooma; • else if (palk –arved) > 1000 • mineostmamidagi ;
Tingimuslik algoritm – SWITCH • switch (palk – arved) • { • case 0 : minekoju; • case
Tingimusli algoritm – SWITCH • switch (i) • { • case 1: tegevus1; • case 2: tegevus2; • case 3: tegevus3; • case 4: tegevus4; • default: muidutegevus; • }
Tingimusli algoritm – SWITCH • switch (i) • { • case 1: tegevus1; break; • case 2: tegevus2; break; • case 3: tegevus3; break; • case 4: tegevus4; break; • default: muidutegevus; • }
Tsükkel (kordajaga) – FOR • for (käivitus; lõpetus; samm) lause ; • Käivitus: muutuja = algväärtus • Lõpetus: loogiline avaldis • Samm: muutuja++ või muutuja += 10 • for (i = 0; i < 10; i++) printf(“i on%d”, i) • for ( ) • { • }
Tsükkel – WHILE ja DO • while (tingimus) lause; • do lause while (tingimus);