Agenda Sitzung 2 für den Programmaufbau

Slides:



Advertisements
Ähnliche Präsentationen
Ziele von EINI I + II Einführen in „Informatik“
Advertisements

ALP II: Objektorientierte Programmierung Sommersemester 2006
der Universität Oldenburg
Klassen - Verkettete Liste -
Forschungszentrum caesar
Funktionen und Module Einführung anhand des Beispiels Wörter sortieren Timm Grams Fachhochschule Fulda Fachbereich Elektrotechnik und Informationstechnik.
Kurt Rosenberg. C# für.NET oder.NET für C# is(C# == C++ && Java)? true : false ; reines C# Ausblick Überblick.
6. Der OpenMP Standard Direktiven-basiertes API zur Programmierung von Parallelrechnern mit gemeinsamem Speicher für FORTRAN, C und C++
Verteilte Software - Java - Prozedurale Programmierung 1
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
SWITCH - Anweisung.
SWITCH - Anweisung.
FOR Anweisung.
DO...WHILE Anweisung.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Zusammenfassung Vorwoche
Die Skriptsprache Perl (2) Wolfgang Friebel DESY Zeuthen.
Der C-Präprozessor EDV1 - 04Präprozessor.
DVG Methoden 1 Methoden. 2 int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0); dezi = Math.abs(dezi); String Bin = ""; do { } while.
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
TU-MünchenInstitut für Informatik, Lehrstuhl für Angewandte Softwaretechnik Herzlich Willkommen! Programmierpraktikum OpenGL in.
© Alexander Schwing, 2010Institute of Visual Computing Informatik I for D-MAVT Exercise Session 2.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Java und Eclipse.
Raimond Reichert Einführung in die Verwendung von Processing innerhalb von Eclipse.
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.
Präsentation C Tutorium von Daniel J. Nowak Folie 1 C Tutorium.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
Einführung in die Programmierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Einführung in die Programmiersprache C 4
Informatik 1 Übung 7.
Informatik 1 Übung 4.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Equals, Hashcode und CompareTo Micha Kessler
Vorlesung 1.
C-Einstieg. Agenda 1Vorbereitung 2Aufbau eines Programms 2.1Header 2.2 Methoden 2.3Main 3Datentypen & Variablen 4Operatoren(+, -, *, /) 5Logik 5.1IF 5.2Switch.
Arduino Kurs Abend 2.
Purga - Scriptengine Ein Einblick.
Einführung in PHP.
Einführung in PHP 5.
Starten der Entwicklungsumgebung (IDE)
Learning By Doing Konstruktoren Gleicher Name wie die Klasse Zur Initialisierung des Objekts, insbesondere mit Parametern Wir immer bei der Objekterzeugung.
Datentypen Überblick Datentypen Einfache / fundamentale Datentypen
Programmieren in C Grundlagen C 2
BMEVIEEA100 Grundlagen der Programmierung
Vorlesung 3. if else Anweisung if (Ausdruck) Anweisung1 else Anweisung2 Ausdruck hat einen von 0 verschiedenen Wert, so wird Anweisung 1 ausgeführt. Bei.
Vorlesung 5. #include double fv(double x) { return sin(x); } int main(){ int i,N=10; double a=1,b=2,del,x,sum,f,integral; for(i=1,sum=0.0,del = (b-a)/N;i
PI Burgenland Java und JavaScript 1. Teil
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI Punkt-zu-Punkt-Kommunikation Oswald Haan
A) Erklären Sie den Datentyp char. b) Erklären Sie den Datentyp Struct c) Erklären Sie die Wirkungsweise des Operators & bei Anwendung im Zusammenhang.
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Übersicht Nachtrag zu Ausdrücken
Java-Kurs - 3. Übung Hausaufgabe Arrays For-Schleifen.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Proseminar – Computer Graphics Nikolaos Tsanakas computer graphics & visualization OpenGL Shading Language.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Programmierkurs JavaUE 4 Anweisungen und ProgrammeDietrich BolesSeite 1 Programmierkurs Java Dr. Dietrich Boles Teil Imperative Programmierung Unterrichtseinheit.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Inhalte der Übungen 1.Grundlagen, Ein- und Ausgabe 2.Kontrollstrukturen (Projekt 1) 3.Funktionen 4.Zeiger, Felder (Projekt 2) 5.Strings, Strukturen 6.Fileverarbeitung.
ESP Tutorium Studienassistent: Ewald Moitzi Gruppe 1.
Hello World! Javakurs 2013 Arne Kappen
Aufgaben zu Rückgabewerten
Java-Kurs - 4. Übung weitere Kontrollstrukturen
SS 04 Christiane Rauh Christian Hellinger
Schleifen Datenfelder (Arrays) Verzweigungen
 Präsentation transkript:

Einführung in C Grundprinzipien

Agenda Sitzung 2 für den 21.10.2002 Programmaufbau Grundlegende Datentypen Arrays Statements Funktionen Einstieg in die Stringverarbeitung Programmierstil 21.10.2002 OpenGL Praktikum (S2)

1. Zusammensetzung eines C-Programms Header-Dateien Programm-Dateien Libraries 21.10.2002 OpenGL Praktikum (S2)

2. Struktur von Programm-Dateien Preprocessor Kommandos Kommentare /* dies ist ein Kommentar */ // dies ist eine einzelne Kommentarzeile (Globale) Variablen )mit möglicher Initialisierung Funktionen besondere Funktion main() 21.10.2002 OpenGL Praktikum (S2)

Beispiel #include <stdio.h> void hello() // a very simple function { printf (“Hello !\n”); } main() // all work starts here hello {}; 21.10.2002 OpenGL Praktikum (S2)

3. Preprocessor-Kommandos Includes #include <standard_header.h> #include “my_header.h” Macros #define PI 3.14 #define ARRAY_SIZE 100 #define SUM(x,y) (x+y) 21.10.2002 OpenGL Praktikum (S2)

4. Grundlegende Datentypen Leer void Integer int, unsigned int int i; long, unsigned long long l; unsigned long ul; short, unsigned short short s; unsigned short us; Character char, unsigned char char c; unsigned char uc; Enum enum color{red,green,blue}; enum color favorite; Floating point float float f; double double d; 21.10.2002 OpenGL Praktikum (S2)

5. Arrays Deklaration Zugriff n m k n[0] n[1] n[2] n[3] n[4] n[5] n[6] #define MAX_ELEMS 10 int n[MAX_ELEMS], *m, *k; double matrix[4][4]; Zugriff matrix[j][k] = (double) n[i]; m = n; k = &(n[5]); k 21.10.2002 OpenGL Praktikum (S2)

6. Initialisierungen int i=0; int n[] = {3,2,8,10,4,7}; double mat[][]= {{1.0,0.0,0.0,0.0}, {0.0,1.0,0.0,0.0}, {0.0,0.0,1.0,0.0}, {0.0,0.0,0.0,1.0}}; 21.10.2002 OpenGL Praktikum (S2)

7. Statements Vergleiche Logische Verknüpfungen größer >, kleiner <, gleich ==, ungleich !=, usw ... Logische Verknüpfungen und && oder || nicht ! (((i == j) && (m!=10)) || !(k >=50)) 21.10.2002 OpenGL Praktikum (S2)

7. Statements Zuweisungen Typkonversionen (casts) #define FALSE 0 i = 10; j = f(x); b = (exp(x)==FALSE) i++; i--; i+=3; i-=5; d*=PI; n/=2; Typkonversionen (casts) i = (int) d; d = (double) i; 21.10.2002 OpenGL Praktikum (S2)

7. Statements Bedingungen if (a==b) { ; // do this } else { ; // do that 21.10.2002 OpenGL Praktikum (S2)

7. Statements Switch statements char c = ‘b’; switch (c) { case ‘a’: ; // do something break; case ‘b’: ; // do something else case ‘c’: ; // do yet something else } 21.10.2002 OpenGL Praktikum (S2)

7. Statements For-Schleife Nested for (i=0; i<IMAX; i++) { ; // do something } for ( ; ; ) v++; // infinite loop Nested for (j=0; j<JMAX; j++) { 21.10.2002 OpenGL Praktikum (S2)

7. Statements While-Schleife Do-While-Schleife While (exp == TRUE) { ; // do something } Do-While-Schleife do while (cond == TRUE); 21.10.2002 OpenGL Praktikum (S2)

8. Funktionen Spezifikation Aufruf void myFunctionA (int i, double d, int vals[]) { ; // do something } int myFunctionB (int i, int j, char str[]) int val; return val; Aufruf myFunctionA (k,f,v); ival = myFunctionB(g,h,s); 21.10.2002 OpenGL Praktikum (S2)

9. Stringverarbeitung String-Deklaration Einfachste Manipulationen #define MAXCHARS 80 char str1[MAXCHARS], str2[MAXCHARS]; Einfachste Manipulationen for (i=0; i<MAXCHARS]; i++) { str1[i] = str2[i]; } 21.10.2002 OpenGL Praktikum (S2)

9. Stringverarbeitung Wichtige schon existierende Funktionen #include <string.h> int strlen (char *str); int strcmp (char *s1, char *s2); char *strcpy (char *dest, char *src); char *strcat (char *dest, char *src); 21.10.2002 OpenGL Praktikum (S2)

9. Stringverarbeitung Wichtige Konstante: ’\n’ Zeilenende ‘\0’ Stringende EOL End Of Line EOF End Of File 21.10.2002 OpenGL Praktikum (S2)

9. Stringverarbeitung Eingabe Ausgabe #include <stdio.h> sscanf (char *str, char *format, ...pointers to variables ); sscanf (str, “%d %d %d”, &v1, &v2, &v3); auch: fscanf (...), scanf (); Ausgabe sprintf (char *str, char *format, ...variables...); sprintf (str, “i = %d\n”, i); auch: fprintf (...), printf (...); 21.10.2002 OpenGL Praktikum (S2)

9. Stringverarbeitung Konversion #include <stdlib.h> double strtod (char *str, char **ptr); long strtol (char *str, char **ptr, int base); unsigned long strtoul (char *str, char **ptr, int base); double atof (char *str); int atoi (char *str); long atol (char *str); 21.10.2002 OpenGL Praktikum (S2)

10. Programmierstil Jeweils 4 Stellen einrücken. Block { ... } Funktion { ... } 21.10.2002 OpenGL Praktikum (S2)

10. Programmierstil Macros nur in großen Buchstaben. Variable und Funktionen beginnen mit kleinem Buchstaben, zusammengesetzte Wörter haben intern jeweils große Buchstaben. Kennzeichnende Vorsilbe bei Funktionen und globalen Variablen. 21.10.2002 OpenGL Praktikum (S2)