C Muuttuja, tietotyypit, vakiot
โก รlykรคs yhteenveto
Variables, data types, and constants form the foundation of every C program, where variables store changeable values, data types define the size and range of that data, and constants hold fixed values that never change.

Mikรค on muuttuja?
Muuttuja on tunniste, jota kรคytetรครคn jonkin arvon tallentamiseen. Vakiot eivรคt voi koskaan muuttua suoritushetkellรค. Muuttujat voivat muuttua ohjelman suorituksen aikana ja pรคivittรครค siihen tallennettua arvoa.
Yhtรค muuttujaa voidaan kรคyttรครค useissa kohdissa ohjelmassa. Muuttujan nimen on oltava merkityksellinen. Sen pitรคisi edustaa muuttujan tarkoitusta.
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
Muuttuja on ensin ilmoitettava ennen kuin sitรค kรคytetรครคn jossain ohjelman sisรคllรค. Muuttujan nimi muodostetaan kรคyttรคmรคllรค merkkejรค, numeroita ja alaviivaa.
Seuraavia sรครคntรถjรค on noudatettava muuttujaa luotaessa:
- Muuttujan nimen tulee sisรคltรครค vain merkkejรค, numeroita ja alaviiva.
- Muuttujan nimi ei saa alkaa numerolla.
- Muuttujan nimi ei saa sisรคltรครค vรคlilyรถntejรค.
- Muuttujan nimi ei saa sisรคltรครค avainsanaa.
- "C" on isot ja pienet kirjaimet erotteleva kieli, mikรค tarkoittaa, ettรค muuttuja nimeltรค "age" ja "AGE" ovat erilaisia.
Seuraavassa on esimerkkejรค kelvollisista muuttujien nimistรค "C"-ohjelmassa:
height or HEIGHT
_height
_height1
My_name
Seuraavassa on esimerkkejรค virheellisistรค muuttujien nimistรค C-ohjelmassa:
1height Hei$ght My name
For example, we declare an integer variable my_variable and assign it the value 48:
int my_variable;
my_variable = 48;
Muuten, voimme sekรค ilmoittaa ettรค alustaa (mรครคrittรครค alkuarvon) muuttujan yhdessรค lauseessa:
int my_variable = 48;
Tietotyypit
'C' tarjoaa erilaisia โโtietotyyppejรค, joiden avulla ohjelmoijan on helppo valita sopiva tietotyyppi sovelluksen vaatimusten mukaisesti. Seuraavassa on kolme tietotyyppiรค:
- Primitiiviset tietotyypit
- Johdetut tietotyypit
- Kรคyttรคjรคn mรครคrittelemรคt tietotyypit
On olemassa viisi ensisijaista perustietotyyppiรค,
- int kokonaislukutiedoille
- char merkkitiedoille
- float liukulukuille
- double kaksinkertaisen tarkkuuden liukulukuille
- mitรคtรถidรค
Array, functions, pointers, structures are derived data types. โCโ language provides more extended versions of the above mentioned primary data types. Each data type differs from one another in size and range. Following table displays the size and range of each data type.
| Tietotyyppi | Koko tavuina | alue |
| Char tai signed char | 1 | -128 ja 127 |
| Allekirjoittamaton merkki | 1 | 0 ja 255 |
| int tai signed int | 2 | -32768 ja 32767 |
| Allekirjoittamaton int | 2 | 0 ja 65535 |
| Short int tai Unsigned short int | 2 | 0 ja 255 |
| Allekirjoitettu lyhyt int | 2 | -128 ja 127 |
| Long int tai Signed long int | 4 | -2147483648 ja 2147483647 |
| Allekirjoittamaton pitkรค vรคliv | 4 | 0 ja 4294967295 |
| kellua | 4 | 3.4E-38 - 3.4E+38 |
| kaksinkertainen | 8 | 1.7E-308 - 1.7E+308 |
| Pitkรค tupla | 10 | 3.4E-4932 - 1.1E+4932 |
Note: In C, there is no Boolean data type.
Kokonaislukutietotyyppi
Kokonaisluku ei ole muuta kuin kokonaisluku. Kokonaislukutietotyypin alue vaihtelee koneittain. Kokonaislukutietotyypin vakioalue on -32768 - 32767.
Kokonaisluku on tyypillisesti 2 tavun mittainen, mikรค tarkoittaa, ettรค se kuluttaa yhteensรค 16 bittiรค muistia. Yksi kokonaislukuarvo vie 2 tavua muistia. Kokonaislukutietotyyppi jaetaan edelleen muihin tietotyyppeihin, kuten lyhyt int, int ja pitkรค int.
Jokainen tietotyyppi vaihtelee alueella, vaikka se kuuluukin kokonaislukutietotyyppiperheeseen. Koko ei vรคlttรคmรคttรค muutu kokonaislukuperheen jokaisen tietotyypin osalta.
Lyhyttรค int kรคytetรครคn useimmiten pienten lukujen tallentamiseen, int keskikokoisten kokonaislukujen tallentamiseen ja long int suurten kokonaislukujen tallentamiseen.
Whenever we want to use an integer data type, we have to place int before the identifier such as,
int age;
Tรคssรค ikรค on kokonaislukutietotyypin muuttuja, jota voidaan kรคyttรครค kokonaislukuarvojen tallentamiseen.
Liukulukutietotyyppi
Kuten kokonaisluvut, 'C'-ohjelmassa voimme myรถs kรคyttรครค liukulukutietotyyppejรค. 'Float'-avainsanaa kรคytetรครคn edustamaan liukulukutietotyyppiรค. Se voi sisรคltรครค liukulukuarvon, mikรค tarkoittaa, ettรค luvussa on murto-osa ja desimaaliosa. Liukulukuarvo on reaaliluku, joka sisรคltรครค desimaalipilkun. Kokonaislukutietotyyppi ei tallenna desimaaliosaa, joten voimme kรคyttรครค floatteja arvon desimaaliosan tallentamiseen.
Yleensรค kelluke voi sisรคltรครค jopa 6 tarkkuusarvoa. Jos float ei ole riittรคvรค, voimme kรคyttรครค muita tietotyyppejรค, joissa voi olla suuria liukulukuarvoja. Datatyyppiรค double ja long double kรคytetรครคn reaalilukujen tallentamiseen 14 ja 80 bitin tarkkuudella.
Liukulukua kรคytettรคessรค avainsana float/double/long double on sijoitettava tunnisteen eteen. Pรคteviรค esimerkkejรค ovat mm.
float division; double BankBalance;
Merkin tietotyyppi
Merkkitietotyyppejรค kรคytetรครคn yhden merkin arvon tallentamiseen lainausmerkkien sisรคllรค.
A character data type takes up to 1 byte of memory space.
esimerkiksi,
Char letter;
Tyhjรค tietotyyppi
Tyhjรค tietotyyppi ei sisรคllรค tai palauta mitรครคn arvoa. Sitรค kรคytetรครคn enimmรคkseen C:n funktioiden mรครคrittรคmiseen.
esimerkiksi,
void displayData()
Muuttujan tyyppimรครคritys
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;}
lรคhtรถ:
59 13.480000 K
We can declare multiple variables with the same data type on a single line by separating them with a comma. Also, notice the use of format specifiers in printf output function float (%f) and char (%c) and int (%d).
vakiot
Vakiot ovat kiinteitรค arvoja, jotka eivรคt koskaan muutu ohjelman suorituksen aikana. Seuraavassa on erityyppisiรค vakioita:
Kokonaislukuvakiot
Kokonaislukuvakio ei ole muuta kuin arvo, joka koostuu numeroista tai numeroista. Nรคmรค arvot eivรคt koskaan muutu ohjelman suorituksen aikana. Kokonaislukuvakiot voivat olla oktaali-, desimaali- ja heksadesimaalilukuja.
Desimaalivakio sisรคltรครค numeroita 0-9, kuten
Example, 111, 1234
Yllรค on kelvolliset desimaalivakiot.
Oktaalivakio sisรคltรครค numeroita 0-7, ja tรคmรคn tyyppisiรค vakioita edeltรครค aina 0.
Example, 012, 065
Yllรค on voimassa olevat oktaalivakiot.
Heksadesimaalivakio sisรคltรครค luvun 0-9 sekรค AF-merkkejรค. Heksadesimaalivakiota edeltรครค aina 0X.
Example, 0X2, 0Xbcd
Yllรค on voimassa olevat heksadesimaalivakiot.
Oktaali- ja heksadesimaalilukuvakioita kรคytetรครคn hyvin harvoin ohjelmoinnissa 'C':n kanssa.
Merkkivakiot
A character constant contains only a single character enclosed within a single quote (โ). We can also represent character constant by providing ASCII value of it.
Example, 'A', '9'
Yllรค on esimerkkejรค kelvollisista merkkivakioista.
Merkkijonovakiot
Merkkijonovakio sisรคltรครค merkkijonon lainausmerkkien ("") sisรคllรค.
Example, "Hello", "Programming"
Nรคmรค ovat esimerkkejรค kelvollisista merkkijonovakioista.
Todelliset vakiot
Kuten kokonaislukuvakiot, jotka sisรคltรคvรคt aina kokonaislukuarvon. "C" tarjoaa myรถs todellisia vakioita, jotka sisรคltรคvรคt desimaalipilkun tai murto-osan. Reaalivakioita kutsutaan myรถs liukulukuvakioksi. Reaalivakio sisรคltรครค desimaalipilkun ja murtoluvun.
Example, 202.15, 300.00
Nรคmรค ovat voimassa olevia todellisia vakioita 'C".
Todellinen vakio voidaan kirjoittaa myรถs seuraavasti:
Mantissa e Exponent
Jos esimerkiksi haluat ilmoittaa arvon, joka ei muutu kuten klassinen ympyrรคvakio PI, tรคmรค vakio voidaan ilmoittaa kahdella tavalla
By using the const keyword in a variable declaration which will reserve a storage memory
#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;}
By using the #define pre-processor directive which doesnโt use memory for storage and without putting a semicolon character at the end of that statement
#include <stdio.h> #define PI 3.14 int main() { printf("%f", PI); return 0;}
