Óbudai Egyetem. C programozási nyelv

Hasonló dokumentumok
Internet programozása. 3. előadás

Java programozási nyelv

Vezérlési szerkezetek

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Vezérlési szerkezetek. Szelekció Ciklusok

6. fejezet: Ciklusok

Programozás BMEKOKAA146. Dr. Bécsi Tamás 3. előadás

C programozási nyelv. Dr. Schuster György szeptember 18.

A programozás alapjai

Webprogramozás szakkör

BASH script programozás II. Vezérlési szerkezetek

1. Egyszerű (primitív) típusok. 2. Referencia típusok

A C programozási nyelv II. Utasítások. A függvény.

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

A C# programozási nyelv alapjai

C programozás. 1 óra Bevezetés

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 3. előadás

AWK programozás, minták, vezérlési szerkezetek

1. Jelölje meg az összes igaz állítást a következők közül!

Adminisztrációs feladatok Strukturált programok A C programnyelv elemei

INFORMATIKA tétel 2019

Programozás alapjai 3.Gy: C elágazások, ciklusok P R O

Komputeralgebra Rendszerek

Németh Levente Gyorstalpaló C programozás ÓE-KVK. Bevezető

S z á m í t ó g é p e s a l a p i s m e r e t e k

C programozási nyelv

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Pénzügyi algoritmusok

Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása

Mintavételes szabályozás mikrovezérlő segítségével

AWK programozás, minták, vezérlési szerkezetek

Nézzük tovább a lexikai egységeket!

Objektumorientált Programozás III.

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

Programozás I gyakorlat. 10. Stringek, mutatók

Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Vezérlési szerkezetek

Kezdő programozók hibái

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE

main int main(int argc, char* argv[]) { return 0; } main return 0; (int argc, char* argv[]) main int int int main main main

Programozási nyelvek JAVA EA+GY 1. gyakolat

A JavaScript főbb tulajdonságai

Kezdő programozók hibái Azok a buktatók, amikről ha nem tudsz, napokat töprenghetsz hiába programozás-tanulás közben

2.3. A C nyelv utasításai

Programozás alapjai C nyelv 10. gyakorlat. Standard függvények. Union

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Mutatók. Dr. Bécsi Tamás 7. Előadás

Occam 1. Készítette: Szabó Éva

Programozás I. gyakorlat

Matlab alapok. Baran Ágnes. Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

Programozás I. 5. Előadás: Függvények

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

Programozás C nyelven 5. ELŐADÁS. Sapientia EMTE

Imperatív programozás

Óbudai Egyetem. C programozási nyelv

Java II. I A Java programozási nyelv alapelemei

3 A C programozási nyelv szintaktikai egységei

Szoftvertervezés és -fejlesztés I.

Az algoritmusok alapelemei

Függvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r

Bevezetés a C programozási nyelvbe. Az Általános Informatikai Tanszék C nyelvi kódolási szabványa

1. Alapok. #!/bin/bash

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék

Programozás 1. Dr. Iványi Péter

Algoritmizálás + kódolás C++ nyelven és Pascalban

Bevezetés a programozásba I.

INFORMATIKA javítókulcs 2016

Szkriptnyelvek. 1. UNIX shell

Szkriptnyelvek II. Perl programok

Forráskód formázási szabályok

A C# PROGRAMOZÁSI NYELV

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Operációs rendszerek gyak.

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

C# gyorstalpaló. Készítette: Major Péter

C programnyelv 1. Kedves Kollegina, Kolléga!

Programozás II. 2. Dr. Iványi Péter

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

B I T M A N B I v: T M A N

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás

Kifejezések. Kozsik Tamás. December 11, 2016

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r

Programzás I gyakorlat

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)

Gyakorló feladatok Gyakorló feladatok

Szoftvertechnológia alapjai Java előadások

Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Adatbázis rendszerek Gy: Algoritmusok C-ben

Kifejezések. A programozás alapjai előadás. Operátorok. Kifejezések. Operátorok precedenciája. Operátorok precedenciája

Átírás:

Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C programozási nyelv II. Dr. Schuster György 2016. március 12. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 1 / 17

Ciklusok Ismétlődő feladatok esetén használjuk, Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 2 / 17

Ciklusok Ismétlődő feladatok esetén használjuk, paramétrek változhatnak, Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 2 / 17

Ciklusok Ismétlődő feladatok esetén használjuk, paramétrek változhatnak, de a kérdéses programrészlet struktúrája nem. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 2 / 17

Ciklusok Ismétlődő feladatok esetén használjuk, paramétrek változhatnak, de a kérdéses programrészlet struktúrája nem. Egy ciklus lehet: Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 2 / 17

Ciklusok Ismétlődő feladatok esetén használjuk, paramétrek változhatnak, de a kérdéses programrészlet struktúrája nem. Egy ciklus lehet: elöltesztelő. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 2 / 17

Ciklusok Ismétlődő feladatok esetén használjuk, paramétrek változhatnak, de a kérdéses programrészlet struktúrája nem. Egy ciklus lehet: elöltesztelő. Ekkor a ciklusban maradás feltételét a ciklus elején vizsgáljuk. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 2 / 17

Ciklusok Ismétlődő feladatok esetén használjuk, paramétrek változhatnak, de a kérdéses programrészlet struktúrája nem. Egy ciklus lehet: elöltesztelő. Ekkor a ciklusban maradás feltételét a ciklus elején vizsgáljuk. Előfordulhat, hogy a program be sem lép a ciklusba. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 2 / 17

Ciklusok Ismétlődő feladatok esetén használjuk, paramétrek változhatnak, de a kérdéses programrészlet struktúrája nem. Egy ciklus lehet: elöltesztelő. Ekkor a ciklusban maradás feltételét a ciklus elején vizsgáljuk. Előfordulhat, hogy a program be sem lép a ciklusba. hátultesztelő. Ekkor a ciklus törzse legalább egyszer lefut. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 2 / 17

Ciklusok Ismétlődő feladatok esetén használjuk, paramétrek változhatnak, de a kérdéses programrészlet struktúrája nem. Egy ciklus lehet: elöltesztelő. Ekkor a ciklusban maradás feltételét a ciklus elején vizsgáljuk. Előfordulhat, hogy a program be sem lép a ciklusba. hátultesztelő. Ekkor a ciklus törzse legalább egyszer lefut. A ciklustörzs: Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 2 / 17

Ciklusok Ismétlődő feladatok esetén használjuk, paramétrek változhatnak, de a kérdéses programrészlet struktúrája nem. Egy ciklus lehet: elöltesztelő. Ekkor a ciklusban maradás feltételét a ciklus elején vizsgáljuk. Előfordulhat, hogy a program be sem lép a ciklusba. hátultesztelő. Ekkor a ciklus törzse legalább egyszer lefut. A ciklustörzs: egy logikai blokk, Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 2 / 17

Ciklusok Ismétlődő feladatok esetén használjuk, paramétrek változhatnak, de a kérdéses programrészlet struktúrája nem. Egy ciklus lehet: elöltesztelő. Ekkor a ciklusban maradás feltételét a ciklus elején vizsgáljuk. Előfordulhat, hogy a program be sem lép a ciklusba. hátultesztelő. Ekkor a ciklus törzse legalább egyszer lefut. A ciklustörzs: egy logikai blokk, amely lehet egyetlen pontosvesszővel (;) lezárt kifejezés, Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 2 / 17

Ciklusok Ismétlődő feladatok esetén használjuk, paramétrek változhatnak, de a kérdéses programrészlet struktúrája nem. Egy ciklus lehet: elöltesztelő. Ekkor a ciklusban maradás feltételét a ciklus elején vizsgáljuk. Előfordulhat, hogy a program be sem lép a ciklusba. hátultesztelő. Ekkor a ciklus törzse legalább egyszer lefut. A ciklustörzs: egy logikai blokk, amely lehet egyetlen pontosvesszővel (;) lezárt kifejezés, vagy ( }) operátor pár közé írt kifejezések. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 2 / 17

for ciklus Elöltesztelő ciklus. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 3 / 17

for ciklus Elöltesztelő ciklus. Szerkezete: Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 3 / 17

for ciklus Elöltesztelő ciklus. Szerkezete: for(kif1;kif2;kif3) ciklustorzs Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 3 / 17

for ciklus Elöltesztelő ciklus. Szerkezete: for(kif1;kif2;kif3) ciklustorzs kif1 egyszer hajtódik végre. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 3 / 17

for ciklus Elöltesztelő ciklus. Szerkezete: for(kif1;kif2;kif3) ciklustorzs kif1 egyszer hajtódik végre. kif2 relációs jellegű. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 3 / 17

for ciklus Elöltesztelő ciklus. Szerkezete: for(kif1;kif2;kif3) ciklustorzs kif1 egyszer hajtódik végre. kif2 relációs jellegű. Ha igaz, a ciklus folytatódik. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 3 / 17

for ciklus Elöltesztelő ciklus. Szerkezete: for(kif1;kif2;kif3) ciklustorzs kif1 egyszer hajtódik végre. kif2 relációs jellegű. Ha igaz, a ciklus folytatódik. kif3 a ciklustörzs után hajtódik végre. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 3 / 17

for ciklus Elöltesztelő ciklus. Szerkezete: for(kif1;kif2;kif3) ciklustorzs for kif1 egyszer hajtódik végre. kif2 relációs jellegű. Ha igaz, a ciklus folytatódik. kif3 a ciklustörzs után hajtódik végre. kif3 kif1 kif2 Igaz? igen Ciklus törzs nem Vége Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 3 / 17

Példa Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 4 / 17

Példa Számoljuk ki a számok összegét 1-10 ig. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 4 / 17

Példa Számoljuk ki a számok összegét 1-10 ig. #include <stdio.h> int main(void) int i,j; j=0; Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 4 / 17

Példa Számoljuk ki a számok összegét 1-10 ig. #include <stdio.h> int main(void) int i,j; j=0; for(i=1;i<=10;i++) Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 4 / 17

Példa Számoljuk ki a számok összegét 1-10 ig. #include <stdio.h> int main(void) int i,j; j=0; for(i=1;i<=10;i++) j=j+i; } Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 4 / 17

Példa Számoljuk ki a számok összegét 1-10 ig. #include <stdio.h> int main(void) int i,j; j=0; for(i=1;i<=10;i++) j=j+i; } printf("%i\n",j); return 0; } Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 4 / 17

Tipikus hiba Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 5 / 17

Tipikus hiba for(...;...;...); Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 5 / 17

Tipikus hiba for(...;...;...);. } Ekkor a ciklustörzs csak a piros ;-ig tart! Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 5 / 17

Tipikus hiba for(...;...;...);. } Ekkor a ciklustörzs csak a piros ;-ig tart! Nincs hibaüzenet fordításkor. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 5 / 17

Tipikus hiba for(...;...;...);. } Ekkor a ciklustörzs csak a piros ;-ig tart! Nincs hibaüzenet fordításkor. A program fut. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 5 / 17

Tipikus hiba for(...;...;...);. } Ekkor a ciklustörzs csak a piros ;-ig tart! Nincs hibaüzenet fordításkor. A program fut. ROSSZUL!!! Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 5 / 17

Hmm, lehet így is Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 6 / 17

Hmm, lehet így is #include <stdio.h> int main(void) int i,j; Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 6 / 17

Hmm, lehet így is #include <stdio.h> int main(void) int i,j; for(i=1,j=0;i<=10;j+=i++); Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 6 / 17

Hmm, lehet így is #include <stdio.h> int main(void) int i,j; for(i=1,j=0;i<=10;j+=i++); printf("%i\n",j); return 0; } Az első kifejezés a i=1,j=0 Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 6 / 17

Hmm, lehet így is #include <stdio.h> int main(void) int i,j; for(i=1,j=0;i<=10;j+=i++); printf("%i\n",j); return 0; } Az első kifejezés a i=1,j=0, mert a vessző nem zárja le a kifejezést. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 6 / 17

Hmm, lehet így is #include <stdio.h> int main(void) int i,j; for(i=1,j=0;i<=10;j+=i++); printf("%i\n",j); return 0; } Az első kifejezés a i=1,j=0, mert a vessző nem zárja le a kifejezést. A második kifejezés változtalan. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 6 / 17

Hmm, lehet így is #include <stdio.h> int main(void) int i,j; for(i=1,j=0;i<=10;j+=i++); printf("%i\n",j); return 0; } Az első kifejezés a i=1,j=0, mert a vessző nem zárja le a kifejezést. A második kifejezés változtalan. A ciklustörzs üres, amit a ; zár le. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 6 / 17

Hmm, lehet így is #include <stdio.h> int main(void) int i,j; for(i=1,j=0;i<=10;j+=i++); printf("%i\n",j); return 0; } Az első kifejezés a i=1,j=0, mert a vessző nem zárja le a kifejezést. A második kifejezés változtalan. A ciklustörzs üres, amit a ; zár le. A harmadik kifejezés a j+=i++ Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 6 / 17

Hmm, lehet így is #include <stdio.h> int main(void) int i,j; for(i=1,j=0;i<=10;j+=i++); printf("%i\n",j); return 0; } Az első kifejezés a i=1,j=0, mert a vessző nem zárja le a kifejezést. A második kifejezés változtalan. A ciklustörzs üres, amit a ; zár le. A harmadik kifejezés a j+=i++, először i értéke adódik j -hez Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 6 / 17

Hmm, lehet így is #include <stdio.h> int main(void) int i,j; for(i=1,j=0;i<=10;j+=i++); printf("%i\n",j); return 0; } Az első kifejezés a i=1,j=0, mert a vessző nem zárja le a kifejezést. A második kifejezés változtalan. A ciklustörzs üres, amit a ; zár le. A harmadik kifejezés a j+=i++, először i értéke adódik j -hez, majd i inkrementálódik. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 6 / 17

Hmm, lehet így is #include <stdio.h> int main(void) int i,j; for(i=1,j=0;i<=10;j+=i++); printf("%i\n",j); return 0; } Az első kifejezés a i=1,j=0, mert a vessző nem zárja le a kifejezést. A második kifejezés változtalan. A ciklustörzs üres, amit a ; zár le. A harmadik kifejezés a j+=i++, először i értéke adódik j -hez, majd i inkrementálódik. Van ; a for( ) után. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 6 / 17

while Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 7 / 17

while A while utasítás szintén előltesztelő ciklust hoz létre. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 7 / 17

while A while utasítás szintén előltesztelő ciklust hoz létre. while(kif) ciklustorzs Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 7 / 17

while A while utasítás szintén előltesztelő ciklust hoz létre. while(kif) ciklustorzs Amíg a kifejezés igaz a ciklus fut, Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 7 / 17

while A while utasítás szintén előltesztelő ciklust hoz létre. while(kif) ciklustorzs Amíg a kifejezés igaz a ciklus fut, amint a kifejezés hamis lesz a ciklus befejeződik. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 7 / 17

while A while utasítás szintén előltesztelő ciklust hoz létre. while(kif) ciklustorzs Amíg a kifejezés igaz a ciklus fut, amint a kifejezés hamis lesz a ciklus befejeződik. A feltételviszgálat a ciklustörzs előtt kerül vérehajtásra. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 7 / 17

while A while utasítás szintén előltesztelő ciklust hoz létre. while(kif) ciklustorzs Amíg a kifejezés igaz a ciklus fut, amint a kifejezés hamis lesz a ciklus befejeződik. A feltételviszgálat a ciklustörzs előtt kerül vérehajtásra. Tehát a while segítségével előltesztelő ciklust hozhatunk létre. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 7 / 17

while A while utasítás szintén előltesztelő ciklust hoz létre. while(kif) ciklustorzs Amíg a kifejezés igaz a ciklus fut, amint a kifejezés hamis lesz a ciklus befejeződik. A feltételviszgálat a ciklustörzs előtt kerül vérehajtásra. Tehát a while segítségével előltesztelő ciklust hozhatunk létre. A ciklustörzs megegyezik a for -nál látottakkal. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 7 / 17

Példa Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 8 / 17

Példa #include <stdio.h> int main(void) Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 8 / 17

Példa #include <stdio.h> int main(void) int i=1; Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 8 / 17

Példa #include <stdio.h> int main(void) int i=1; int j=0; Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 8 / 17

Példa #include <stdio.h> int main(void) int i=1; int j=0; while(i<=10) Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 8 / 17

Példa #include <stdio.h> int main(void) int i=1; int j=0; while(i<=10) j=j+i; i++; } Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 8 / 17

Példa #include <stdio.h> int main(void) int i=1; int j=0; while(i<=10) j=j+i; i++; } printf("%i\n",j); return 0; } Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 8 / 17

Példa #include <stdio.h> int main(void) int i=1; int j=0; while(i<=10) j=j+i; i++; } printf("%i\n",j); return 0; } #include <stdio.h> int main(void) int i=1; int j=0; Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 8 / 17

Példa #include <stdio.h> int main(void) int i=1; int j=0; while(i<=10) j=j+i; i++; } printf("%i\n",j); return 0; } #include <stdio.h> int main(void) int i=1; int j=0; while(i<=10) j+=i++; Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 8 / 17

Példa #include <stdio.h> int main(void) int i=1; int j=0; while(i<=10) j=j+i; i++; } printf("%i\n",j); return 0; } #include <stdio.h> int main(void) int i=1; int j=0; while(i<=10) j+=i++; printf("%i\n",j); return 0; } Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 8 / 17

Tipikus hiba Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 9 / 17

Tipikus hiba Már megint az a fránya pontosvessző! Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 9 / 17

Tipikus hiba Már megint az a fránya pontosvessző! while(kif); Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 9 / 17

Tipikus hiba Már megint az a fránya pontosvessző! while(kif); Eddig tart a ciklustörzs.. } A program végtelen ciklusba kerül, Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 9 / 17

Tipikus hiba Már megint az a fránya pontosvessző! while(kif); Eddig tart a ciklustörzs.. } A program végtelen ciklusba kerül, mert a feltételben szereplő változó nem változik Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 9 / 17

Tipikus hiba Már megint az a fránya pontosvessző! while(kif); Eddig tart a ciklustörzs.. } A program végtelen ciklusba kerül, mert a feltételben szereplő változó nem változik (egy szálas programban). Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 9 / 17

do - while szerkezet Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 10 / 17

do - while szerkezet Hátultesztelő ciklust lehet vele létrehozni. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 10 / 17

do - while szerkezet Hátultesztelő ciklust lehet vele létrehozni. do ciklustorzs while(kif); Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 10 / 17

do - while szerkezet Hátultesztelő ciklust lehet vele létrehozni. do ciklustorzs while(kif); A ciklus addig fut, amíg a while -ban lévő kifejezés igaz. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 10 / 17

do - while szerkezet Hátultesztelő ciklust lehet vele létrehozni. do ciklustorzs while(kif); A ciklus addig fut, amíg a while -ban lévő kifejezés igaz. A ciklustörzs legalább egyszer lefut. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 10 / 17

do - while szerkezet Hátultesztelő ciklust lehet vele létrehozni. do ciklustorzs while(kif); A ciklus addig fut, amíg a while -ban lévő kifejezés igaz. A ciklustörzs legalább egyszer lefut. A ciklustörzs megegyezik a for -nál látottakkal. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 10 / 17

Példa Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 11 / 17

Példa Hosszan #include <stdio.h> int main(void) Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 11 / 17

Példa Hosszan #include <stdio.h> int main(void) int i=1; Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 11 / 17

Példa Hosszan #include <stdio.h> int main(void) int i=1; int j=0; Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 11 / 17

Példa Hosszan #include <stdio.h> int main(void) int i=1; int j=0; do Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 11 / 17

Példa Hosszan #include <stdio.h> int main(void) int i=1; int j=0; do j=j+i; i++; } while(i<=10); Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 11 / 17

Példa Hosszan #include <stdio.h> int main(void) int i=1; int j=0; do j=j+i; i++; } while(i<=10); printf("%i\n",j); return 0; } Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 11 / 17

Példa Hosszan #include <stdio.h> int main(void) int i=1; int j=0; do j=j+i; i++; } while(i<=10); printf("%i\n",j); return 0; } Röviden #include <stdio.h> int main(void) int i=1; int j=0; do Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 11 / 17

Példa Hosszan #include <stdio.h> int main(void) int i=1; int j=0; do j=j+i; i++; } while(i<=10); printf("%i\n",j); return 0; } Röviden #include <stdio.h> int main(void) int i=1; int j=0; do j+=i++; while(i<=10); Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 11 / 17

Példa Hosszan #include <stdio.h> int main(void) int i=1; int j=0; do j=j+i; i++; } while(i<=10); printf("%i\n",j); return 0; } Röviden #include <stdio.h> int main(void) int i=1; int j=0; do j+=i++; while(i<=10); printf("%i\n",j); return 0; } Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 11 / 17

Példa Hosszan #include <stdio.h> int main(void) int i=1; int j=0; do j=j+i; i++; } while(i<=10); printf("%i\n",j); return 0; } Röviden Tipikus hiba: lemarad a ; while mögül!!! #include <stdio.h> int main(void) int i=1; int j=0; do j+=i++; while(i<=10); printf("%i\n",j); return 0; } Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 11 / 17

break utasítás Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 12 / 17

break utasítás Ciklusok esetén a break szerepe az, hogy ahol a program végrehajtja az aktuális ciklusból a program kilép. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 12 / 17

break utasítás Ciklusok esetén a break szerepe az, hogy ahol a program végrehajtja az aktuális ciklusból a program kilép. break utasítást csak úgy nem teszünk a ciklusba. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 12 / 17

break utasítás Ciklusok esetén a break szerepe az, hogy ahol a program végrehajtja az aktuális ciklusból a program kilép. break utasítást csak úgy nem teszünk a ciklusba. Miértis? Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 12 / 17

break utasítás Ciklusok esetén a break szerepe az, hogy ahol a program végrehajtja az aktuális ciklusból a program kilép. break utasítást csak úgy nem teszünk a ciklusba. Miértis? Mert akkor mi a fenének írtunk ciklust! Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 12 / 17

break utasítás Ciklusok esetén a break szerepe az, hogy ahol a program végrehajtja az aktuális ciklusból a program kilép. break utasítást csak úgy nem teszünk a ciklusba. Miértis? Mert akkor mi a fenének írtunk ciklust! while(...) if(...) break; Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 12 / 17

break utasítás Ciklusok esetén a break szerepe az, hogy ahol a program végrehajtja az aktuális ciklusból a program kilép. break utasítást csak úgy nem teszünk a ciklusba. Miértis? Mert akkor mi a fenének írtunk ciklust! while(...) while(...) if(...) break; while(...) if(...) break; Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 12 / 17

Példa a break utasításra Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 13 / 17

Példa a break utasításra #include <stdio.h> int main(void) int i; int j; Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 13 / 17

Példa a break utasításra #include <stdio.h> int main(void) int i; int j; for(i=0;i<5;i++) for(j=0;j<5;j++) printf("%i %i\n",i,j); Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 13 / 17

Példa a break utasításra #include <stdio.h> int main(void) int i; int j; for(i=0;i<5;i++) for(j=0;j<5;j++) printf("%i %i\n",i,j); if(j==2) break; } } return 0; } Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 13 / 17

Példa a break utasításra #include <stdio.h> int main(void) int i; int j; for(i=0;i<5;i++) for(j=0;j<5;j++) printf("%i %i\n",i,j); if(j==2) break; } } return 0; } A képernyőn ez látszik: 0 0 0 1 0 2 Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 13 / 17

Példa a break utasításra #include <stdio.h> int main(void) int i; int j; for(i=0;i<5;i++) for(j=0;j<5;j++) printf("%i %i\n",i,j); if(j==2) break; } } return 0; } A képernyőn ez látszik: 0 0 0 1 0 2 1 0 1 1 1 2 Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 13 / 17

Példa a break utasításra #include <stdio.h> int main(void) int i; int j; for(i=0;i<5;i++) for(j=0;j<5;j++) printf("%i %i\n",i,j); if(j==2) break; } } return 0; } A képernyőn ez látszik: 0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1 2 2 3 0 3 1 3 2 4 0 4 1 4 2 Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 13 / 17

continue utasítás Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 14 / 17

continue utasítás A szerepe az, hogy attól a ponttól, ahonnan a program végrehajta a ciklustörzs hátralevő részét kihagyja. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 14 / 17

continue utasítás A szerepe az, hogy attól a ponttól, ahonnan a program végrehajta a ciklustörzs hátralevő részét kihagyja. for esetén a 3. kifejezés végrehajtásra kerül. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 14 / 17

continue utasítás A szerepe az, hogy attól a ponttól, ahonnan a program végrehajta a ciklustörzs hátralevő részét kihagyja. for esetén a 3. kifejezés végrehajtásra kerül. Ezután folyatódik a ciklus elölről. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 14 / 17

continue utasítás A szerepe az, hogy attól a ponttól, ahonnan a program végrehajta a ciklustörzs hátralevő részét kihagyja. for esetén a 3. kifejezés végrehajtásra kerül. Ezután folyatódik a ciklus elölről. while esetén a ciklus a ciklusfejtől újra kezdődik. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 14 / 17

continue utasítás A szerepe az, hogy attól a ponttól, ahonnan a program végrehajta a ciklustörzs hátralevő részét kihagyja. for esetén a 3. kifejezés végrehajtásra kerül. Ezután folyatódik a ciklus elölről. while esetén a ciklus a ciklusfejtől újra kezdődik. a while -ban lévő kifejezés kiértékelődik. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 14 / 17

continue utasítás A szerepe az, hogy attól a ponttól, ahonnan a program végrehajta a ciklustörzs hátralevő részét kihagyja. for esetén a 3. kifejezés végrehajtásra kerül. Ezután folyatódik a ciklus elölről. while esetén a ciklus a ciklusfejtől újra kezdődik. a while -ban lévő kifejezés kiértékelődik. do-while esetén a program a while(kif) -re ugrik. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 14 / 17

continue utasítás A szerepe az, hogy attól a ponttól, ahonnan a program végrehajta a ciklustörzs hátralevő részét kihagyja. for esetén a 3. kifejezés végrehajtásra kerül. Ezután folyatódik a ciklus elölről. while esetén a ciklus a ciklusfejtől újra kezdődik. a while -ban lévő kifejezés kiértékelődik. do-while esetén a program a while(kif) -re ugrik. A kif értékétől függően folyatódik a ciklus. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 14 / 17

continue utasítás A szerepe az, hogy attól a ponttól, ahonnan a program végrehajta a ciklustörzs hátralevő részét kihagyja. for esetén a 3. kifejezés végrehajtásra kerül. Ezután folyatódik a ciklus elölről. while esetén a ciklus a ciklusfejtől újra kezdődik. a while -ban lévő kifejezés kiértékelődik. do-while esetén a program a while(kif) -re ugrik. A kif értékétől függően folyatódik a ciklus. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 14 / 17

continue utasítás kif1 kif2 if(...) continue; while(...) if(...) continue; do if(...) continu kif3 while(...); Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 15 / 17

Példa continue utasításra Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 16 / 17

Példa continue utasításra #include <stdio.h> int main(void) int i; for(i=0;i<5;i++) if(i==2) continue; printf("%i\n",i); Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 16 / 17

Példa continue utasításra #include <stdio.h> int main(void) int i; for(i=0;i<5;i++) if(i==2) continue; printf("%i\n",i); } return 0; } Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 16 / 17

Példa continue utasításra #include <stdio.h> int main(void) int i; for(i=0;i<5;i++) if(i==2) continue; printf("%i\n",i); } return 0; } A képernyőn ez látszik: 0 1 Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 16 / 17

Példa continue utasításra #include <stdio.h> int main(void) int i; for(i=0;i<5;i++) if(i==2) continue; printf("%i\n",i); } return 0; } A képernyőn ez látszik: 0 1 3 Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 16 / 17

Példa continue utasításra #include <stdio.h> int main(void) int i; for(i=0;i<5;i++) if(i==2) continue; printf("%i\n",i); } return 0; } A képernyőn ez látszik: 0 1 3 4 Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 16 / 17

goto utasítás Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 17 / 17

goto utasítás Lehetőség szerint ne használjuk!! Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 17 / 17

goto utasítás Lehetőség szerint ne használjuk!! Használata veszélyes, nehezen felderíthető programhibákhoz vezet. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 17 / 17

goto utasítás Lehetőség szerint ne használjuk!! Használata veszélyes, nehezen felderíthető programhibákhoz vezet. Szerepe az, hogy a program feltétel nélkül az adott címkére ugrik. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 17 / 17

goto utasítás Lehetőség szerint ne használjuk!! Használata veszélyes, nehezen felderíthető programhibákhoz vezet. Szerepe az, hogy a program feltétel nélkül az adott címkére ugrik. A címke: Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 17 / 17

goto utasítás Lehetőség szerint ne használjuk!! Használata veszélyes, nehezen felderíthető programhibákhoz vezet. Szerepe az, hogy a program feltétel nélkül az adott címkére ugrik. A címke: cimke: Nem lehet foglalt kulcsszó és : zárja le. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 17 / 17

goto utasítás Lehetőség szerint ne használjuk!! Használata veszélyes, nehezen felderíthető programhibákhoz vezet. Szerepe az, hogy a program feltétel nélkül az adott címkére ugrik. A címke: cimke: Nem lehet foglalt kulcsszó és : zárja le. A címke lehet a goto előtt és után. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 17 / 17

goto utasítás Lehetőség szerint ne használjuk!! Használata veszélyes, nehezen felderíthető programhibákhoz vezet. Szerepe az, hogy a program feltétel nélkül az adott címkére ugrik. A címke: cimke: Nem lehet foglalt kulcsszó és : zárja le. A címke lehet a goto előtt és után. Tehát: cimke:. goto cimke; Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 17 / 17

goto utasítás Lehetőség szerint ne használjuk!! Használata veszélyes, nehezen felderíthető programhibákhoz vezet. Szerepe az, hogy a program feltétel nélkül az adott címkére ugrik. A címke: cimke: Nem lehet foglalt kulcsszó és : zárja le. A címke lehet a goto előtt és után. Tehát: cimke:. goto cimke; vagy goto cimke;. cimke: Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo 17 / 17