Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Muasir proq dil C++.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
7.31 Mб
Скачать
  1. Simvollar və sətirlər

8.1. Simvol və sətirlərin sintaksisi

Proqramlaşdırmada verilənlərin tiplərindən bi­ri­ də chara­c­­te­rtipidir və simvol tipi işarə etmək üçün istifadə olunur.

Proqramların işlədiyi obyektlər içərisində xüsusi yeri mətn­lər, yəni hərflər, boşluqlar, durğu işarələri və sətrin sonunu, yeni abzasın başlanğıcını işarə edən görünməyən idarəedici simvollar ardıcıllığı tutur.

Ən geniş yayılmış proqram bildiyimiz kimi kom­pil­ya­tor­dur. O, proqramın mətnini analiz edir və onları prosessorun əmrlərinə çevirir. Digər geniş yayılmış proqram isə mətn re­dak­torudur. Onun köməyi ilə proqramlar, romanlar, po­vest­lər və s. yazılır.

Hərflər, durğu işarələri və idarəedici simvollar C dilində sim­vollar adlanır. Bir simvol səkkiz bitlə kodlaşdırılır və o, char dəyişənində saxlanıla bilər. Simvollar təkqat dırnaq işa­rə­si daxilində yazılır və aşağıdakı kimi təsvir olunur:

unsigned char x;

x=’a ;

proqramın bu fraqmentinin yerinə yetirilməsindən sonra x də­yişənində latın əlifbasının kiçik a hərfi kodlaşdırılan ədəd yer­­ləşəcək. Bu ədəd 97 –yə bərabərdir, lakin elə kom­pü­ter­lər ola bilər ki, orada bu hərf başqa cür kod­laş­dı­rı­lsın­.

Bəzi simvollar görünməyəndirlər, onların yazısı üçün dır­naq­ işarəsi daxilində hərflər ardıcıllığı istifadə olunur. Məsə­lən, ‘\n’ – sətrin keçidi, ‘\r’ – karetkanın qaytarılması.

Simvollar adətən bir-birinin ardınca yazılır və sözlər, cüm­lə­lər və s. əmələ gətirirlər. Məsələn, “Bakı” sözünü dörd ədəd­­­­­dən ibarət olan massivdə saxlamaq olar:

char x[4];

x[0]=’B’;

x[1]=’a’;

x[2]=’k’;

x[3]=’i’;

onu ekrana printf () funksiyası ilə çıxarmaq olar:

int i;

for (i=0; i<3;i++);

printf(“%c, x[i]);

printf(“\n”);

Bu proqramı bir qədər sadələşdirmək olar:

Misal 8.1.

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

{unsigned char x[5];

int i;

x[0]='B';

x[1]='a';

x[2]='k';

x[3]='i';

x[4]='\0';

i=0;

while (x[i]!='\0'){

printf("%c",x[i]);

i++;

}

printf("\n");

getch();

return 0;

}

Burada x[0] massivində artıq beş simvol var (sözün sonunda '\0' simvolu əlavə olunmuşdur), for () dövr operatoru əvəzinə isə while () dövr operatoru tətbiq olunmuşdur. Bu proqramın nöqsanı ondadır ki, hər hərfi massivə əllə daxil etmək lazımdır. Bu prosesi kompilyatora həvalə etmək üçün C dilində xüsusi konstruksiya – sətir mövcuddur.

Sətir – ikiqat dırnaq işarəsi daxilinə alınmış simvollar ardıcıllığıdır. Məsələn, “Bakı”. Sətri massivə salmaq üçün

unsigned char []=”Baki”;

yazmaq kifayətdir.

Bu sətrə rast gəldikdə kompilyator özü beş simvoldan iba­rət massiv - dörd hərf və yekunlaşdırıcı null '\0' simvolu ya­radır.

x[0] x[1] x[2] x[3] x[4]

B

A

K

I

'\0'

Şəkil 8.1. char x[]=”Baki”əmri ilə yaradılan x massivi

Beləliklə, ekrana Baki sözünü çıxaran proqram aşağıdakı ki­mi olar:

Misal 8.2.

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

{unsigned char x[]="Baki";

int i;

i=0;

while (x[i]) {

printf("%c",x[i]);

i++;

}

printf("\n");

getch();

return 0;

}

Bu proqramı daha da təkmilləşdirmək üçün while () dövrünü atmaq olar, belə ki, printf funksiyasında sətri çap etmək üçün xüsusi %s şablonu var:

Misal 8.3.

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

{unsigned char x[]="Baki";

printf("%s\n",x);

getch();

return 0;

}

Beləliklə, x[ ] massivində yerləşən sətrin ekrana çıxa­rıl­ma­sı adi x ədədinin çıxarılması ilə eynidir. Lakin sadəliyin arxa­sın­da daha mürəkkəb əməllər durur: yaddaşda sətrin baş­lan­dı­ğı yeri təyin etmək lazımdır, sonra hər sonrakı simvolun sıf­ra bərabər olduğunu yoxlamaq lazımdır, sıfra bərabər de­yil­sə, ekranda göstərilsin. Əgər simvol sıfırdırsa, sətrin sonu çatıb, onda '\n' simvolunu çıxarmaq və proqramı sona çat­dır­maq lazımdır.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]