Informatik Grundlagen,
WS04, Seminar 7
Informatik
Informatik Grundlagen, Seminar 2 WS04
Seite 1
Allgemeines
Besprechung „Unvollständige Spezifikation“ im
Übungsblatt
Übungsblatt Mittwoch oder Donnerstag?
Informatik Grundlagen, Seminar 2 WS04
Seite 2
2-dimensionale Felder
Matrix
int myMatrix[ROWS][COLUMNS]
Informatik Grundlagen, Seminar 2 WS04
Seite 3
Funktionen
Immer Return Value angeben
auch wenn standardmäßig int als return wert
also int myFunc()…
nicht myFunc()…
Wenn in Funktion verschiedene Zweige (durch
if-else) müssen alle Zweige Return Value
zurückgeben!
Normalerweise aber sowieso nur ein Ausstiegspunkt
void myProc() ist Prozedur
Informatik Grundlagen, Seminar 2 WS04
Seite 4
main
main hat auch Rückgabewert.
int main() {…
Dieser kann von Win(DOS) batch file verwendet
werden.
errorlevel
Auch Linux/ Unix kann Rückgabewert in shell
scripts verwenden
$?
Informatik Grundlagen, Seminar 2 WS04
Seite 5
Call by value
Tafel: Funktion max
int main () {
int a,b
printf („%d“,max (a,b));
}
int max(int x, int y) {
…
}
Jede Funktion hat eigenen Speicher für lokale
Variablen
Demo: Debugger. Gültigkeitsbereich von Vars.
Demo projekt test4: zech expo funktion
Informatik Grundlagen, Seminar 2 WS04
Seite 6
Call by value
Was ist das?
Probieren sie swap-Funktion:
vertauscht x und y;
int swap (int x, int y) {
int temp = x;
x=y;
y=temp;
}
main() {
int a=4;
int b=5;
swap (a,b);
}
Informatik Grundlagen, Seminar 2 WS04
Seite 7
Parameterübergabe
Aktualparameter
Formalparameter
Zuweisungskompatibilität
Typen von Aktualparameter und
Formalparameter müssen zusammenpassen.
sonst castet der compiler.
bsp:
int myFunc (int iPar) {…}
main () {
myFunc(2.0)
}
Informatik Grundlagen, Seminar 2 WS04
Seite 8
Umwandeln String in Integer
Dasselbe Prinzip wie in Übung 2: Binärzahl
umwandeln in Dezimalzahl.
Informatik Grundlagen, Seminar 2 WS04
Seite 9
Deklaration - Defínition
Unterschied?
Compiler benötigt Deklaration
Linker benötigt Definition
#include <stdio.h>
ist eine Forward Deklaration von printf
Definition ist in anderer Bibliothek/ Datei
Demo projekt test4: zech expo funktion
auskommentieren von Dekl. /Def.
Informatik Grundlagen, Seminar 2 WS04
Seite 10
tipps
Visual Studio
Consolen Fenster ist nach Programmaufruf
sofort wieder weg.
Abhilfe: Ctrl F5 statt F5: Start without Debugging
Informatik Grundlagen, Seminar 2 WS04
Seite 11
Aufgabe: Matrix
Matrix mit Skalar multiplizieren.
Erklärung Tafel.
Weitere Aufgabe : eigenes strcmp
Informatik Grundlagen, Seminar 2 WS04
Seite 12