Ugrás a főoldalra!

Felhasználónév:

Jelszó:

 :: ".$_ASWC_['NAME']." ".$_ASWC_['VERSION']." ".$_ASWC_['STATUS'];?> - [Látogatók: ]  
Freelance Jobs

Témaköreink

 


On-line

Dev, Admin: 0
Lektorok, írók: 1
  ÷Magus|BOT
Felhasználók: 0
Vendégek: 1
Tegnap: 0
E havi:
 

Statisztika

Oktatóanyagok száma
 Publikus: 128

Legolvasottabb írónk
 outesticide 362845

Legszorgalmasabb írók
1. balymo 24
2. outesticide 20
3. tipli 19
4. adrob 18
5. akciolap 15

Legolvasottabb címek
1. CSS
Egyszerü vízszintes menü és vízszintes menü legördülő almenükkel [55298]
2. CSS
Bevezetés a CSS alapjaiba [30797]
3. CSS
A pozícionálás, és a z-index [30282]
4. CSS
A felhasználói felület - első rész [24624]
5. CSS
Függőleges menü, legördülő almenüvel [24495]
 

 

C,C++ -> Típuskonverziók

Író: balymo ( naniika@gmail.com )
  http://
Készült: 2004-08-12 13:29:16
Lektorálta: adrob
Lektorálva:
2005-02-27 15:10:35 [7005]
Típuskonverziók

Ha egy operátor operandusai különböző típusúak, akkor a művelet végrehajtása előtt azokat egy közös típusra kell hozni.
Az átalakításra néhány szabály vonatkozik: Általában az automatikus konverzió csak akkor jön létzre, ha egy "keskenyebb"
operandust egy "szélesebb" operandussá kell alakítani, mivel így biztosan nem vész el információ.
A char típusú adatok kis egész számok, ezért az összes arimetikai műveletben szabadon használhatóak.
Erre jó példa az atoi függvény, amely a számjegyekből álló karaktersorozatot a megfelelő értékű számmá alakítja.

    /* atoi: az a karaktersorozat egész számok alakítása */
   int atoi (char s[ ]
   {
        int i, n;
 
        n = 0;
        for (i = 0; s[i] >= '0'   &&  s[i]   <= '9'; ++i)
                n = 10 * n + (s[i] - '0');
         return n;
   }


A char típus int típusú alakítására egy másik függvény a lower függvény. A üggvény egy karaktert alakít kisbetűvé

   /* lower: a c ASCII karaktert kisbetűssé alakítja */
    int lower(int c)
    {
          if (c >= 'A'  &&  c <= 'Z')
              return c + 'a' - 'A';
         else
             return c;
     }


A függvény csak ASCII karakterkészlet esetén használható, mivel kihasználja, hogy a nagy- és kisbetűk számértéke (kódja) rögzített távolságra van egymástól és a nagy- ill kisbetűs ábécék folyamatosak.
Az atoi függvényben használt

     c >= '0'  &&  c <= '9'


vizsgálat is helyettesíthető az
isdigit(c)
könyvtári függvénnyel.

Az && és II logikai műveletekkel összekapcsolt i > j alakú relációs kifejezések és
logikai kifejezések eredményének értékét úgy definiáljuk,
hogy az 1. ha az eredmény igaz, és 0, ha hamis.

  d = c >= '0'  && c <= '9'


értékadás során a d változóhoz 1 értéket rendel, ha a c számjegy, és 0-t ha nem.

A hosszabb egészek rövidebb vagy char típusúvá alakulásakor, a magasabb helyiértékű bitek elvesznek.

  int i;
  char c;

  i = c;
  c = i;


Az értékadás sorrendjének megfordítása információvesztéshez vezethet.
A standard könyvtár tartalmaz egy hordozható pszeudovéletlenszám-generátor valamint annak kezdőértékét beállító függvényt.

   unsigned long int next = 1;

   /* rand: egy 0 és 32767 közti pszeudo-véletlen számot ad vissza */
   int rand(void);
   {
    next = next * 1103515245 + 123456;
    return (undigned int) (next/65536) % 32768;

   }
  
   /* srand: a rand kezdőértékének beállítása */
    void srand (unsigned int alap)
    {
      next = alap;
    }
* Minden további kérdéseddel fordulj az anyag írójához.

 

Hello Vendég

Az oktatóanyagok olvasásához be kell jelentkezned.

Szeretnék regisztrálni.

Elfelejtettem a jelszavam!
Kiküldöm magamnak!