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:
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.
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();
}
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();
}
x/y művelet eredménye: -0,1818.