ANSI C 3.0. Grundlagen der Programmierung. Ricardo Hernández García. 1. Ausgabe, November 2017 ISBN CANSI3

Größe: px
Ab Seite anzeigen:

Download "ANSI C 3.0. Grundlagen der Programmierung. Ricardo Hernández García. 1. Ausgabe, November 2017 ISBN CANSI3"

Transkript

1 ANSI C 3.0 Ricardo Hernández García Grundlagen der Programmierung 1. Ausgabe, November 2017 CANSI3 ISBN

2 I ANSI C 3.0 Grundlagen der Programmierung Bevor Sie beginnen 4 1. Einführung in C Entstehung von C Algorithmus und C-Programm Erstellen eines C-Programms Vom Quellcode zum Maschinenprogramm Das erste Programm in C Mehrseitige Auswahl Iteration Kopfgetestete Schleife Endegetestete Schleife Die Zählschleife Sprünge Rekursion Übungen Variablen und Konstanten In C verfügbare Datentypen Variablen in C Konstanten in C Übung Operatoren Grundlegende Operatorenarten Arithmetische Operatoren Relationale und logische Operatoren Bitoperatoren Zuweisungsoperatoren Umwandlung eines Datentyps Übung Funktionen Einsatzbereiche für Funktionen Definition einer Funktion Parameter einer Funktion Rückgabe von Werten Gültigkeitsbereich von Variablen global und lokal Funktionsprototypen Übungen Formatierte Ein- und Ausgabe Die Funktion getchar Die Funktion putchar Formatierte Ausgabe Funktion printf Tastatureingaben Übungen Kontrollstrukturen Steuerung des Programmablaufs Sequenz Anweisungsblock Selektion Einfache Selektion Zweifache Selektion Der Bedingungsoperator Komplexe Datentypen Typvereinbarung (typedefs) Aufzählungstypen (Enumerationen) Arrays Mehrdimensionale Arrays Strukturen Union Bitfelder Übungen Zeiger Zeigertypen Speicherplatz anfordern Speicherplatz freigeben Dynamische Speicherverwaltung Zeigerarithmetik Zeiger in Strukturen Zeiger auf Arrays Zeiger auf Zeiger Zeiger auf Funktionen Zeiger auf Zeichenketten Übungen Dateibearbeitung Voraussetzungen für den Dateizugriff Dateien öffnen, beschreiben und schließen Dateien formatiert einlesen Dateien löschen Übung Der Präcompiler Aufgaben des Präcompilers Die Präcompiler-Direktiven Die #include-direktive Die #define-direktive Steueranweisungen Die #line-direktive Der Operator # zur Textersetzung Die Direktive ## Die Direktiven #error und #pragma Übungen HERDT-Verlag

3 Inhalt I 11. Modulare Programmierung Das Prinzip der modularen Programmierung Mehrdateienprogramme Parameter an ein Programm übergeben Übungen Standardbibliotheken Ausgewählte Standardbibliotheken ctype.h string.h stdio.h math.h stdlib.h time.h Anhang 188 A.1 Rangordnung der Operatoren 188 A.2 ASCII-Tabelle 189 Stichwortverzeichnis 190 HERDT-Verlag 3

4 Bevor Sie beginnen Bevor Sie beginnen BuchPlus unser Konzept: Problemlos einsteigen Effizient lernen Zielgerichtet nachschlagen (weitere Infos unter Nutzen Sie dabei unsere maßgeschneiderten, im Internet frei verfügbaren Medien: So können Sie schnell auf die BuchPlus-Medien zugreifen: Rufen Sie im Browser die Internetadresse auf. 2 Geben Sie den folgenden Matchcode ein: CANSI3. 1 Wählen Sie Codes. Die Beispiel-, Übungs- und Ergebnisdateien können Sie in C-Entwicklungsumgebungen wie beispielsweise Microsoft Visual Studio 2017, C++-Builder von Embarcadero, Eclipse CDT (Open Source) oder in CodeLite (Open Source) laden, kompilieren und ausführen. Hinweise zu Soft- und Hardware In den Funktionsbeschreibungen des Buches wird von einer Erstinstallation der Entwicklungsumgebung Microsoft Visual Studio 2017 unter dem Betriebssystem Windows 10 und den Standardeinstellungen für diese Programme ausgegangen. Allerdings sollten sich weder bei der Verwendung eines anderen Betriebssystems noch beim Verwenden einer anderen Entwicklungsumgebung größere Abweichungen ergeben. 4 HERDT-Verlag

5 Einführung in C Einführung in C 1.1 Entstehung von C Die Programmiersprache C entstand in den 70er-Jahren mit folgenden Eigenschaften: Mit den Befehlen der Sprache ist die plattformunabhängige Programmierung einer Computerhardware möglich. Auch direkte Speicherzugriffe werden unterstützt. Es handelt sich um eine prozedurale Sprache, d. h., ein Problem wird in kleinere Teilprobleme zerlegt, die wiederum in abgeschlossenen Einheiten, den sogenannten Prozeduren, gelöst werden. Auf diese Weise wird eine Aufgabe übersichtlicher lösbar und bestimmte Teillösungen können zur Lösung anderer Probleme wiederverwendet werden. In C geschriebene Programme laufen in etwa derselben Geschwindigkeit ab wie äquivalente Programme in Maschinensprache. Dabei ist zu beachten, dass die Entwicklung von Programmen in Maschinensprache deutlich aufwendiger ist und diese schwer les- und wartbar sind. Einsatzgebiete Von Anfang an war das Haupteinsatzgebiet von C die Systemprogrammierung. Es kommt bei den zu entwickelnden Programmen besonders auf Geschwindigkeit und einen kompakten Programmcode an. Außerdem soll die Hardware besonders effektiv angesprochen werden können. Solche Programme werden z. B. beim Entwickeln von Betriebssystemen (Windows, Linux) oder für die Programmierung von Kleinstgeräten (Aufzugssteuerungen, mobile Geräte, Mikro-Controller) eingesetzt. Allgemein wird von eingebetteten Systemen geredet, wenn ein Computersystem aus Hard- und Software in einer technischen Umgebung seine Arbeit verrichtet. Beispielsweise für grafische Anwendungen, Textverarbeitungen oder andere umfangreiche Anwendungen werden eher objektorientierte Programmiersprachen eingesetzt, da sich mit C derart umfangreiche Anwendungen sehr schlecht strukturieren und warten lassen. Standardisierung Die Standardisierung ist für eine Programmiersprache eine sehr wichtige Angelegenheit, um die Entstehung unterschiedlicher und insbesondere nicht miteinander austauschbarer Sprachversionen zu verhindern. Durch einen Standard kann erreicht werden, dass bestimmte Programme genauso auf einem Kleinstgerät wie auch auf einem PC laufen können. HERDT-Verlag 5

6 1 Einführung in C Die erste Befehlsübersicht von C erschien Die Standardisierung von C wurde 1989 durch das ANSI-Komitee (American National Standards Institute) fortgeführt und ANSI-C genannt. Heute werden die Standards durch eine Jahreszahl mit Präfix C benannt. Standard Bemerkung K&R-C C89 C90 C95 C99 C11 Diese Version basiert hauptsächlich auf dem ersten Buch zu C von den beiden Autoren Kernighan und Ritchie von Die erste echte Standardisierung erfolgte über das American National Standards Institute (ANSI) im Jahre Ein Jahr nach dem Erscheinen des 1. Standards wurden kleine Änderungen hinzugefügt und die ISO-Norm C90 definiert. Sie ist Basis vieler heutiger C-Implementierungen. Die wichtigsten Verbesserungen waren die Einführung von Funktionsprototypen sowie die Normierung der C-Standardbibliothek wurden in einem neuen Standard Fehlerbehebungen, einige neue Makros sowie die Unterstützung weiterer Zeichensätze zusammengefasst. Obwohl dieser Standard schon relativ alt ist, wird er selten von den gängigen Compilern vollständig implementiert. Über die Jahre wurden einige häufig vermisste Sprachkonstrukte und Schreibweisen anderer Sprachen hinzugefügt wie der Datentyp _Bool, der einzeilige C++- Zeilenkommentator "//" oder die Möglichkeit, Variablen direkt in einer for-schleife zu definieren. Ende 2011 wurde der aktuelle C11-Standard verabschiedet. Er enthält Korrekturen der Vorversion und Neuerungen wie beispielsweise Unterstützung von Multithreading, neue Datentypen und generische Ausdrücke. Unter finden Sie genauere Informationen zu den Änderungen in den verschiedenen Versionen. Im Zusammenhang mit den C-Standards fällt auch hin und wieder die Abkürzung POSIX (Portable Operating System Interface). POSIX definiert allerdings nicht Standards für die Programmiersprache C, sondern spezifiziert die Schnittstelle zwischen der zu programmierenden Applikation (Anwendung) und dem Betriebssystem. Im POSIX-Standard sind u. a. Systemaufrufe definiert. Diese können von der Sprache C für den Hardwarezugriff genutzt werden. 1.2 Algorithmus und C-Programm Mit Computern werden Problemstellungen mithilfe von Programmen gelöst. Dabei sind mehrere Lösungswege zu deren Erstellung möglich. Es besteht z. B. die Aufgabe, herauszufinden, ob der Vater von Klaus Wuchtig Herbert Wuchtig ist. Sie können den folgenden algorithmisch orientierten Weg verfolgen: Rufen Sie im Adressbuch alle Einträge mit dem Namen Klaus ab. Wählen Sie die Einträge aus, bei denen der Familienname Wuchtig ist. 6 HERDT-Verlag

7 Einführung in C 1 Suchen Sie denjenigen der ausgewählten Einträge heraus, bei dem der Vater Herbert Wuchtig ist. Geben Sie das gefundene Ergebnis aus, das auch darin bestehen kann, dass es keinen entsprechenden Eintrag im Adressbuch gibt. Handlungsschritte, wie sie oben aufgeführt sind, werden Algorithmen genannt. Programme arbeiten Algorithmen ab. Ein Algorithmus ist somit eine Folge von Anweisungen, die unter gleichen Ausgangswerten nach endlich vielen Schritten in einer endlichen Zeit das gesuchte Ergebnis ermitteln. Dabei sollte immer das gleiche Ergebnis geliefert werden. Die Programmiersprache C gehört zu den imperativen Sprachen. Imperativ bedeutet, dass die Reihenfolge der Anweisungen die Abarbeitungsschritte des Programms genau bestimmt. Diese Vorgaben können Algorithmen liefern. Sie haben somit beim Programmieren mit C die Aufgabe, den Ablauf der einzelnen Schritte (Sequenzen) zur Lösung einer Aufgabe zu planen und in Anweisungsfolgen zu fassen. Beispiel Im folgenden Beispiel werden die Werte in den Variablen a und b (12 und 33) addiert und der Variablen summe zugewiesen. Anschließend wird der Wert in der Variablen summe auf dem Bildschirm ausgegeben.... int summe; int a = 12; int b = 33; summe = a + b; printf("ausgabe: Summe ist %d.", summe);... Andere Prinzipien Im Gegensatz zu den imperativen Sprachen arbeiten logisch orientierte Sprachen, z. B. PROLOG, nach einem anderen Prinzip. Hier werden keine Sequenzen für den Programmablauf aufgestellt. Die Ergebnisermittlung beruht auf einer Suche in einer zuvor erstellten Wissensbasis (z. B. einem Adressbuch, einer Datenbank für die Symptome von Krankheiten oder einer Datenbank zur Wetterbeobachtung). In dieser werden alle relevanten Daten und deren Verknüpfungen untereinander gespeichert. In dieser Wissensbasis werden Daten gesucht, die eine möglichst genaue Übereinstimmung mit einem aus der Aufgabenstellung des Programmierproblems abgeleiteten Ausdruck aufweisen. Die erstellte Wissensbasis kann kontinuierlich erweitert werden und zur Lösung weiterer Aufgabenstellungen herangezogen werden. HERDT-Verlag 7

8 1 Einführung in C Prinzip der Lösung mit einer logischen Programmiersprache Aufgabe: Gib den Namen der Person zurück, die folgende Fakten erfüllt: Die Person ist Vater. Der Name ist Herbert. Der Vorname des Sohnes ist Klaus. Der Familienname ist Wuchtig. Im Gegensatz zum imperativen Verfahren ist bei diesem Verfahren nicht vorgegeben, wie die gesuchten Informationen gefunden werden. Denkbar ist sogar, dass mehrere Aktivitäten auf mehreren Rechnern zeitgleich gestartet werden. Ein drittes Prinzip führt zu den funktionalen Programmiersprachen (z. B. LOGO). In ihnen gibt es zunächst nur wenige ausgewählte Befehle. Die Sprache wird durch das Erlernen und das Ausführen von neuen Befehlen mächtiger. Durch das Kombinieren von bereits gelernten Befehlen zu wieder neuen Befehlen wird die Leistungsfähigkeit der Sprache ständig erweitert. Objektorientierte Programmiersprachen Nicht zu vergessen sind die objektorientierten Programmiersprachen. Hier werden Daten und die sie manipulierenden Prozeduren in einer Einheit der Klasse gekapselt. Eine Ausprägung einer solchen Klasse wird Objekt genannt. Ein Vorteil dieser Vorgehensweise ist, dass zusammengehörige Teile beim Programmieren auch zusammen verwaltet werden. Die Analyse einer Aufgabenstellung unterscheidet sich auch hier sehr von der Programmierung in C, da versucht wird, Klassen in der Aufgabenstellung zu identifizieren, die dann mit ihren Daten und Methoden, die sie beschreiben, nachgebaut werden. 1.3 Erstellen eines C-Programms Da es in natürlichen Sprachen (z. B. Englisch, Deutsch, Spanisch) Mehrfachbedeutungen von Wörtern gibt, z. B. das Wort verlesen in der Bedeutung von falsch lesen und auslesen, aussortieren, können diese Sprachen nicht für die Programmierung verwendet werden. Es wäre auch sehr schwer, aus dem großen Sprachwortschatz eine für den Computer verständliche und auf ihm ausführbare Lösung zu beschreiben. Die Befehlsschritte zur Programmierung werden deshalb in einer speziellen Sprache aufgeschrieben, in der es nur eine feste Menge von eindeutigen Anweisungen gibt. Die Wörter für die Anweisungen sind fest vorgegeben und werden reservierte Wörter genannt, da sie für die Formulierung des Algorithmus in der betreffenden Programmiersprache reserviert sind. Sie werden nach einem ebenfalls fest vorgeschriebenen Regelwerk zu Befehlssequenzen zusammengesetzt. Die Schlüsselwörter (oder reservierten Wörter) entstammen der englischen Sprache. Sie sollen die entsprechende Wirkung einer Anweisung mit der Namensgebung verdeutlichen und dadurch das Erlernen und Lesen der Sprache vereinfachen. 8 HERDT-Verlag

9 Einführung in C 1 Übersicht über die reservierten Wörter in C auto do goto signed unsigned break double if sizeof void case else int static volatile char enum long struct while const extern register switch continue float return typedef default for short union Im Standard C99 kamen noch die folgenden reservierten Wörter hinzu: _Bool _Complex _Imaginary inline restrict Im Standard C11 kamen zusätzlich die folgenden reservierten Wörter hinzu: _Alignas _Alignof _Atomic _Generic _Noreturn _Static_assert _Thread_local In einer Programmiersprache ist die Syntax eine vorgegebene Notation einer Anweisung. Die Befehlszeilen werden in Textform aufgeschrieben und als Quelltext bezeichnet. Die zugehörige Datei heißt Quelldatei und erhält die Endung *.c. Da Prozessoren nur Maschinenbefehle verarbeiten können, wird der Quellcode einer höheren Programmiersprache wie C oder C++ vor der Abarbeitung in ein Maschinenprogramm überführt. Diese Aufgabe übernehmen Übersetzer, die grundsätzlich nach zwei unterschiedlichen Prinzipien arbeiten können: Compiler Der Compiler übersetzt den Quelltext vollständig in ein Maschinenprogramm. Dabei kann der Compiler z. B. eine Optimierung des Quellcodes durchführen und schnelle kompakte Maschinenprogramme erstellen. Die Sprache C ist eine Compiler-Sprache, d. h. für die Übersetzung von C-Programmen wird in der Regel ein Compiler verwendet. Interpreter Ein Interpreter verknüpft die Übersetzung des Programmcodes mit seiner Ausführung. Dadurch arbeitet er meist weniger effizient als direkt in Maschinencode übersetzte Programme. Der Vorteil des Interpreters besteht darin, dass er das Programm erst auf dem jeweiligen Zielsystem interpretiert, wodurch er spezielle Optimierungen vornehmen kann. Weiterhin sind Änderungen während der Programmausführung möglich. Für jedes Zielsystem, welches einen anderen Prozessor oder ein anderes Betriebssystem einsetzt, muss ein Compiler bzw. ein Interpreter vorhanden sein, um den Quellcode entsprechend zu übersetzen oder auszuführen. HERDT-Verlag 9

10 1 Einführung in C 1.4 Vom Quellcode zum Maschinenprogramm Das folgende Beispiel geht von der Erstellung einer C-Anwendung aus, die unter dem Betriebssystem Windows laufen soll, was an der Dateiendung *.exe der fertigen Anwendung zu erkennen ist. Der Vorgang wäre allerdings unter Linux oder anderen UNIX-Systemen völlig identisch. Header- Dateien Quellcode- Datei Objekt-Dateien Maschinenprogramm- Datei Dateiendung: name.h Dateiendung: name.c Dateiendung: name.obj Dateiendung: name.exe Folgende Schritte werden durchlaufen, bevor aus einem C-Programm ein Maschinenprogramm erstellt wird: Zuerst werden die Header-Dateien durch den Präcompiler in die Quellcodedatei eingefügt. Dieses Verfahren ermöglicht, Standardbibliotheken und fremde Funktionen in das Programm einzubinden, ohne dass die Programmteile vom Programmierer in den Quelltext kopiert werden müssen. Die Header-Datei liefert damit Informationen zu einer Funktionalität, die an anderer Stelle bereitgestellt wird. Der Präcompiler wird über sogenannte Direktiven gesteuert. Das sind Befehle, die im Quellcode mit dem Zeichen # beginnen. Im folgenden Schritt wird mit dem Compiler der Quellcode in eine Objektdatei übersetzt (diese hat meist die Endung.o oder *.obj). Objektdateien sind Maschinenprogramme, deren Lage im Speicher des Computers noch durch den Linker angepasst werden müssen. Im letzten Schritt werden gegebenenfalls noch weitere Objektdateien mit dem Hauptprogramm verbunden (z. B. Bibliotheken von Drittherstellern). Dieser Vorgang wird Linken genannt. Das Programm ist jetzt vom Quellcode in ein ausführbares Maschinenprogramm übersetzt und gelinkt worden und kann direkt vom Prozessor abgearbeitet werden. Präcompiler Der Präcompiler (auch Präprozessor genannt) startet seine Aktivitäten, bevor der eigentliche Compiler den Quelltext übersetzt. Seine Aufgabe besteht darin, die Header-Dateien in den Quelltext einzufügen, weitere Definitionen bereitzustellen und Vorbereitungen für den Compiler zu treffen, damit eine Übersetzung erfolgreich durchgeführt werden kann. Anweisungen, die im Quelltext für den Präcompiler gedacht sind, werden mit dem Zeichen # am Anfang der Zeile versehen. Die folgende Anweisung bindet zum Beispiel die Header-Datei stdio.h ein, die die Standardfunktionen für die Ein- und Ausgabe bereitstellt. #include <stdio.h> Ohne diese Anweisung ist z. B. die Funktion printf, die für Bildschirmausgaben benötigt wird, dem Compiler unbekannt und er gibt eine entsprechende Fehlermeldung zurück. Eine detaillierte Übersicht über den Präcompiler und die zahlreichen Präcompiler-Direktiven finden Sie in Kapitel HERDT-Verlag

11 Einführung in C 1 C-Compiler und Entwicklungsumgebungen Damit Sie C-Programme schreiben, übersetzen und ausführen können, benötigen Sie einen C- Compiler. Dazu gibt es eine sehr große Auswahl. Zumeist sind diese Umgebungen für die Sprache C++ vorgesehen. Sie unterstützen aber auch die Programmerstellung in C. Es folgt eine Übersicht über häufig eingesetzte Compiler/Entwicklungsumgebungen. Übersicht über C-Compiler Compiler GNU Compiler C++ Builder Visual Studio bzw. Visual Studio Community- Edition Eclipse CDT Kurzbeschreibung GCC (GNU Compiler Collection) ist eine Sammlung verschiedener Compiler, unter anderem auch für C/C++. Sie besitzt im einfachsten Fall einen Kommandozeilen-Compiler, den Sie manuell in einer Konsole aufrufen können. Viele Entwicklungsumgebungen verwenden Compiler aus dieser Sammlung. Als Zielplattform stehen Windows sowie zahlreiche Linux- und UNIX- Versionen zur Auswahl. Der Compiler und häufig auch die Entwicklungsumgebungen sind kostenfrei. Hier handelt es sich um eine Weiterentwicklung von Borland C++, der von Embarcadero weiterentwickelt wird. Aktuell stehen nur kommerzielle Versionen zur Verfügung. Die Entwicklung erfolgt nur für Windows. Microsoft stellt verschiedene kommerzielle wie auch kostenfreie Versionen bereit. Die fertigen Anwendungen laufen unter Windows, Android, ios, dem Web und in der Cloud. Auf Basis der Eclipse-Plattform wird hier eine Entwicklungsumgebung für C/C++ bereitgestellt, die als Compiler auf GNU zurückgreift. Damit stehen die Entwicklungsumgebung sowie die fertigen Anwendungen auf unterschiedlichsten Plattformen zur Verfügung. Die Software ist kostenfrei. Eine umfangreiche Liste von kostenfrei verfügbaren C/C++-Compilern finden Sie unter Das erste Programm in C Struktur eines C-Programms An erster Stelle stehen die Präcompiler-Anweisungen, die beispielsweise Dateien einbinden oder für Textersetzungen festgelegt werden. In diesem ersten Teil können auch Variablen mit globaler Gültigkeit und Konstanten definiert werden. Es folgen die Funktionen, die Sie von Ihrem Hauptprogramm aus aufrufen können. HERDT-Verlag 11

12 1 Einführung in C Nach der Definition des Funktionsnamens, des Rückgabetyps und der Parameter kommt der Anweisungsteil einer Funktion, der, gefolgt von eventuellen Wertrückgaben, in die Klammern M und N eingeschlossen wird. Die Funktion main ist das Hauptprogramm. Sie dient als Eintrittspunkt nach dem Programmstart. Mit ihr beginnt die Abarbeitung. Die Funktion main wird als letzte der Funktionen definiert. Die Funktion gibt bei erfolgreicher Abarbeitung den Rückgabewert 0 an das Betriebssystem zurück. Präprozessoranweisung #include <stdio.h> Konstantendefinition Variablendefinitionen Funktionsdefinition Anweisungsteil Hauptfunktion Anweisungsteil const double mwst = 0.19; int preis, anzahl; Funktion(Parameter) { Anweisung1; Anweisung2; return wert; } int main(void) { Anweisung1; Anweisung2; return 0; } Beispiel: Start.c Das folgende Programm gibt die Meldung Guten Tag! auf dem Bildschirm aus. #include <stdio.h> int main(void) { printf("guten Tag!"); return 0; } Mit der Präcompiler-Anweisung #include <stdio.h> wird die Header-Datei (oftmals auch als Bibliothek bzw. Standardbibliothek bezeichnet) stdio.h, die eine Vielzahl von Standardfunktionen enthält, in das Programm eingefügt. Diese wird hier benötigt, um die Funktion printf für Ausgaben auf dem Bildschirm verwenden zu können. Der Compiler übersetzt Code mit Funktionsaufrufen nur, wenn diese zuvor bereitgestellt worden sind. Die Hauptfunktion main ist der Einsprungspunkt in das Programm. Der Parameter der Funktion main ist vom Typ void. Dieser Typ wird verwendet, wenn nichts übergeben werden soll. Die geschweifte Klammer leitet den Anweisungsteil der Funktion main ein. Mithilfe der Funktion printf wird der Text Guten Tag! auf dem Bildschirm ausgegeben. 12 HERDT-Verlag

13 Einführung in C 1 Nach der erfolgreichen Abarbeitung der Funktion main erfolgt der Rücksprung zum Betriebssystem, der mit der Anweisung return eingeleitet wird. Die Funktion gibt den Wert 0 an das Betriebssystem zurück, wenn die Abarbeitung der Funktion und damit des Programms fehlerfrei ausgeführt wurde. Tritt bei der Ausführung ein Fehler auf, wird die Funktion vorzeitig verlassen und ein Wert verschieden von null an das Betriebssystem zurückgegeben. Die geschweifte Klammer beendet den Anweisungsteil der Funktion main. Durch Einrückungen und gemeinsames Anordnen der zusammengehörigen Programmteile können Sie das Programm übersichtlich gestalten. Kommentare Kommentare sind im Quelltext untergebrachte Informationen, die umgangssprachlich über mehrere Zeilen, aber nicht verschachtelt, geschrieben werden und das Verständnis des Quelltextes erleichtern sollen. Sie werden vom Compiler nicht übersetzt. Diese Informationen werden zwischen den Zeichen H 8 und 8 H eingeschlossen. Auch beliebiger Quelltext, der sich zwischen den Kommentarzeichen befindet, wird nicht ausgeführt. Kommentare werden vom Präprozessor entfernt, bevor der eigentliche Übersetzungslauf startet. Mit dem C99-Standard wurde auch die Möglichkeit geschaffen, Texte bis zum Zeilenende durch Voranstellen der Zeichenfolge H H als Kommentar zu kennzeichnen. Wählen Sie kurze und treffende Kommentare für die Beschreibungen Ihrer Programmzeilen, um bei einer späteren Fehlersuche das Lesen des Quelltextes zu erleichtern und eine Änderung/Aktualisierung zu ermöglichen. Selbsterklärende Programmzeilen sollten Sie nicht mit Kommentaren versehen, da diese die Lesbarkeit nicht erhöhen. /* Die folgenden Zeilen werden nicht kompiliert. */ /* printf("hallo"); */ // Ausgabe der Zeichenkette "Hallo"... Beispiel: Kommentar.c Zur Erklärung der Programmschritte werden Kommentare nach oder vor den zu kommentierenden Programmzeilen eingesetzt. Das nachfolgende Beispiel enthält allerdings zu viele Kommentare, da die Anweisungen selbst bereits aussagekräftig genug sind. #include <stdio.h> /* notwendig, um printf verwenden zu koennen */ // Hauptprogramm: int main(void) { printf("guten Tag!"); /* Begruessung */ return 0; // Rueckgabewert 0 -> Programm ohne Fehler ausgefuehrt } /* Kommentare koennen sich ueber mehrere Zeilen erstrecken. Sie schreiben einfach Ihren Kommentar fertig und setzen am Ende das Abschlusszeichen */ HERDT-Verlag 13

14 2 Variablen und Konstanten 2 2. Variablen und Konstanten 2.1 In C verfügbare Datentypen Die wichtigsten Datentypen, die in C standardmäßig für Variablen und Konstanten verfügbar sind (auch Basisdatentypen genannt), lassen sich in Zeichen-, Ganzzahl- und Gleitkomma-Datentypen unterscheiden. Speicherbedarf, Wertebereich und Genauigkeit der Datentypen Zeichen-Datentypen Datentyp Wertebereich Speichergröße Anwendungsbereich char 1 Zeichen 1 Byte Zeichen werden durch einfache Anführungszeichen eingeschlossen. Intern wird das Zeichen als Wert des entsprechenden ASCII-Zeichens gespeichert, z. B. 65 für den Buchstaben a. signed char unsigned char -128 bis Byte Es können auch Ganzzahlen gespeichert werden. 0 bis Byte Es können nur positive Zahlen einschließlich der Null gespeichert werden. Ganzzahl-Datentypen Datentyp Wertebereich Speichergröße short int bis Byte unsigned short int 0 bis Byte int unsigned int Maschinenabhängig: bis (16 Bit) -2,147,483,648 bis 2,147,483,647 (32 Bit) Maschinenabhängig: 0 bis (16 Bit) 0 bis 4,294,967,295 (32 Bit) 2 Byte 4 Byte 2 Byte 4 Byte 14 HERDT-Verlag

15 Variablen und Konstanten 2 Datentyp Wertebereich Speichergröße long int -2,147,483,648 bis 2,147,483,647 (32 Bit) 4 Byte unsigned long int 0 bis 4,294,967,295 (32 Bit) 4 Byte long long int -9,223,372,036,854,775,808 bis 9,223,372,036,854,775,807 (64 Bit) 8 Byte unsigned long long int 0 bis 8,446,744,073,709,551,615 (64 Bit) 8 Byte Die Speichergröße des Datentyps int bzw. unsigned int ist maschinenabhängig und kann 2 Byte, 4 Byte und bei 64-Bit-Systemen auch 8 Byte betragen. Der Wertebereich ändert sich dann entsprechend. Entsprechend der Schreibweise der vorzeichenbehafteten Datentypen kann bei den übrigen Datentypen das Schlüsselwort signed ergänzt werden. In Verbindung mit den Schlüsselwörtern short, long, signed oder unsigned kann das Schlüsselwort int entfallen. Gleitkomma-Datentypen Datentyp Wertebereich Genauigkeit Speichergröße float 1,18 x bis 3,4 x Stellen 4 Byte double 2,23 x bis 1,79 x Stellen 8 Byte long double 3,37 x bis 1,18 x bis 33 Stellen (plattformabhängig) 10 bzw. 12 oder 16 Byte (plattformabhängig) 2.2 Variablen in C Der Sinn der Datenverarbeitung besteht in der Bearbeitung von Daten in einer vorher bestimmten Art und Weise (z. B. die Berechnung einer Summe oder einer Differenz). Dazu müssen Werte aus dem Speicher des Rechners gelesen, verändert und anschließend wieder gespeichert werden. Für diese Aufgabe sind Variablen vorgesehen. Bevor mit einer Variablen gearbeitet werden kann, müssen dem Compiler der Datentyp und der Bezeichner (Variablenname) bekannt sein dieser Vorgang wird als Deklaration bezeichnet. Außerdem muss der Variablen ein Speicherbereich zugeteilt werden dieser Vorgang wird als Definition bezeichnet. Jede Definition ist auch gleichzeitig eine Deklaration. Als Oberbegriff für Definition und Deklaration wird oftmals Vereinbarung benutzt. Der Umfang des benötigten Speicherplatzes hängt vom Inhalt ab, der in der Variable gespeichert werden soll. HERDT-Verlag 15

ANSI C. Grundlagen der Programmierung. Ricardo Hernández García. 3. Ausgabe, 2. Aktualisierung, Dezember 2013 CANSI2

ANSI C. Grundlagen der Programmierung. Ricardo Hernández García. 3. Ausgabe, 2. Aktualisierung, Dezember 2013 CANSI2 ANSI C Ricardo Hernández García 3. Ausgabe, 2. Aktualisierung, Dezember 2013 Grundlagen der Programmierung CANSI2 2 ANSI C - Grundlagen der Programmierung 2.4 Vom Quellcode zum Maschinenprogramm Das folgende

Mehr

ANSI C. Grundlagen der Programmierung. Ricardo Hernández García. 3. Ausgabe, September 2011 CANSI2

ANSI C. Grundlagen der Programmierung. Ricardo Hernández García. 3. Ausgabe, September 2011 CANSI2 ANSI C Ricardo Hernández García 3. Ausgabe, September 2011 Grundlagen der Programmierung CANSI2 2 ANSI C - Grundlagen der Programmierung 2.4 Vom Quellcode zum Maschinenprogramm Das folgende Beispiel geht

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Integer Integer Integer (Voreinstellung) Integer Gleitkomma Gleitkomma leer/unbestimmt Integer ohne Vorzeichen Integer (explizit) mit Vorzeichen

Integer Integer Integer (Voreinstellung) Integer Gleitkomma Gleitkomma leer/unbestimmt Integer ohne Vorzeichen Integer (explizit) mit Vorzeichen 1 C-Schlüsselwörter Schlüsselwörter sind in allen Programmiersprachen reservierte Wörter. In C sind auch alle Namen _[A-Z]... und... reserviert, auch _... bereichsweise. Weiterhin durch die Standard-

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Grundlagen. Die Komponenten eines C Programms. Das erste Programm Grundlagen 1. Die Komponenten eines C Programms 2. Ein Programm erzeugen und übersetzen 3. Variablen Deklarieren und Werte zuweisen 4. Zahlen eingeben mit der Tastatur 5. Arithmetische Ausdrücke und Berechnungen

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Einheit Lexikalische Grundlagen der Programmiersprache C Lexikalische Einheiten

Einheit Lexikalische Grundlagen der Programmiersprache C Lexikalische Einheiten Einheit Lexikalische Grundlagen der Programmiersprache C Lexikalische Einheiten Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik R. Spurk (Informatik)

Mehr

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität

Mehr

Elementare Datentypen in C++

Elementare Datentypen in C++ Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der

Mehr

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort then S. d. I.: Programieren in C Folie 4-1 4 Anweisungen 4.1 if-anweisung 1) if (Ausdruck) 2) if (Ausdruck) } else im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then" es wird nur der numerische Wert

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

Grundlagen der Programmentwicklung

Grundlagen der Programmentwicklung Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Über C++ Über C++ C++ ist eine in der Industrie

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

Mehr

Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden:

Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden: 3 Grundlagen 3.1 Starten eines C++ Programms Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden: 1. Programme, die vom Interpreter der Programmiersprache Zeile für Zeile interpretiert

Mehr

Moderne C-Programmierung

Moderne C-Programmierung Xpert.press Moderne C-Programmierung Kompendium und Referenz Bearbeitet von Helmut Schellong 1. Auflage 2005. Buch. xii, 280 S. ISBN 978 3 540 23785 3 Format (B x L): 15,5 x 23,5 cm Weitere Fachgebiete

Mehr

Erste Schritte der Programmierung in C

Erste Schritte der Programmierung in C Erste Schritte der Programmierung in C C versus C++ Anatomie von C-Programmen für AVR- Mikrocontroller Unterschiede zwischen C++ und C 1 Grundlegende Unterschiede File-Extensions (Header und Quellcode)

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 1

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 1 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 1 SS 2016

Mehr

C programmieren. Jürgen Wolf

C programmieren. Jürgen Wolf C programmieren Jürgen Wolf Vorwort 11 Kapitel 1: Schnelleinstieg 13 Was sollten Sie bereits können? 14 Was lernen Sie mit diesem Buch? 14 Was benötigen Sie noch? 14 Überblick zu den einzelnen Kapiteln

Mehr

Vorlesung 2: Programmieren mit C

Vorlesung 2: Programmieren mit C Vorlesung 2: Programmieren mit C URL zur Lehrveranstaltung http://www.fbmnd.fh-frankfurt.de/~raimann Folien zur Vorlesung, Übungsaufgaben,... Dr. J. Raimann 1 Dev C++ Kostenlose C/C++-Entwicklungsumgebung

Mehr

Microcontroller Praktikum SS2010 Dipl. Ing. R. Reisch

Microcontroller Praktikum SS2010 Dipl. Ing. R. Reisch Microcontroller Praktikum SS2010 Dipl. Ing. R. Reisch Die wichtigsten Unterlagen/Tools Für das Praktikum Unterlagen/Kenntnisse/Tools wichtig: Datenblatt des AT80USB1287 µc Schaltplan des im Praktikum verwendeten

Mehr

Kapitel 3. Mein erstes C-Programm

Kapitel 3. Mein erstes C-Programm Kapitel 3 Mein erstes C-Programm 1 Gliederung Kapitel 3 Mein erstes C-Programm 3.1 Einleitung 3.2 Mein erstes C-Programm 3.3 Zusammenfassung 2 Problem Algorithmus Mittelwert für Messwerte berechnen DGL

Mehr

Programmierung mit C Zeiger

Programmierung mit C Zeiger Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch

Mehr

Programmieren lernen mit C

Programmieren lernen mit C Programmieren lernen mit C Bearbeitet von Karlheinz Zeiner 4., aktualisierte Auflage 2000. Buch. XIV, 361 S. Hardcover ISBN 978 3 446 21596 2 Format (B x L): 16,9 x 24,1 cm Gewicht: 730 g Weitere Fachgebiete

Mehr

Grundlagen. Kapitel 1

Grundlagen. Kapitel 1 Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die

Mehr

Einleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++

Einleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++ Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ 1 Einleitung Vorteile von Java: gut strukturiert mit hohem Funktionsumfang (mächtige Standardbibliothek) weitestgehend

Mehr

Übung 1 - Betriebssysteme I

Übung 1 - Betriebssysteme I Prof. Dr. Th. Letschert FB MNI 13. März 2002 Aufgabe 0: Basiswissen Rechnerarchitektur: Übung 1 - Betriebssysteme I Aus welchen Komponenten besteht ein Rechner mit Von-Neumann Architektur? Was sind Bits

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr

Kurze Einführung in die Programmiersprache C++ und in Root

Kurze Einführung in die Programmiersprache C++ und in Root Kurze Einführung in die Programmiersprache C++ und in Root Statistik, Datenanalyse und Simulation; 31.10.2006 Inhalt 1 Einführung in die Programmiersprache C++ Allgemeines Variablen Funktionen 2 1 Einführung

Mehr

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent magnum C++ WALTER SAUMWEBER kompakt komplett kompetent Quickview... 5 Liebe Leserin, lieber Leser... 13 Teil 1 Grundlagen... 15 1 Was ist Programmieren?... 17 1.1 Was ist eigentlich ein Computerprogramm?...

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8 Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Einführung in die Programmierung Wintersemester 2011/12

Einführung in die Programmierung Wintersemester 2011/12 Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while

Mehr

Die Programmiersprache C99: Zusammenfassung

Die Programmiersprache C99: Zusammenfassung Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach

Mehr

Einführung in die Programmierung 1

Einführung in die Programmierung 1 Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener

Mehr

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 4

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 4 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 4 SS 2016

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens mit C++ und Matlab SS2013 Organisatorisches Dozenten Gruppe: Ango (2.250),

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 3 C-Ausdrücke...3-2 3.1 Arithmetische Ausdrücke...3-3 3.2 Wertzuweisungen...3-5 3.3 Inkrementieren und Dekrementieren...3-6 3.4 Logische Ausdrücke (Bedingungen)...3-7 3.5 Bedingte Ausdrücke...3-8

Mehr

Computergrundlagen Programmieren in C

Computergrundlagen Programmieren in C Die Compilersprache C Computergrundlagen Programmieren in C Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Geschichte D. M. Ritchie, *1941 1971-73: Entwickelt von

Mehr

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C Marcel Arndt arndt@ins.uni-bonn.de Institut für Numerische Simulation Universität Bonn Der Anfang Ein einfaches Programm, das Hello World! ausgibt: #include

Mehr

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch darstellung Arbeiten mit darstellung werden im Computer durch (kleine) Zahlen dargestellt in C können im Datentyp char gespeichert werden, dieser umfasst ein Byte und gilt als Ganzzahltyp darstellung Arbeiten

Mehr

Kapitel 5. Datentypen und Operatoren

Kapitel 5. Datentypen und Operatoren Kapitel 5 Datentypen und Operatoren 1 Gliederung Kapitel 5 Datentypen und Operatoren 5.1 Elementare Datentypen 5.2 Symbolische Konstanten 5.3 Typumwandlungen 5.4 Operatoren 2 5.1. Elementare Datentypen

Mehr

Kapitel 3: Variablen

Kapitel 3: Variablen Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber

Mehr

C für Java-Programmierer

C für Java-Programmierer Carsten Vogt C für Java-Programmierer ISBN-10: 3-446-40797-9 ISBN-13: 978-3-446-40797-8 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40797-8 sowie im

Mehr

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A 2.4.6. Kontrollstrukturen if-anweisung: Bedingte Ausführung (Verzweigung) 2 Varianten: if (Bedingung) Anweisung (Anweisung = einzelne Anweisung oder Block) Bedeutung: die Anweisung wird nur ausgeführt,

Mehr

2 Einfache Rechnungen

2 Einfache Rechnungen 2 Einfache Rechnungen 2.1 Zahlen Computer, auch bekannt als Rechner, sind sinnvoller eingesetzt, wenn sie nicht nur feste Texte ausgeben, sondern eben auch rechnen. Um das Rechnen mit Zahlen zu verstehen,

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)

Mehr

Programmieren I + II Regeln der Code-Formatierung

Programmieren I + II Regeln der Code-Formatierung Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2016/2017, SS 2017 Programmieren I + II Regeln der Code-Formatierung In diesem Dokument finden

Mehr

16. März 2016 artb5-v1.1

16. März 2016 artb5-v1.1 C 16. März 2016 artb5-v1.1 Inhaltsverzeichnis C 2 Was ist ein Programm?........................ 2 Was ist C?............................... 3 Grundgerüst - Hallo Welt....................... 3 Tools und

Mehr

Modulare Programmierung und Bibliotheken

Modulare Programmierung und Bibliotheken Modulare Programmierung und Bibliotheken Proseminar-Vortrag am 24.06.2011 von Ludwig Eisenblätter Ludwig Eisenblätter 1 von 25 Modulare Programmierung und Bibliotheken Inhaltsübersicht Motivation / Einleitung

Mehr

Kurzeinführung in C. Johannes J. Schneider 27.10.2004

Kurzeinführung in C. Johannes J. Schneider 27.10.2004 Kurzeinführung in C Johannes J. Schneider 27.10.2004 1 Einleitung C ist eine in vielen Bereichen sehr häufig verwendete Programmiersprache, die von der Betriebssystemprogrammierung bis hin zur Programmierung

Mehr

3. Einführung in C Programmierung Einführung in C Programmierung

3. Einführung in C Programmierung Einführung in C Programmierung Einführung in C Programmierung 3-1 Warum die Programmiersprache C lernen? C Programme sind leicht zwischen verschiedenen Systemumgebungen portierbar. C ist eine geeignete Sprache zum Aufbau einer Programmbausteinbibliothek.

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

2. Datentypen und Deklarationen

2. Datentypen und Deklarationen 2. Datentypen und Deklarationen Programm = Datenstrukturen+Kontrollstruktur Programme verarbeiten Daten. Daten werden in C durch Datenstrukturen aus verschiedenen Datentypen beschrieben. Es gibt (wie in

Mehr

3. Anweisungen und Kontrollstrukturen

3. Anweisungen und Kontrollstrukturen 3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen

Mehr

Welche Informatik-Kenntnisse bringen Sie mit?

Welche Informatik-Kenntnisse bringen Sie mit? Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt

Mehr

Werner Achte rt DATA BECKER

Werner Achte rt DATA BECKER Werner Achte rt. DATA BECKER Inhaltsverzeichnis 1. Einführung 21 1.1 Entwurf von Anwendungssystemen 23 1.2 Entwicklung eines Programms 25 1.3 Objektorientierte Programmierung 29 1.4 Darstellung objektorientierter

Mehr

Programmieren in C. Burkhard Bunk 6.3.2013

Programmieren in C. Burkhard Bunk 6.3.2013 Programmieren in C Burkhard Bunk 6.3.2013 1 C Die Programmiersprache C wurde Anfang der 70er Jahre von Brian Kernighan und Dennis Ritchie bei Bell Labs (später AT&T) entwickelt und 1989 (in etwas weiter

Mehr

Programmieren in C / C++ Grundlagen C 2

Programmieren in C / C++ Grundlagen C 2 Programmieren in C / C++ Grundlagen C 2 Hochschule Fulda FB AI Wintersemester 2016/17 http://c.rz.hs-fulda.de Peter Klingebiel, HS Fulda, FB AI Anweisung / Ausdruck 1 Programm setzt sich aus vielen Anweisungen

Mehr

Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7

Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7 Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7 Seminare / Praktikum M1/C1 : Mathe 13:15-14:45, C-Kurs 15:15-16:45h M2/C2 : C-Kurs 13:15-14:45, Mathe 15:15-16:45h M*

Mehr

Eine Einführung in C-Funktionen

Eine Einführung in C-Funktionen Eine Einführung in C-Funktionen CGK-Proseminar 2014 Philip Gawehn 04.07.2014, Hamburg Inhaltsverzeichnis 1 Einleitung 2 2 Grundlagen 2 2.1 Der Aufbau einer Funktion....................... 2 2.2 Schlüsselwörter.............................

Mehr

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

Mehr

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if

Mehr

Organisatorisches. Einführung in die Programmierung in C Hochschule Regensburg 13.03.2012.-13.07.2012 Universitätsstraße 31, 93053 Regensburg

Organisatorisches. Einführung in die Programmierung in C Hochschule Regensburg 13.03.2012.-13.07.2012 Universitätsstraße 31, 93053 Regensburg Organisatorisches Einführung in die Programmierung in C Hochschule Regensburg 13.03.2012.-13.07.2012 Universitätsstraße 31, 93053 Regensburg Prof. Dr. Jan Dünnweber Wenn Sie kommen...... kommen Sie pünktlich

Mehr

CEN1112 Labor Software-Entwicklung

CEN1112 Labor Software-Entwicklung Dipl.-Ing. (FH) Peter Bitterlich M.Sc. Joachim Storz Fakultät für Technik STUDIENGANG MEDIZINTECHNIK CEN1112 Labor Software-Entwicklung Vorbereitungsaufgaben zu Versuch 3 C-Programmierung Vertiefung Wintersemester

Mehr

PROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl

PROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl PROGRAMMIEREN MIT C Allgemeine hinweise Alles was hier beschrieben wird, soll auch ausprobiert werden. Warum C? Weil die coolen Dinge mit C am einfachsten gehen. Das werden wir in den folgenden Übungen

Mehr

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Daher ist y = x + 5.6; keine Gleichung, sondern die Anweisung den Wert

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale

Mehr

Programmierkurs: Delphi: Einstieg

Programmierkurs: Delphi: Einstieg Seite 1 von 6 Programmierkurs: Delphi: Einstieg Aus Wikibooks Inhaltsverzeichnis 1 Einstieg Einstieg Was ist Delphi Borland Delphi ist eine RAD-Programmierumgebung von Borland. Sie basiert auf der Programmiersprache

Mehr

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7 Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h> Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include main() { printf( hello world\n ); } Peter Sobe 1 Die Großfamilie der C-Sprachen

Mehr

Teil IV. Grundlagen der Programmierung

Teil IV. Grundlagen der Programmierung Teil IV Grundlagen der Programmierung Überblick 1 Einleitung zu C und C++ Aufbau von Programmen/Dateien Steueranweisungen Funktionen Mehr zu Datentypen: Felder, Zeiger und Strukturen Arbeit mit Dateien

Mehr

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free()

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free() Übungspaket 29 Dynamische Speicherverwaltung malloc() und free() Übungsziele Skript In diesem Übungspaket üben wir das dynamische Alloziieren 1. und Freigeben von Speicherbereichen 2. von Zeichenketten

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

Mehr

PHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54

PHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54 PHP 5.4 Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012 Grundlagen zur Erstellung dynamischer Webseiten ISBN 978-3-86249-327-2 GPHP54 5 PHP 5.4 - Grundlagen zur Erstellung dynamischer Webseiten

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 5. Kontrollstrukturen Allgemein Kontrollstrukturen dienen zur Steuerung des Programmablaufs. (Bemerkung: C und C++ besitzen die selben Kontrollstrukturen.)

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Kapitel 1. Grundlagen

Kapitel 1. Grundlagen Grundlagen Dieses Kapitel beschreibt die nötigen Schritte zur Erstellung eines lauffähigen C- Programms. Diese Schritte können Sie auf Ihrem System anhand von einführenden Beispielen nachvollziehen. Die

Mehr

C++ Einführung. und Datenanalyse mit ROOT. Jörg Marks, Physikalisches Institut, INF 226

C++ Einführung. und Datenanalyse mit ROOT. Jörg Marks, Physikalisches Institut, INF 226 Sommer Semester 2016 C++ Einführung 10.4-14.4.2016 14:00 17:00 CIP Pool INF 226 und Datenanalyse mit ROOT Jörg Marks, Physikalisches Institut, INF 226 marks@physi.uni-heidelberg.de Inhalt Programmierwerkzeuge

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der Java-Welt apl. Prof. Dr. Achim Ebert Inhalt Kapitel 3: Kontrollstrukturen Einfache Anweisungen Anweisungsblöcke Steuerung

Mehr

Algorithmus: Kochrezept

Algorithmus: Kochrezept Algorithmus: Kochrezept Ziel: Menü mit drei Gängen für 4 Personen Grundlegende Spezifikation: 1. Vorspeise: Badische Flädlesuppe 2. Hauptgericht: Überbackene Schinkenröllchen mit Spargel 3. Dessert: Vanilleeis

Mehr

L4. Erster Schritt zum Programmieren

L4. Erster Schritt zum Programmieren L4. Erster Schritt zum Programmieren 1 Programmierung in Hoch Beispielprogramme in FORTRAN, PASCAL und C Die Programmiersprache C Erstellung und Übersetzung eines C-Programms Das Programm Hello World Eingabe

Mehr

BKTM - Programmieren leicht gemacht.

BKTM - Programmieren leicht gemacht. BKTM Programmieren leicht gemacht. + Struktogramm Das Struktogramme ist eine Entwurfsmethode für die strukturierte Programmierung. Es ist nach der DIN 66261 genormt. Es ist 1972/73 von Dr. Isaac Nassi

Mehr

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Der Anfänger sollte nicht entmutigt sein, wenn er nicht die Voraussetzungen besitzt, um die Voraussetzungen zu verstehen...

Mehr

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Sven Willert, Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU, 1-1 Vorlesung Vorlesung drei-stündig, mit Übungen Vorlesung Di, 10:30-12:45 (mit 15 Minuten Pause)

Mehr

5 Grundlagen der Java-Syntax

5 Grundlagen der Java-Syntax 5 Grundlagen der Java-Syntax Es sollen nun einige Grundregeln besprechen, die in jeder Java-Programmdatei berücksichtigt werden müssen. 5.1 Grundsätzliches zur Syntax von Java Programmen Zunächst sollten

Mehr

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt

Mehr

Kurzeinführung in C++

Kurzeinführung in C++ Kurzeinführung in C++ Johannes J. Schneider 27.10.2004 1 Einleitung C++ ist eine heutzutage in vielen Bereichen sehr häufig verwendete Programmiersprache, die auf der Programmiersprache C aufsetzt, aber

Mehr

Vorlesung Informatik I

Vorlesung Informatik I Vorlesung Informatik I Universität Augsburg Wintersemester 2010/2011 Prof. Dr. Robert Lorenz Lehrprofessur für Informatik Programmieren in C Der Compilierungsprozess 1 Aufbau eines C-Programms 1. Direktiven

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,

Mehr

Programmieren in C / C++ Grundlagen C 4

Programmieren in C / C++ Grundlagen C 4 Programmieren in C / C++ Grundlagen C 4 Hochschule Fulda FB AI Wintersemester 2016/17 http://c.rz.hs-fulda.de Peter Klingebiel, HS Fulda, FB AI Anweisungen Anweisung im allgemeinsten Sinn: Programmieren

Mehr

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i

Mehr

4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C

4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C Einfache Programmstrukturen in C 4-1 Welche einfache Programmstrukturen sind zu unterscheiden? Arithmetische und logische Ausdrücke und Zuweisungen Verzweigungen Unvollständige bedingte Anweisungen Vollständige

Mehr