kostenloser Webspace werbefrei: lima-city


Lerne gerade C im Studium

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    highborn

    highborn hat kostenlosen Webspace.

    Hallo,

    ich lerne gerade C im studium und hätte so ein paar allgemeine fragen zum datentyp.

    also wenn ich "char" benutze ist das dann nur für einen buchstaben? oder kann ich das auch für wörter benutzen?
    bis zu welchem bereich geht "int"?? es gibt ja noch "[un]signed int short" auch, aber ich lese in vielen tutorials nur "int".

    muss ich bei fließkommazahlen immer "float, double oder long double nehmen"??
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. highborn schrieb: Hallo,
    also wenn ich "char" benutze ist das dann nur für einen buchstaben?

    Jeder Datentyp in C ist numerisch. Auch char speichert eigentlich nur Zahlen von -128 bis +127. Man kann diese Zahlen jedoch auch als Buchstaben interpretieren, wenn man die ASCII-Codierung verwendet. Beispiel:
    char c = 65;
    printf( "%c ist nichts anderes als %i \n", c, c );

    Das erste c wird als Buchstabe interpretiert und das zweite (gleiche) c wird als Zahl ausgegeben.


    oder kann ich das auch für wörter benutzen?

    Ein char kann immer nur eine Zahl bzw einen Buchstaben in ASCII Code speichern. Um ganze Wörter zu speichern, braucht man ein Array von char-Werten.


    bis zu welchem bereich geht "int"??

    von -2147483648 bis 2147483647, also -(2^31) bis (2^31)-1


    es gibt ja noch "[un]signed int short" auch, aber ich lese in vielen tutorials nur "int".

    "Short" ist ein Längenmodifier. In diesem Fall sorgt er dafür, dass ein int, das eigentlich 4 Bytes lang ist, nur 2 Bytes lang ist.

    muss ich bei fließkommazahlen immer "float, double oder long double nehmen"??

    Du musst das nehmen, was für deine Zwecke ausreicht. Wenn du nur Euro- und Centbeiträge speichern willst, reicht ein float vollkommen aus. Falls du aber komplexe Berechnungen durchführen willst, musst du Datentypen nehmen, die mehr Speicher brauchen, aber dafür auch genauer Zahlen darstellen können.
  4. Autor dieses Themas

    highborn

    highborn hat kostenlosen Webspace.

    danke für deine antwort...

    also jetzt nochmal,

    ich lege jetzt konstanten fest

    " const char 1buchstabe = c"

    und wie sieht das dann aus wenn ich in der konstante das wort " hallo " stehen haben will? welchen datentyp nimm ich dann?



    wie ist das denn mit dem array?
  5. zunächst einmal: Variablennamen dürfen nicht mit einer Ziffer anfangen.
    Daher müsste dein Beispiel korrekterweise lauten:
    const char ein_Buchstabe = 'c';

    Einzelne Buchstaben notiert man in einfachen Anführungszeichen (Apostroph).

    Wenn du Wörter, also Strings, notieren willst, verwendet man "doppelte Anführungszeichen"

    char[] wort = "Hallo";

    Viel häufiger wirst du aber folgende Notation sehen:
    char * wort = "Hallo";

    Mit dem Stern (welcher auch bei der Multiplikation verwendet wird) wird ein so genannter Zeiger definiert. Du hast dann also einen Zeiger auf eine char-Variable. Und diese char-Variable ist der erste Buchstabe, nämlich 'H'.
    Bevor du dich aber mit Zeigern beschäftigst, solltest du erstmal die anderen Grundlagen lernen. Was du jetzt erstmal wissen solltest, ist, dass Zeiger und Arrays zwar nicht das gleiche sind, aber in vielen Fällen gleich benutzt werden können.

    Und Arrays selber sind einfach eine Sammlung von gleichartigen Variablen. Und auf die einzelnen Elemente in diesem Array kannst du mit eckigen Klammern zugreifen:
    char wort[] = "Hallo";
    printf( "Der dritte Buchtabe ist %c\n", wort[ 2 ] );

    Wobei man beachten muss, dass das erste Element im Array an Position 0 ist.

    Beitrag zuletzt geändert: 15.10.2010 15:23:50 von bladehunter
  6. Autor dieses Themas

    highborn

    highborn hat kostenlosen Webspace.

    ah super danke...

    arrays kommen in der nächsten vorlesung habe ich gerade gesehen :) und da kommt ein ähnliches beispiel.

    ich danke dir vielmals für deine erklärungen. ich komme gern mal wieder auf dich zurück :) (wenn ich darf)
  7. crushedreality

    crushedreality hat kostenlosen Webspace.

    Wenn die Frage gestattet ist, du studierst Informatik ohne jemals irgendeine Programmiersprache gelernt zu haben??? Nicht einmal ansatzweise?
  8. crushedreality schrieb:
    Wenn die Frage gestattet ist, du studierst Informatik ohne jemals irgendeine Programmiersprache gelernt zu haben??? Nicht einmal ansatzweise?

    Es ist sicherlich vorteilhaft bereits mindestens eine Programmiersprache (und damit meine ich nicht Visual Basic) zu können, aber es ist keinesfalls Vorraussetzung für ein Studium.

    Man studiert schließlich, um etwas zu lernen und nicht um seine l33t-Skills zu demonstrieren.
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!