C (proqramlaşdırma dili)

Vikipediya, açıq ensiklopediya
Keçid et: naviqasiya, axtar
C

C proqramlaşdırma dili (si kimi tələffüz olunur) 1970-ci illərin əvvəllərində Denis RitçiKen Tompson tərəfindən UNIX əməliyyat sistemi üçün yaradılmış proqramlaşdırma dil. C proqramlaşdırma dili "A" və "B" dilinin inkişafı məqsədilə yaradılmışdır.

Hazırda C proqramlaşdırma dili digər əməliyyat sistemlərində də geniş istifadə olunur. Müasir dövrdə bu dil sistem proqramramlaşdırması üçün ən güclü proqramlaşdırma dillərindən biri hesab olunur. Windows, Linux, Unix, FreeBSD və s. əməliyyat sistemləri məhz C-də yazılıb.

C proqramlaşdırma dili bir çox digər proqramlaşdırma dillərinin yaranmasına və inkişafına təkan vermişdir. Belə ki, C++, Objective-C, Perl, Java, PHP, JavaScript, AWK, D (proqramlaşdırma dili) və digər dillərinin yaranmasında C-nin çox böyük rolu olmuşdur. Buna görə də bu dillərə "C kimi sintaksisə" malik dillər deyilir.

C proqramlaşdırma dilinin tədris üçün yaradılmamasına baxmayaraq hazırda bir çox universitetlərdə C dili tədris olunur. Bir çoxları C-ni bütün güclü proqramçıların bilməli olduğunu söyləyirlər.

Yaranma tarixi[redaktə]

C dili 1969-1973-cü illərdə yaranmışdır. Adının C olması ilə bəzi imkanlarının B dilindən götürülməsi olmuşdur.

C dili əvvəllər PDP-11 maşınında UNIX əməliyyat sistemində işlədilmək üçün nəzərdə tutulmuşdur. Lakin sonrala C çox populyarlaşdı. Hazırda C-ni proqramlaşdırma dillərinin "moster"i adlandırırlar.

ANSİ C[redaktə]

C məşhurlaşandan sonra C-nin bir çox yeni kompilyatorları meydana gəldi. Kompilyatoru yazanlar istəklərinə uyğun yeni imkanlar yaradır, bəzi dəyişikliklər edirdilər. Nəticədə bir çox hallarda kompilyatorda uğurla kompilyasiya olunan proqram digər kompilyatorda işləmirdi. Bu isə kompilyatorlar arasında seçim etməkdə çox çətinlik törətdi.

1983-cü ildə ANSI(American National Standarts İnstitute) C-nin standartını tərtib etməyi qərara aldı. 1988-ci ildə ANSI X3.159-1989 "Programming Language C" adlı standart qəbul oldu. Və bu standarta uyğun kompilyator daha yaxşı kompilyator sayılır.

C++ dərsləri[redaktə]

I.Ders[redaktə]

Diqqət yazacaqımız proqramlar console wizard rejiminde isleyir.Yəni exe fayl yaranır. C++ da her hansı bir yazini ekrana cixarmaq lazimdir. Bu proqram asagidaki kimi qurulur.

#include <cstdlib.h>
#include <conio.h>
#include <iostream.h>
using namespace std;

int main(int argc,char *argv[])
{
cout<<"salam dunya"<<endl;
 getch();
}

Indi ise bu proqramı izah edək. Proqramda verilen #include < > burada kitabxanalar elan olunur.yaradailacaq proqramın növündən asılı olaraq bu kitabxanalar dəyişir. Proqramda verilən "using namespace std;" uniti yaradır. Butun proqramlar main funksiyası ilə başlayır. Burada verilən { bir növ pascalda olan begin-dir. "cout" salam dunya yazisini ekrana cixarir. Onun kitabxanası iostream-dir. Burada getch(); proqramı sonlandırır. Getchin kitabxanası conio-dur. Və beləliklə ilk proqramımız hazırdır.

II.dərs[redaktə]

Indi isə hər hansı kicik hesablamaları yerine yetirə biləcək hesablama masınının proqramını yazaq.

#include <cstdlib.h>
#include <conio.h>
#include <iostream.h>
using namespace std;

int main(int argc,char *argv[])
{
int x,y,z;
cout<<"x daxil edin"<<endl;
cin>>x;
cout<<"y daxil edin"<<endl;
cin>>y;
z=x+y;
cout<<"z="<<z<<endl;
getch();
}

Burada verilen int x,y,z; ifadəsi daxil ediləcək x,y,z-in tam tipli ədəd olduğunu göstərir. Bu proqramda verilən cin>>x; yazısı daxil olunacaq x oxumaq ucundur.Yəni cout<<"x daxil edin"<<endl; ifadəsi ekranda görünən zaman kursor sizin x daxil etmeyinizi gözləyəcəkdir. cout<<"z="<<z<<endl; ifadəsi yəni hesablancaq x+y cəmini hesablayıb ekranda əks edəcəkdir.

III dərs[redaktə]

Biz bu dərsimizdə qalıqın hesablanması proqramını yazacayıq.

#include <cstdlib.h>
#include <conio.h>
#include <iostream.h>
using namespace std;

int main(int argc,char *argv[])
{
int x,y,z;
cout<<"x daxil edin"<<endl;
cin>>x;
cout<<"y daxil edin"<<endl;
cin>>y;
z=x%y;
cout<<"z="<<z<<endl;
getch();
}

Bu proqramda verilən z=x%y ifadəsi o deməkdir ki, x-i y-ə böıldükdə alınan qalıq ekranda əks olunur.

IV dərs[redaktə]

Bu dərsimizdə ekranı təmizləmək və ona rəng əlavə etməyi göstərəcəyik.

#include <cstdlib.h>
#include <conio.h>
#include <iostream.h>
using namespace std;
int main(int argc,char *argv[])
{
int x,y,z;
system("color 9f");
cout<<"x daxil edin"<<endl;
cin>>x;
system("cls");
cout<<"y daxil edin"<<endl;
cin>>y;
system("cls");
z=x+y;
cout<<"z="<<z<<endl;
getch();
}

Bu proqramda verilən system("color 9f"); ekrana 9f-ə uyğun olan rəngi əlavə edir. Bu rənglər muxtəlif ola bilər. Məs:1f,2f,1a,2a,3a,4d,...və.s Proqramda verilən system("cls"); o deməkdir ki, x-daxil olunandan sonra y-daxil olunduqda ekranda x silinir və y qalır.y-daxil edildikdən sonra y və x pozulur və ekranda z-ə uyğun olan nəticə qalır. Bu proqramda verilən system("cls"); c++-ın muxtəlif versiyalarında muxtəlif cür yazılır.

Sintaksisi[redaktə]

C-nin sintaksisini Brayan Kerniqanın(Brian Kernighan) ənənəsini davam etdirərək Hello World proqramı ilə başlayaq.

#include <stdio.h>

main(){
  printf("Hello World!\n");
}

Yəqin ki, özünüz başa düşdünüz. Bu proqram "Hello World!" kəlməsini çap edir. Bu sadə proqramda #include <stdio.h> haqqında bir az sonra danışacağıq. "\n"-ə isə Cyə oxşar dillərdə çox rast gəlmək olar. "\n" növbəti sətrə keçməyi bildirir. Əgər

  printf("Hello\nWorld!");

yazmış olsaydıq. Birinci sətirdə Hello ondan sonrakı sətirdə isə World! sözləri yazılardı.

Proqramın quruluşu[redaktə]

C-də yazılmış hər hansı bir proqramın mətninə diqqət yetirsək orada

#include <stdio.h>

main(){

getchar();  
 //getchar sozu proqrama ilk baxiş etdikdə
 // onun görüntüsünün qorunub saxlamasini temin edir.
}

sətirlərini görmüş olarıq. Bəs nəyə görə bütün proqramlarda main funksiyası olur? Ona görə olur ki, main funksiyası digər funksiyalar kimi müraciət olunanda yox, susmaya görə həmişə icra olunur. Yəni main funksiyasına proqramın gövdəsi demək olar. #include <stdio.h> stdio.h başlıq faylını bu proqrama birləşdirir. Çünki çap "operatoru" olan printf() daxiletmə operatoru scanf() və digər müəyyən funksiyalar məhz bu faylın içərisində yerləşir. Başlıq fayllarını özümüz də düzəldə bilərik. Bir yenifunk.h adlı fayl yaratsaq və orada yazsaq:

int fact(int n){
/* Faktorialı hesablayan funksiya */
  int i,s;
  s=1;
  for (i=1;i<=n;i++) s=s*i;
  return s;
}

daha sonra proqramımızda

#include <stdio.h>
#include <yenifunk.h>
main(){

printf("%d",fact(5));

}

yazmaq olar. Bu zaman yenifunk.h faylı bizim proqramımızın mətni ilə birləşir və orada olan istənilən funksiyanı istifadə etmək mümkün olur.

Bunu belə də yazmaq olar:

#include <stdio.h>
int fact(int n){
/* Faktorialı hesablayan funksiya */
  int i,s;
  s=1;
  for (i=1;i<=n;i++) s=s*i;
  return s;
}

main(){

printf("%d",fact(5));
getchar();
}

ip