Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilRostislav Navrátil
1
Příkazy Přednáška č. 4
2
Příkazy (statements) Příkaz – dílčí krok programu (část kódu – zpravidla jeden řádek) Program – posloupnost příkazů Příkazy jsou vykonávány sekvenčně (postupně jeden za druhým) Existují však speciální příkazy ovlivňující pořadí vykonávaných příkazů (podmínky, cykly, příkazy skoku)
3
Prázdný příkaz Prázný příkaz neprovádí nic int iPodm = 1; if (iPodm ) ;// prazdny prikaz else printf("false"); if (iPodm ) { } // prazdny slozeny prikaz (blok) else { printf("false"); }
4
Výrazový příkaz Výraz ukončený středníkem (přiřazení, volání funkcí, …) int x = 1; int y; y = x + 1;// vyrazovy prikaz - prirazeni y = sin(x);// vyrazovy prikaz – prirazeni, volani funkce x++;// vyrazovy prikaz – inkrementace // (v podstate x = x + 1)
5
Složený příkaz Složený příkaz (compound statement) – blok je posloupnost příkazů uzavřených do složených závorek { } Může obsahovat vnořený blok Pro nadřazený blok se složený příkaz jeví jako jeden příkaz int main(int argc, char* argv[]) { char str[] = "A31B6CD2"; int n; int iZmen = 0; for ( n=4; n<9; n++) { if( str[n] >= '0' && str[n] <= '9') { str[n] = '_'; iZmen++; } printf("Opraveny retezec: %s Pocet zmen: %d\r\n\n", str, iZmen); getchar(); return 0; }
6
Příkazy pro větvení (1) Podmínka – příkaz if Syntaxe: if (podm) prikaz_pri_pravdivosti_podminky; else prikaz_pri_nepravdivosti_podminky; if( str[n] >= '0' && str[n] <= '9') { str[n] = '_'; iZmen++; } else iPonech++;
7
Příkazy pro větvení (2) Přepínač – příkaz switch Syntaxe: switch (celocislelna_promenna) { case 1:prikaz_1a; prikaz_1b; break; case ‘A‘:prikaz_A; break; default:prikaz_ostatni; }
8
Příkazy pro větvení (3) Přepínač – příkaz switch - příklad #include // rand() - generator nahodnych cisel #include int main(int argc, char* argv[]) { srand( 1000*(unsigned)time( NULL ) ); printf("Co budu vecer delat:\r\n"); switch ( rand()%3) { case 0: printf("Pujdu spat."); break; case 1: printf("Pujdu na jedno."); break; case 2: printf("Budu programovat ;-)."); break; default: printf("Toto by nemelo nikdy nastat."); } getchar(); return 0; }
9
Příkazy pro cykly (1) Příkaz for Syntaxe: for (inicializ; podm; aktual) prikaz; Parametry jsou nepovinné Např. for(;;) prikaz;je nekonečný příkaz char text[] = "dole v dole"; unsigned int n; for( n=0; text[n]!='\0'; n++) if( text[n]!=' ') text[n] -= 32; printf( "%s\r\n", text);
10
Příkazy pro cykly (2) Příkaz while Syntaxe:while (podm) prikaz; Pozor, zapomenete-li ovlivňovat podmínku v příkazu, může dojít k nekonečnému cyklu Knihovna Knihovna float x=3, y, min=1000;// double pro vetsi presnost int count=0; while( (y=fabs( x*x-1.0))<min) // je-li akt fcni hod. mensi nez min { min = y; // uloz akt fcni hod. do min x -= 0.1; // dalsi krok count++; // pocitadlo kroku } x += 0.1; // krok zpet printf("Min %f v %d krocich\r\n", x, count); getchar();
11
Příkazy pro cykly (3) Příkaz do Syntaxe:do prikaz; while (podm); Pozor, zapomenete-li ovlivňovat podmínku v příkazu, může dojít k nekonečnému cyklu Příkaz se vždy provede alespoň jedenkrát y=fabs( x*x-1.0);// pocatecni naplneni y do { min = y; // uloz akt fcni hod. do min x -= 0.1; // dalsi krok count++; // pocitadlo kroku } while( (y=fabs( x*x-1.0))<min); x += 0.1; // krok zpet printf("Min %f v %d krocich\r\n", x, count); getchar();
12
Příkazy pro skoky Příkazy break, continue, goto, return Příkaz break – okamžité ukončení bloku switch, for, while, nebo do a vystoupení z iterací Příkaz continue – okamžité ukončení bloku for, while, nebo do, ale pokračování v další iteraci cyklu Příkaz goto – skok na definované návěští Příkaz return – okamžitý návrat z funkce char* dist = "59a0.c2:25"; // chybne cislo int test, n; for( n=0; dist[n]!='\0'; n++) { if ( dist[n] == ':' ) break; test = (dist[n]>='0') && (dist[n]<='9'); test = test || (dist[n]=='.'); if( !test) continue; printf("%c", dist[n]); } getchar();
13
Příklad (1) Vytvořte program, který vypočítá kořeny libovolné kvadratické rovnice: y = ax 2 + bx + c y = ax 2 + bx + c Koeficienty a, b, c deklarujte jako racionální čísla. Hodnoty koeficientů načtěte jako řetězce z konzolového okna, a následně tyto řetězce na čísla převeďte. Vyjdou-li kořeny komplexní, vypište chybové hlášení.
14
Příklad (2) Vývojový diagram
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.