Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » die 3 schleifen-arten

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
19.04.2006, 10:39 Uhr
PerseusX2



hallo

es gibt für c++ ja 3 schleifen-arten.
die while, die do/while und die for-schleife.
hab dazu aber mal 2 fragen.

die while-schleife checkt erst und durchläuft dann.
d.h. sie muss nie ausgeführt werden rein theoretisch.

die do/while-schleife wird immer erinma ausgeführt und entscheidet am scheifenende ob sie nochmal durchlaufen wird.

1. für was ist aber die for-schleife?
2. könnt ihr mir ein kleines leicht verständliches beispiel (nicht den code bitte oder sowas) dafür geben wann es sinnvoll ist die 3 schleifen einzusetzen und wann nicht (also wann ich zb die schleife benutze, wann die usw).

danke im vorraus !
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.04.2006, 10:47 Uhr
kronos
Quotenfisch
(Operator)


Das ist meistens Geschmacksache, vor allem while und for sind problemlos austauschbar.
do-schleifen nimmst du wie gesagt, wenn sie mindestens einmal ausgeführt werden soll.
for-Schleifen finden typischerweise Anwendung, wenn du 'nen Iterator initialisieren, überprüfen und inkrementieren willst, also zum Beispiel zum durchlaufen eines Arrays oder so:

C++:
for(int i=0;i<n;++i)
std::cout << A[i];


Geht aber wie gesagt auch mit while:

C++:
int i=0;
while(i<n) {
std::cout << A[i];
++i;
}


--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.04.2006, 10:48 Uhr
Drager



hoi,

also an sich kannst du jede for-schleife in eine while schleife umschreiben, (soweit ich weiss macht der compiler das auch)

eine for schleife ist nur meiner ansicht nach übersichtlicher, aber es gibt auch for-schleifen die nicht ausgeführt werden...

an sich ist das geschmackssache welche schleife du verwendest, ich z.b. verwende fast immer for-schleifen, selten while und eigendlich nie do-while.


edit: waaa ich bin immer zu langsam *grml*

Dieser Post wurde am 19.04.2006 um 10:48 Uhr von Drager editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
19.04.2006, 10:50 Uhr
kronos
Quotenfisch
(Operator)


Ach ja, zum golfen empfiehlt sich for.
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
19.04.2006, 10:53 Uhr
ao

(Operator)


Zu 1: Vom Ansatz her ist die for-Schleife die zählende Schleife, d.h. sie wird eingesetzt, wenn eine im Voraus bekannte Anzahl Wiederholungen ausgeführt werden soll.

In C/C++ ist allerdings - wie so oft - mal wieder alles anders, und die for-Schleife ist so allgemein formuliert, dass sie ein genaues Äquivalent zur while-Schleife darstellt:

Code:
for (initialization; condition; increment)
{
    loopstatement;
}

ist äquivalent zu

Code:
initialization;
while (condition)
{
    loopstatement;
    increment;
}
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
19.04.2006, 15:10 Uhr
Pler
Einer von Vielen
(Operator)



Zitat:

In C/C++ ist allerdings - wie so oft - mal wieder alles anders


Wo ist denn das nicht so?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
19.04.2006, 15:57 Uhr
ao

(Operator)


@Pler:
Pascal:

Code:
var i : integer;
for i := 1 to 10 do begin
    loopstatement;
end;


oder so ähnlich, nicht hauen, wenn die Syntax nicht stimmt, mein letztes Pascal-Programm war 1994. Jedenfalls ist die for-Schleife in Pascal nur zum Zählen zu gebrauchen, weil es kein Feld gibt, wo man eine bool-sche Abbruch- oder Fortsetz-Bedingung eintragen kann.

In Basic (Visual Basic) ists ähnlich.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
19.04.2006, 16:46 Uhr
Pler
Einer von Vielen
(Operator)


Hast recht. Ich erinnere mich.
Aber dann doch lieber wie in C/C++!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
19.04.2006, 20:35 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

In Basic (Visual Basic) ists ähnlich.


genau das ist ein Grund warum ich die Programmiersprache scheisse finde. extendend-while schleifen (also forschleifen in c/c++) sind einfach nur geil... In c kann man mit relativ kurzen quellcode viel erreichen und das ganze ist schön übersichtlich und kompackt..
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
20.04.2006, 08:57 Uhr
(un)wissender
Niveauwart



Zitat:

[...] also an sich kannst du jede for-schleife in eine while schleife umschreiben, (soweit ich weiss macht der compiler das auch)



Warum sollte der Compiler sowas tun? Der macht daraus RTL (Register Transfer Language) oder ähnliches und transformiert die dann in den jeweiligen Maschinencode.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: