sbyte
немесе
byte
типтерімен шатастыр-
мау керек. Char типіндегі айнымалылар 16 бит (бірақ
ол short немесе ushort типтерінен өзгеше) орын
алады.
22
С# тілінде мәліметтер типтерінің элементтерді
сақтау тәсіліне қарай тағы екі категориясы (санаты)
бар:
мәндер
типтері
(value types) және
сілтемелік
типтер
.
Мәндер
типтері
дегеніміз шамаға компи-
лятор бөліп берген компьютер жадындағы биттер
тізбегі.
Сілтемелік
типтер мәліметтердің өздерін емес,
олардың адрестерін сақтайды, мұндағы мән ком-
пьютердің динамикалық жадындағы басқа бір объек-
тіге (үйіндіге – кучаға) сілтеу арқылы жасалады.
Мәндер типтеріне
логикалық
тип,
арифметикалық
тип,
құрылымдар
және
саналатын
(перечисления)
типтер жатады. Сілтемелік типтерге
жиымдар
,
сөз
тіркестері
(жолдар) және
кластар
жатады.
23
Құрылымдар
void типі
Мәліметтер
типтері
Мәндік
типтер
Сілтемелік
типтер
Нұсқауыштар
Құрылымдық
типтер
Саналатын тип
Логикалық тип
Бүтін тип
Нақты тип
Қаржылық тип
Символдық тип
Жиымдар
Тіркестер
Кластар
Интерфейстер
Делегаттар
24
Константа
Форматы
Мысалдар
Бүтін
Ондық: ондық цифрлар тізбесі, нөлден
басталмайды (егер сан 0 болмаса)
8, 0, 199226
8u, 0LU, 199226L
Соңында тип-
ті беретін
U,L,UL,LU,IU
тәрізді жұр-
нақтар болуы
мүмкін
Он алтылық: 0х немесе 0X таңбаларынан
басталатын он алтылық цифрлар
(0,l,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
0xA, 0x1B8, 0X00FF
0xAU, 0x1B8LU,
0X00FFFL
Нақты
Ондық:
[цифрлар].[цифрлар]
1
5.7, .001, 35.
5.7F, .001d, 35m
Соңында тип-
ті беретін
F, D, M тәрізді
жұрнақтар
болуы мүмкін
Экспоненциалдық
[цифрлар][.][ цифрлар]{Е|е}[+|-][ цифрлар]
2
0.2Е6, .11е-3, 5Е10
0.2Е6D, .11е-3m, 5Е10d
Символдық Апостроф таңбасымен қоршалған бір
немесе екі символ
'А', 'ю', '*', 'db', '\0', '\n\',
\012', '\x07\x07'
Тіркестік
Тырнақшаға алынған символдар тіркесі
"
Мұнда Азат болды",
"\t
Нәтижесі:r=\0xF5\n"
4. C# тілінің константалары
25
/* Example2_7.cs константаларды қолдану */
class Example2_7
{ public static void Main()
{
const int Length = 3;
// математикалық константа Пи
const double Pi = 3.14159;
// жарық жылдамдығы метр/секунд
const double SpeedOfLight = 2.99792е8;
Console.WriteLine("Length = " + Length);
Console.WriteLine("Pi = " + Pi);
Console.WriteLine("SpeedOfLight = " +
SpeedOfLight);
}
}
26
Программа нәтижесі
Length = 3
Pi = 3.14159
SpeedOfLight = 299792000
5.
C# тілінің негізгі операциялары
Төменде C# негізгі операциялары олардың
приоритеттері
бойынша берілген. Операндтарының санына қарай олар унарлық,
бинарлық және тернарлық болып бөлінеді.
27
Унарлық (бір орынды) операциялар
Операция
Қысқаша сипаттамасы
++
1-ге арттыру
--
1-ге кеміту
~
разрядтар бойынша терістеу
!
логикалық терістеу
-
арифметикалық терістеу (унарлық минус)
+
унарлық плюс
new
жадыны бөлу
typeof
типті алу
checked
тексерілетін код
unchecked
тексерілмейтін код
(type)х
типті түрлендіру
28
Бинарлық (екі орынды) және тернарлық
(үш орынды) операциялар
Операция
Қысқаша сипаттамасы
/
бөлу
%
бөлгендегі қалдық
+
қосу
-
азайту
<<
солға ығыстыру
>>
оңға ығыстыру
<
аз
<=
аз немесе тең
>
көп
>=
көп немесе тең
is
типке жататындығын тексеру
as
типті келтіру
==
тең
!=
тең емес
&
разрядтар бойынша конъюнкция (ЖӘНЕ)
^
разрядтар бойынша аластайтын НЕМЕСЕ
|
разрядтар бойынша дизъюнкция (НЕМЕСЕ)
29
Бинарлық (екі орынды) және
тернарлық (үш орынды) операциялар
Операция
Қысқаша сипаттамасы
? :
шартты операция (тернарлық)
*=
көбейтіп алып меншіктеу
/=
бөліп алып меншіктеу
%=
бөлгендегі қалдықты тауып меншіктеу
+=
қосып алып меншіктеу
-=
азайтып алып меншіктеу
<<=
солға ығыстырып меншіктеу
>>=
оңға ығыстырып меншіктеу
&=
разрядтар бойынша ЖӘНЕ операциясын
орындап меншіктеу
|=
разрядтар бойынша НЕМЕСЕ операциясын
орындап меншіктеу
^=
разрядтар бойынша арифметикалық НЕМЕСЕ
операциясын орындап меншіктеу
.
тізбекті түрде есептеу
Қалған операциялар жайлы кейін айтылады.
30
// Инкремент (++) және декремент (--) операциялары
using System
namespace Increment1
{ class Class1
{ 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);
}
}
}
31
Программа жұмысы нәтижесі:
Prefix opnek mani: 4
х-ting natigelik mani: 4
Postfix opnek mani: 3
y-ting natigelik mani: 4
32
Көбейту операциясы
int, uint, long, ulong,
float, double, decimal
тәрізді арифметикалық
типтегі операндтарға қолданылады. Егер екі
операнд та бүтін сан болса, бөлінді де бүтін
сан болады.
Бөлу операциясы
да жоғарыдағы арифме-
тикалық типтегі операндтарға қолданылады.
Егер екі операнд та бүтін сан болса, бөлінді де
бүтін сан болады, әйтпесе бөлінді типі тип-
терді түрлендіру ережесіне сәйкес тағайын-
далады.
33
Қалдық табу
(%)
операциясы
әртүрлі типтегі - бүтін,
нақты, қаржылық шамаларға қолданылады. Егер екі
операнд та бүтін сан болса, нәтиже x-(x/y)*y формуласы-
мен анықталады. Егер бір операнд нақты сан болса, нәти-
же x-n*y (n – х-ті у-ке бөлгендегі бүтін сан) формуласы-
мен анықталады. Мысалы:
using System;
namespace ConsoleApplication1
{ class Class1
{ static void Main()
{ int x = 11, у = 4;
float z = 4;
Console.WriteLine( z*y ); // Нәтиже 16
Console.WriteLine( z*1e308 ); // Нәтиже шексіздік
Console.WriteLine( x/y ); // Нәтиже 2
Console.WriteLine( x/z ); // Нәтиже 2.75
Console.WriteLine( x%y ); // Нәтиже 3
Console.WriteLine( 1e-324/1e-324 ); // Нәтиже NAN
}}}
34
Екілік разрядтар бойынша ығыстыру
операциялары
( << және >>
) тек бүтін санды типтегі екілік жүйедегі опер-
андтарға қолданылады. Бұл операцияларды орындау бары-
сында бірінші операндтар биттері екінші операндта көрсетіл-
ген санға сәйкес оңға немесе солға ығыстырылады. Солға
ығыстыру (<<) кезінде босатылған разрядтар нөлмен толты-
рылады. Ал оңға ығыстыру (>>) кезінде бірінші операнд таң-
басыз типте болса, босатылған разрядтар нөлмен толтыры-
лады. Басқаша жағдайда мәлімет ығыстырылады. Бұлар int,
uint, long,ulong типтері үшін анықталған. Мысал:
Достарыңызбен бөлісу: |