C# - da cəbri operatorlar aşağıdakılardır:
+ Toplama
\ Bölmə
% Modul (qalıq)
Bu operatorlar riyaziyyatda hansı əməliyyatı yerinə yetirirsə, C# -da da eyni əməliyyatı yerinə yetirir. Amma C# tip sisteminə dayalı bir dil olduğu üçün, bu operatorların təbiqinin nəticəsi, operandların tipinin nə olmasından asılı olaraq dəyişir. Məsələn
int a = 10 / 3;
sətrinə baxaq. Normalda 10 / 3 sonsuz dövru onluq kəsrdir və onun nəticəsi 3.3333... olur. Amma 10 / 3 –dən alınan nəticəni bir tam dəyişəmə mənimsətdiyimizə fikir verin. Bir tam dəyişən özündə kəsr ədədlər saxlayan bilmədiyi üçün burada 10 / 3 = 3 olacaq. Yəni nəticənin tam hissəsi qalacaq. Bir ədədin digərinə bölünməsinə alınan qalığı % operatorunun vasitəsi ilə əldə oluna bilər. Məsələn 10 % 3 = 1 edir.
Aşağıdakı proqrama baxaq:
using System; class Soft
{
public static void Main()
{
int a = 10 / 3; float b = 10 / 3f; int c = 45 % 6;
double d = 10 / 3d; Console.WriteLine("Int: 10 / 3 = " + a); Console.WriteLine("float: 10 / 3 = " + b);
Console.WriteLine("45 - in 6-a bolunmesinden alinan qaliq: " + c); Console.WriteLine("double: 10 / 3 = " + d);
Console.ReadKey();
}
}
Burada b və d dəyişənlərinə eyni əməliyyatın nətcəsi mənimsədildi, bu tiplər kəsr tiplərdir. ―Verilənlər tipləri‖ mövzusunda qeyd olunduğu kimi bu tiplər bir-birlərindən verguldən sonrakı dəqiqliyə görə fərqlənir.
İndi isə daxil edilən ədədin daxil edilən faizini tapan proqram yazaq, məlumdur ki, bir ədədin x faizi, onun x/100 hissəsinə bərabərdir:
using System; class Soft
{
public static void Main()
{
Console.Write("Bir heqiqi eded daxil edin: ");
float eded = Convert.ToSingle(Console.ReadLine()); //(1) Console.Write("Faiz hisseni daxil edin: ");
int faiz = Convert.ToInt32(Console.ReadLine()); float netice = (eded * faiz) / 100;
Console.WriteLine(eded + " ededinin " + faiz + " faizi: " + netice); Console.ReadKey();
}
}
Bu proqramın nəticəsi aşağıdakı kimi our:
Bu proqramda çətin bir şey yoxdur, hər şey aydındır. Ola bilsin ki, (1) sətri sizə qəribə gəlsin. ―Tip çevrilmələri‖ mövzusunu yadınıza salın. Klaviaturadan daxi ediləni bir ədəd kimi əldə etmək üçün əvvəlcə onu hansısa bir ədəd tipinə çevirməli idik. Bizim eded dəyişəni float tipdə olduğu üçün klaviaturanı float- a çevirdik. ―Bəs float- a çevirdiksə, Convert.ToSingle() niyə yazdıq?‖ sualını verə bilərsiniz. Əslində, int, float, byte və s. bunların hamısı C# - ın açar sözləridir, yəni .NET Framework baza sinif kitabxanasına daxil olan struktların C#- dakı ləqəbidir. Odur ki, C# -dakı float, .NET Framework – da Single struktuna uyğundur, o cümlədən C# - ın int tipi, .NET Framework – da Int32 struktuna uyğundur.
Dostları ilə paylaş: |