Programmierung in C

Werbung
Herzlich Willkommen!
Programmierung in C
2015-02-28
Elmar Weisenberger
Erlanger Linux User Group e.V.
Letzte Änderung 2015-02-27 2000
Inhaltsübersicht
[CRY15]
1 Programm, Editor und Compiler
Übung
2 Integrierte Entwicklungsumgebung
Übung
3 Anweisung, Bedingung, Schleife, Funktion, Zeiger
Programmieren
Erhöhe a um 1
Compiler
[CRY15]
10001000101010101001
01001001011001001001
Editor gedit
Es gibt viele verschiedene
Beispiel: gedit
Installieren (Ubuntu): sudo apt-get install gedit
Editor gedit
Tipp: Zeilenummer anzeigen lassen
Menü “Edit” → “Preferences”
Compiler
Standard unter Linux:
GNU Compiler Collection oder kurz: GCC
Test ob vorhanden: gcc --version
Installieren (Ubuntu): sudo apt-get install gcc
Mein erstes C-Programm
int main (void)
{
return 0;
}
main int
void
return
Hauptprogramm
Integer (Ganze Zahl)
leer oder nichts
(gebe) zurück
Syntaxfehler
1 int main(void)
2 {
3
dies ist Quatsch
4 return 0;
5 }
Hello world
#include <stdio.h>
int main(void)
{
printf("Hello World!\n");
return 0;
}
include printf
Bibliothek einbinden
Ausgabe
Integrierte Entwicklungsumgebung (IDE)
Es gibt viele
Code::Blocks
CodeLite
Qt Creator → verwenden wir heute
Qt Creator – nach dem Start
Qt Creator – Projekt anlegen
Qt Creator – Hello World
Qt Creator – Hello World
Programm
Variable
Schublade mit Inhalt
Anweisung
setze a gleich 0
erhöhe a um 1
Programm
Bedingung
wenn a größer als eins ist
dann erhöhe a um eins
Schleife
Beispiel: Telefon
rufe an
solange besetzt ist
{
lege den Hörer auf
nimm den Hörer wieder in die Hand
wähle erneut
}
Debuggen
Fehlersuche
Debugging
F5
Durch Programm einzeln durchsteppen F10
Haltepunkt (Breakpoint)
F9
Traces
“debugging”
Schleife Programm
lese x ein
setze z auf 0
solange x ungleich 1
Falls x gerade ist
Dann halbiere x
Sonst verdreifache x und erhöhe um 1
Erhöhe z um 1
gib z aus
“Collatz”
USA – Was ist eine “mile”?
5280 foot
1760 yards
1,609344 km
“Umrechnung_mile”
Was haben wir gelernt?
Define
#define UMRECHNUNGSFAKTOR_MEILE_IN_KILOMETER 1.609344
aussagekräftiger Namen statt magischer Zahl
Datentypen
int anzahlMile = 0;
float anzahlKilometer = 0.0;
Integerzahl
(int) GanzeZahl also 0 oder 1 oder 2 oder …
Fliesskommzahl (float) 1.5 oder 3.14
Funktion
[CHOWTO15]
Funktion
#include<stdio.h>
int addiere(int summand1, int summand2) {
return (summand1 + summand2);
}
int main() {
int summe = addiere(3, 7);
printf("Summe von 3 und 7 ist %d\n",summe);
return 0;
}
[CHOWTO15]
Zeiger
Klavier ist verstimmt.
Unser Freund Kurt kann ein Klavier stimmen.
Das Klavier ist aber zu groß,
um es zu Kurt zu bringen.
Wir geben Kurt eine Wegbeschreibung,
damit er zu uns findet.
int zahl = 7;
Zeiger
int* zeiger;
zeiger = &zahl;
printf("Zeiger­Wert: %d\n", *zeiger);
[CHOWTO15]
Zusammenfassung 1
Editor
gedit
Programm
(Quelltext)
Compiler
gcc
ausführbares Programm
./a.out
Integrierte Entwicklungsumgebung
QtCreator
Zusammenfassung 2
Zusammenfassung 3
Fehlersuche / Debuggen
Anweisung
Bedingung
Schleife
Funktion
Zeiger
Danke für die Aufmerksamkeit!
http://www.erlug.de
Erlanger Linux User Group e.V.
Weitere Literatur und Links
[CHOWTO15]
http://www.c-howto.de
[WIK15] Wikipedia
http://de.wikipedia.org
Rechtliches
Der Text der Präsentation sowie von mir selbst erstellte
Bilder gekennzeichnet mit “[WEI12]” stehen unter
http://creativecommons.org/licenses/by-nc-sa/3.0/
Alle hier verwendeten G2 Tuxe – gekennzeichnet mit [CRY15]
stehen ebenfalls unter der
cc creative commons Lizenz und dürfen unter Nennung
der Quelle verwendet werden!
"Illustrations from the website http://tux.crystalxp.net".
Alle in den Folien genannten Markennamen sind Eigentum
der Rechteinhaber und werde hier nur zu Unterrichtszwecken
genannt.
Herunterladen