Deklarationen für c
-
Hallo,
wir schreiben bald eine Klausur in C und ich hab mir paar Übungsaufgaben rausgesucht. Hab leider keine Lösungen, also hoffe ich das Ihr mal drüber schauen könnt.
Das fett gedrucke sind meine Lösungen.Schreiben Sie eine Deklaration in C für:
a) eine mit dem Wert ‐123.45 initialisierte einfach genaue Gleitkommazahl
float zahl=-123.45;
b) eine Integerzahl, die keine negativen Werte annehmen kann
unsigned int Zahl;
c) einen als leer initialisierten Zeiger auf ein double
*double zeiger=NULL;
d) ein konstantes Zeichen, das bei der Ausgabe einen Piepton erzeugt
*const char piep="/a";
e) ein dreidimensionales Feld von 3 x 4 x 5 Integer‐Werten
int feld[3][4][5];
f) ein mit dem Wort „Klausur“ initialisiertes Zeichenfeld
char feld[]="Klausur";
g) eine Funktion, die als Parameter zwei Zeichen enthält und einen Zeiger auf double zurückliefert
*double funktion(char z1, char z2);
h) eine symbolische Konstante MAX, die die Zahl 10000 repräsentiert.
#define MAX 10000Danke
-
aendue schrieb:
d) ein konstantes Zeichen, das bei der Ausgabe einen Piepton erzeugt
*const char piep="/a";warum ist hier ein pointer auf ein zeichen? es ist doch garkeiner verlangt.
und hier ist nach einem ZEICHEN gefragt, nicht nach einem string.const char piep='\a';
-
Ach ok, da hab ich mich verlesen.
War mir da auch ziemlich unsicher bei dieser Aufgabe. Danke!!!Die anderen sind ok?
-
also nur vorneweg: auch ich bin kein informatiker, sondern hobbyprogrammierer.
ich (!!!) als hobbyprogrammierer sehe keine weiteren fehler. vielleicht schauen lieber nochmal andere drüber.
aber du solltest dir vielleicht nochmal die escape-sequenzen in c anschauen:
http://de.wikibooks.org/wiki/C-Programmierung:_Einfache_Ein-_und_Ausgabe#Escape-Sequenzender schrägstrich '\' war nämlich bei d) auch falsch.
-
Sieht richtig aus. Euer Lehrer drückt sich manchmal ein bisschen doof aus. Ein Pointer kann zum Beispiel nicht "leer" sein. Der Begriff macht keinen Sinn. Aber ich vermute trotzdem mal, dass die gezeigte Lösung die erwartete ist.
-
aendue schrieb:
Schreiben Sie eine Deklaration in C für:
a) eine mit dem Wert ‐123.45 initialisierte einfach genaue GleitkommazahlSchrottige Aufgabenstellung.
Eine Deklaration kann man nicht initialisieren.
-
Wutz schrieb:
Schrottige Aufgabenstellung.
Eine Deklaration kann man nicht initialisieren.WAS?
Soll das etwa nicht gehen:
float zahl = - 123.45;
Variable deklariere ich oft und initialisiere sie gleich. Spart Schreibarbeit und man ist sicher, dass die deklarierte Variable sofort einen selbstbestimmten Wert hat.
-
Naivling.
Du hast keine Ahnung von Grundbegriffen der C Programmierung.