Programmierrichtlinien für C/C++
|
|
- Volker Küchler
- vor 6 Jahren
- Abrufe
Transkript
1 Fachhochschule Vorarlberg Programmierrichtlinien für C/C++ Autor: Verantwortlicher: Status: Wolfgang Auer Wolfgang Auer Draft Review Accepted Version: 1.1, , Seite 1 / 9
2 Versionshistorie Version Datum Autor Bemerkung Wolfgang Auer Ursprüngliche Version Wolfgang Auer Anweisungsformatierung hinzugefügt Wolfgang Auer Kommentar-Konventionen hinzugefügt, C und C++ zusammengefügt Wolfgang Auer Released Wolfgang Auer Korrektur Beispiel Formatierung 1.1, Seite 2 / 9
3 Einleitung Dieses Dokument fasst ausschließlich die für die Lehrveranstaltungen des Department of Computer Science notwendigen Programmierrichtlinien für C/C++ zusammen. Stellen, an denen sich die Richtlinien für C und C++ unterscheiden, sind als solche gekennzeichnet. Wozu Programmierrichtlinien? Das Vorhandensein und vor allem das Einhalten von Programmierkonventionen ist aus verschiedenen Gründen wichtig: 80% der Gesamtkosten eines Softwaremoduls liegen in der Wartung Der Entwickler ist nicht immer auch die Person, die ein Programm wartet Programmierkonventionen erhöhen die Lesbarkeit von Code wodurch der Einarbeitungsaufwand von anderen Entwicklern wesentlich verringert werden kann. Die Fehlersuche im Programm wird erleichtert. usw. Dateinamen C/C++ unterscheidet zwei Dateitypen, die die folgenden Endungen verwenden: Dateityp Dateiendung Header-Datei.h Implementierungs-Datei.c (C-Code).cpp (C++ - Code) 1.1, Seite 3 / 9
4 Datei-Organisation Eine Datei besteht aus mehreren Abschnitten, die durch Leerzeilen getrennt sind und mit optionalen Kommentaren versehen werden können. Sowohl Header- als auch Implementierungs-Dateien sollten 2000 Zeilen nicht überschreiten. Header-Dateien 1 /* filename.h * * author * date * * information concerning class ClassName */ #ifndef FILENAME_H #define FILENAME_H #include <...> #include... #include... class...; enum... typedef... struct... extern... class ClassName : public SuperClassName { private: private Komponenten protected: Schnittstelle für Subklassen public: Schnittstelle für Klienten und Subklassen ; // ClassName #endif /* end of filename.h */ 1. Jede Header-Datei beginnt mit einem Kommentar, in dem der Autor, das Erstellungsdatum der Datei und alle Namen der definierten Klassen bzw Funktionen angeführt werden. 2. Include-Guard, um die mehrfache Einbindung von Header-Dateien zu verhindern 3. An dieser Stelle werden weitere Header-Dateien eingebunden, die Deklarationen enthalten, die zwingend bekannt sein müssen. Bei den zu inkludierenden Headern unterscheiden wird (1) Standard-Header-Dateien, (2) Bibliothek-Header-Dateien und (3) projektspezifische Header-Dateien 1.1, Seite 4 / 9
5 4. (Nur C++) Vorwärtsdeklaration von Klassen, die ausreicht, wenn nur Zeigerbzw. Referenzen dieser Klassen im Header verwendet werden. 5. Deklaration der öffentlichen Typen 6. Deklaration von Funktionen und Variable, die in einem anderen Modul definiert werden. 7. (Nur C++) Deklaration der Klassen Implementierungs-Dateien 1 /* filename.c or.cpp * * author * date * * information concerning implementation */ #include <...> #include... #include... #include filename.h enum... typedef... struct... class (C++ only) int... static ClassName::ClassName() {... /* end of filename.c or.cpp */ 1. Jede Implementierungs-Datei beginnt mit einem Kommentar, in dem der Autor, das Erstellungsdatum der Datei und die Funktion der Klassen oder des Moduls kurz erklärt wird. 2. In der Include-Sektion werden für die Implementierung benötigten Standard-Includes, Bibliothek-Includes, Projektspezifische-Includes und dem include der entsprechenden Deklarationsdatei 3. Deklaration der privaten Datentypen 4. Globale Daten, die exportiert werden und daher in der zugehörigen Header-Datei als extern deklariert wurden. 5. Definition der globalen privaten Dateien 6. Implementierung aller Methoden und Funktionen 1.1, Seite 5 / 9
6 Formatierung Einrückung Neue Blöcke werden mit je 4 Leerzeichen (keine Tabulatoren verwenden) eingerückt. string GetName() { if (m_name == null) { return No name ; return m_name; Zeilenumbruch Eine Zeile, die länger als 80 Zeichen lang ist, wird unter Beachtung der nachfolgenden Empfehlungen umgebrochen: Umbruch nach einem Komma Umbruch vor einem Operator Ein Ausdruck wird unter dem Anfang des umgebrochenen Ausdrucks fortgesetzt. Sollten die obigen Regeln die Lesbarkeit zu sehr beeinträchtigen, erfolgt eine Einrückung von 8 Leerzeichen Beispiel eines Methoden- bzw. Funktionsaufrufs: SomeMethod(longExpression1, longexpression2, longexpression3, longexpression4, longexpression5); Zeilenumbruch bei arithmetischen Ausdrücken: longname1 = longname2 * (longname3 + longname4 - longname5) + 4 * longname6; // PREFER longname1 = longname2 * (longname3 + longname4 - longname5) + 4 * longname6; // AVOID Zeilenumbrüche von if-anweisungen sollten generell 8 Leerzeichen verwenden, um die nachfolgenden Anweisungen deutlich erkennen zu können. //Don t use this indentation if ((condition1 && condition2) (condition3 && condition4)!(condition5 && condition6)) { //Bad wraps DoSomethingAboutIt(); //make this line easy to miss //Use this indentation instead if ((condition1 && condition2) (condition3 && condition4)!(condition5 && condition6)) { DoSomethingAboutIt(); Beispiel einer Methoden-Deklaration: //Indent 8 spaces to avoid very deep indents SomeType SomeOtherType::HorkingLongMethodName(int anarg, string anotherarg, string yetanotherarg) { 1.1, Seite 6 / 9
7 Leerzeilen Die Verwendung von Leerzeilen zur Trennung von Blöcken mit unterschiedlicher Funktionalität erhöht die Lesbarkeit des Quelltextes. Zwei Leerzeilen sollen verwendet werden zwischen: Abschnitten einer Quelltext-Datei Klassen- und Schnittstellendefinition Eine Leerzeile wird verwendet: zwischen Methoden bzw. Funktionen zwischen lokalen Variable einer Methode/Funktion und der ersten Anweisung vor einem Block oder einem Einzeilen-Kommentar Zwischen logischen Abschnitten innerhalb einer Methode oder Funktion Anweisungen Anweisungen werden wie folgt formatiert: if-anweisung if (condition) { if (condition) { else { if (condition) { else if (condition) { else { //AVOID! This omits the braces{! if (condition) statement; for-anweisung for (initialization; condition; update) { do-while-anweisung do { while (condition) switch-anweisung switch (condition) { case ABC: /* falls through */ case DEF: break; case XYZ: break; default: break; //empty for loop for (initialization; condition; update) ; while-anweisung while (condition) { //empty while loop while (condition) ; 1.1, Seite 7 / 9
8 Namenskonventionen Die einheitliche Namensgebung erleichtert das Verständnis eines Programms. Aus dem Namen kann auch die Funktion eines Bezeichners abgeleitet werden. Alle Namen werden in Englisch geschrieben! Funktions-, Typ-, Klassen- und Methodennamen beginnen mit einem Grossbuchstaben z.b. Stack, Push, StackPtr Bezeichner, die aus mehreren Wörtern bestehen, werden zusammengeschrieben. Jedes Wort, außer dem Ersten beginnt mit einem Grossbuchstaben Makronamen werden groß geschrieben. Namen, die aus mehreren Worten bestehen werden durch einen Unterstrich _ getrennt z.b. MAX_INT (Nur C++) Objektkomponenten (Attribute) beginnen mit m_ z.b: m_size, m_width, m_address,... Zeigervariable werden durch p gekennzeichnet z.b.: pstack, m_pstack (Zeiger als Objektkomponente) Statische Variable beginnen mit einen s z.b: snrofinstances,... Konstanten beginnen mit einem c z.b. cmaxint, cmaxnrofelement Globale Variable werden mit dem Präfix g gekennzeichnet z.b. gsize, gpaddress Kommentare Kommentare dienen dazu, Quelltext mit speziellen Implementierungsdetails zu versehen und somit die Verständlichkeit des Quelltextes zu erhöhen. Kommentare geben einen Überblick über den Quelltext und beinhalten Informationen, die nicht direkt aus dem Programmcode ersichtlich sind. Kommentare sollen nur Informationen umfassen, die zum Verständnis des Programms notwendig sind. Es wird zwischen Block-, Einzeilen-, Anfügungs- und Zeilenende-Kommentare (Nur C++) unterschieden. 1.1, Seite 8 / 9
9 Block-Kommentare Block-Kommentare werden zur Kommentierung von Dateien, Methoden, Funktionen, Datenstrukturen und Algorithmen verwendet. Block-Kommentare können am Anfang von Dateien, Methoden und Funktionen stehen oder auch innerhalb von Methoden und Funktionen. Block-Kommentare innerhalb einer Methode bzw. Funktion werden wie der Block, den sie beschreiben, eingerückt. Jedem Block-Kommentar geht eine Leerzeile voraus. /* * This is a block comment */ Einzeilen-Kommentare Kurze Kommentare können in einer einzelnen Zeile geschrieben werden. Einzeilen- Kommentare werden wie der Code, den sie beschrieben, eingerückt. Jedem Einzeilen-Kommentar geht eine Leerzeile voraus. if (condition) { /* This is a single-line comment */... Anfügungs-Kommentare Sehr kurze Kommentare können in der selben Zeile wie der Code, den sie beschreiben, geschrieben werden. Um die Lesbarkeit zu verbessern, sollen Anfügungs-Kommentare mit Hilfe von Leerzeichen vom Code getrennt werden. Werden innerhalb eines funktionalen Blocks mehrere Anfügungs-Kommentare verwendet, werden diese gleich ausgerichtet. if (a == 2) { return true; /* Special case */ else { return isprime(a); /* works only for odd a */ Zeilenende-Kommentare (Nur C++) Mit Hilfe der Zeilenende-Kommentare // können ganze Zeilen oder Teile einer Zeile auskommentiert werden. Obwohl dies möglich ist, sollten Zeilenende-Kommentare nicht zur Auskommentierung von ganzen Blöcken verwendet werden. if (foo > 1) { // Do a double flip else { return false; // Explain why here 1.1, Seite 9 / 9
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
MehrProgrammieren 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
MehrProgrammier-Richtlinien
Programmier-Richtlinien vgl. auch http://java.sun.com/docs/codeconv/ Bemerkung o Programme werden häufiger gelesen als geschrieben o Programmtexte müssen gut lesbar und nachvollziehbar sein Feststellung
MehrProgrammierkonventionen - 1 -
Die wichtigsten Bestandteile der Programmierkonventionen für Java werden hier erläutert. Dies sind: Schreibweise von Bezeichnern Einrückkonventionen Kommentare Programmierkonventionen - 1 - Einleitung
MehrCodingstandard. Softwareentwicklung Praktikum Stand: 27.02.2008
I. Einleitung II. Codingstandard Softwareentwicklung Praktikum Stand: 27.02.2008 Wie in der Vorlesung schon ausgeführt wurde, ist die Lesbarkeit und Wartbarkeit des Sourcecodes ein sehr wichtiges Kriterium
MehrPHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden.
PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden. Allgemein Ein Einzug sollte aus 4 Leerzeichen bestehen.
MehrRO-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
MehrAuD-Tafelübung T-B5b
6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit
MehrGrundlagen. 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
MehrWelche 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
MehrDie Kunst des schönen Kodierens
Die Kunst des schönen Kodierens von Malte Ried Version vom 8. April 2004 Inhaltsverzeichnis 1 Einführung 3 2 Allgemeines 4 2.1 Versionskontrolle........................... 4 2.2 Zeilen.................................
MehrEinfü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).
MehrHochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten
MehrJavaScript. 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
MehrCoding Standards Brandbox
Coding Standards Brandbox Einrückungen und Zeilenlänge...2 Kontrollstrukturen...2 Klassen...3 Funktionen...3 Deklaration... 3 Aufruf... 4 Kommentare...4 PHP-Code-Tags...4 Konventionen, Style, Sprache...5
MehrEinheit 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)
MehrProgrammieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff
Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind
MehrTutorium 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
MehrHochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang
MehrEinfü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
MehrDie 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
MehrModulare 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
MehrTHE GO PROGRAMMING LANGUAGE. Michael Karnutsch & Marko Sulejic
THE GO PROGRAMMING LANGUAGE Part 1: Michael Karnutsch & Marko Sulejic Gliederung Geschichte / Motivation Compiler Formatierung, Semikolons Variablen, eigene Typen Kontrollstrukturen Funktionen, Methoden
MehrTheorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
MehrZeichendarstellung. 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
MehrKlausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte
Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte Musterlösung 1. Aufgabe (5 Punkte) Im folgenden Programmcode sind einige Fehler enthalten. Finden und markieren Sie mindestens
MehrDie 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
MehrHello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.
Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrC# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung
C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung 1. "Hai!" [Konsolenanwendung] Console.WriteLine("Hai, wie geht's?"); 2. Muktiplikation mit sich selbst [Konsolenanwendung] // Ausgabe
Mehr5 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
MehrHochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller
Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller Datum, Zeit, 08:00 09:30 Uhr (90 min) Aufgabenblätter 14 Seiten (einschl. Deckblatt) erreichbare Punktzahl 54 zugelassene
MehrEinfü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
Mehr3. 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
MehrC/C++ Programmierung
1 C/C++ Programmierung Grundlagen: Der Präprozessor Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Der Präprozessor
Mehr1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)
1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollsttukturen - 1 - 3. Anweisungen und Kontrollstrukturen
MehrEntwicklungsrichtlinien. 6. Mai 2015
Entwicklungsrichtlinien 6. Mai 2015 Überblick Warum gibt es Entwicklungsrichtlinien? Welche Entwicklungsrichtlinien gibt es? Standards für Anforderungsspezifikationen Namensgebung Programmierrichtlinien
MehrS. 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
MehrGliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik
Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.
MehrInhaltsverzeichnis. 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
MehrErste 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)
MehrPROGRAMMIERUNG IN JAVA
PROGRAMMIERUNG IN JAVA ZUWEISUNGEN (1) Deklaration nennt man die Ankündigung eines Platzhalters (Variablen) und Initialisierung die erste Wertvergabe bzw. die konkrete Erstellung des Platzhalters. In einem
MehrProgrammierstile in C
Von Sebastian Rothe 05.05.011 Inhaltsverzeichnis 1. Motivation wozu Code-Formatierung?. Definition: Programmierstil Gebräuchliche Konventionen Einrückungsstil Vertikale Anordnung Leerzeichen & Tabulatoren
MehrJava-Schulung Grundlagen
Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings
MehrJavakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren
MehrÜbersicht. C Modularisierung. Präprozessor, Compiler, Linker. Präprozessor, Compiler, Linker. Präprozessor, Compiler und und Linker Linker
Übersicht Präprozessor, Compiler und und Linker Linker Befehle des Präprozessors C Modularisierung Bedingte Kompilierung Modulare Programmierung Prinzipien der Modularisierung 1 2 Präprozessor, Compiler,
MehrProgrammieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Zur Erinnerung.
Vorbemerkungen Zur Erinnerung aktueller Standpunkt: Entwickler von (bibliotheken) jetzt sind wichtig interne Repräsentation der Daten Realisierung der gewünschten Funktionalität Bereitstellung geeigneter
MehrJava Einführung Methoden. Kapitel 6
Java Einführung Methoden Kapitel 6 Inhalt Deklaration und Aufruf von Methoden Lokale und globale Namen (Bezeichner) Sichtbarkeit und Lebensdauer von Variablen in Methoden Überladen von Methoden 2 Methoden
MehrDAP2-Programmierpraktikum Einführung in C++ (Teil 1)
DAP2-Programmierpraktikum Einführung in C++ (Teil 1) Carsten Gutwenger 11. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Mein erstes C++-Programm Namensräume
Mehr1. Der Einstieg in Java. Was heißt Programmieren?
1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen und ausführen können, Möglichkeiten der Kommentierung
MehrEinführung in die Programmierung mit C++
1 Seite 1 Einführung in die Programmierung mit C++ Teil IV - Weiterführende Themen 14. Modularisierung und Automatisierung Was heißt Modularisierung? Seite 2 bisher Programm komplett in einer Datei längere
MehrEinleitung 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
MehrJava Einführung VARIABLEN und DATENTYPEN Kapitel 2
Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen
MehrC++ - Funktionen und mehr. Kerstin Gößner und Ralf Wondratschek
C++ - Funktionen und mehr Kerstin Gößner und Ralf Wondratschek Übersicht Deklaration, Definition und Initialisierung Variablen- und Konstantendeklaration Funktionsaufrufe und rückgabewerte Technische Grundlage
Mehr5. Tutorium zu Programmieren
5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting
MehrModerne 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
MehrPropädeutikum. Dipl.-Inf. Frank Güttler
Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
MehrFB Informatik Prof. Dr. R.Nitsch. C++ - Dokumentation. Reiner Nitsch r.nitsch@fbi.h-da.de
C++ - Dokumentation Reiner Nitsch r.nitsch@fbi.h-da.de Software-Dokumentation? Schnelltest: Haben Sie Mut zum Risiko? Um einen knappen Termin zu erreichen, fahren Sie schneller als gewohnt? Nach ein paar
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
MehrJavaScript und PHP-Merkhilfe
JavaScript und PHP-Merkhilfe David Vajda 10. November 2016 1 JavaScript 1. Einbinden von JavaScript in das HTML-Dokument
MehrEinführung in die Informatik
Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester
MehrVorlesung Programmieren
Vorlesung Programmieren 3. Kontrollstrukturen 04.11.2015 Prof. Dr. Ralf H. Reussner Version 1.1 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD),
MehrEinstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden
MehrEinführung in Javadoc
Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:
MehrPrimitive Datentypen
Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.
MehrJavaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden
Javaprogrammierung mit NetBeans Variablen, Datentypen, Methoden Programmieren 2 Java Bezeichner Bezeichner: Buchstabe _ $ Buchstabe _ $ Ziffer Groß- und Kleinbuchstaben werden strikt unterschieden. Schlüsselwörter
MehrKlassenbeziehungen & Vererbung
Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrDie Algorithmenbeschreibungssprache Jana
Jana 1 Die Algorithmenbeschreibungssprache Jana Günther Blaschek, Institut für Systemsoftware, JKU Linz Juni 2011 Jana (Java-based Abstract Notation for Algorithms) ist eine Beschreibungssprache zur Formulierung
MehrDatenbankanwendungsprogrammierung Crashkurs Java
Datenbankanwendungsprogrammierung Crashkurs Java Denny Priebe Datenbankanwendungsprogrammierung p. Unterschiede zu C, C++ typedefs, Präprozessor Strukturen, Unions globale Funktionen Mehrfachvererbung
MehrObjektbasierte Entwicklung
Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit
Mehr1. Vom Sourcecode zum Programm
1. Vom Sourcecode zum Programm 1.1 Programmablauf source1.cpp source2.cpp header.h makefile Compiler Präprozessor Übersetzer Assembler object.obj object.obj Linker library.dll programm.exe Abbildung: Erstellung
MehrProgrammiersprache 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Übersicht. C Ein-/Ausgabe und Kontrollanweisungen. I/O-Funktionen aus stdio. printf() Ein-/Ausgabe. Kontrollanweisungen.
Übersicht Ein-/Ausgabe C Ein-/Ausgabe und Kontrollanweisungen Kontrollanweisungen 1 2 I/O-Funktionen aus stdio printf() printf() - zum formatierten Ausgaben #include scanf() - zum formatierten
MehrGrundlagen der Programmiersprache C für Studierende der Naturwissenschaften
Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 3: Anweisungen, Blöcke und Programmfluss Martin Nolte Abteilung für Angewandte Mathematik Universität Freiburg i. Br. Vorlesung
MehrKlausurvorbereitung Lösung
Ausgabe 1 a) unsigned char erzeuge_bitmuster() static int z=0; int rest; unsigned char bm; rest = z % 4; z=z+1; switch (rest) case 0: bm = 0x00; break; case 1: bm = 0x11; break; case 2: bm = 0x33; break;
MehrModProg 15-16, Vorl. 5
ModProg 15-16, Vorl. 5 Richard Grzibovski Nov. 18, 2015 1 / 29 Übersicht Übersicht 1 Logische Operationen 2 Priorität 3 Verzweigungen 4 Schleifen 2 / 29 Logische Werte Hauptkonzept: Besitzt ein C-Ausdruck
MehrGrundlagen der Programmierung
Grundlagen der Programmierung 7. Vorlesung 18.05.2016 1 Konstanten Ganzzahlkonstante Dezimal: 42, 23, -2 Oktal (0 vorangestellt): 052 Hexadezimal (0x vorangestellt): 0x2A Gleitkommazahlen: 3.1415, 2.71,
MehrEine 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,
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for
MehrProgrammierung in C. Grundlagen. Stefan Kallerhoff
Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/
MehrC++ Teil 1. Sven Groß. 9. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr / 19
C++ Teil 1 Sven Groß IGPM, RWTH Aachen 9. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr 2015 1 / 19 Organisatorisches Anmeldung zu Vorlesung und Praktikum über CampusOffice heute! Zugang zu
MehrCodestil. Erläuterung und Definition eines einheitlichen Codestils. Anfänger-Praktikum SS 2004 Gruppe 2 Tutor Aaron Ruß Autor: Tomas Cernaj
Codestil Erläuterung und Definition eines einheitlichen Codestils Anfänger-Praktikum SS 2004 Gruppe 2 Tutor Aaron Ruß Autor: Tomas Cernaj Themenvorschau Was versteht man unter einem Codestil? Wozu wird
MehrJava 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
MehrAlgorithmus: 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
Mehr1.4. Funktionen. Objektorientierte Programmierung mit C++
mehrfache Deklarationen sind erlaubt für jede Funktion muss es (GENAU) eine Definition geben, ansonsten linker error [the one definition rule ODR] Deklarationen in *.h - Files, Definitionen in *.cpp -
MehrÜ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
MehrDHBW Stuttgart, Informatik, Advanced SW-Engineering Aug Programmierung
Inhalt Aufbau des Source Codes Dokumentation des Source Codes (Layout) Qualitätskriterien berücksichtigen: Verständlichkeit Namenskonventionen Wartbarkeit: Programmierrichtlinien für erlaubte Konstrukte,
MehrInteger 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-
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
MehrHEUTE. Effizienzbeispiel: bekannte Version (Übung 04.11.04) Mathematik: Was ist Effizienz? vollständige Induktion
17.11.04 1 HEUTE 17.11.04 3 Effizienzbeispiel: bekannte Version (Übung 04.11.04) Mathematik: was ist Effizienz? vollständige Induktion JAVA: Arrays die for -Schleife die Sprunganweisungen break und continue
MehrC/C++ Programmierung
1 C/C++ Programmierung Grundlagen: Anweisungen Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Anweisungen (Statements)
MehrFakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012
WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **
MehrMethoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only
Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer
MehrJAVA-Datentypen und deren Wertebereich
Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).
MehrWeitere Operatoren und Datentypen. Speicherklassen. Speicherklassen: static
Weitere Operatoren und Datentypen Speicherklassen Zugriffsmodifikation Aufzähltypen Typdefinitionen mit typedef Bitoperatoren Der ternäre?: Operator Zuweisungsoperatoren Der Komma-Operator Zusammenfassung:
MehrDeklarationen 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.
MehrAlgorithmen & Datenstrukturen
Algorithmen & Datenstrukturen Dr. Ing.Jiri Spale 2008 Jiri Spale, Algorithmen und Datenstrukturen - Einführung 1 Fundamentale Datenstrukturen 2008 Jiri Spale, Algorithmen und Datenstrukturen - Einführung
Mehr