Главная страница

1-3 декция. Лекция C тіліні операциялары, операторлары Сратар C тіліні негізгі операциялары 1 Бірге арттыру немесе кеміту Арифметикалы амалдар


Скачать 288.62 Kb.
НазваниеЛекция C тіліні операциялары, операторлары Сратар C тіліні негізгі операциялары 1 Бірге арттыру немесе кеміту Арифметикалы амалдар
Дата18.10.2022
Размер288.62 Kb.
Формат файлаpptx
Имя файла1-3 декция.pptx
ТипЛекция
#740620

1 -лекция

C++ тілінің

операциялары,

операторлары

Сұрақтар:

1. C++ тілінің негізгі операциялары

1.1 Бірге арттыру немесе кеміту

2. Арифметикалық амалдар

3. Екілік разрядтар бойынша операциялар

4. Қатынас операциялары

5. Логикалықоператор

6. Таңдауоператорлары

7. Қабаттасқан шартты операторлар

8. Шарттыоперация

9. Switch ауыстырғыш операторы


1. C# тілінің негізгі операциялары Төменде C# негізгі операциялары олардың приоритеттері бойынша берілген. Операндтарының санына қарай олар унарлық, бинарлық және тернарлық болып бөлінеді.

Унарлық (бір орынды) операциялар

Операция

Қысқаша сипаттамасы

++

1-ге арттыру

--

1-ге кеміту



разрядтар бойынша терістеу

!

логикалық терістеу

-

арифметикалық терістеу (унарлық минус)

+

унарлық плюс

new

Компьютер жадын бөлу

typeof

типті анықтау, алу

(type)х

типті түрлендіру

Бинарлық (екі орынды) операциялар

Операция

Қысқаша сипаттамасы

/

бөлу

%

бөлгендегі қалдық

+

қосу

-

азайту

<<

солға ығыстыру

>>

оңға ығыстыру

<

аз

<=

аз немесе тең

>

көп

>=

көп немесе тең

==

тең

!=

тең емес

*=

көбейтіп алып меншіктеу

/=

бөліп алып меншіктеу

%=

бөлгендегі қалдықты тауып меншіктеу

+=

қосып алып меншіктеу

-=

азайтып алып меншіктеу

1.1 Бірге арттыру немесе кеміту (инкремент және декремент) операциялары

++ және – – түрінде жазылады. Бұлар кез келген операндтың мәндерін бірге арттыруға немесе кемітуге мүмкіндік береді.
  • Инкремент, яғни арттыру операциясы (++) және декремент (––), кеміту операциясы айнымалы мәнін бірге арттырады немесе кемітеді. Олар айнымалы мәнін өзгертеді, яғни жасырын түрдегі меншіктеу амалы болып табылады. Көбінесе олар жеке оператор түрінде жазылады:

  • i++; немесе ++i;

    Бұл екеуі де мынадай амалмен бірдей болып саналады

    i = i + 1;
  • Бұл екеуі өрнектерде жиі қолданады. Мысалы:

  • sum = sum + х * --i;
  • Инкремент пен декремент екі формада жазылады: префикстік және постфикстік. Постфикстік арттыру былай жазылады: х++ , ал префикстік арттыру былай жазылады: ++х . Префикстік амалдар негізгі операция алдында, ал постфикстік амалдар негізгі амалдан кейін орындалады.
  • Постфикстік формада х айнымалысының мәні оны қолданғаннан кейін өзгереді, ал префикстік формада – айнымалы мәні оны қолданғанға дейін өзгереді, яғни бір деген санға артады. Мысалы:

  • k=10;

    x=k++; // алдымен x=10, артынан k=11

    x=++k; // алдымен k=12, артынан x=12
  • Арттыру/кеміту операцияларын өрнек ішінде де орындау мүмкіндігі бар. Мысалы:

  • s = a+b++; // 1)s=a+b 2)b=b+1

    s = a+ ++b; // 1)b=b+1 2)s=a+b

    s = a++ + +b; // 1)s=a+b 2)a=a+1

    t = --a + b--; // 1)a=a-1 2)t=a+b 3) b=b-1

    t = a-- - b--; // 1)t=a-b 2)a=a-1 3) b=b-1
  • Арттыру/кеміту операцияларының приоритеттері (басымдылықтары) өте жоғары, тек жақша ішіндегі операциялардың приоритеті олардан жоғарылау болады.

// Инкремент (++) және декремент (--) операциялары

using System;

namespace Increment1

{ class Program

{ static void Main()

{ int x = 3, y = 3;

Console.Write("Prefix opnek mani: ");

Console.WriteLine( ++x);

Console.Write(" х-ting natigelik mani: ");

Console.WriteLine( x);

Console.Write("Postfix opnek mani: ");

Console.WriteLine( y++);

Console.Write(" y-ting natigelik mani: ");

Console.WriteLine( y);

}

}

}

Программа жұмысы нәтижесі:

Prefix opnek mani: 4

х-ting natigelik mani: 4

Postfix opnek mani: 3

y-ting natigelik mani: 4

2. Арифметикалық амалдар

Көбейту операциясы int, uint, long, ulong, float, double, decimal тәрізді арифметикалық типтегі операндтарға қолданылады.

Бөлу операциясы да жоғарыдағы арифме-тикалық типтегі операндтарға қолданылады. Егер екі операнд та бүтін сан болса, бөлінді де бүтін сан болады, әйтпесе бөлінді типі типтерді түрлендіру ережесіне сәйкес тағайындалады.

int a=1, b=6, c=3, d;

d = ++a- --b + c++ -2; // a=a+1=2, b=b-1=5

// d=2-5+3-2=-2, c=c+1=4

Қалдық табу (%) операциясы көбінесе бүтін типтегі шамаларға қолданылады. Егер екі операнд та бүтін сан болса, нәтиже x-(x/y)*y формуласымен анықталады. Егер бір операнд нақты сан болса, нәтиже x-n*y (n – х-ті у-ке бөлгендегі бүтін сан) формуласымен анықталады. Мысалы:

using System;

namespace ConsoleApplication1

{ class Program

{ static void Main()

{ int x = 11, y = 4;

float z = 4;

Console.WriteLine(x % y); // Нәтиже 3

Console.WriteLine(y % x); // Нәтиже 4

Console.WriteLine(z * y); // Нәтиже 16

Console.WriteLine(x / y); // Нәтиже 2

Console.WriteLine(x / z); // Нәтиже 2,75

Console.WriteLine(1e-324 / 1e-324); // Нәтиже NAN

}}} // Not A Number

Программа жұмысының нәтижесі:

3.Екілік разрядтар бойынша орындалатын операциялар ( &, | , ^ ) тек бүтін санды типтегі екілік жүйедегі операндтар-ға қолданылады. Бұл операцияларды орындау барысында оп-ерандтар биттер бойынша қарастырылады (бірінші операнд-тың бірінші биті екінші операндтың бірінші битімен, бірінші операндтың екінші биті екінші операндтың екінші битімен, т.с.с. салыстырылады). Бұлар int, uint, long,ulong типтері үшін анықталған.

Разрядтық конъюнкцияда немесе разрядтық ЖӘНЕ (операция & болып белгіленеді) операциясында логикалық көбейту амалы орындалады да, тек екі операндтың да сәйкес орындардағы разрядтары 1-ге тең болған жағдайда нәтижелік бит 1-ге тең болады.

1-операнд 1 0 1 0 0 1 1

2-операнд 1 1 0 1 0 1

Нәтиже 0 0 1 0 0 0 1

1-операнд 0 0 1 1

2-операнд 0 1 0 1

Нәтиже 0 0 0 1

Разрядтық дизъюнкцияда немесе разрядтық НЕМЕСЕ (операция | болып белгіленеді) операциясында логикалық қосу амалы орындалады да, екі операндтың тек біреуінің немесе екеуінің де сәйкес орындардағы разрядтары 1-ге тең болған жағдайда нәтижелік бит 1-ге тең болады.

Разрядтар бойынша аластайтын НЕМЕСЕ (операция ^ болып белгіленеді) операциясында екі операндтың тек біреуінің ғана сәйкес орындарындағы разряды 1-ге тең болған жағдайда нәтижелік бит 1-ге тең болады.

1-операнд 1 0 1 0 0 1 1

2-операнд 1 1 0 1 0 1

Нәтиже 1 1 1 0 1 1 1

1-операнд 0 0 1 1

2-операнд 0 1 0 1

Нәтиже 0 1 1 1

1-операнд 1 0 1 0 0 1 1

2-операнд 1 1 0 1 0 1

Нәтиже 1 1 0 0 1 1 0

1-операнд 0 0 1 1

2-операнд 0 1 0 1

Нәтиже 0 1 1 0

Мысал:

using System;

namespace ConsoleApplication3

{ class Program

{ static void Main()

{ Console.WriteLine( 6 & 5 ); // Нәтиже 4

Console.WriteLine( 6 | 5 ); // Нәтиже 7

Console.WriteLine( 6 ^ 5 ); // Нәтиже 3

}

}

}

Программа нәтижесі:

6 & 5 = 4

6 | 5 = 7

6 ^ 5 = 3

1 1 0

1 0 1

1 1 1

1-операнд 1 1 0

2-операнд 1 0 1

Нәтиже 1 0 0

1 1 0

1 0 1

0 1 1

Операция: & | ^

Қатынас операциялары (<, <=, >, >=,==,!=) бірін-ші операндты екінші операндпен салыстырады. Операндтар арифметикалық типтерде болуы тиіс. Операция нәтижесі – true немесе false. Мысалы:

x = = y болғанда, x пен у тең болса, нәтиже true

x != y болғанда, x пен у тең болмаса, нәтиже true

x < y болғанда, x у-тен кіші болса, нәтиже true

x > y болғанда, x у-тен үлкен болса, нәтиже true

x <= y болғанда, x у-тен кіші не тең болса, true

x >= y болғанда, x у-тен үлкен не тең болса, true

4. Қатынас операциялары

5.Логикалықоператор
  • Қатынас операциялары екі мәнді салыстыру үшін қолданылады: ==,!=,<,<=,>,>=
  • Егер қарастырылатын қатынас нәтижесі ақиқат болса, шарттық өрнектің мәні 1-ге тең болып саналады. Егер ол жалған болса, шарттық өрнек мәні 0-ге тең.
  • Қатынас операциясының приоритеті арифмети-калық операцияларға қарағанда, төмен және меншіктеу операторымен салыстырғанда жоғары болады.
  • Екі немесе бірнеше шарттық өрнектерді біріктіру үшін логикалық оператор қажет.
  • C# тілінде келесі логикалық операторлар бар   

  • 1) және (&&) операциясы f1 && f2

    2) немесе (or) операциясы f1   f2

    3) терістеу (not) операциясы !f1
  • Терістеу (емес, қарсы) операциясының приоритеті өте жоғары, одан тек жақша ішіндегі мәндердің приоритеті жоғарылау болады.
  • && операциясының приоритеті || (or) операция-сымен салыстырғанда жоғары, ал осы екеуінің приоритеттері қатынас операцияларымен салыс-тырғанда төмен, меншіктеу операциясынан жоғары болады.

6. Таңдауоператорлары

Таңдау операторлары – бұлар шартты оператор және ауыстырғыш (переключатель) оператор.

1. Шартты оператордың толық және қысқа түрі бар.

if (шарт-өрнек) оператор; //қысқа түрі

Шарт-өрнек ретінде арифметикалық өрнек, қатынас немесе логикалық өрнек жазылады. Егер шартты өрнек мәні ақиқат (true) болса, онда оператор атқарылады. Мысалы:

if (x

if (шарт-өрнек) 1-оператор; //толық түрі

else 2-оператор;

Бұл оператор бір әрекетті айналып өтеді

if (шарт) оператор;

Мысалы:

if (x>0) y=2*sqrt(x*x+1);

Қысқаша түрдегі тармақталу операторы

.

оператор

жоқ

иә

шарт?

Толық тармақталу операторы

жоқ

иә

шарт?

1-оператор

2-оператор

Екі мүмкіндіктің бірі таңдалады:

if (шарт) 1-оператор;

else 2-оператор;

Мысалы:

if (x>0) y=2*Math.Sqrt(x*x+x);

else y=Math.Exp(x-1);

немесе

if (x<=0) else y=Math.Exp(x-1);

else y=2*Math.Sqrt(x*x+x);

 
  • Егер шартты өрнек мәні ақиқат болса, онда 1-оператор атқарылады, әйтпесе 2-оператор орындалады. Мысалы:

  • . . .

    d=b*b-a*c;

    if (d>=0)

    { x1=(-b-Math.Sqrt(d))/(2*a);

    x2=(-b+ Math.Sqrt(d))/(2*a);

    Console.WriteLine("x1=" + x1);

    Console.WriteLine("x2=" + x2);

    }

    else

    Console.WriteLine("Sheshui zhoq");

жоқ

иә

жоқ

иә

басы

а,b,c енгізу

a>b?

max = a

max = b

max шығару

соңы

c >max?

max = c

1. Нақты a,b,с сандары берілген. Со­лар­дың үлкенін анықтайтын есептің алгоритм схемасы мен программасын құру керек. Есеп­ті шығару алгоритмі 1.1-суретте көрсе­тілген.

Программа коды:

static void Main()

{ float a,b,c,max;

Console.Write("Enter a, b, c: ");

a=float.Parse(Console.ReadLine());

b=float.Parse(Console.ReadLine());

c=float.Parse(Console.ReadLine());

if(a>b) max=a;

else max=b;

if(c>max) max=c;

Console.WriteLine("max=" + max);

Console.ReadKey();

}

1.1 сурет. 3 санның үлкенін табу алгоритмі

2. Нақты x саны берілген. Соның мәніне байланысты керекті у өрнегін есептеп шығару керек.

Есеп­ті шығару алгоритмі 1.2-суретте көрсе­тілген, программа коды:

static void Main()

{double x,y;

const double p=3.14159;

Console.Write("Enter x: ");

x=double.Parse(Console.ReadLine());

if(x>1) { y=x*x-p*Math.Sin(x); }

else if(0
else { y=0; }

Console.WriteLine("x={0,5:f2} y={1,7:f2}",x,y);

}

-

-

+

+

y=0

у=x2 - p sinx

x, y

соңы

x енгізу

x > 1

у=x2 + x

0 < x  1

басы

p = 3,14159

1.5-сурет. Үш тармақ арқылы у-ті табу алгоритмі

7. Қабаттасқан шартты операторлар

if және else конструкциялары қабаттасып та қолданыла береді:

if (a == 5)

{



}

else if (a < 5)

{



}

else

{



}

if операторын қабаттастыра отырып, күрделі өрнек мәндерін анықтайтын жағдайлар да жиі кездесіп отырады, мысалы:

if (с == 1) kun="duisenbi";

else if (с == 2) kun = "seisenbi";

else if (с == 3) kun = "sarsenbi";

else if (с == 4) kun = "beisenbi";

else if (с == 5) kun = "juma";

else if (с == 6) kun = "senbi";

else if (с == 7) kun = "jeksenbi";

else Console.Write("qate, 1…7 engizu kerek");

жоқ

 

иә

 

иә

 

жоқ

 

жоқ

 

иә

 

ball ≥50

 

 

baga ='B'

 

baga ='C'

 

 

ball ≥ 75

 

 

baga ='A'

 

 

ball ≥ 90

 

baga ='F'

 

Қабаттасқан тармақты алгоритмнің бейнеленуі

 

Мұның программасы:



if (ball >= 90) baga='A';

else

if (ball >= 75) baga='B';

else

if (ball >= 50) baga='C';

else baga='F';

Console.Writeline("baga="+baga);

Мұндай кездерде компи-лятор else түйінді сөзін оның алдындағы ең соңғы if операторымен байланыстырады. Сондықтан else түйінді сөзін соған сәйкес if сөзімен бір деңгейде жазған ыңғайлы болады.

Адамның жасына қарап, кім екенін анықтау.

static void Main()

{ int age; string c;

Console.Write("Jasyn engiz: ");

age = int.Parse(Console.ReadLine());

if ((age > 0) && (age < 7)) c = "jas bala";

else if ((age >= 7) && (age < 17)) c = "oqushy";

else if ((age >= 17) && (age < 22)) c = "student";

else if ((age >= 22) && (age < 27)) c = "maman";

else if ((age >= 27) && (age < 37)) c = "myqty maman";

else if ((age >= 37) && (age < 65)) c = "professor";

else c= "zeinetker";

Console.Write(" Bul adam: " + c);

ConsoleReadKey();

}

8. Шарттыоперация

Шартты операция ( ? : ) – тернарлық операция үш операндтан тұрады. Форматы:

1_операнд ? 2_операнд : 3_операнд

Бұл if операторының қысқаша жазылуы тәрізді орындалады.

Бұл операция үш орынды болып табылады.

Егер оның шарты (бірінші операнды) ақиқат болса, өрнек мәні екінші операндқа тең; егер жалған болса, онда — үшіншіге тең. Мысалы:

max_ab = a > b? a : b;

abs_x = x < 0? –x : x;

Мысалы:

using system;

namespace Ternar1

{ class Program

{ static void Main()

{ int a = 11, b = 4;

int max = b > a ? b : a;

Console.WriteLine( max ); // Нәтиже 11

}

}

}

9.Switchауыстырғышоператоры
  • switch ауыстырғыш операторы программада кезде-сетін бірнеше (екіден артық) нұсқаның бірін таңдап алу керек болған жағдайда қолданылады.
  • Оператордың құрылымдық схемасын төмендегідей түрде беруге болады.

case 2

case 1

өрнек

1 операторлар

2 операторлар

case n

n операторлар

default

операторлар

switch

Оператордың орындалу схемасы былай да беріледі:

1-белгі:

<операторлар>;

break;

Өрнек?

2-белгі:

<операторлар>;

break;

3-белгі:

<операторлар>;

break;

n-белгі:

<операторлар>;

break;

switch

case

сase

case

case
  • Оператордың жалпы жазылуы:

  • switch <бүтін типті өрнек>;

    { case 1-белгі: операторлар; break;

    case 2-белгі: операторлар; break;

    ................

    case n-белгі: операторлар; break;

    [default: операторлар; break;]

    }

Қарапайым 4 амалды орындайтын калькулятор жұмысын атқаратын программа:

using System;

namespace Calc1

{ class Program

{ static void Main( )

{ double a, b, res;

Console.BackgroundColor = ConsoleColor.Blue;

Console.ForegroundColor = ConsoleColor.White;

Console.WriteLine (" 1-operandty engiz : ");

a = double.Parse(Console.ReadLine( ) );

Console.WriteLine( " Operacia tangbasin engiz : " );

char op = (char)Console.Read();

Console.ReadLine();

Console.WriteLine( " 2-operandty engiz :" );

b = double.Parse(Console.ReadLine() );

bool ok = true;

switch (op)

{ case '+': res = a + b; break;

case '-': res = a - b; break;

case '*': res = a * b; break;

case '/': res = a / b; break;

default: ok = false; break;

}

if (ok) Console.WriteLine(" Natigesi : " + res);

else Console.WriteLine(" Belgisiz amal ");

Console.ReadKey();

}

}

// Пәннен алынған бағаны бейнелеу

using System;

namespace Baga1

{ class Program

{ static void Main( )

{ Console.WriteLine ("Qandai baga aldyn? ");

int k = Int32.Parse (Console.ReadLine());

switch (k)

{ case 1:

case 2: Console.WriteLine("Nashar"); break;

case 3: Console.WriteLine("Ortasha"); break;

case 4: Console.WriteLine("Jaksy"); break;

case 5: Console.WriteLine("Ote jaksy"); break;

default: Console.WriteLine("Qate, 1..5 engizu kerek.");

break;

} Console.ReadKey();

}

}

}

Switch операторын басқаруда симолдарды пайдалану

// Басқару үшін char типіндегі элементті қолдану.

using System;

class SwitchDemo2 {

static void Main() {

char ch;

for(ch='A'; ch<= 'E'; ch++)

switch (ch) {

case 'A': Console.WriteLine("ch = 'A' "); break;

case 'B': Console.WriteLine("ch = 'B' "); break;

case 'C': Console.WriteLine("ch = 'С' "); break;

case 'D': Console.WriteLine("ch = 'D' "); break;

case 'E': Console.WriteLine("ch = 'E' "); break;

}

}

}

Мұнда default тармағы жоқ, оны жазу міндетті емес. Ол қажет болмаса, жазбауға болады.

Қазақша жыл санау мысалы:

using System;

namespace Tyshkan

{

class Program

{

static void Main()

{

int gyl;

Console.Write(" Zhyl engiz : ");

gyl = int.Parse(Console.ReadLine());

switch (gyl % 12)

{ case 0: Console.Write(" Meshin "); break;

case 1: Console.Write(" Tauyk "); break;

case 2: Console.Write(" It "); break;

case 3: Console.Write(" Dongyz "); break;

case 4: Console.Write(" Tyshkan "); break;

case 5: Console.Write(" Siyr "); break;

case 6: Console.Write(" Barys "); break;

case 7: Console.Write(" Qoian "); break;

case 8: Console.Write(" Ulu "); break;

case 9: Console.Write(" Zhylan "); break;

case 10: Console.Write(" Zhylky "); break;

case 11: Console.Write(" Qoi "); break;

default: Console.Write(" Butin natural san engizu kerek "); break;

} Console.ReadLine();

} } }

Программа нәтижесі:

Экрандағы символдар мен фон түсін өзгерту

class Program // Экрандағы символдар мен фон түсін өзгерту

{ static void Main()

{

// 1. Type "Console" and press "."

// 2. Select "BackgroundColor".

// 3. Press space and "=", then press tab.

Console.BackgroundColor = ConsoleColor.Blue;

Console.ForegroundColor = ConsoleColor.White;

Console.WriteLine("White on blue.");

Console.WriteLine("Another line."); // <-- This line is still

// white on blue.

}

}

Келесі мысал Math класының бірнеше тригонометриялық функциялары мәндерін 0,0 – 1,0 радиан арасында double типі арқылы есептейді.

using System; // тригонометриялық функциялар мәндері

class Trigonometry

{ static void Main()

{ double t; // радианмен берілген бұрыш

for (t = 0; t <= 1.0; t = t + 0.2)

{ Console.WriteLine("{0,4:f1} радиан синусы = {1,7:f3}",

t, Math.Sin(t));

Console.WriteLine("{0,4:f1} радиан косинусы = {1,5:f3}",

t,Math.Cos(t));

Console.WriteLine("{0,4:f1} радиан тангенсi {1,7:f3}",

t,Math.Tan(t));

Console.WriteLine();

} Console.ReadKey();

}

}

0,0 радиан синусы = 0,000

0,0 радиан косинусы = 1,000

0,0 радиан тангенсі = 0,000

0.2 радиан синусы = 0.199

0.2 радиан косинусы = 0.980

0.2 радиан тангенсі = 0.203



Келесі мысал тригонометриялық функциялар мәндерін 0 – 180 градус арасында double типі арқылы есептейді.

using System; // тригонометриялық функциялар мәндері

class Trigonometry

{ static void Main()

{ double pi = Math.PI; // pi=180 градус

double g, t; // g - градуспен берілген бұрыш

for (t = 0; t <= pi; t = t + pi/6) // pi - 180 гр., pi/6 - 30 гр.

{ g = 180*t/pi; // g - радианды градусқа айналдыру

Console.WriteLine("{0,4} градус синусы = {1,7:f3}",

g, Math.Sin(t));

Console.WriteLine("{0,4} градус косинусы = {1,5:f3}",

g, Math.Cos(t));

Console.WriteLine("{0,4} градус тангенсi {1,7:f3}",

g, Math.Tan(t));

Console.WriteLine();

}

Console.ReadKey();

}

}

0 градус синусы = 0,000

0 градус синусы = 1,000

0 градус синусы = 0,000

30 градус синусы = 0,500

30 градус синусы = 0,866

30 градус синусы = 0,577



/* Программада константаларды қолдану */

using System;

namespace Example2_7

{ class Program

{ public static void Main()

{ const int Length = 3;

// математикалық константа Пи

const double Pi = 3.14159;

// жарық жылдамдығы метр/секунд

const double SpeedOfLight = 2.99792e8;

Console.WriteLine("Length = " + Length);

Console.WriteLine("Pi = " + Pi);

Console.WriteLine("SpeedOfLight = " + SpeedOfLight);

}

}

}

Программа нәтижесі

Length = 3

Pi = 3,14159

SpeedOfLight = 299792000

Мәліметтердің ондық типі

C# тілінде қаржылық есептеулерге арналған ерекше decimal (128 бит) типінің дәлдігі сандарды 28-29 ондық разрядтарға дейін бейнелейді. Мұнда қаржы саласындағы сандар дөңгелек-телмей дәл көрсетіледі.

Келесі мысалда decimal типі қаржы саласындағы баға мен оның бекітілген жеңілдігін (скидка) пайызбен есептеуде қолда-нылады.

using System; // decimal типін пайдалану

class UseDecimal {

static void Main() {

decimal price, discount, discounted_price;

price = 19.95m; // бағаны жеңілдікпен есептеу

discount = 0.15m; // жеңілдік нормасы 15%

discounted_price = price - ( price * discount);

Console.WriteLine("Цена со скидкой: $" + discounted_price);

}

}

Жоғарыдағы мысалда decimal типіндегі константа мәні m жалғауымен (суффиксімен) көрсетілген. Егер ол m жалғауынсыз көрсетілсе, стандартты жылжымалы нүктелі константаға айналып, ол мәліметтердің decimal типімен үйлеспейтін болады.

Дегенмен decimal типті айнымалыға m жалғауынсыз бүтін санды, мысалы 10 санын меншіктеуге болады.


написать администратору сайта