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

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

C++ vs. Java. Hello world! Java C++ class HelloWorld { static public void main(string args) { System.out.println("Hello World!

Hydroinformatik I: Hello World

Einführung in C. EDV1-04C-Einführung 1

Kurzeinführung in C/C++ Elementare Datentypen in C++

Elementare Datentypen in C++

Programmierung und Angewandte Mathematik

DAP2-Programmierpraktikum Einführung in C++ (Teil 1)

Hydroinformatik I: Hello World

Hello World! Eine Einführung in das Programmieren Das erste Programm

Einführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz

Escape-Sequenzen. Dr. Norbert Spangler

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29

RO-Tutorien 17 und 18

16. März 2016 artb5-v1.1

2. Programmierung in C

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Einführung in die C-Programmierung

Einführung in C ++ und die Objektorientierte Programierung

Vergleich verschiedener OO-Programmiersprachen

Einstieg in die Informatik mit Java

Die Programmiersprache C

Grundlagen zu Datenobjekten und Operatoren

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

Algorithmen zur Datenanalyse in C++

Programmieren 3 C++ Prof. Peter Sommerlad Fredy Ulmer

RO-Tutorien 15 und 16

2. Programmierung in C

Kompilieren Datentypen Operatoren. Überblick. 1 Kompilieren. 2 Datentypen. const static volatile. 3 Operatoren. Alexander Batoulis

Klausur: Informatik, am 11. Juli 2013 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Überblick. Peter Sobe 1

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Klausur: Informatik, am 11. Juli 2013 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Angewandte Mathematik und Programmierung

Einführung in die Programmiersprache C

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

4. Objektorientierte Programmierung mit C++

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Die Programmiersprache C++ Einführung / Datentypen

Es gibt keinen Algorithmus zum Schreiben eines Programms bzw. Algorithmus.

Installationsanleitung

c) Zur Ausgabe der Transaktion soll statt print der Operator << verwendet werden.geben Sie die dazu nötigen Änderungen an.

Thema heute: Vererbung und Klassenhierarchien. Abgeleitete Klassen. Vererbung von Daten und Funktionen. Virtuelle Funktionen

Pseudo-Programmiersprache

Kurzeinführung in C99

Rechnerorganisation Tutorium Nr. 1

Java-Einführungskurs Informatik II (D-ITET) Vincent Becker,

C-Programmierkurs Mathematik

Grundlagen der Programmierung

Organisatorisches Einführung Quellen. Einführung. Praktikum C-Programmierung. Eugen Betke, Nathanael Hübbe, Michael Kuhn, Jakob Lüttgau, Jannek Squar

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

4.2 Programmiersprache C

Vorkurs Informatik WiSe 16/17

Klausur: Grundlagen der Informatik I, am 27. März 2009 Gruppe: F Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Java-Einführungskurs Informatik II (D-ITET) Vincent Becker,

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

0. Einführung & Motivation

C++ Notnagel. Ziel, Inhalt. Programmieren in C++

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik

3. Semester : 1. Prüfung

Programmierkurs C++ Grundlagen. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck

Hydroinformatik I: Klassen

6. Grundlagen der Programmierung

Vorlesungsprüfung Programmiersprache 1

Von Java nach C++ Frank Weichert, Heinrich Müller Informatik VII Universität Dortmund

Grundlagen von C# - 1

Grunddatentypen, Ausdrücke und Variablen

Vorkurs Informatik WiSe 17/18

Informatik I (D-ITET)

Informationsverarbeitung im Bauwesen

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Einführung in die Programmierung Wintersemester 2016/17

Kapitel 13. Definition von Klassen. OOP Thomas Klinker 1

Grundlagen der Programmentwicklung

Die Programmiersprache C

C++ Kurs Teil 1. Architektur, Anwendungsspektrum, primitive Datentypen, Funktionsaufrufe, Referenzen, Klassen

Hydroinformatik I: Klassen

2 Sprachelemente von C und C++

Praxis der Programmierung

Martin Unold INFORMATIK. Geoinformatik und Vermessung

EINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16

Compiler Präprozessor Header Files

2. Programmierung in C

Numerische Methoden und Algorithmen in der Physik

3D Programmierpraktikum: Einführung in C++ - Teil 1

7.2 Dynamischer Speicher in Objekten/Kopierkonstruktor

C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue

Von Java nach C++ Dr. Frank Weichert Lehrstuhl Informatik VII Technische Universität Dortmund

Transkript:

Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ 1 Einleitung Vorteile von Java: gut strukturiert mit hohem Funktionsumfang (mächtige Standardbibliothek) weitestgehend Plattformunabhängig Probleme: relativ langsam automatische Speicherverwaltung manchmal ungünstig 2

Einleitung Vorteile von C++ ermöglicht schnelle und maschinennahe Implementierungen gut geeignet für Simulationen, Suchverfahren, Kompressionsverfahren, zeitkritische Anwendungen Probleme: teilweise veraltet Standardbibliothek weniger mächtig als bei Java dennoch: weit verbreitet, besonders bei wissenschaftlichen Anwendungen 3 C++ Entwicklungsumgebungen Entwicklungsumgebungen: Windows: Microsoft Visual C++ Borland C++ CYGwin (Linux-artige Umgebung für Windows) Linux/Unix: GCC (GNU C Compiler) G++ (GNU C++ Compiler) 4

Hello World 5 Hello World in Java public class Hello { public static void main(string args[]) { System.out.println("Hello World!"); } } 6

Hello World in C #include <stdio.h> // Für printf int main() { } printf( Hello World!\n ); return 0; 7 Hello World in C++ #include <iostream> // Für cout using namespace std; int main() { } cout << Hello World! << endl; return 0; 8

Compilierungsmodell in C++ 9 Compilierungsmodell Präprozessor Auflösung von Direktiven #include, #define, #ifdef, etc. Compiler Konvertierung von Quellcode-Dateien in Objekt-Dateien Linker Erzeugung einer ausführbaren Datei 10

Compilieren und Linken Wie in Java können mehrere Quellcode-Dateien verwendet werden Jede Quellcode-Datei ".C" muss einzeln compiliert werden, jedesmal wird eine Objekt- Datei ".o" erzeugt. Dabei können Beziehungen zwischen verschiedenen Quellcode-Dateien offen bleiben (z.b. externe Variablen). Beim anschließenden Linken werden die Objekt- Dateien zu einem Binary zusammengefügt. 11 Compilieren und Linken Präprocessor #includes etc. Compiler Übersetzung in Maschinencode Objekt-Dateien Ausführbares Programm Linker Zusammenführen von Komponenten externe Bibliotheken, libc.so, libstdc++.so, etc. 12

Compilierung Beispiel > ls SourceFile1.C SourceFile2.C > g++ -c SourceFile1.C > g++ -c SourceFile2.C > ls SourceFile1.C SourceFile1.o SourceFile2.C SourceFile2.o > g++ -o prog SourceFile1.o SourceFile2.o > ls prog SourceFile1.C SourceFile1.o SourceFile2.C SourceFile2.o >./prog Hello World! 13 Elementare Datentypen 14

Elementare Datentypen in Java Zahlenbereiche der Ganzzahltypen Typ Bits Minimalwert Maximalwert byte 8-128 127 short 16-32.768 32767 int 32-2147483648 2147483647 long 64-9.223 10 18 9.223 10 18 char 16 0 ('\u0000') 65.535 ('\uffff') Typen byte, short, int und long sind Vorzeichenbehaftet (signed) und in Zweierkomplementdarstellung codiert 15 Elementare Datentypen in C++ Typ Bits Zahlenbereich int 32-2.147.483.648 bis 2.147.483.647 unsigned int 32 0 bis 4.294.967.295 signed char 8-128 bis 127 unsigned char 8 0 bis 255 short 16-32.768 bis 32.767 unsigned short 16 0 bis 65.635 long long 64 9.223 10 18 unsigned long long 64 0 bis 9.223 10 18 0 bis 1.845 10 19 16

Elementare Datentypen in C++ Anders als in Java sind in C++ die Größen der Elementaren Datentypen maschinenabhängig Die Größe der Datentypen lässt sich mit sizeof ermitteln: int n=sizeof(int) In C++ gilt immer die Ungleichung sizeof(char) sizeof(short) sizeof(int) sizeof(long) 17