Программалау тілдері жоғары оқу орындарына арналған оқулық



жүктеу 2,9 Mb.
Pdf просмотр
бет43/82
Дата19.11.2018
өлшемі2,9 Mb.
#20460
түріПрограмма
1   ...   39   40   41   42   43   44   45   46   ...   82

 
115 
ABCDEFGHIJKLMNOPQRSTUVWXYZ 
Ал  енді  осы  символдарды  ASCII-кодтарымен  бірге  шығаратын  мына 
программаны кӛрейік. 
/* латын әліпбиі*/ 
#include  
#include  
void main() 

 char z; 
 clrscr(); 
 for(z='A';z<='Z';z++) 
 { 
   if (z=='K' || z=='U') printf("\n"); 
   printf(" %c-%d ",z,z); 
 } 
 getch(); 
 } 
Программа жҧмысының нәтижесі: 
A-65 B-66 C-67 D-68 E-69 F-70 G-71 H-72 I-73 J-74 
K-75 L-76 M-77 N-78 O-79 P-80 Q-81 R-82 S-83 T-84  
U-85 V-86 W-87 X-88 Y-89 Z-90   
Келесі программа 0 мен 9 арасындағы цифрлық символдарды және олардың  
ASCII  кодтарын басып шығарады: 
#include  
#include  
void main() 

 char z; 
 clrscr(); 
 for(z='0';z<='9';z++) 
  { 
   if (z=='0' || z=='5') printf("\n"); 
   printf (" %с-%в ", z, z); 
  } 
 getch(); 
 } 
 
Жҧмыс нәтижесі: 
0 – 48  1 – 49  2 – 50  3 – 51  4 – 52 
5 - 53  6 – 54  7 – 55  8 – 56  9 – 57 
Сонымен,  жеке  берілген  символдық  мәліметтер  (константалар  мен  айныма-
лылар) компьютер жадында сол символдардың ASCII-кодтарына сәйкес бүтін 
сандық  мәндер  жазылған  бір-бір  байт  орын  алады  екен.  Соларды  экранға 
шығаруға арналған мәліметтерді Ә қосымшасынан қарауға болады.  


 
116 
7.2 Символдық тіркестер 
Символдық жолдарды немесе тіркестерді бірнеше тәсілмен ӛңдеуге болады, 
олардың негізгілері: 
1)  тіркестік константаларды қолдану; 
2)  char типті жиымды қолдану
3)  char типіне сілтейтін нҧсқауыштарды пайдалану; 
4)  символдық тіркестерден тҧратын жиымдарды қолдану. 
Сӛз  тіркестері  немесе  тіркестік  (жолдық)  константа  қостырнақшаға  алынып 
жазылады.  Тырнақшаға  алынатын  символдар  тізбегінің  ең  соңына  автоматты 
тҥрде  ‗\0‘  символы  жазылады.  Компилятор  жолдық  символдарды  компьютер 
жадына  жазғанда,  олардың  кӛлемін  анықтау  ҥшін  сол  символдар  санын 
есептейді.  Символдық  константа  осы  сӛз  тіркесі  жазылған  жады  аймағына 
сілтейтін нҧсқауыш болып табылады. Символдық тіркестер жиымын (массивін) 
беру  кезінде  компилятор  компьютер  жадының  қажетті  кӛлемін  анықтау  ҥшін 
жиымды сипаттағанда, оны тіркестік константа арқылы инициалдауға болады. 
Мысалы:   
char c[]= “Атырау, Алтай - жеріміз”; 
Әдеттегі жиым қолданылатын жағдайлар сияқты бҧл жиым аты с осы жиымның 
1-элементіне сілтейтін нҧсқауыш болып табылады. 
 
c ==&c[0]; 
 
*c ==‟0‟; 
 
*(c+1) == c[1] == „n‟;  
Сӛз  тіркестерін  анықтау  ҥшін  нҧсқауыштарды  мынадай  тҥрде  сипаттауға 
болады: 
char *c1 = “\n студенттер саны”; 
осы сипаттауға эквивалентті болып  келесі сипаттау  есептеледі: 
static char c1[]=”\n студенттер саны”; 
Осы  қарастырылған  екі  сипаттау  да  с1  тіркесінің  нҧсқауыш  екенін  білдіреді. 
Компьютер  жадының  қажетті  кӛлемін  айқын  кӛрсетуге  де  болады.  Мысалы, 
сыртқы сипаттауда келесі жолдың мынадай тҥрде жазылғаны кӛрсетілген. 
char c[25]=”Білім - өмір шырағы”; 
Элементтердің саны жолдың ҧзындығынан бір  символ артық болуы керек, 
яғни оның ең соңында ‗\0‘ символы болуы тиіс.  
Статикалық  немесе  сыртқы  жиымдағы  бҧрынғы  қарастырылған  әдеттегі 
жиымдар  оларды  қолдану  кезінде  автоматты  тҥрде  0-мен  инициалданған 
болатын. Ал сӛз тіркестерін пайдалану кезінде де статистикалық немесе сыртқы 
жиымдар солар тәрізді 0 символымен инициалданады.  
Келесі мысалды қарастыралық:           
#include                                                     
#include                                                    
 main()                                                                
{  
 char msg[30];                                                            
 strcpy(msg, "Сәлем, Азат!");                                             
 puts(msg);                                                               


 
117 
}                                                                      
Мҧндағы msg сӛзінен соң тҧрған [30] саны компиляторға 29 символ ҥшін, яғни 
char  типіндегі  29  айнымалыдан  тҧратын  жиым  ҥшін  жады  бӛлуді  қамтамасыз 
етеді  (30-орын  нӛлдік  символмен  –  \0  толтырылады).  msg  айнымалысының 
символдық мәні жоқ; ол тек  char типіндегі 29 айнымалының алғашқысының 
адресін (компьютер жадындағы белгілі бір орын адресі) сақтайды.                    
Компилятор strcpy(msg, "Сәлем, Азат!") операторын кездестір-
генде, екі тҥрлі әрекет орындайды:                                                
"Сәлем, Азат!" тіркесі соңына (\0) символын (ASCII коды 0) қосады. 
-  strcpy  функциясын  орындап,  msg  айнымалысы  нҧсқап  тҧрған  жады 
аймағына  сол  сӛз  тіркесі  символдарын  біртіндеп  кӛшіреді.  Ол  тіркесті 
кӛшіруді сӛз соңындағы нӛлдік символдан кейін барып аяқтайды.                  
puts(msg)  функциясын  орындағанда,  оған  msg  мәні,  яғни  тіркес 
қҧрамындағы бірінші символ адресі беріледі. Одан кейін puts сол символдың 
нӛлдік  символ  емес  екенін  анықтап,  ары  қарай  адреске  бірді  қосып,  келесі 
символды  оқиды,  т.с.с.  тіркес  соңына  дейін  жетеді.  Нӛлдік  символға  жеткен 
соң, puts жҧмысты аяқтайды;  
Осындай  тәсіл  тіркес  ҧзындығына  шек  қоймай,  нӛлдік  символға  дейінгі 
символдарды біртіндеп оқуды жҥзеге асырады.  
7.3 Символға нұсқауышты пайдалану                                                    
 Екінші  тәсіл  –  символдарға  нҧсқауыш  жасау.  Программаны  келесі  тҥрге 
келтірейік:                                                          
#include                                                     
#include                                                    
 main()                                                                 

 char *msg;                                                                
 msg = "Сәлем, Азат!";                                                     
 puts(msg);                                                                
}                                                                      
msg  алдындағы  жҧлдызша  (*)  компиляторға  оның  символға  нҧсқауыш  екенін 
білдіреді, яғни msg белгілі бір символ адресін сақтай алатын айнымалы. Бірақ 
мҧнда  компилятор  символдар  ҥшін  ешқандай  орын  бӛлмейді  және  msg  да 
ешқандай мәнге ие болмайды.                                                                                 
Компилятор  strcpy(msg,  "Сәлем,  Азат!")  операторын  кездестір-
генде, ол тағы екі тҥрлі әрекет орындайды:                                                
-  объектілік  код  файлы  ішіндегі  бір  орынға  соңына  (\0)  символы  қосылған 
"Сәлем, Азат!" 
тіркесін (ASCII коды 0) жазып қояды. 
- сол тіркестің алғашқы символы адресін  msg айнымалысына меншіктейді.  
strcpy  функциясын  орындалып,  puts(msg)  командасы  бҧрынғыша  нӛлдік 
символға дейінгі мәліметті кӛшіреді.  
Енді  символдық  тіркестерден  тұратын  жиымдарды  қарастыралық.  Бҧл 
жиымдардың  әрбір  жолы  символдық  жиым  болып  табылады.  Мысалы, 
статикалық жиымның сипатталуы келесідей тҥрде жазылуы мҥмкін: 


жүктеу 2,9 Mb.

Достарыңызбен бөлісу:
1   ...   39   40   41   42   43   44   45   46   ...   82




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау