informatika_3

Download Report

Transcript informatika_3

Úvod do jazyka C
Algoritmizácia
úloh 3
Načítanie a výpis znaku
char c;
c=getchar();
putchar(c);
// 1. moznost
printf(“\n\r Zadaj znak: ”);
scanf(“%c”,&c);
printf(“\n Znak: %c”,c);
// 2. moznost
2
Načítanie a výpis celého čísla
int i;
printf(“\n\r Zadaj cele cislo: ”);
scanf(“%d”,&i);
printf(“\n Cislo: %d”,i);
3
Načítanie a výpis reálneho
čísla
float f;
printf(“\n\r Zadaj realne cislo: ”);
scanf(“%f ”,&f);
printf(“\n Cislo: %f ”,f);
4
Načítanie a výpis reťazca
char str[15];
printf(“\n\r Zadaj meno: ”);
scanf(“%s”,&str);
printf(“\n Meno: ‘%s’ ”,str);
5
Tabuľka riadiacich znakov
\n
\r
\f
\t
\b
\a
\\
\’
\0
0x0A
0x0D
0x0C
0x09
0x08
0x07
0x5C
0x2C
0x00
nový riadok
návrat na začiatok riadku
nová stránka
tabulátor
posun doľava
pípnutie
spätné lomítko
apostrof
nulový znak
6
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”
7
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 28 a odriadkuje
8
Príklady riadiacich znakov
Obyčajné apostrofy:
 printf(“Toto je ‘backslash’: ‘\\’ \n”);
Vypíše Toto je ‘backslash’: ‘\’
Dvojité apostrofy:
 printf(“Toto je \”backslash\”: \”\\\” \n”);
Vypíše Toto je “backslash”: “\”
9
Príklady
printf(“Znak ‘%c’ ma ASCII kod %d (0x%x)\n”, c,
c, c);
Vypíše Znak ‘A’ ma ASCII kod 65 (0x41)
printf(“Je presne %2d: %2d\n“, hodiny, minuty);
Vypíše Je presne 1:12
Vypíše Je presne 13: 3
10
Príklady
printf(“Zaplatene: %10.2f Sk.\n“, pocet * cena_kus);
printf(“Zaplatene: %-10.2f Sk.\n“, pocet * cena_kus);
Vypíše Zaplatene: __________52.70 Sk.
Vypíše Zaplatene: 52.70_________Sk.
printf(“Mate %04d pokusov” , pokusov);
Vypíše Mate 0017 pokusov.
printf(“Mate %-4d pokusov” , pokusov);
Vypíše Mate 17__ pokusov.
11
Č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);




12
Časté chyby
int main(void)
{
…..
while (1) {}
// program
// zastavenie programu
return 0;
}
13
Konštanty

používajú sa pre označenie konkrétnej hodnoty
jedného dátového objektu daného typu.
#define
PI
3.14
if(cislo > PI)
{
}
14
Aritmetické výrazy
Typ operandov určuje či bude delenie
reálne alebo celočíselné :
int / int
int / float
float / int
float / float
- celočíselné
- reálne
- reálne
- reálne
vysledok = cislo1 / cislo2;
15
Aritmetické výrazy
Bipolárne operátory
 Sčítanie
 Odčítanie
 Násobenie
 Reálne delenie
 Celočíselné delenie
 Delenie modulo
+
*
/
/
%
(DIV)
(MOD)
16
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;
}
17
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;
c2 = i++;
// moznost 1.
// moznost 2.
18
Unipolárne operátory
int
i=5 , j=1, k;
i++;
j=++i;
j=i++;
k=–j+2;
- i bude 6
- j bude 7, i bude 7
- j bude 7, i bude 8
- k bude -5, j bude 7
19
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;

20
ASCII tabuľka

Obsahuje 255 znakov

Každému znaku je priradená hodnota 0255

Sú tu znaky a-z, A-Z, 0-9, ? ! $ : ;
21
ASCII tabuľka
0
170
(
1
/
171
)
210
?
2
;
174
0
250
!
65
a
184
…
‘
“”
91
Z
122
A
194
Á
158
Z
197
Č
22
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);
}
23