c programmieren
Hi mohameth,
wenn du erst dabei bist, programmieren zu lernen, würde ich dir empfehlen nicht mit C/C++ anzufangen. Wie du selber schreibst, ist in C/C++ sehr viel erlaubt und viele Fehler führen dann zu einem Speicherzugriffs- oder ähnlichem Fehler, der oft auch mit Debugger schwer zu finden ist. Ich würde Dir empfehlen erst mal eine Scriptsprache wie Python oder Ruby anzuschauen.
Bei Python kannst Du kleine Sachen einfach in der Pythonconsole ausprobieren. Da Einrückungen zur Syntax gehören gewöhnst Du Dir schon einen besseren Stil zu programmieren an. Du ersparst Dir auch das Compilieren und Linken, ein Pythonscript kannst Du gleich in der Console starten. So kannst Du dich mehr auf die Grundlagen der Programmierung konzentrieren und langsam begreifen was Variablen, Kontrollstrukturen usw. sind. Wenn Du später dann auch zusätzlich C lernst, kannst Du das Wissen schon Einsetzen und tust Dir viel leichter beim lernen.
Gruß
Dookie
wenn du erst dabei bist, programmieren zu lernen, würde ich dir empfehlen nicht mit C/C++ anzufangen. Wie du selber schreibst, ist in C/C++ sehr viel erlaubt und viele Fehler führen dann zu einem Speicherzugriffs- oder ähnlichem Fehler, der oft auch mit Debugger schwer zu finden ist. Ich würde Dir empfehlen erst mal eine Scriptsprache wie Python oder Ruby anzuschauen.
Bei Python kannst Du kleine Sachen einfach in der Pythonconsole ausprobieren. Da Einrückungen zur Syntax gehören gewöhnst Du Dir schon einen besseren Stil zu programmieren an. Du ersparst Dir auch das Compilieren und Linken, ein Pythonscript kannst Du gleich in der Console starten. So kannst Du dich mehr auf die Grundlagen der Programmierung konzentrieren und langsam begreifen was Variablen, Kontrollstrukturen usw. sind. Wenn Du später dann auch zusätzlich C lernst, kannst Du das Wissen schon Einsetzen und tust Dir viel leichter beim lernen.
Gruß
Dookie
danke an alle erstmal.
bert: was ich nicht verstehe ist: "int main(int argc, char *argv[])"
sorry aber ich fange gerade erst an, ich hab kein plan was du damit meinst.
sprichst du damit die ersten 3 zeilen meiner quellcodes an?
ansonsten vielen dank für die tipps, werd ich befolgen.
wenn ich eine schleife machen will die eben keine initialisierung und/oder keinen test hat, was soll ich dann bitte da rein schreiben außer nichts?
->
danke für deinen gut gemeinten rat dookie, aber ich will nun c lernen. ich hab nun angefangen und ich zieh es durch. ich hab in der schule schon assembler gelernt, hab also schon einen groben überblick über konzepte und realisierungen.
c is einfach meine lieblingssprache (auch wenn ich sie noch gar net richtig kenn *g+), ich habs mir einfach in den kopf gesetzt, schon vor 3 jahren, und so lange hab ich das buch nun schon.
ps: wenn ich mal groß bin will ich kernel programmierer werden
bert: was ich nicht verstehe ist: "int main(int argc, char *argv[])"
sorry aber ich fange gerade erst an, ich hab kein plan was du damit meinst.
sprichst du damit die ersten 3 zeilen meiner quellcodes an?
ansonsten vielen dank für die tipps, werd ich befolgen.
wenn ich eine schleife machen will die eben keine initialisierung und/oder keinen test hat, was soll ich dann bitte da rein schreiben außer nichts?
->
Code: Alles auswählen
for( ; ;inkrement)
c is einfach meine lieblingssprache (auch wenn ich sie noch gar net richtig kenn *g+), ich habs mir einfach in den kopf gesetzt, schon vor 3 jahren, und so lange hab ich das buch nun schon.
ps: wenn ich mal groß bin will ich kernel programmierer werden
Bevor Du einen Beitrag postest:
- Kennst Du unsere Verhaltensregeln?
- Hast Du die Suchfunktion benutzt? Deine Frage wurde vielleicht schon in einem anderen Beitrag beantwortet.
- Ist schon ein Artikel in unserem Wiki vorhanden, der Deine Frage beantwortet?
- Kennst Du unsere Verhaltensregeln?
- Hast Du die Suchfunktion benutzt? Deine Frage wurde vielleicht schon in einem anderen Beitrag beantwortet.
- Ist schon ein Artikel in unserem Wiki vorhanden, der Deine Frage beantwortet?
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
na da hast du dir aber was vorgenommen...
also das mit der ersten Zeile
"int main( int argc, char *argv[])"
nehmen wir an, du hast ein Proggy geschrieben, welches "ausgabe" heißt..
dann kannst du ja "Optionen" übergeben
z.B.
# ausgabe "dies ist ein test"
dann würdest du in "int argc" die Anzahl an Optionen die übergeben worden sind stehen haben (bin mir nicht sicher ob der Befehl mitgezählt wird, also das 0 = ausgabe ist)
ich nehm jetzt einfach mal an, dass unter "0" der Befehl selber steht...
dann könntest du per:
printf("%s",argv[0]);
einfach mal "ausgabe" ausgeben... denn "argv" ist ein Zeiger auf char Arrays
also
argv[0] hat als Wert die Speicheradresse im Arbeitsspeicher, in dem "ausgabe" steht und
argv[1] hat als Wert die Speicheradresse im Arbeitsspeicher, in dem "dies ist ein test" steht
also das mit der ersten Zeile
"int main( int argc, char *argv[])"
nehmen wir an, du hast ein Proggy geschrieben, welches "ausgabe" heißt..
dann kannst du ja "Optionen" übergeben
z.B.
# ausgabe "dies ist ein test"
dann würdest du in "int argc" die Anzahl an Optionen die übergeben worden sind stehen haben (bin mir nicht sicher ob der Befehl mitgezählt wird, also das 0 = ausgabe ist)
ich nehm jetzt einfach mal an, dass unter "0" der Befehl selber steht...
dann könntest du per:
printf("%s",argv[0]);
einfach mal "ausgabe" ausgeben... denn "argv" ist ein Zeiger auf char Arrays
also
argv[0] hat als Wert die Speicheradresse im Arbeitsspeicher, in dem "ausgabe" steht und
argv[1] hat als Wert die Speicheradresse im Arbeitsspeicher, in dem "dies ist ein test" steht
@mohammet: Es gibt ja nicht nur for schleifen
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de
xmpp:bert@debianforum.de
for ist übrigens (in C/C++) nur eine andere Schreibweise für while:Bert hat geschrieben:@mohammet: Es gibt ja nicht nur for schleifen
Code: Alles auswählen
for ( A ; B ; C ) {
D;
}
// ist identisch mit
A;
while (B) {
D;
C;
}
while(1) { .....; inkrement } zu schreiben; oder noch besser: while(bedingung){...} oder do {...} while (bedingung)
Zuletzt geändert von Joghurt am 31.08.2004 18:23:56, insgesamt 1-mal geändert.
- emge
- Beiträge: 1525
- Registriert: 20.10.2003 22:05:46
- Lizenz eigener Beiträge: Artistic Lizenz
- Wohnort: 50° 45' 0" N 12° 10' 0" E
Du meinst schon, dass die while-Konstrukte besser sind, oder? Im Moment kann man dein Statment leider aus beiden Richtungen lesenJoghurt hat geschrieben:for ist übrigens (in C/C++) nur eine andere Schreibweise für while:Bert hat geschrieben:@mohammet: Es gibt ja nicht nur for schleifenfor(;;inkrement) ist also besser alsCode: Alles auswählen
for ( A ; B ; C ) { D; } // ist identisch mit A; while (B) { D; C; }
while(1) { .....; inkrement } zu schreiben; oder noch besser: while(bedingung){...} oder do {...} while (bedingung)
Grüße, Marco
Huch, schon wieder eine Mehrdeutigkeit in der deutschen Sprache... Ja, du hast es schon richtig verstanden. Habe den Post geändert.emge hat geschrieben:Du meinst schon, dass die while-Konstrukte besser sind, oder? Im Moment kann man dein Statment leider aus beiden Richtungen lesen
Ich glaube, ich sollte anfangen, für Politiker Reden zu schreiben.
hallo. ich hab nun neuinstalliert und meine ordner mit den bisherigen c programmen einfach kopiert.
wenn ich nun eines meiner bereits geschrieben programme mit dem gcc übersetzen lassen will kommt bei jedem die gleiche meldung:
das mit stdio und stdlib kenn ich noch net. im buch steht ich soll es einfach an anfang schreiben und fertig. das wird erst noch behandelt. ?
wenn ich nun eines meiner bereits geschrieben programme mit dem gcc übersetzen lassen will kommt bei jedem die gleiche meldung:
Code: Alles auswählen
mohameth@uoi-01:/mnt/dateien.uoi-01/mohameth/c-programmierung$ gcc addition.c
addition.c:1:20: stdio.h: Datei oder Verzeichnis nicht gefunden
addition.c:2:21: stdlib.h: Datei oder Verzeichnis nicht gefunden
Bevor Du einen Beitrag postest:
- Kennst Du unsere Verhaltensregeln?
- Hast Du die Suchfunktion benutzt? Deine Frage wurde vielleicht schon in einem anderen Beitrag beantwortet.
- Ist schon ein Artikel in unserem Wiki vorhanden, der Deine Frage beantwortet?
- Kennst Du unsere Verhaltensregeln?
- Hast Du die Suchfunktion benutzt? Deine Frage wurde vielleicht schon in einem anderen Beitrag beantwortet.
- Ist schon ein Artikel in unserem Wiki vorhanden, der Deine Frage beantwortet?
Probier' mal
Code: Alles auswählen
apt-get install libc6-dev
- weedy
- Beiträge: 585
- Registriert: 02.11.2002 21:47:49
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Das stimmt nicht, es gibt auch eine andere:Joghurt hat geschrieben:Die for-schleife ist übrigens schlechter Stil, besser wäre:Das ist auch so ziemlich die einzige sinnvolle Anwendung des Komma-Operators...Code: Alles auswählen
for( c=0,steine=0 ; c-h > 0 ; c++)
Zusammenfassen von Funktionen:
Code: Alles auswählen
if( 1) printf( "Hallo"), printf( " Welt\n");
if( 0) printf( "printet"), printf( " nicht\n");