Mis on muutuja?
Muutuja on identifikaator, mida kasutatakse väärtuse salvestamiseks. Konstandid ei saa hukkamise ajal kunagi muutuda. Muutujad võivad programmi käivitamise ajal muutuda ja värskendada selle sisse salvestatud väärtust.
Ühte muutujat saab programmis kasutada mitmes kohas. Muutuja nimi peab olema tähendusrikas. See peaks kajastama 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 enne deklareerida, enne kui seda kuskil programmi sees kasutatakse. Muutuja nimi moodustatakse märkide, numbrite ja alakriipsuga.
Muutuja loomisel tuleb järgida reegleid:
- Muutuja nimi peaks koosnema ainult märkidest, numbritest ja alakriipsust.
- Muutuja nimi ei tohiks alata numbriga.
- Muutuja nimi ei tohiks koosneda tühimärgist.
- Muutuja nimi ei tohiks koosneda märksõnast.
- "C" on tõstutundlik keel, mis tähendab, et muutuja nimega "vanus" ja "vanus" on erinevad.
Järgmised näited kehtivate muutujate nimedest C-programmis:
height or HEIGHT_height_height1My_name
Järgmised näited kehtetute muutujate nimedest C-programmis:
1heightHei$ghtMy name
Näiteks kuulutame täisarvu muutuja my_variable ja määrame sellele väärtuse 48:
int my_variable;my_variable = 48;
Muide, saame muutuja deklareerida ja initsialiseerida (määrata algväärtus) ühes avalduses:
int my_variable = 48;
Andmetüübid
"C" pakub erinevaid andmetüüpe, et programmeerijal oleks rakenduse nõuete kohaselt lihtne sobivat andmetüüpi valida. Allpool on kolm andmetüüpi:
- Ürgsed andmetüübid
- Tuletatud andmetüübid
- Kasutaja määratletud andmetüübid
Esmaseid põhiandmete tüüpe on viis,
- int täisarvu andmete korral
- tähemärgi andmete tähis
- ujuk ujukomaarvude jaoks
- topelt kahekordse täpsusega ujukomaarvude jaoks
- 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 vahemiku poolest. Järgmises tabelis kuvatakse iga andmetüübi suurus ja vahemik.
Andmetüüp | Suurus baitides | Vahemik |
Char või allkirjastatud char | 1 | -128 kuni 127 |
Allkirjastamata süsinik | 1 | 0 kuni 255 |
int või allkirjastatud int | 2 | -32768 kuni 32767 |
Allkirjastamata int | 2 | 0 kuni 65535 |
Lühike int või allkirjastamata lühike int | 2 | 0 kuni 255 |
Allkirjastatud lühike int | 2 | -128 kuni 127 |
Long int või Signed long int | 4 | -2147483648 kuni 2147483647 |
Allkirjastamata pikk int | 4 | 0 kuni 4294967295 |
ujuk | 4 | 3.4E-38 kuni 3.4E + 38 |
topelt | 8 | 1.7E-308 kuni 1.7E + 308 |
Pikk topelt | 10 | 3.4E-4932 kuni 1.1E + 4932 |
Märkus . C-s pole Boole'i andmetüüpi.
Andmete tüüp täisarv
Tervik pole muud kui täisarv. Täisarvu andmetüübi vahemik on masiniti erinev. Täisarvu andmetüübi standardvahemik on -32768 kuni 32767.
Täisarv on tavaliselt 2 baiti, mis tähendab, et see kulutab mälus kokku 16 bitti. Ühe täisarvu väärtus võtab 2 baiti mälu. Täisarvuline andmetüüp jaguneb veel teisteks andmetüüpideks, näiteks lühike int, int ja pikk int.
Iga andmetüüp on vahemikus erinev, kuigi see kuulub täisarvu andmetüüpide perekonda. Iga täisarvuperekonna andmetüübi suurus ei pruugi muutuda.
Lühikest int kasutatakse enamasti väikeste arvude salvestamiseks, int keskmiselt suurte täisarvude ja pika int suurte täisarvude salvestamiseks.
Alati, kui soovime kasutada täisarvu andmetüüpi, on meil identiatori ees näiteks int,
int age;
Siin on vanus täisarvu andmetüübi muutuja, mida saab kasutada täisarvu väärtuste salvestamiseks.
Ujuva punkti andmetüüp
Nagu täisarvud, saame ka C-programmis kasutada ujukoma andmetüüpe. Ujuki andmetüübi tähistamiseks kasutatakse märksõna „ujuk”. See võib hoida ujukoma väärtust, mis tähendab, et arvul on murd ja kümnendkoht. Ujukoma väärtus on reaalarv, mis sisaldab kümnendkoha täpsust. Andmete tüüp täisarv ei salvesta kümnendkohti, mistõttu saame väärtuste kümnendosa salvestamiseks kasutada ujukeid.
Üldiselt mahutab ujuk kuni 6 täpsusväärtust. Kui ujuk ei ole piisav, saame kasutada muid andmetüüpe, mis mahutavad suuri ujukoma väärtusi. Andmetüüpi topelt ja pikka topelt kasutatakse reaalarvude salvestamiseks täpselt vastavalt kuni 14 ja 80 bitti.
Ujukoma numbri kasutamisel tuleb identifikaatori ette panna märksõna ujuk / topelt / pikk topelt. Kehtivad näited on
float division;double BankBalance;
Märgi andmetüüp
Märkide andmetüüpe kasutatakse ühe jutumärgina suletud ühe märgi väärtuse salvestamiseks.
Märgi andmetüüp võtab kuni 1 baiti mäluruumi.
Näide
Char letter;
Kehtetu andmetüüp
Tühine andmetüüp ei sisalda ega tagasta väärtust. Seda kasutatakse enamasti funktsioonide määratlemiseks tähes „C”.
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:
5913.480000K
Saame ühele reale deklareerida mitu sama andmetüübiga muutujat, eraldades need komaga. Pange tähele ka formaadi täpsustajate kasutamist printfi väljundfunktsioonides float (% f) ja char (% c) ja int (% d).
Konstandid
Konstandid on püsiväärtused, mis programmi täitmise ajal kunagi ei muutu. Järgnevad on erinevad konstantide tüübid:
Täisarvukonstandid
Täisarvukonstant pole midagi muud kui arvudest või numbritest koosnev väärtus. Need väärtused ei muutu programmi käivitamise ajal kunagi. Täisarvukonstandid võivad olla kaheksand-, kümnend- ja kuueteistkümnendsüsteemis.
- Kümnendkonstant sisaldab numbreid 0–9, näiteks
Example, 111, 1234
Ülal on kehtivad kümnendkonstandid.
- Oktaalkonstant sisaldab numbreid vahemikus 0–7 ja seda tüüpi konstandidele eelneb alati 0.
Example, 012, 065
Ülal on kehtivad kümnendkonstandid.
- Kuueteistkümnendkonstant sisaldab nii numbrit vahemikus 0–9 kui ka tähemärke AF-st. Kuueteistkümnendkonstandidele eelneb alati 0X.
Example, 0X2, 0Xbcd
Ülal on kehtivad kuueteistkümnendsüsteemi konstandid.
C-ga programmeerimisel kasutatakse kaheksand- ja kuueteistkümnendsüsteemi täisarvukonstandi väga harva.
Märkide konstandid
Märgikonstant sisaldab ainult ühte märki, mis on suletud ühte jutumärki (''). Samuti võime tähemärgi konstandi esitada, esitades selle ASCII väärtuse.
Example, 'A', '9'
Ülaltoodud on kehtivate tähekonstandide näited.
Stringi konstandid
Stringikonstand sisaldab topelt jutumärkidesse ("") sisestatud tähemärkide jada.
Example, "Hello", "Programming"
Need on kehtivate stringikonstandide näited.
Tõelised konstandid
Nagu täisarvukonstandid, mis sisaldavad alati täisarvu. "C" annab ka reaalsed konstandid, mis sisaldavad kümnendkohta või murdosa. Reaalseid konstande nimetatakse ka ujukoma konstantideks. Tegelik konstant sisaldab komakohta ja murdosa.
Example, 202.15, 300.00
Need on tähes C kehtivad tegelikud konstandid.
Tõelise konstandi võib kirjutada ka järgmiselt:
Mantissa e Exponent
Näiteks sellise väärtuse deklareerimiseks, mis ei muutu nagu klassikaline ringkonstant PI, on selle konstandi deklareerimiseks kaks võimalust
- Kasutades muutuja deklaratsioonis märksõna const, mis reserveerib salvestusmälu
- Kasutades eeltöötlusdirektiivi #define, mis ei kasuta salvestamiseks mälu, ja panemata selle lause lõppu semikoolonit
#includeint main() {const double PI = 3.14;printf("%f", PI);//PI++; // This will generate an error as constants cannot be changedreturn 0;}
#include#define PI 3.14int main() {printf("%f", PI);return 0;}
Kokkuvõte
- Konstant on väärtus, mis ei muutu kogu programmi täitmise ajal.
- Muutuja on identifikaator, mida kasutatakse väärtuse salvestamiseks.
- Seal on neli tavaliselt kasutatavat tüüpi andmeid nagu int, float, char ja void.
- Iga andmetüüp erineb suuruse ja vahemiku poolest.