C Muutuja, andmetüübid, konstandid

Mis on muutuja?

Muutuja on identifikaator, mida kasutatakse mingi väärtuse salvestamiseks. Konstandid ei saa täitmise ajal kunagi muutuda. Muutujad võivad programmi täitmise ajal muutuda ja värskendada sellesse salvestatud väärtust.

Ühte muutujat saab kasutada programmis mitmes kohas. Muutuja nimi peab olema tähendusrikas. See peaks esindama muutuja eesmärki.

Example: Height, age, are the meaningful variables that represent the purpose it is being used for. Height variable can be used to store a height value. Age variable can be used to store the age of a person

Muutuja tuleb kõigepealt deklareerida, enne kui seda kuskil programmi sees kasutatakse. Muutuja nimi moodustatakse märkide, numbrite ja allkriipsu abil.

Muutuja loomisel tuleb järgida järgmisi reegleid:

  1. Muutuja nimi peaks koosnema ainult tähemärkidest, numbritest ja alljoonest.
  2. Muutuja nimi ei tohiks alata numbriga.
  3. Muutuja nimi ei tohiks koosneda tühikutest.
  4. Muutuja nimi ei tohiks koosneda märksõnast.
  5. „C” on tõstutundlik keel, mis tähendab, et muutuja nimega „vanus” ja „AGE” on erinevad.

Järgmised on näited kehtivate muutujate nimede kohta C-programmis:

height or HEIGHT
_height
_height1
My_name

Järgmised on näited kehtetute muutujate nimede kohta C-programmis:

1height
Hei$ght
My name

Näiteks deklareerime täisarvulise muutuja minu_muutuja ja määrake sellele väärtus 48:

int my_variable;
my_variable = 48;

Muide, saame muutuja ühes lauses nii deklareerida kui ka initsialiseerida (algväärtuse määrata):

int my_variable = 48;

Andmetüübid

"C" pakub erinevaid andmetüüpe, et programmeerijal oleks lihtne valida sobiv andmetüüp vastavalt rakenduse nõuetele. Järgmised on kolm andmetüüpi.

  1. Primitiivsed andmetüübid
  2. Tuletatud andmetüübid
  3. Kasutaja määratud andmetüübid

Peamisi põhiandmetüüpe on viis,

  1. int täisarvuliste andmete jaoks
  2. char märgiandmete jaoks
  3. ujuk ujukomaarvude jaoks
  4. double topelttäpsusega ujukomaarvude jaoks
  5. tühine

Massiiv, funktsioonid, osutid, struktuurid on tuletatud andmetüübid. C-keel pakub ülalnimetatud esmaste andmetüüpide laiendatud versioone. Iga andmetüüp erineb üksteisest suuruse ja ulatuse poolest. Järgmine tabel näitab iga andmetüübi suurust ja vahemikku.

Andmetüüp Suurus baitides Valik
Char või märgiga täht 1 -128 et 127
Allkirjastamata süsinik 1 0 et 255
int või signeeritud int 2 -32768 et 32767
Allkirjastamata int 2 0 et 65535
Short int või Unsigned short int 2 0 et 255
Signeeritud lühike int 2 -128 et 127
Long int või Signed long int 4 -2147483648 et 2147483647
Signeerimata pikk int 4 0 et 4294967295
ujuk 4 3.4E-38 kuni 3.4E+38
kahekordistada 8 1.7E-308 kuni 1.7E+308
Pikk topelt 10 3.4E-4932 kuni 1.1E+4932

märkused: C-s pole Boole'i ​​andmetüüpi.

Täisarvuline andmetüüp

Täisarv pole midagi muud kui täisarv. Täisarvulise andmetüübi vahemik on masinati erinev. Täisarvulise andmetüübi standardvahemik on -32768 kuni 32767.

Täisarv on tavaliselt 2 baiti, mis tähendab, et see kulutab mälus kokku 16 bitti. Üks täisarv võtab 2 baiti mälu. Täisarvuline andmetüüp jaguneb veel muudeks andmetüüpideks, nagu lühike int, int ja pikk int.

Iga andmetüüp on vahemikust erinev, kuigi see kuulub täisarvude andmetüüpide perekonda. Suurus ei pruugi muutuda iga täisarvupere andmetüübi puhul.

Lühikest int kasutatakse enamasti väikeste arvude, int keskmise suurusega täisarvude ja pikka int suurte täisarvude väärtuste salvestamiseks.

Kui tahame kasutada täisarvu andmetüüpi, paneme enne identifikaatorit koht int, näiteks

int age;

Siin on vanus täisarvulise andmetüübi muutuja, mida saab kasutada täisarvude väärtuste salvestamiseks.

Ujukoma andmetüüp

Sarnaselt täisarvudele saame programmis C kasutada ka ujukoma andmetüüpe. Ujukoma andmetüübi tähistamiseks kasutatakse märksõna "ujuk". See võib sisaldada ujukoma väärtust, mis tähendab, et arvul on murdosa ja kümnendosa. Ujukomaväärtus on reaalarv, mis sisaldab koma. Täisarvuline andmetüüp ei salvesta kümnendosa, mistõttu saame väärtuse kümnendosa salvestamiseks kasutada ujuki.

Üldiselt võib ujuk sisaldada kuni 6 täpsusväärtust. Kui ujukist ei piisa, saame kasutada muid andmetüüpe, mis mahutavad suuri ujukomaväärtusi. Andmetüüpi double ja long double kasutatakse reaalarvude salvestamiseks täpsusega vastavalt kuni 14 ja 80 bitti.

Ujukomanumbri kasutamisel tuleb identifikaatori ette asetada märksõna float/double/long double. Õiged näited on

float division;
double BankBalance;

Tähemärgi andmetüüp

Tähemärgi andmetüüpe kasutatakse ühe märgi väärtuse salvestamiseks, mis on ümbritsetud jutumärkidega.

Märgi andmetüüp võtab kuni 1 baidi mäluruumi.

Näide,

Char letter;

Kehtetu andmetüüp

Kehtetu andmetüüp ei sisalda ega tagasta ühtegi väärtust. Seda kasutatakse enamasti funktsioonide määratlemiseks 'C'-s.

Näide,

void displayData()

Muutuja tüübideklaratsioon

int main() {
int x, y;
float salary = 13.48;
char letter = 'K';
x = 25;
y = 34;
int z = x+y;
printf("%d \n", z);
printf("%f \n", salary);
printf("%c \n", letter);
return 0;}

Väljund:

59
13.480000
K

Saame ühel real deklareerida mitu sama andmetüübiga muutujat, eraldades need komaga. Samuti pange tähele vorminguspetsifikaatorite kasutamist printf väljundfunktsioon float (%f) ja char (%c) ja int (%d).

Konstandid

Konstandid on fikseeritud väärtused, mis programmi täitmise ajal kunagi ei muutu. Järgmised on erinevat tüüpi konstandid:

Täisarvu konstandid

Täisarvuline konstant pole midagi muud kui numbritest või numbritest koosnev väärtus. Need väärtused ei muutu kunagi programmi täitmise ajal. Täisarvu konstandid võivad olla kaheksand-, kümnend- ja kuueteistkümnendsüsteemis.

  1. Kümnendkonstant sisaldab numbreid vahemikus 0–9, näiteks
Example, 111, 1234

Ülal on kehtivad kümnendkonstandid.

  1. Oktaalne konstant sisaldab numbreid vahemikus 0–7 ja seda tüüpi konstantidele eelneb alati 0.
Example, 012, 065

Ülal on kehtivad oktaalsed konstandid.

  1. Kuueteistkümnendkonstant sisaldab numbreid vahemikus 0–9 ja AF-i märke. Kuueteistkümnendsüsteemi konstantidele eelneb alati 0X.
Example, 0X2, 0Xbcd

Eespool on kehtivad kuueteistkümnendsüsteemi konstandid.

Kaheksandik- ja kuueteistkümnendsüsteemi täisarvu konstante kasutatakse C-ga programmeerimisel väga harva.

Tähemärkide konstandid

Märgikonstant sisaldab ainult ühte märki, mis on ümbritsetud ühe jutumärgiga (”). Saame esitada ka märgikonstanti, esitades selle ASCII väärtuse.

Example, 'A', '9'

Eespool on toodud kehtivate märgikonstantide näited.

Stringi konstandid

Stringikonstant sisaldab tähemärkide jada, mis on ümbritsetud jutumärkidega (“”).

Example, "Hello", "Programming"

Need on kehtivate stringikonstantide näited.

Tõelised konstandid

Nagu täisarvu konstandid, mis sisaldavad alati täisarvu väärtust. "C" pakub ka reaalseid konstante, mis sisaldavad koma või murdosa väärtust. Reaalseid konstante nimetatakse ka ujukomakonstantideks. Reaalkonstant sisaldab koma ja murdosa väärtust.

Example, 202.15, 300.00

Need on kehtivad reaalkonstandid 'C'.

Reaalse konstandi võib kirjutada ka järgmiselt

Mantissa e Exponent

Näiteks sellise väärtuse deklareerimiseks, mis ei muutu nagu klassikaline ringikonstant PI, on selle konstandi deklareerimiseks kaks võimalust

  1. Kasutades const märksõna muutuja deklaratsioonis, mis reserveerib mälumälu
  2. #include <stdio.h>
    int main() {
    const double PI = 3.14;
    printf("%f", PI);
    //PI++; // This will generate an error as constants cannot be changed
    return 0;}
  3. Kasutades #defineeri eelprotsessori direktiiv, mis ei kasuta salvestamiseks mälu ja ei pane selle lause lõppu semikoolonit
  4. #include <stdio.h>
    #define PI 3.14
    int main() {
    printf("%f", PI);
    return 0;}

kokkuvõte

  • Konstant on väärtus, mis programmi täitmise ajal ei muutu.
  • Muutuja on identifikaator, mida kasutatakse väärtuse salvestamiseks.
  • Tavaliselt kasutatakse nelja andmetüüpi, nagu int, float, char ja void.
  • Iga andmetüüp erineb üksteisest suuruse ja ulatuse poolest.