240 likes | 390 Views
Úvod do jazyka C. Algoritmizácia úloh 3. Načítanie a výpis znaku. char c ; c=getchar(); // 1. moznost putchar(c); printf(“<br> Zadaj znak: ”); // 2. moznost scanf(“%c”,&c); printf(“<br> Znak: %c”,c);. Načítanie a výpis celého čísla. int i; printf(“<br> Zadaj cele cislo: ”);
E N D
Úvod do jazyka C Algoritmizácia úloh 3
Načítanie a výpis znaku char c; c=getchar(); // 1. moznost putchar(c); printf(“\n\r Zadaj znak: ”); // 2. moznost scanf(“%c”,&c); printf(“\n Znak: %c”,c);
Načítanie a výpis celého čísla int i; printf(“\n\r Zadaj cele cislo: ”); scanf(“%d”,&i); printf(“\n Cislo: %d”,i);
Načítanie a výpis reálneho čísla float f; printf(“\n\r Zadaj realne cislo: ”); scanf(“%f ”,&f); printf(“\n Cislo: %f ”,f);
Načítanie a výpis reťazca charstr[15]; printf(“\n\r Zadaj meno: ”); scanf(“%s”,&str); printf(“\n Meno: ‘%s’ ”,str);
Tabuľka riadiacich znakov printf(“\n\n\n\n\ text1 \n\n\n\n \”text2\” \a“); • reťazec “\n” presunie na ďalší riadok • Niekedy je nutné pridať aj “\r” pre návrat na začiatok • “\r\n”
Príklady riadiacich znakov • printf(“Sucet je %d”, i+j); • printf(“Sucet je %d”, 5+6); Vypíše Sucet je 11 • printf(“Pracovali na 100 %%”); Vypíše Pracovali na 100 % • printf(“Súčet je %d Súčin je %d\n“, i+j, i*j); Vypíše Súčet je 11 Súčin je 28a odriadkuje
Príklady riadiacich znakov Obyčajné apostrofy: • printf(“Toto je ‘backslash’: ‘\\’ \n”); VypíšeToto je ‘backslash’: ‘\’ Dvojité apostrofy: • printf(“Toto je \”backslash\”: \”\\\” \n”); VypíšeToto je “backslash”: “\”
Príklady printf(“Znak ‘%c’ ma ASCII kod %d (0x%x)\n”, c, c, c); VypíšeZnak ‘A’ ma ASCII kod 65 (0x41) printf(“Je presne%2d: %2d\n“, hodiny, minuty); VypíšeJe presne 1:12 VypíšeJe presne 13: 3
Príklady printf(“Zaplatene: %10.2f Sk.\n“, pocet * cena_kus); printf(“Zaplatene: %-10.2f Sk.\n“, pocet * cena_kus); VypíšeZaplatene: __________52.70 Sk. VypíšeZaplatene: 52.70_________Sk. printf(“Mate %04d pokusov” , pokusov); VypíšeMate 0017 pokusov. printf(“Mate %-4d pokusov” , pokusov); VypíšeMate 17__ pokusov.
Časté chyby • int main();za def. funkcie sa bodkočiarka nerobí • printf(“%d”, i, j); veľa argumentov • printf(“nejaky text %d”); málo argumentov • printf(“%d%d”, i); málo argumentov • scanf(“%d”, i) ; chýba znak & • scanf(“%d”, & c); formát pre char je %c preto správne má byťscanf(“%c”, & c);
Časté chyby int main(void) { ….. // program while (1) {} // zastavenie programu return 0; }
Konštanty • používajú sa pre označenie konkrétnej hodnoty jedného dátového objektu daného typu. #define PI3.14 if(cislo > PI) { }
Aritmetické výrazy Typ operandov určuje či bude delenie reálne alebo celočíselné : int/int - celočíselné int/float - reálne float/int - reálne float/float - reálne vysledok = cislo1 / cislo2;
Aritmetické výrazy Bipolárne operátory • Sčítanie + • Odčítanie - • Násobenie * • Reálne delenie / • Celočíselné delenie / (DIV) • Delenie modulo % (MOD)
int main() { int cele, podiel, zvysok; float realne; podiel = 26 / 3; printf("Výsledok celočíselného delenia je: %d \n",podiel); zvysok = 26 %3; printf("Výsledok delenia modulo je: %d \n",zvysok); realne = 26.0 / 3.0; printf("Výsledok desatinneho delenia je: %d \n",realne); return 0; }
Aritmetické výrazy Špeciálne unárne operátory • inkrement ++ • dekrement - - Obidva sa používajú ako predpony (prefix), tak aj ako prípony (suffix) • i++; • c1 = ++i; // moznost 1. • c2 = i++; // moznost 2.
Unipolárne operátory int i=5, j=1, k; i++; - i bude 6 j=++i; - j bude 7, i bude 7 j=i++; - j bude 7, i bude 8 k=–j+2; - k bude -5, j bude 7
Priraďovacie operátory • Základné priradenie l-hodnota= l-hodnota operátor výraz • Skrátený zápis l-hodnota operátor = výraz Príklady j = j + 5; j += 5; j = j - 4; j -= 4; j = j * 7; j *= 7; j = j / 5; j /= 5;
ASCII tabuľka • Obsahuje 255 znakov • Každému znaku je priradená hodnota 0-255 • Sú tu znaky a-z, A-Z, 0-9, ? ! $ : ;
Výpis ASCII tabuľky for (i=0; i<255; i++) { printf(“\n”); printf(“\n Znak: ‘%c’ “,i); printf(“\n Desiatkova hodnota: %d ”,i); printf(“\n Sestnastkova hodnota: 0x%x ”,i); }