break
byte
|
case
|
catch
|
char
|
checked
|
class
|
const
|
continue
|
decimal
|
default
|
delegate
|
do
|
double
|
else
|
enum
|
event
|
explicit
|
extern
|
false
|
finally
|
fixed
|
float
|
for
|
foreach
|
goto
|
if
|
implicit
|
in
|
int
|
interface
|
internal
|
Is
|
lock
|
long
|
namespace
|
new
|
Null
|
object
|
operator
|
out
|
override
|
params
|
private
|
protected
|
public
|
readonly
|
Ref
|
return
|
sbyte
|
sealed
|
short
|
sizeof
|
stackalloc
|
static
|
string
|
struct
|
switch
|
this
|
throw
|
true
|
try
|
typeof
|
uint
|
ulong
|
unchecked
|
unsafe
|
ushort
|
using
|
virtual
|
void
|
volatile
|
while
|
|
|
|
4.4.Амал белгилари ва ажратувчилар
Амал белгилар операндлар орасида аниқ бир амални бажаришни билдирувчи бир ёки бир нечта белги бўлиши мумкин. Масалан: a += b. Бу ерда a ва b операндлар, += эса амал белгиси.
Амал белгисини билдирувчи белгилар +, &&, |, < лар каби махсус белгилар ёки as ва new каби хизматчи сўзлар ҳам бўлиши мумкин.
Амаллар - унда қатнашувчи операндлар сонига қараб унар(битта), бинар(иккита) ва тернар(учта) турларга бўлинади.
Қуйида С# да қўлланиладиган барча амал белгилари келтирилган.
+ - * / % & | ^ ! ~ =
< > ? ++ -- && || << >>
== != <= >= += -= *= /=
%= &= |= ^= <<= >>= ->
Ажратгичлар дастур элементларини ажратиш ва аксинча гуруҳлаш учун қўлланилади. Улар қуйидагилардир:
{ } [ ] ( ) . , : ;
4.5. Литераллар (константалар)
Литерал ёки константа деб қиймати ўзгармайдиган катталикларга айтилади. C# да стандарт мантиқий, бутун, ҳақиқий, белгили ва матнли қийматга эга катталиклар ҳамда null константаси бор. Дастурчи ўзи эълон қилган константани типи ва қийматини мустақил бериши мумкин.
Константаларнинг берилиши ва уларга мисол қуйидаги 3.5.1-жадвалда келтирилган.
3.5.1-жадвал. C# нинг константалари
|
Константа
|
Тавсифи
|
Мисол
|
Мантиқий
|
true (рост) ёки false (ёлғон)
|
true
false
|
Бутун
|
Ўнлик: сонлар кетма-кетлиги (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), ва уларнинг ортидан қуйидаги суффиксларни қўйиш лозим (U, u, L, l, UL, Ul, uL, ul, LU, Lu, lU, lu)
|
8 0 199226
8u 0Lu 199226L
|
|
Ўн олтилик: 0х ёки 0Х белгилари билан биргаликда ўн олтилик саноқ системасидаги рақамлар (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F), ва уларнинг ортида қуйидаги суффиксларни қўйилади(U, u, L, l, UL, Ul, uL, ul, LU, Lu, lU, lu)
|
0xA 0x1B8 0X00FF
0xAU 0x1B8LU
0X00FFl
|
Ҳақиқий
|
Фиксирловчи нуқта билан қўлланилиувчи рақамлар: ва уларнинг ортидан қўйилувчи қуйидаги суффикслар: F, f, D, d, M, m
Қўлланилиши:
[рақам][.][рақам][суффикс]
|
5.7 .001 35.
5.7F .001d 35.
5F .001f 35m
|
|
Экспонента кўринишидаги тартибда, қўлланилиши: [рақам][.][рақам]{E|e}[+|–][рақам] [суффикс]
Суффикс — қуйидаги белгилардан бири бўлиши мумкин: F, f, D, d, M, m
|
0.2E6 .11e+3 5E-10
0.2E6D .11e–3
5E10
|
Белгили
|
Апостроф ичига ёзилган белги ёки унинг коди
|
'A' 'ю' '*'
'\0' '\n'
'\xF' '\x74'
'\uA81B'
|
Матнли ёки сатрли
|
Қўштирноқ ичига олиб ёзилган белгилар кетма-кетлиги
|
"Здесь был Vasia"
"\tЗначение r = \xF5 \n"
"Здесь был \u0056\u0061"
"C:\\temp\\file1.txt"
@"C:\temp\file1.txt"
|
null
|
Ҳеч қандай объектни кўрсатмайдиган бўш ишорат
|
null
|
Мантиқий литераллар 2 та(true и false) бўлиб, улар дастурда бирор қийматни бор ёки йўқлигини билдирувчи ишора сифатида кенг қўлланилади.
Агар манфий қийматли бутун ёки ҳақиқий литералларни қўллаш лозим бўлса рақам олдидан унар ўзгартириш амали(-) дан фойдаланилади. Масалан: -658u.
Белгили литераллар Unicode кодировкасидаги ихтиёрий белги бўлиши мумкин.
Белгили константалар 4 хил кўринишда бўлиши мумкин:
одатий график кўринишда тақдим этилувчи(апостроф ва қаторни ўтказиш белгисидан ташқари): 'A', 'ю', '*' ;
бошқарувчи калит белгилар(префикслар) билан ифодаланувчи: '\0', '\n' ;
ўн олтилик саноқ системасидаги код кўринишида: '\xF', '\x74' ;
Unicode символининг escape кетма-кетлигидаги коди кўринишида: '\uA81B'.
Белгили литераллар – бошқарувчи калит белгилари кўринишида ёки ўн олтилик саноқ системасидаги кўринишида ёки Unicode символининг escape кетма-кетлигидаги коди кўринишида ифодаланганда уларнинг олдида ‘\’-тескари бўлиш (тескари Slash)белгиси қўйилиши шарт. Бошқарувчи калит белгиларида ‘\’ белгисидан кейин ёзилган ҳарфлар мос равишда махсус вазифаларни бажаради.
Қуйидаги жадвалда бошқарувчи калит белгилари ва уларнинг вазифалари келтирилган.
3.5.2-жадвал. Бошқарув белгилари жадвали
|
Ключ
|
Тавсифи
|
Юникода кодировкаси
|
\’
|
Битталик қўштирноқ, апострофни ифодалайди.
|
0×0027
|
\"
|
Иккиталик қўштирноқни ифодалайди.
|
0×0022
|
\\
|
Тескари slash ни ўзини ифодалайди.
|
0x005C
|
\0
|
Бўш символ.
|
0×0000
|
\a
|
ALERT. Овозли сигнал.
|
0×0007
|
\b
|
Backspace. Битта позиция олдинга ўтиш.
|
0×0008
|
\f
|
FORM FEED. Янги саҳифага ўтиш.
|
0x000C
|
\n
|
Янги қаторга ўтиш
|
0x000A
|
\r
|
Каретка(курсор)ни қайтариш
|
0x000D
|
\t
|
Горизонтал табуляция
|
0×0009
|
\v
|
Вертикал табуляция
|
0x000B
|
Ўн олтилик саноқ системасида ифодаланган белгили литераллар \x префиксидан бошланади ва ундан кейин белгининг коди ёзилади. Префиксдан кейин ёзилувчи белгининг сонли коди 0-215 гача оралиқда бўлиши лозим, акс ҳолда хатолик юзага келади.
Unicode символининг escape кетма-кетлигидаги коди кўринишида ифодаланган белгили литераллар \u ёки \U префиксидан бошланади ва ундан сўнг ўн олтилик саноқ системасидаги код ёзилади. Ёзилувчи ўн олтилик саноқ системасидаги код \U10000 дан \U10FFFF гача диапазонда бўлиши лозим.
Сатрли кўринишдаги литералларни ифодалашда ҳам бошқарув калитли литераллардан фойдаланиш мумкин. Масалан бир неча қатордан иборат жумлани битта литералга жамланган холатини ифодалаш учун уларни \n (қаторларни ажратиш калити) билан қўшиб ёзилади. Масалан:
“Мустақил Ўзбекистон \nҳеч қачон, ҳеч кимга \nқарам бўлмайди!”.
Ушбу литерал аслида қуйидагича кўринишда:
Мустақил Ўзбекистон
ҳеч қачон, ҳеч кимга
қарам бўлмайди!”.
Бошқарувчи калит белгиларини сатрли литералларда ўз вазифасини бажармаслиги яъни уларни ўчириб қўйиш ёки оддий қилиб айтганда улар белги кўринишида қабул қилиниши учун C# да ана шу литерал @ белгиси билан ишлатилиши лозим. Масалан, файлнинг жойлашган жойини ифодалаш учун мана бу икки кўринишда берилган литералларни солиштириб кўрамиз:
"C:\\app\\bin\\debug\\a.exe"
@"C:\app\bin\debug\a.exe"
Кўриниб турибдики иккинчи вариантдаги литерални қўллаш биринчисига нисбатан қулайроқ.
4.6. Изоҳлар
Ҳар бир дастурчи ёзган дастурий кодини орадан бир қанча вақт ўтганда кейин очиб, унда нима иш қилганлигини тушуниб олиши учун бир оз қийналиши табиий хол. Одат мана шундай холатларнинг олдини олиш мақсадида дастурчилар ёзилган кодда изоҳлардан фойдаланадилар.
Изоҳлар – дастурга ёки унинг қисмларига шарҳлар ёзиш учун қўлланилади. Компильятор дастурни компильяция қилганида автоматик тарзда изоҳларни дастур кодидан чиқариб ташлаб кейин компиляцияни амалга оширади. C# да икки хил кўринишдаги изоҳлар қўлланилади: бир сатрли ва кўп сатрли.
Бир сатрли изоҳлар иккита слеш(//) белгисини қўйиб кейин ёзилади ва янги қаторга ўтилмагунга қадар // дан кейин ёзилган барча белги изоҳ сифатида қабул қилинади.
Кўп сатрли изоҳ - /* белгиларидан бошланиб, тугашида */ белгилари билан беркитилади. /* ва */ белгилари орасига бир ёки бир неча қатор изоҳ ёзиш мумкин.
5-маъруза(2-соат)
Типлар (нусхалар). С# тилининг типлари тизими.
1. С# тилининг типлари тизими
2. Қийматлар билан характерланган типлар.
3. Мурожаат этиш типлари.
5.1. С# тилининг типлари тизими
Маълумотларнинг типлари
Дастур ишлаш жараёнида қайта ишланаётган ёки дастурда фойдаланилаётган маълумотлар оператив хотирада жойлашади. Компильятор ушбу маълумотларнинг оператив хотирадан қанча жой эгаллаши, қандай кодланиши ва улар устида қандай амаллар бажариш мумкинлигини аниқ билиши лозим. Буларнинг барчаси маълумотларни типлар ёрдамида аниқлаштириб олиш орқали амалга оширилади.
Маълумотларнинг типлари – маълумотни тақдим этилиши, унинг қабул қилиши мумкин бўлган қийматлар тўплами билан харатерланади.
Дастур бажарилиши жараёнида маълумотлар сақланувчи хотира 2 га бўлинади: стек(stack) ва динамик област(heap, куча ҳам деб аталади). Стекда компильятор томонидан ажаратилиб, унда маълумот сақланувчи динамик хотира адреси сақланади. Маълумотлар аса асосан динамик хотирада сақланади. Вақти-вақти билан ушбу хотира дастур бажарилиши жараёнида махсус буйруқ билан тозалаб турилади.
Типларнинг синфификацияси
Типлар уларнинг турли белгиларига кўра синфификацияланади. Тип яратилишига кўра оддий ва структурали турларга, уни яратувчига кўра стандарт ва дастурчи томонидан аниқланган турларга бўлинади. Маълумотларни сақлаш имкониятига кўра типлар: ўлчамли(қийматли) ва ишоратли турларга бўлинади.
Ўлчамли типлар – биз аввалдан фойдаланиб келганимиз стандарт типлардир. Ишоратли типлар эса – объектлардир. С# да ўлчамли типлардан ишоратли типлар сифатида фойдаланиш ҳам мумкин. Яъни улар ўз навбатида объект сифатида ҳам ишлатилади. Бунинг учун System кутубхонасини проектга боғлаб олиш лозим.
Do'stlaringiz bilan baham: |