Наќты сандар float жєне double типтері жєрдемінде аныќтауымыз м‰мкін. Соњѓысы жадта кµп кµлем иелейді жєне наќты сандарды бейнелегенде ќолайлы. Мысалы жадта float типті наќты сан 4 байт кµлем иелесе, double 8 байт кµлем иелейді. Мысалы:
float interestRate = 0.06;
double pi = 3.141592654;
Литерал наќты сандар (мысалы 0.06) double типті наќты сан т‰сініледі. Егер наќты сан соњына f немесе F ж±рнаѓы жалѓанса, наќты сан float типті наќты санѓа айналады, егер l немесе L ж±рнаѓы ќолданылатын болса, онда наќты сан long float типті наќты санѓа айналады. Екінші типті наќты санныњ ќолданылуы С++ программалау тілінде ыњѓайлы болуы ‰шін double типті наќты санѓа ќараѓанда жадта кµп кµлем иелейді. Мысалы:
0.06F 0.06f 3.141592654L 3.141592654l
Ондыќ санау ж‰йесіне ќосымша ретінде литерал наќты сандарды экпонентал кµріністе жазумыз м‰мкін. Мысалы 0.002164 саны эскпонентал кµріністе 2.164E-3 немесе 2.164e-3 жазылады, E ( немесе е) –экпонентал екендігін білдіреді. Экспонентал тµмендегідей наќты санѓа тењ: 2.164E-3 = 2.164 х 10-3
3.Символдар
Символды айнымалылар char типіне кіреді. Символды айнымалылар сол айнымалы кодына тењ бір байт кµлем иелейді. Кодтар б±л символды кодтар ж‰йесіне тиісті номерлі мєндер. Кµп жаѓдайда ќолданылатын ж‰йе б±л ASCII (American Standard Code for Information Interchange) мысалы А символы ASCII кодта 65 кодына, а символы ASCII кодта 97 кодына тењ 4.
char ch = 'A';
б‰тін айнымалылар сияќты, символды айнымалылар тањбалы немесе тањбасызѓа бµлінеді. Кµп жаѓдайда char белгісі singed char білдіреді. Кей ж‰йелерде unsigned char білдіреді. Тањбалы символды айнымалылар (singed char) –128 бен 127 аралыѓындаѓы цифра мєндерін ќамтиды. Тањбасыз символды айнымалылар (unsigned char) 0 мен 225 аралыѓындаѓы цифралы мєндерімен сєйкес келеді.
Литерал символдар деп екі жоѓары ‰тір ( ) аралыѓына жазылатын символдарѓа айтылады ( ‘A’ ). Баспаѓа шыќпайтын символдар (\) кейін жазылады. мысалы:
'\n' // жања ќатар
'\r' // арќаѓа ќайту
'\t' // горизонтал табулация
'\v' // вертикал табулация
'\b' // µшіру
'\f' //
Литерал символдар цифралы код мєнін де шыѓарады. Мысалы: (ASCII негізделген)
'\12' // жања ќатар (ондыќ коды = 10)
'\11' // горизонтал табулация (ондыќ коды = 9)
'\101' // 'A' (ондыќ коды = 65)
'\0' // null (ондыќ коды = 0)
Лекция 5.
Тақырыбы: Қатарлық тип. Атаулар. Жады.
(1 сағат)
-
Ќатарлыќ тип.
-
Атаулар
-
Жады
Пайдаланылатын әдебиеттер:
а) негізгі
1. К.Паппас, У.Мюррей “Программирование на С и С++”, Киев, 2000
2. А.Кетков, Ю.Кетков “Практика программирования Бейсик,
Си, Паскаль”, М.: 2001
б) қосымша
3. Шилдт Г. “Теория и практика С++”, Санкт-Петербург, 1996
4. Березин Б.И., Березин С.Б. “Начальный курс С и С++”, М.:1999
Ќатарлыќ типтер символдар тізбегіне айтылады. Ќатарлыќ типтер char* (символ кµрсеткіші) типінде аныќталады. Кµрсеткіш жадтаѓы орналасќан адресін білдіреді. Ќатарлыќ типті айнымалылар ќатарлыќ типтегі бірінші т±рѓан символ адресіне байланысты болады. Мысалы:
char *str = "HELLO";
ќатарлы тип пен ќатарлы тип айнымалылардыњ жадта орналасуы кµрсетілген.
Литерал ќатарлы типтер ќос жоѓары ‰тірлер аралыѓына жазылады. Компилятор єрќашан литерал ќатарлы типтердіњ соњын білдіретін символ белгілеуі керек. ќатарлы типтіњ кез-келген символын ажратып жазу м‰мкін.
"Name\tAddress\tTelephone" // табулациямен ажратылѓан сµз
"ASCII character 65: \101" // 'A' арналады '101'
Бір ќатарѓа симайтын ±зын ќатарлы типтер (\) символы жєрдемінде ажратылып жазылуы м‰мкін. мысалы:
“ biz inf 12 top \
studentteri Universitettin \
en bilgir studentteri”
Б±л “ biz inf 12 top studentteri Universitettin en bilgir studentteri” маѓынасын береді.
Кµп жаѓдайда программа “А” ќатарлы тип пен ‘А’ символын шатастыру нєтижесінде ќєте нєтиже береді. Б±л екеуі бір біріне тењ емес, біріншісі А 2 байт жєне ‘\0’ символымен аяќталады, екіншісі бір байт кµлем иелейді.
2.Атаулар
Программалау тілінде программаны ќ±ру ‰шін єр т‰рлі маќсатты сµздерден жєне аттардан пайдаланамыз. Біз айнымалы аттарын енгізуге мысалдар кµрдік. Б±лардан басќа функция аттары, тип аттары жєне макро аттары бар.
Аттар (сµздер) программалар ќ±руда программа ќ±рушыѓа т‰сінікті сµздер жиындыѓын ќ±райтын маѓынаѓа ие сµздер мен мєндерді ±йымдастыруѓа ыњѓайлылыќ тудырады. Нєтижеде, компилятор оларды орындаѓанда сол аттардан пайдаланады. Мысалы, temperatura айнымалысы сол атты жадта бірнеше байттардан т±ратын айнымалыѓа орын ажратады. Кейінірек, компилятор сол адресте сол есімді (атты) шаќырады.
C++ программалау тілі тµмендегі жарамды аттарды (идентификатор) жарату ќ±ралдарынан пайдаланады. Есім (ат) ењ кемінде бір символ немесе одан кµп символдардан олар єріптер (‘A’..’Z’ немесе ‘a’.. ‘z’ ), цифралар (0..9) немесе тµменгі сызыќша ( _ ) символдарынан т±рады. Тек бас символ цифра болмауы тиіс. Бас єріппен басталѓан есім кіші єріпінен басталатын есімінен айырмашылыќќа ие.
Мысалы:
salary // жарамды
salary2 // жарамды
2salary // жарамсыз (цифрамен басталады)
_salary // жарамды
Salary // жарамды быраќ salary дан басќа
Кеййбір сµздерді С++ программалау тілі µзініњ кµмекші сµздері ќабыл ќылѓаны ‰шін оларды идентификатор ретінде ќолданып болмайды.
Олар:
-
asm
|
continue
|
float
|
new
|
signed
|
try
|
auto
|
default
|
for
|
operator
|
sizeof
|
typedef
|
break
|
delete
|
friend
|
private
|
static
|
union
|
case
|
do
|
goto
|
protected
|
struct
|
unsigned
|
catch
|
double
|
if
|
public
|
switch
|
virtual
|
char
|
else
|
inline
|
register
|
template
|
void
|
class
|
enum
|
int
|
return
|
this
|
volatile
|
const
|
extern
|
long
|
short
|
throw
|
while
|
3. Жады.
Компьютер программаны орындауда орындалатын программа кодтарын саќтау ‰шін Random Access Memory (RAM) жадынан пайдаланылады. Б±ны біз саќталатын кейін бе келетін биттер (bit 0 жєне 1) тізбегін т‰сінеміз. Жад кейін 8 биттен т±ратын байт бµліктерінен ќ±ралады. Байттар тізбегі жадта адрестеледі. Демек, єрі байт жадта µз адресіне ие.
Жадыдағы бит пен байттар
Byte Address
1211 1212 1312 1214 1215 1216 1217
Bute Bute Bute Bute Bute Bute Bute … Memory
-
Bit
С++ программа компиляторы жадтаѓы орналасуына ќарап, мєндерді орындалатын кодќа айналдырады. Мысалы:
int ayliq =12000;
ќатарын компилятор жадта ayliq деп аталатын айнымалы ‰шін компьютер жадынан орын ажыратады. Жадтан ќанша орын ажырату алдын – ала кµрсетіледі. Мысалы, integer б‰тін сандар ‰шін компилятор жадтан 2 байт орын бµледі. Ayliq атты айнымалы мєні адрестелгенде бірінші байт орнын айнымалы адресі т‰сінеді жєне компилятор программаны орындаѓанда айнымалы мєні бірінші байт адресінен іздейді. Мысалы: 12000 мєні 1214 нµмерлі екі байт адресіне саќталады.
Figure 1.2 Representation of an integer in memory.
1211 1212 1312 1214 1215 1216 1217
Bute Bute Bute 10110011 10110011 Bute Bute … Memory
Salary
(a two-byte integer whose address is 1214 )
Программистер айнымалы мєнініњ аныќ адресіне µте аз жаѓдайда ќызыѓады. Б±л жадты жалпы ±йымдастырѓанда жєне жадтаѓы адрестерді бµлгенде ѓана ќажетті.
Достарыңызбен бөлісу: |