
- •Proqramlaşdırmanın əsasları
- •3. Yaddaş və verilənlərin tipləri
- •3.1. Yaddaş və onun növləri
- •3.2. Standart tip verilənlərin ölçüsü
- •3.3. Dəyişənlərin elan olunması
- •3.4. Konstantlar (Sabitlər)
- •3.5. İfadələr
- •3.7. Tiplərin çevrilməsi
- •Müstəqil işləmək üçün tapşırıqlar
- •4. Xətti və budaqlanan alqoritmlərin proqramlaşdırılması
- •4.1. Xətti alqoritmlərin proqramlaşdırılması
- •4.2. Giriş/çıxış operatorları
- •4.3. Budaqlanan alqoritmlərin proqramlaşdırılması
- •4.3.1. Şərt operatoru
- •4.3.3. Seçmə (variant) operatoru
- •4.3.4. Goto operatoru
- •4.3.5. Proqramın exit operatoru ilə dayandırılması
- •Müstəqil işləmək üçün tapşırıqlar
- •Dövri alqoritmlərin proqramlaşdırılması
- •5.1. Önşərtli dövr operatoru
- •5.2. Sonşərtli dövr operatoru
- •5.3. Parametrli dövr operatoru
- •5.4. Break operatoru
- •5.5. Continue operatoru
- •Müstəqil işləmək üçün çalışmalar
- •Funksiyalar
- •6.1. Funksiyanın sintaksisi
- •6.2. Funksiyanın təyin olunması
- •6.3. Funksiyanın çağırılması
- •6.4. Prototipin yaradılması
- •6.5. Lokal dəyişənlər
- •6.6. Qlobal dəyişənlər
- •6.7. Statik lokal dəyişənlər
- •6.8. Məlumatın funksiyaya göndərilməsi
- •6.9. Funksiyadan qiymətin qaytarılması
- •Müstəqil işləmək üçün tapşırıqlar
- •Massivlər
- •7.1. Birölçülü massivlər
- •7.2. İkiölçülü massivlər
- •İkiölçülü massivin ekrana çıxarılması:
- •Müstəqil işləmək üçün tapşırıqlar
- •Simvollar və sətirlər
- •8.1. Simvol və sətirlərin sintaksisi
- •Sətirlərlə işləyən funksiyalar
- •Müstəqil işləmək üçün tapşırıqlar
- •Fayllar: fayldan daxiletmə
- •Və fayla çıxış
- •Ikilik və mətn faylları
- •Fstream standart kitabxanası
- •Fayla girişin ümumi alqoritmi
- •9.4. Faylın açılması
- •9.4.1. Yazmaq üçün faylın açılması
- •9.4.2. Oxumaq üçün faylın açılması
- •9.4.3. Faylın oxumaq və yazmaq üçün açılması
- •9.5. Faylın bağlanması
- •9.6. Fayla yazmaq və fayldan oxumaq
- •Strukturlar və siniflər
- •Strukturlar və onların elanı
- •Int height;
- •Strukturun dəyişəninin elanı
- •Strukturun inisiallaşdırılması
- •Strukturların funksiya parametri kimi ötürülməsi
- •Siniflər
- •Operatorlar
- •Operatorların üstünlük dərəcəsi
- •Sərhəd qiymətlərinin sabitləri
- •Həqiqi tiplər üçün sabitlər – float.H faylı
- •C dilinin standart funksiyalar kitabxanası
- •Hesabi funksiyalar – math.H faylı
- •Standart fayllar üçün giriş-çıxış funksiyaları- stdio.H faylı
- •Sətirlərlə işləmək üçün funksiyalar- string.H, stdlib.H faylları
- •Mətn rejimində terminalla işləmək üçün funksiyalar- conio.H faylı
- •Xüsusi funksiyalar
- •Mündəricat
Simvollar və sətirlər
8.1. Simvol və sətirlərin sintaksisi
Proqramlaşdırmada verilənlərin tiplərindən biri də character –tipidir və simvol tipi işarə etmək üçün istifadə olunur.
Proqramların işlədiyi obyektlər içərisində xüsusi yeri mətnlə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 kompilyatordur. O, proqramın mətnini analiz edir və onları prosessorun əmrlərinə çevirir. Digər geniş yayılmış proqram isə mətn redaktorudur. Onun köməyi ilə proqramlar, romanlar, povestlər və s. yazılır.
Hərflər, durğu işarələri və idarəedici simvollar C dilində simvollar 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şarə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 yerləşəcək. Bu ədəd 97 –yə bərabərdir, lakin elə kompüterlər ola bilər ki, orada bu hərf başqa cür kodlaşdırılsın.
Bəzi simvollar görünməyəndirlər, onların yazısı üçün dırnaq 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ümlələr və s. əmələ gətirirlər. Məsələn, “Bakı” sözünü dörd ədəddə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 ibarət massiv - dörd hərf və yekunlaşdırıcı null '\0' simvolu yaradı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ı kimi 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 çıxarılması adi x ədədinin çıxarılması ilə eynidir. Lakin sadəliyin arxasında daha mürəkkəb əməllər durur: yaddaşda sətrin başlandığı yeri təyin etmək lazımdır, sonra hər sonrakı simvolun sıfra bərabər olduğunu yoxlamaq lazımdır, sıfra bərabər deyilsə, ekranda göstərilsin. Əgər simvol sıfırdırsa, sətrin sonu çatıb, onda '\n' simvolunu çıxarmaq və proqramı sona çatdırmaq lazımdır.