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

Ähnliche Dokumente
PIC16 Programmierung in HITECH-C

Teil IV. Grundlagen der Programmierung

Die Programmiersprache C Eine Einführung

6. Grundlagen der Programmierung

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

C- Kurs 03 Ausdrücke und Operatoren

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

Informatik I Programmieren in C

C-Programmierung: Ausdrücke und Operatoren#Division.2F

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

Die Programmiersprache C

L6. Operatoren und Ausdrücke

Java Einführung Operatoren Kapitel 2 und 3

Vorlesung 6: Operatoren, Logische Ausdrücke

Aufbau von Programmen/Dateien

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

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt : Grundlagen des Cyclic redundancy code (CRC)

Deklarationen in C. Prof. Dr. Margarita Esponda

Organisatorisches. Übungsleiter: Karsten Otto Homepage: Aufgaben

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

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

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java

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

Programmieren in C. Funktionen mit Zeigern und Adressen. Prof. Dr. Nikolaus Wulff

einlesen n > 0? Ausgabe Negative Zahl

Java I Vorlesung Imperatives Programmieren

Hello world. Sebastian Dyroff. 21. September 2009

Modellierung und Programmierung 1

Kurzeinführung in C99

Compiler: Vom Code zum Maschinen-Code. C Programmierung - Vorlesung 2 Hochschule Regensburg Universitätsstraße 31, Regensburg

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

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

Ein erstes Java-Programm

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Unterlagen. CPP-Uebungen-08/

Weitere Operatoren und Datentypen. Speicherklassen. Speicherklassen: static

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

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Primitive Datentypen

Programmierung in C. Grundlagen. Stefan Kallerhoff

Kapitel 5. Datentypen und Operatoren

Vorwort 3 Inhaltsverzeichnis 5 1 Zu diesem Buch Beschreibungskonventionen Glossar 16

C-Crashkurs. Praktikum Systemmanagement und Sicherheit

Einführung in C. Kammerer. Einführung in C. Roland Kammerer. Institut für Technische Informatik Technische Universität Wien. 3. & 4.

Prinzipieller Grundaufbau eines einfachen C-Programmes

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

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15

Werkzeuge zur Programmentwicklung

Zusammenfassung des Handzettels für Programmieren in C

Grundlagen der Informatik 2. Operatoren

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Einführung in die C-Programmierung

FACHHOCHSCHULE MANNHEIM

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

Einführung in die Programmierung Hello World, Typen & Variablen, Arithmetik. Arvid Terzibaschian

Funktionales C++ zum Ersten

IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken

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

Dr. Monika Meiler. Inhalt

C-Kurs 2010 Pointer. 16. September v2.7.3

Zeiger in C und C++ Zeiger in Java und C/C++

Operatoren und Ausdrücke

3. Java - Sprachkonstrukte I

Übungspaket 9 Logische Ausdrücke

Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder

II.1.1. Erste Schritte - 1 -

Workshop: ASURO-Programmieren in C

4 Formelsammlung C/C++

2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.

Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke

Ein- und Ausgabe von Daten

Der Umgang mit Zahlen. Ein wesentlicher Unterschied: int oder float. Beispiel: int oma, opa, summe; float messwert, mittel; char zeichen, z1, z2, c;

Programmiersprachen Einführung in C

Gliederung Programmiersprachen. Programmiersprachen Einführung in C. Ausdrücke in Programmiersprachen ~ Aufbau mathematischer Formeln

Programmierung und Angewandte Mathematik

Einstieg in die Informatik mit Java

Arrays (Felder/Vektoren)

Java Kurs für Anfänger Einheit 2 Datentypen und Operationen

Programmieren für Physiker: C++ SS 2016

18. Bitmanipulationen. Bitoperationen Bitmasken

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

Die Sprachstandards. Inhaltsverzeichnis. Lars Thoms. 1 Einleitung Die Sprachstandards Destruktivität... 2

Definition: Algorithmus

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen

Grundlagen der Informatik. Mathias Buhr

Grundlagen von C# - 1

Computergrundlagen Programmieren in C

C++ - Operatoren. Eigene Klassen mit neuen Funktionen

Beispiel. Problem: mehrteilige Nachnamen (von Goethe, Mac Donald, Di Caprio)

Programmierung mit C Modularisierung von Programmen. Präprozessor-Anweisungen nutzen.

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

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

Systemnahe Programmierung in C/C++

Schleifenanweisungen

II.1.1. Erste Schritte - 1 -

Programmieren in C Einführung

Einführung in die Programmiersprache C

1 UNIX und die Kommandozeile. 2 C++ Tipps. 1.1 wichtige Befehle und Programme. 1.2 Umleiten der Standardein- und Ausgabe. 2.

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

Transkript:

Überblick 1 2 const static volatile 3

Überblick 1 2 const static volatile 3

eines C Programmes bevor Programm ausführbar ist, muss es von Compiler in Maschinensprache übersetzt werden Neben Compiler werden für das Übersetzen des Quelltextes der Präprozessor und der Linker benötigt

eines C Programmes bevor Programm ausführbar ist, muss es von Compiler in Maschinensprache übersetzt werden Neben Compiler werden für das Übersetzen des Quelltextes der Präprozessor und der Linker benötigt Präprozessor: einfacher Textübersetzer der Makroanweisungen auswertet und ersetzt

eines C Programmes bevor Programm ausführbar ist, muss es von Compiler in Maschinensprache übersetzt werden Neben Compiler werden für das Übersetzen des Quelltextes der Präprozessor und der Linker benötigt Präprozessor: einfacher Textübersetzer der Makroanweisungen auswertet und ersetzt Präprozessor übergibt an Compiler, welcher in Maschinensprache übersetzt

eines C Programmes bevor Programm ausführbar ist, muss es von Compiler in Maschinensprache übersetzt werden Neben Compiler werden für das Übersetzen des Quelltextes der Präprozessor und der Linker benötigt Präprozessor: einfacher Textübersetzer der Makroanweisungen auswertet und ersetzt Präprozessor übergibt an Compiler, welcher in Maschinensprache übersetzt Linker verbindet einzelne Programmmodule miteinander, sodass ausführbare Datei entsteht

eines C Programmes bevor Programm ausführbar ist, muss es von Compiler in Maschinensprache übersetzt werden Neben Compiler werden für das Übersetzen des Quelltextes der Präprozessor und der Linker benötigt Präprozessor: einfacher Textübersetzer der Makroanweisungen auswertet und ersetzt Präprozessor übergibt an Compiler, welcher in Maschinensprache übersetzt Linker verbindet einzelne Programmmodule miteinander, sodass ausführbare Datei entsteht

Überblick const static volatile 1 2 const static volatile 3

Datentyp const const static volatile 1 # include < stdio.h> 2 // konstante Variable 3 const float MwStFaktor = 0. 19; 4 5 int main () { 6 float betrag = 350. 0; 7 float mwst = betrag * MwStFaktor ; 8 printf ("%.f% von %.2 f Euro : %.2 f Euro \n", 9 MwStFaktor * 100, betrag, betrag * MwStFaktor ); 10 return 0; 11 } Ausgabe 19% von 350.00 Euro: 66.50 Euro

Datentyp static const static volatile 1 int zaehlen () { 2 static int counter = 0; 3 return ++ counter ; 4 } 5 int main () { 6 printf (" Zaehler : %d\n", zaehlen ()); 7 printf (" Zaehler : %d\n", zaehlen ()); 8 printf (" Zaehler : %d\n", zaehlen ()); 9 return 0; 10 } Ausgabe Zähler: 1 Zähler: 2 Zähler: 3

const static volatile teilt dem Compiler mit, dass Variable durch Ereignisse außerhalb des Programms verändert werden kann Variable muss vor jedem Zugriff neu aus Hauptspeicher eingelesen werden (darf nicht in Register

const static volatile teilt dem Compiler mit, dass Variable durch Ereignisse außerhalb des Programms verändert werden kann Variable muss vor jedem Zugriff neu aus Hauptspeicher eingelesen werden (darf nicht in Register zwischengespeichert werden) Compiler arbeitet ohne Optimierung

const static volatile teilt dem Compiler mit, dass Variable durch Ereignisse außerhalb des Programms verändert werden kann Variable muss vor jedem Zugriff neu aus Hauptspeicher eingelesen werden (darf nicht in Register zwischengespeichert werden) Compiler arbeitet ohne Optimierung 1 volatile char keypressed ; 2 int count = 0; 3 4 while ( keypressed!= a ) { 5 count ++; 6 }

const static volatile teilt dem Compiler mit, dass Variable durch Ereignisse außerhalb des Programms verändert werden kann Variable muss vor jedem Zugriff neu aus Hauptspeicher eingelesen werden (darf nicht in Register zwischengespeichert werden) Compiler arbeitet ohne Optimierung 1 volatile char keypressed ; 2 int count = 0; 3 4 while ( keypressed!= a ) { 5 count ++; 6 }

Überblick Logische Bitweise 1 2 const static volatile 3

Logische wie in Java Logische Bitweise Operator Syntax Addition a + b Subtraktion a b Modulo a%b Inkrement Prefix + + a Dekrement Postfix a Logical NOT!a Logical AND a&&b Logical OR a b

Bitweise Logische Bitweise Operator Syntax Bitwise AND a&b Bitwise OR a b Bitwise NOT a Bitwise XOR a ˆb SHIFT c = b << 1

Beispiel 1: Bitwise AND Logische Bitweise 1 int main () 2 { 3. 4. 5 int a = 10, b = 7, c; 6 c = a & b; 7. 8. 9 } Welchen Wert hat nun die Variable c?

Lösung des Beispiels 1 Logische Bitweise Die Variable hat nun den Wert c = 2, denn 10 (10) = 1010 (2) 7 (10) = 0111 (2) 1010 (2) &0111 (2) 0010 (2) = 2 (10)

Lösung des Beispiels 1 Logische Bitweise Die Variable hat nun den Wert c = 2, denn 10 (10) = 1010 (2) 7 (10) = 0111 (2) 1010 (2) &0111 (2) 0010 (2) = 2 (10)

Beispiel 2: Bitwise NOT Logische Bitweise 1 int main () 2 { 3. 4. 5 int a = 3; 6. 7. 8 a = a; 9 } Welchen Wert hat die Variable a?

Lösung des Beispiels 2 Logische Bitweise Die Variable a hat den Wert a = -4, da Bitwise NOT bei dem bitweisen NOT jedes Bit invertiert wird. Möchte man eine Dezimalzahl negieren, muss danach noch eine 1 addiert werden. -3-4 -5-2 1101 1100-6 -1 1110 1011 1010-7 0 +1 0000 1111 0001 0010 1001 1000-8 0111 0110 +7 0011 +2 0100 0101 +6 +3 +4 +5 Quelle: http: //de.wikipedia.org/wiki/ Arithmetischer_Ueberlauf