Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
UNIVERSITAS SCIENTIARUM SZEGEDIENSISUNIVERSITY OF SZEGED
Department of Software Engineering
A do-while ciklus C-bendemo
Programozás alapjai
Gyakorlat
Kádár István
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
A while ciklus általában
Szintaxis:
do
utasítás
while (kifejezés)
Folyamatábra:
Megjegyzés: Itt az „utasítás” nem feltétlenül
egyetlen utasítássá alakított kifejezés lehet
(pl.: printf(”Hello World!”); ), hanem a C-
nyelv megannyi utasítása ideírható. Például
az összetett utasításnak nevezett { }
zárójelpár is, ami tetszőleges számú más
utasítást egyetlen összetett utasításba
csoportosít.
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Feladat
Írjunk egy olyan programot do-while ciklus segítségével, ami 0
végjelig kér be számokat (vagyis mindaddig, amíg a felhasználó 0-
tól különböző számot ad meg), majd kiírja azok összegét. A
ciklusban ne szerepeljen a break utasítás.
Megoldás:
#include <stdio.h>
int main() {int szam, osszeg=0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Lássuk, hogyan működik!
#include <stdio.h>
int main() {int szam, osszeg = 0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
szam != 0
printf(…)
szam -
osszeg 0
szam != 0 -
Kifejezések értékei: Konzol:
hamis
igaz
return 0
osszeg = 0
printf(…)
scanf(…)
osszeg += szam
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Lássuk, hogyan működik!
#include <stdio.h>
int main() {int szam, osszeg = 0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
szam != 0
printf(…)
szam -
osszeg 0
szam != 0 -
Kifejezések értékei: Konzol:
Kérek egy számot (kilépéshez 0):
hamis
igaz
return 0
osszeg = 0
printf(…)
scanf(…)
osszeg += szam
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Lássuk, hogyan működik!
#include <stdio.h>
int main() {int szam, osszeg = 0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
szam != 0
printf(…)
szam 4
osszeg 0
szam != 0 -
Kifejezések értékei: Konzol:
Kérek egy számot (kilépéshez 0): 4
hamis
igaz
return 0
osszeg = 0
printf(…)
scanf(…)
osszeg += szam
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Lássuk, hogyan működik!
#include <stdio.h>
int main() {int szam, osszeg = 0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
szam != 0
printf(…)
szam 4
osszeg 4 (0 + 4)
szam != 0 -
Kifejezések értékei: Konzol:
Kérek egy számot (kilépéshez 0): 4
hamis
igaz
return 0
osszeg = 0
printf(…)
scanf(…)
osszeg += szam
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Lássuk, hogyan működik!
#include <stdio.h>
int main() {int szam, osszeg = 0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
szam != 0
printf(…)
szam 4
osszeg 4 (0 + 4)
szam != 0 igaz
Kifejezések értékei: Konzol:
Kérek egy számot (kilépéshez 0): 4
hamis
igaz
return 0
osszeg = 0
printf(…)
scanf(…)
osszeg += szam
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Lássuk, hogyan működik!
#include <stdio.h>
int main() {int szam, osszeg = 0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
szam != 0
printf(…)
szam 4
osszeg 4
szam != 0 igaz
Kifejezések értékei: Konzol:
Kérek egy számot (kilépéshez 0): 4Kérek egy számot (kilépéshez 0):
hamis
igaz
return 0
osszeg = 0
printf(…)
scanf(…)
osszeg += szam
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Lássuk, hogyan működik!
#include <stdio.h>
int main() {int szam, osszeg = 0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
szam != 0
printf(…)
szam 9
osszeg 4
szam != 0 igaz
Kifejezések értékei: Konzol:
Kérek egy számot (kilépéshez 0): 4Kérek egy számot (kilépéshez 0): 9
hamis
igaz
return 0
osszeg = 0
printf(…)
scanf(…)
osszeg += szam
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Lássuk, hogyan működik!
#include <stdio.h>
int main() {int szam, osszeg = 0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
szam != 0
printf(…)
szam 9
osszeg 13 (4 + 9)
szam != 0 igaz
Kifejezések értékei: Konzol:
Kérek egy számot (kilépéshez 0): 4Kérek egy számot (kilépéshez 0): 9
hamis
igaz
return 0
osszeg = 0
printf(…)
scanf(…)
osszeg += szam
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Lássuk, hogyan működik!
#include <stdio.h>
int main() {int szam, osszeg = 0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
szam != 0
printf(…)
szam 9
osszeg 13
szam != 0 igaz
Kifejezések értékei: Konzol:
Kérek egy számot (kilépéshez 0): 4Kérek egy számot (kilépéshez 0): 9
hamis
igaz
return 0
osszeg = 0
printf(…)
scanf(…)
osszeg += szam
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Lássuk, hogyan működik!
#include <stdio.h>
int main() {int szam, osszeg = 0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
szam != 0
printf(…)
szam 9
osszeg 13
szam != 0 igaz
Kifejezések értékei: Konzol:
Kérek egy számot (kilépéshez 0): 4Kérek egy számot (kilépéshez 0): 9Kérek egy számot (kilépéshez 0):
hamis
igaz
return 0
osszeg = 0
printf(…)
scanf(…)
osszeg += szam
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Lássuk, hogyan működik!
#include <stdio.h>
int main() {int szam, osszeg = 0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
szam != 0
printf(…)
szam 50
osszeg 13
szam != 0 igaz
Kifejezések értékei: Konzol:
Kérek egy számot (kilépéshez 0): 4Kérek egy számot (kilépéshez 0): 9Kérek egy számot (kilépéshez 0): 50
hamis
igaz
return 0
osszeg = 0
printf(…)
scanf(…)
osszeg += szam
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Lássuk, hogyan működik!
#include <stdio.h>
int main() {int szam, osszeg = 0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
szam != 0
printf(…)
szam 50
osszeg 63 (13 + 50)
szam != 0 igaz
Kifejezések értékei: Konzol:
Kérek egy számot (kilépéshez 0): 4Kérek egy számot (kilépéshez 0): 9Kérek egy számot (kilépéshez 0): 50
hamis
igaz
return 0
osszeg = 0
printf(…)
scanf(…)
osszeg += szam
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Lássuk, hogyan működik!
#include <stdio.h>
int main() {int szam, osszeg = 0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
szam != 0
printf(…)
szam 50
osszeg 63
szam != 0 igaz
Kifejezések értékei: Konzol:
Kérek egy számot (kilépéshez 0): 4Kérek egy számot (kilépéshez 0): 9Kérek egy számot (kilépéshez 0): 50
hamis
igaz
return 0
osszeg = 0
printf(…)
scanf(…)
osszeg += szam
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Lássuk, hogyan működik!
#include <stdio.h>
int main() {int szam, osszeg = 0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
szam != 0
printf(…)
szam 50
osszeg 63
szam != 0 igaz
Kifejezések értékei: Konzol:
Kérek egy számot (kilépéshez 0): 4Kérek egy számot (kilépéshez 0): 9Kérek egy számot (kilépéshez 0): 50Kérek egy számot (kilépéshez 0):
hamis
igaz
return 0
osszeg = 0
printf(…)
scanf(…)
osszeg += szam
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Lássuk, hogyan működik!
#include <stdio.h>
int main() {int szam, osszeg = 0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
szam != 0
printf(…)
szam 0
osszeg 63
szam != 0 hamis
Kifejezések értékei: Konzol:
Kérek egy számot (kilépéshez 0): 4Kérek egy számot (kilépéshez 0): 9Kérek egy számot (kilépéshez 0): 50Kérek egy számot (kilépéshez 0): 0
hamis
igaz
return 0
osszeg = 0
printf(…)
scanf(…)
osszeg += szam
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Lássuk, hogyan működik!
#include <stdio.h>
int main() {int szam, osszeg = 0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
szam != 0
printf(…)
szam 0
osszeg 63 (63 + 0)
szam != 0 hamis
Kifejezések értékei: Konzol:
Kérek egy számot (kilépéshez 0): 4Kérek egy számot (kilépéshez 0): 9Kérek egy számot (kilépéshez 0): 50Kérek egy számot (kilépéshez 0): 0
hamis
igaz
return 0
osszeg = 0
printf(…)
scanf(…)
osszeg += szam
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Lássuk, hogyan működik!
#include <stdio.h>
int main() {int szam, osszeg = 0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
szam != 0
printf(…)
szam 0
osszeg 63
szam != 0 hamis
Kifejezések értékei: Konzol:
Kérek egy számot (kilépéshez 0): 4Kérek egy számot (kilépéshez 0): 9Kérek egy számot (kilépéshez 0): 50Kérek egy számot (kilépéshez 0): 0
hamis
igaz
return 0
osszeg = 0
printf(…)
scanf(…)
osszeg += szam
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Lássuk, hogyan működik!
#include <stdio.h>
int main() {int szam, osszeg = 0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
szam != 0
printf(…)
szam 0
osszeg 63
szam != 0 hamis
Kifejezések értékei: Konzol:
Kérek egy számot (kilépéshez 0): 4Kérek egy számot (kilépéshez 0): 9Kérek egy számot (kilépéshez 0): 50Kérek egy számot (kilépéshez 0): 0A számok összege: 63
hamis
igaz
return 0
osszeg = 0
printf(…)
scanf(…)
osszeg += szam
UN
IV
ER
SIT
Y O
F S
ZE
GE
D
Dep
art
men
t o
f S
oft
wa
re E
ng
inee
rin
g
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Lássuk, hogyan működik!
#include <stdio.h>
int main() {int szam, osszeg = 0;do {
printf("Kérek egy számot (kilépéshez 0): ");scanf("%d", &szam);osszeg += szam;
} while (szam != 0);printf("A számok összege: %d\n", osszeg);
return 0;}
szam != 0
printf(…)
szam 0
osszeg 63
szam != 0 hamis
Kifejezések értékei: Konzol:
Kérek egy számot (kilépéshez 0): 4Kérek egy számot (kilépéshez 0): 9Kérek egy számot (kilépéshez 0): 50Kérek egy számot (kilépéshez 0): 0A számok összege: 63
hamis
igaz
return 0
osszeg = 0
printf(…)
scanf(…)
osszeg += szam