Zum Inhalt springen

Fragen zu C/C++


Airforce

Empfohlene Beiträge

Hi Leutz,

ich habe da mal ein paar Fragen zu der Programmiersprache;) :

1) Was ist eine Deklaration?

2) Was ist Initalierung?

3) Wie beschreibt man einen Editor/was ist ein Editor?

4) Wie beschreibt man einenCompiler/was ist ein Compiler?

5) Was ist ein Linker?

6) Was ist eine Selektion?

7) was ist eine Iteration (Schleife?

8) Was ist eine Sequenz?

9) Was sind Operatoren?

10) Wie sind die 5 Kontrollstrukturen?

Ich bedanke mich schonmal im voraus:)

Gruss euer Airforce

Link zu diesem Kommentar
Auf anderen Seiten teilen

Servus,

die Syntax in meinen Beispielen ist zwar Java, sollte sich aber gleich sein.

also ich fang mal an:

1) Was ist eine Deklaration?

mit einer Deklaration machst Du dem System etwas bekannt (z.B. Variablen)

z.B. int x;

2) Was ist Initalierung?

bei der Initialisierung wird die Variable mit einem Wert belegt

z.B. x = 4

3) Wie beschreibt man einen Editor/was ist ein Editor?

ein Editor ist ein grosses Textfeld, in das man seinen Quellcode reinschreibt. Viele Editoren haben fürs Programmieren extra Features (Syntaxhighlighting, Templates, ...)

Notepad ist ein Editor (allerdings ohne extras)

4) Wie beschreibt man einenCompiler/was ist ein Compiler?

Ein Compiler übersetzt Deinen Quellcode in Maschinensprache, damit Dein Rechner weiss, was Du von ihm willst.

5) Was ist ein Linker?

Soweit ich weiss, kann der Linker die einzelnen Sourcecodedateien in einen Zusammenhang bringen. Das sollen aber die C-Leute beantworten ;)

6) Was ist eine Selektion?

Hmm, eine Auswahl? Keine Ahnung, in welchem Zusammenhang Du das meinst.

7) was ist eine Iteration (Schleife?

Mit einer Schleife kann man eine Anweisung wiederholt ausführen. Z.B. von null bis zehn zählen und die Zahl ausgeben:


int i = 0;

while(i <= 10)
{
i++;
System.out.println("" + i);
}
[/PHP]

8) Was ist eine Sequenz?

?

9) Was sind Operatoren?

Operatoren können Operationen ausführen. z.B.

+ - * / Arithmetische Operatoren

&& || logische Operatoren

10) Wie sind die 5 Kontrollstrukturen?

if

if / else

while

do while

for

Könnte ich mir vorstellen, muss aber nicht richtig sein .

Peter

Link zu diesem Kommentar
Auf anderen Seiten teilen

10) Wie sind die 5 Kontrollstrukturen?

if

if / else

while

do while

for

Ich denke, ich stimme dieser Aufzählung nicht zu. if und if / else sollte eins sein. for kann man durch while ausdrücken. Also wären meine fünf Kontrollstrukturen:

sequenzielle Reihenfolge des Codes, if-then-else, switch, while und do-while.

Bis denn dann

Jan

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by kingofbrain

5) Was ist ein Linker?

Soweit ich weiss, kann der Linker die einzelnen Sourcecodedateien in einen Zusammenhang bringen. Das sollen aber die C-Leute beantworten ;)

Nein, dem ist nicht so. Der Linker erzeugt aus verschiedenen Object-Files (==bereits compilierter Code) ein Programm oder auch Bibliotheken. Er arbeitet nicht mit Quelldateien!

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ah ja, das mit den Kontrollstrukturen: switch hab ich natürlich vergessen, da ich es nie brauche.

Ich habe nur letztens ein Skript für Java Grundlagen an einer Uni gesehen, und dort war if und if-else jeweils ein Thema. Deshalb die Vermutung. Den sequentiellen Codedurchlauf würde ich nicht als Kontrollstruktur sehen, aber das ist ja Ansichtssache. Muss also der entscheiden, der die Aufgabe gestellt hat.

Bei dem Linker lasse ich mich gerne belehren, damit habe ich mich noch nicht beschäftigt.

Peter

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by kingofbrain

5) Was ist ein Linker?

Soweit ich weiss, kann der Linker die einzelnen Sourcecodedateien in einen Zusammenhang bringen. Das sollen aber die C-Leute beantworten ;)

6) Was ist eine Selektion?

Hmm, eine Auswahl? Keine Ahnung, in welchem Zusammenhang Du das meinst.

8) Was ist eine Sequenz?

?

10) Wie sind die 5 Kontrollstrukturen?

if

if / else

while

do while

for

Könnte ich mir vorstellen, muss aber nicht richtig sein .

Peter

Ein Linker bindet den Objectcode zusammen und löst die Referenzen in diesem auf das ist auch so bei C oder PASCAL.

zu 10: For usw. sind keine Kontrollstrukturen sondern Repetitionen (auch Iterationen genannt).

8: eine Sequenz ist einfach eine Zeile Code, z.B. printf("kljokkj");

Ich denke Selektion ist hier als Condition, If then else oder switch etc..

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by kingofbrain

Ah ja, das mit den Kontrollstrukturen: switch hab ich natürlich vergessen, da ich es nie brauche.

Ich habe nur letztens ein Skript für Java Grundlagen an einer Uni gesehen, und dort war if und if-else jeweils ein Thema. Deshalb die Vermutung. Peter

Man braucht SWITCH nicht wenn man grausamen Code produzieren will, dass einem die Augen tränen.

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

@ SgtBadAzz

Vielen Dank für Deinen konstruktiven Beitrag. Du musst ja ziemlich gut sein, wenn du die Qualiät meines Codes beurteilen kannst, ohne je ein Beispiel gesehen zu haben.

Ich denke im Gegensatz zu Dir nicht, dass man dies beurteilen kann, wenn man weiss, dass jemand dieses oder jenes Konstrukt nicht bzw. sehr selten benutzt.

Peter

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn ich eine sehr grosse Selektion habe (z.B. die Nachrichtenschleife bei Windows) , dann wird das mit if then else vollkommen unübersichtlich, deswegen

hat man ja auch das SWITCH - CASE.

Und deine Aussage das SWITCH-CASE nicht wichtig waere nur weil in dem Skript kein eigenes Kapitel darueber stand wuerde ich mal als Spekulation bezeichnen.

Es bleibt dabei wenn ich z.B. mit if then sowas mache in dieser erwähnten Nachrichtenschleife einer GUI dann wird das sehr schnell hässlich und unübersichtlich.

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Äh, da die Switch - Case - Verzweigung teilweise nur mit Integer - Werten funktioniert, ist sie gar nicht immer verwendungsfähig (ein kleines Delphi - problem).

Kontrollstrukturen sind Verzweigungen sämtlicher Art :

If ...

If ... else

If ... else if ... else

Switch .... case

Switch ... case .... else.

Schleifen (bzw. Iterationen) sind hingegen :

for ... next

Do ... while. (Kontrolle am Ende der Schleife - also mindestens ein Durchlauf)

While ... (Kontrolle am Anfang der Schleife - also nicht zwingend ein Durchlauf).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mir ist neu, daß Schleifen keine Kontrollstrukturen sein sollen.

Zitat aus dem Buch Kerninghan & Ritchie "Programmieren in C" 2. Ausgabe, welches ich eben hervorgekramt habe:

"C besitzt die fundamentalen Kontrolstrukturen, die für wohlstrukturierte Programme notwendig sind: Zusammenfassung von Anweisungen, Entscheidungen (if-else), Auswahl von einem aus einer Menge von möglichen Fällen (switch), Schleifen mit Test des Abbruchkriteriums am Anfang (while, for) oder am Ende (do) sowie vorzeitiges Velassen einer Schleife (break)" (Seite 1)

Mit Ausnahme des breaks ist es genau das, was ich auch gesagt habe.

Bis denn dann

Jan

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by Orffi

Mir ist neu, daß Schleifen keine Kontrollstrukturen sein sollen.

Bis denn dann

Jan

Ja, stimmt ich habe da was durcheinander geworfen, man kann das break als eine Konstrollstruktur sehen, da es den Ausführungsfluss verändert.

Allerdings habe ich das während des Studiums mal so gelernt das eine Repitition (Schleife) damals nicht so angesehen wurde.

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich nochmal:


Und deine Aussage das SWITCH-CASE nicht wichtig waere
nur weil in dem Skript kein eigenes Kapitel darueber stand
wuerde ich mal als Spekulation bezeichnen.[/PHP]

Klarer Fall von missverstanden. Ich sagte, dass ich switch-Konstrukte nicht (besser wäre kaum) verwende, deshalb habe ich sie vergessen zu erwähnen. Und es gibt auch noch andere Möglichkeiten, Ereignisse zu verarbeiten, als eine Auswahl (nämlich switch). Ist aber hier OT, deshalb dazu keine Stellungnahme.

Das Skript habe ich nur erwähnt, um zu erklären, warum ich if und if-else als zwei Kontrollstrukturen genommen habe.

Peter

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by Airforce

Ich bins ncohmal:rolleyes:

Was ist den mit Datentypen gemeint bei C? Intetscherwert???

Gruss Airforce

Typ der Daten, int ist ganzzahling +/-.

Es gibt skalare Datentypen, wie z.N. int, float, char , char* etc.. und komplexe

Datentypen ... Klassen, Strukturen, Unions (C/C++).

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by Der Kleine

Ok!

Kontrollstrukturen sind einerseits Verzweigungen, andererseits Schleifen (auch ohne Break). Siehe dazu auch IT - Handbuch.

Aber wie kann eine einfach FOR-Schleife eine Kontrollstruktur sein ?

Sie verändert ja nicht den fluss der Anwendung.

Ich habe das mal bei den Schneidermann Diagrammen so gelernt, das es drei

Grundsymbole gibt :

Sequenz, Repitition und Kondition und dann die entsprechenden Erweiterungssymbole (alles zusammen sind das 6, soweit ich noch weiss).

Da ein Unterschied zwischen Repitition und Kondition gemacht wird sind diese wohl nicht identisch, d.h. Kondition ist eine Kontrollstruktur und Repition nicht.

Auch mit einem break wird der Programmfluss nach dem Ende der Repition dort weitergeführt.

Ich erwähne das nur, weil ich das in GDI im Studium mal so gelernt habe und ganz falsch wird das wohl nicht sein.

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by Klotzkopp

Das musst du mir aber jetzt mal erklären. Inwieweit ändert eine if-Anweisung den "Fluss der Anwendung"? Und wieso tut for das nicht?

Eine For-Schleife wird durchlaufen und danach geht es weiter im Fluss, oder sie wird nicht durchlaufen und dann geht es gleich weiter im Fluss.

Bei einem If habe ich die Möglichkeit abhängig von (einer) Einflussgrösse(n) den Programmfluss woanders fortzusetzen, bei einem normalen Funktionsaufruf wird das zwar auch gemacht, aber es wird immer gemacht bei einer Condition eben nicht.

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Tut mir leid, ich sehe da gerade den Unterschied nicht:

// IF
if( flag ) {
do_something();
}

// FOR
for( bool otherflag = true; flag && otherflag; otherflag = false ) {
do_something();
}[/CODE]

Das eine soll eine Kontrollstruktur sein, das andere nicht?

Du kannst jedes if durch ein for ersetzen. Die Abbruchbedingung einer for-Schleife ist genauso eine "Einflussgröße" wie die Bedingung der if-Anweisung. Beide sind Kontrollstrukturen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by Klotzkopp

Tut mir leid, ich sehe da gerade den Unterschied nicht:

// IF

if( flag ) {

  do_something();

}


// FOR

for( bool otherflag = true; flag && otherflag; otherflag = false ) {

  do_something();

}

Das eine soll eine Kontrollstruktur sein, das andere nicht?

Du kannst jedes if durch ein for ersetzen. Die Abbruchbedingung einer for-Schleife ist genauso eine "Einflussgröße" wie die Bedingung der if-Anweisung. Beide sind Kontrollstrukturen.

Im Endeffekt hast du eine Repitition als Condition missbraucht.

Eine Schleife wird wohl immer dann angwandt wenn zu erwarten ist, dass man den Code im Schleifenkörper mehr als einmal durchlaufen kann, bei Conditionen ist das ja nicht der Fall.

Ich habe mittlerweile auch im Internet verschiedene Aussagen darüber gefunden was unter Kontrollstrukturen faellt und was nicht.

Aber um den Frieden zu wahren und weil es ja darüber unterschiedliche Ansichten gibt sage ich mal: Repititionen und Conditionen sind Kontrollstrukturen.

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by SgtBadAzz

Aber wie kann eine einfach FOR-Schleife eine Kontrollstruktur sein ?

Heute schon gegoogelt? Stichwort Kontrollstruktur!

Die Ergebnisse widersprechen sich nicht.

Kontrollstruktur ("control structure")

Schachtelbare Sprachmittel zum Modifizieren der normalen,

linearen Abwicklung von Anweisungen;

 Im wesentlichen Verzweigungen und Schleifen. 

bei : http://www.informatik.fh-muenchen.de/~schieder/programmieren-1-ws96-97/glossar.html

usw. usw.

Also ähnliche Antworten wirst du bei (hoffentlich) jeder Uni im Bereich Informatik wiederfinden.

Mein A. W. Scheer (Wirtschaftsinformatik - Informationssysteme im Industriebetrieb) bietet lediglich drei Kontrollstrukturen : Reihung, Verzweigung und Wiederholung.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...