Kihagyás

2.3. Változó értékének kiíratása

Ahhoz, hogy egy változót használhassunk a programban, először deklarálni kell. A deklaráció során meghatározzuk a változó típusát.

Leggyakoribb típusok a C#-ban:

Típus neve Értéktartomány A szám/adat típusa
byte 0-tól 255-ig Egész szám
short -32 768-tól 32 767-ig Egész szám
ushort 0-tól 65 535-ig Egész szám
int -2 147 483 648-tól 2 147 483 647-ig Egész szám
uint 0-tól 4 294 967 295-ig Egész szám
long -9 223 372 036 854 775 808-tól 9 223 ... 807-ig Egész szám
ulong 0-tól 18 446 744 073 709 551 615-ig Egész szám
float ±1.5 · 10⁻⁴⁵ pontossággal ±3.4 · 10³⁸ között Valós szám
double ±5 · 10⁻³²⁴ pontossággal ±1.7 · 10³⁰⁸ között Valós szám
decimal ±1 · 10⁻²⁸ pontossággal ±7.9 · 10²⁸ között Valós szám
char Egyetlenegy karakter (Értékadás ' között) Karakter
string Karaktersorozat (szöveg) (Értékadás " között) Szöveg
bool Logikai típus (true vagy false) Logikai

A változó definiálása és kezdőérték-adása

Általános forma:

típus változónév;

vagy

típus változónév = érték;

int a; // az a nevű változó int típusú egész adatokat fogadhat
float c, x, y; // egyszerre több változót is deklarálhatunk vesszővel elválasztva
string kiiras;
char valasztas;

// Deklaráció kezdőérték-adással:
int a = 0, negyzetTerulet = 0;
double x1 = 0, x2 = 0;
string kiiras = "a művelet eredménye";
bool ismetles = false;

3. feladat

Írjuk ki a képernyőre az a változó értékét! Először adjunk 0 kezdőértéket a változónak, majd a programban legyen egy értékadás, a változó értéke legyen 5 és utána írjuk ki a változó értékét! Név: Változókiírás1.

Megoldás:

static void Main(string[] args)
{
    int a = 0;
    a = 5;
    Console.WriteLine(a);
    Console.ReadKey();
}

Szöveg és változók együttes kiíratása

Hogyan lehet szövegkonstanst és változó értékét egy sorba kiíratni? Legyen a=4 és b=6.

Console.WriteLine("Az 1. szám = {0}, a második szám = {1}", a, b);
A kapcsos zárójelek közötti 0 és 1 helyén az a és b változó értéke jelenik meg. Az idézőjel után vesszővel elválasztva meg kell adni a kiírandó változók listáját, sorszámozva 0-tól kezdve.

Formázott kiíratás valós számoknál: Ha a változó nem egész típusú, akkor a sorszám után kettőspontot teszünk, és megadjuk a formátumot (pl. 0.00 két tizedesjegy pontossághoz).

double a = 3.45, b = 2.345;
Console.WriteLine("Az 1. szám = {0:0.00}, a 2. szám = {1:0.000}", a, b);
// Kifejezés is kiírható:
Console.WriteLine("Eredmény: {0:0.00}", a/b * b);

4. feladat

Írjuk ki a képernyőre az x * y, majd alá 4 tizedes pontossággal az x / y értékét, ha x = 2, y = -11! Az sz változó string típusú legyen és értéke: " művelet eredménye: ". Név: Változókiírás2.

Hibás típusválasztás (egészek osztása):

static void Main(string[] args)
{
    int x = 2, y = -11; 
    string szoveg = " művelet eredménye: ";
    Console.WriteLine("x*y{0}{1}", szoveg, x * y);
    Console.WriteLine("x/y{0}{1:0.0000}", szoveg, x / y);
    Console.ReadKey();
}
A monitoron ez jelenik meg: x*y művelet eredménye: -22 x/y művelet eredménye: 0,0000 A probléma oka: Két egész szám (int) osztása szintén egész lesz. A helyes megoldás, ha eleve valós típust (float vagy double) választunk az olyan változóknak, amelyeket osztani fogunk.

Helyes megoldás (valós típusokkal):

static void Main(string[] args)
{
    float x = 2, y = -11; 
    string szoveg = " művelet eredménye: ";
    Console.WriteLine("x*y{0}{1}", szoveg, x * y);
    Console.WriteLine("x/y{0}{1:0.0000}", szoveg, x / y);
    Console.ReadKey();
}
Itt már helyesen jelenik meg: x/y művelet eredménye: -0,1818.