Grundlagen der Programmierung 5. Vorlesung 09.11.2016 1
Beispiel: Hello World #include <stdio.h> Beginn Hauptprogramm int main() { Blockbeginn printf("hello World\n"); Einbinden der Headerdatei(en) für Bibliotheksfunktionen Jede Befehlszeile mit ; abschließen! Bibliotheksfunktion aufrufen } return 0; Blockende Rückgabe 2
Edit, compile, link, run/debug IDE: Integrated Development Environment Editor C Programm Compiler Objektdatei(en) Linker Library- Files Executable Debugger 3
IDEs Visual Studio Professional http://serviceportal.f1.htw-berlin.de/kostenlose-microsoftsoftware.html Visual Studio Community Edition https://www.visualstudio.com/products/visual-studiocommunity-vs QT Creator Entwicklung von graphischen Oberflächen mit QT Apple XCode Eclipse, Code::Blocks,... 4
Visual Studio: Neues Projekt anlegen Datei -> Neu -> Projekt Auf Laufwerk I: speichern 5
Visual Studio: Neues Projekt anlegen 6
Visual Studio: Neues Projekt anlegen Wichtig! 7
Visual Studio: Neue Datei anlegen Projekt -> Neues Element hinzufügen Keine Sonderzeichen außer _ 8
Visual Studio Editor Meldungen 9
Programm kompilieren und starten 10
Fehler? 11
Kurzfassung Visual C++ Neues Projekt anlegen: Datei -> Neu -> Projekt Win32 Konsolenanwendung Unter "Ort" Laufwerk I: auswählen Anwendungseinstellungen: "Leeres Projekt" Neues Element hinzufügen: Projekt -> Neues Element hinzufügen C++ Datei keine Sonderzeichen Compilieren: Strg.-F5 im Namen! auch kein Leerzeichen 12
Compiler/Linker GNU Compiler Collection, GCC http://gcc.gnu.org/ gcc -o outputfilename filename Windows-Port: MinGW http://www.mingw.org/ 13
Links Tutorials, Dokumentationen: http://www.cplusplus.com Referenz zur Standard-Bibliothek: http://www.cplusplus.com/reference/ http://www.cprogramming.com GNU Stdlib: http://www.gnu.org/software/libc/manual/ Forum: http://stackoverflow.com/ 14
Aufgabe Lies ganze Zahlen von der Tastatur ein und summiere diese, bis 0 eingegeben wurde. Dann gib die Summe aus. 15
Beispiel #include<stdio.h> int main() { int summe = 0; int eingabe; Variablendeklarationen bedingte Schleife do { printf("bitte Zahl eingeben: "); scanf("%d", &eingabe); summe = summe + eingabe; } while ( eingabe!= 0 ); printf("gesamtsumme: %d\n", summe); getchar(); getchar(); return 0; } Bedingung 16
Variablen int summe = 0; Deklariert Variable Typ: Integer Name: summe Initialer Wert: 0 Andere Datentypen: float (Fließkomma), char (Zeichen),... Wie werden eigentlich Zahlenwerte gespeichert? 17
Zahlendarstellungen 18
Speicherinhalte: Bits Hardware Spannung Ladung Magnetisierung Codierung 0V ungeladen unmagnetisiert 0 5V geladen magnetisiert 1 1 Bit entspricht der Information 0 oder 1 19
Zahlendarstellung Zählen mit Bits: 0 1 10 11 100 101 110 Zahlen werden als Bitfolgen gespeichert 20
Binärzahlen Binärzahl b n...b 2 b 1 b 0,b i {0, 1} Umrechnung in Dezimalsystem Beispiel: 1010102 = 1 2 5 + 0 2 4 +1 2 3 + 0 2 2 + 1 2 1 + 0 2 0 = 3210 + 810 + 210 = 4210 n i=0 b i 2 i Zahlensystem 21
Binärzahlen Umrechnung von Dezimal nach Binär: Teile durch 2, notiere Rest, bis Zahl=0 Beispiel: 251 251 : 2 = 125 Rest 1 125 : 2 = 62 Rest 1 62 : 2 = 31 Rest 0 31 : 2 = 15 Rest 1 15 : 2 = 7 Rest 1 7 : 2 = 3 Rest 1 3 : 2 = 1 Rest 1 1 : 2 = 0 Rest 1 25110 = 111110112 22
Hexadezimalzahlen Zur bessere Lesbarkeit von Binärzahlen fasst man 4 Bits zu einem Nibble zusammen 24 = 16 Zustände: Hexadezimalsystem (Basis 16) Bin Dez Hex Bin Dez Hex 0000 0 0 1000 8 8 0001 1 1 1001 9 9 0010 2 2 1010 10 A 0011 3 3 1011 11 B 0100 4 4 1100 12 C 0101 5 5 1101 13 D 0110 6 6 1110 14 E 0111 7 7 1111 15 F 23