Sie sind auf Seite 1von 4

Klausur

EP



Datum:

08.01.2013

Gruppe:

01

Name:

Matrikel-
nummer:

Punkte

ffnen Sie diesen Klausurbogen erst auf Anweisung der Prfungsaufsicht!


Frage 1


Schreiben Sie eine Funktion searchString, welche zwei char* als Argumente bernimmt und
einen char als Rckgabewert liefert. Das erste Argument ist der Suchstring, welcher im
zweiten Argument gefunden werden soll. Ist der Suchstring ein Teilstring des zweiten
Strings, so liefert searchString 1 zurck, andernfalls 0. Es drfen keine Funktionen der
String-Bibliothek verwendet werden.

Schreiben Sie eine Hauptfunktion, die eine Funktion grepString aufruft, welche argv[1] als
ersten und argv[2] als zweiten Parameter bernimmt und einen char* als Rckgabewert
liefert. Es ist auf angemessene Fehlerbehandlung zu achten. Diese Funktion ist nicht zu
implementieren. Der Rckgabewert des Funktionsaufrufs wird im Anschluss auf stdout
ausgegeben.

(max. 6 Punkte)


Was versteht man unter einer Variablen? (max. 2 Punkte)













Frage 2


Erklren Sie den Ablauf beim Ausfhren folgenden Codeschnipsels. Welche Werte nehmen
Variablen an? Zu welchen Ausgaben kommt es? Gibt es syntaktische oder semantische
Fehlerstellen? (max. 3 Punkte)

#include <stdio.h>

int myvar = 1;

int main(int argc, char* argv[])
{
do
{
int myvar = myvar * 2;
}
while (myvar < 100);
return 0;
}

Frage 3


Klausur EP



Datum:

08.01.2013

Gruppe:

10

Name:

Matrikel-
nummer:

Punkte

ffnen Sie diesen Klausurbogen erst auf Anweisung der Prfungsaufsicht!


Frage 1


Schreiben Sie eine Funktion splitString, welche ein char und ein char* als Argumente
bernimmt und ein Array von char* als Rckgabewert liefert. Die Zeichenkette wird in
einzelne Substrings getrennt, und zwar jeweils bei einem Vorkommen des gesuchten
Zeichens. Der String Heute ist Montag. Wird also, bei Aufruf mit dem Zeichen in die drei
Strings Heute, ist und Montag. zerlegt. Diese einzelnen Substrings werden als Array
returniert.

(max. 6 Punkte)


Welche Art von Variablen werden im heap gespeichert? (max. 2 Punkte)













Frage 2


Erklren Sie den Ablauf beim Ausfhren folgenden Codeschnipsels. Welche Werte nehmen
Variablen an? Zu welchen Ausgaben kommt es? Gibt es syntaktische oder semantische
Fehlerstellen? (max. 3 Punkte)

#include <stdio.h>

#define HALF(x) x / 2
#define MEAN(x,y) HALF(x+y)

int main(int argc, char* argv[])
{
int a = 10, b = 5;
int c = MEAN(a,b);
printf("%d",c);
return 0;
}







Frage 3