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.

  • ๐Ÿ”ค Muuttujat: A variable is a named identifier whose value can change, declared using letters, digits, or an underscore.
  • ๐Ÿงฎ Tietotyypit: C types are primitive, derived, and user-defined, including int, char, float, double, and void, each with a fixed size and range.
  • ๐Ÿ”’ Vakiot: Constants hold fixed values and include integer, character, string, and real constants that never change.
  • โš™๏ธ ilmoitus: The const keyword and the #define directive both create constants, one reserving memory and the other substituting text.
  • ๐Ÿค– AI-apu: GitHub Copilot suggests correct data types, flags naming errors, and speeds up C declarations.

C Muuttuja, tietotyypit, vakiot

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;}

UKK

A variable is a named memory location whose value can change during execution. A constant holds a fixed value that never changes once defined.

The const keyword makes a typed, memory-backed constant the compiler checks. #define is a preprocessor macro that substitutes text and uses no storage.

A local variable lives inside a function and exists only while it runs. A global variable stays accessible program-wide through C sรคilytysluokat.

A signed type stores negative and positive values. An unsigned type stores only non-negative values, doubling the positive range for the same number of bytes.

Classic C had no boolean type; programmers used int with 0 and 1. Since C99, <stdbool.h> adds bool, true, and false through the _Bool type.

Format specifiers tell printf and scanf how to interpret data. %d handles integers, %f handles floating-point numbers, and %c handles a single character.

Yes. AI coding assistants suggest data types, warn about values that overflow a range, and flag names that clash with keywords. Always review the output.

GitHub Copilot autocompletes variable and constant declarations from comments or nearby code. It suggests names and data types and drafts const or #define lines to review.

Tiivistรค tรคmรค viesti seuraavasti: