
როგორც ჯავასკრიპტში ასევე C-ში გვაქვს ცვლადები, რომლებიც წარმოადგენენ კონტეინერებს ინფორმაციის შესანახად.
C-ში ცვლადის აღწერისას, ჯავასკრიპტისგან განსხვავებით აუცილებელია წინასწარ მივუთითოთ, თუ რა ტიპის ინფორმაციას ინახავს ან შეინახავს კონკრეტული ცვლადი.
C-ში გვაქვს 4 ძირითადი მონაცემთა ტიპი:
int - მთელი რიცხვების შესანახად მაგალითად 321 ან -233char - სიმბოლოს შესანახად მაგალითად 'A'float - მოძრავ მძიმიანი რიცხვების შესანახად, მაგალითად 3.14double - მოძრავ მძიმიანი რიცხვების შესანახად ორმაგი სიზუსტით, მაგალითად 3.1415926535როგორც ვიცით, კომპიუტერს შეუძლია გაიგოს მხოლოდ 0-ები და 1-ები, ანუ ბინარული კოდი, შესაბამისად აუცილებელია კარგად გავიაზროთ, რომ როდესაც ცვლადს რაიმე მნიშვნელობას ვანიჭებთ, ის აუცილებლად კომპილატორის მიერ გადაითარგმნება ბინარულ კოდად, ანუ 0-ებად და 1-ებად.
სანამ მაგალითებზე გადავალთ აუცილებელია გავიაზროთ თუ რა მაქსიმალური ინფორმაციის დატევა შეუძლია თითოეულ მონაცემთა ტიპს.
როგორც ჩემს ერთ-ერთ ბლოგში ავხსენი, ინფორმაციის შენახვის ყველაზე მცირე ერთეული არის ბიტი (bit), რომელსაც მხოლოდ 2 რამის შენახვა შეუძლია, ესენია 0 ან 1.
ბაიტი (byte) კი წარმოადგენს 8 ბიტის ერთობლიობას და ჩვეულებრივ არის მეხსიერების მინიმალური მისამართირებადი ერთეული კომპიუტერში.
მაგალითად:
1 ბაიტი → 8 ბიტი
2 ბაიტი → 16 ბიტი
4 ბაიტი → 32 ბიტი
8 ბაიტი → 64 ბიტი
C პროგრამირებაში სწორედ ბაიტებით იზომება მონაცემთა ტიპების ზომა, ხოლო თითოეული ბაიტი ყოველთვის შედგება 8 ბიტისგან.
| მონაცემთა ტიპი | აღწერა | ზომა |
|
|
სიმბოლო (მაგ: 'A') |
1 ბაიტი |
|
|
მთელი რიცხვი |
4 ბაიტი |
|
|
ათწილადი რიცხვი (მარტივი სიზუსტე) |
4 ბაიტი |
|
|
ათწილადი რიცხვი (ორმაგი სიზუსტე) |
8 ბაიტი |
C პროგრამირების ენაში არსებობს სხვა მონაცემთა ტიპებიც (მაგალითად: short, long, unsigned, long double და სხვ.), თუმცა ამ კურსის ფარგლებში ჩვენ ყურადღებას გავამახვილებთ მხოლოდ ზემოთ ჩამოთვლილ ძირითად ტიპებზე, რათა სწავლა იყოს მარტივი, გასაგები და თანმიმდევრული.
ცვლადის გამოყენებას პროგრამაში ეწოდება დეკლარაცია, რა დროსაც ჯერ ვწერთ ცვლადის ტიპს, შემდეგ კი ცვლადის სახელს, ამის შემდეგ შეგვიძლია მივანიჭოთ მას რაიმე მნიშვნელობა.
ცვლადის დეკლარაციით კომპილატორს ვეუბნებით, რომ პროგრამაში გვექნება int ტიპის ცვლადი სახელად x
#include <stdio.h>
int main() {
int x; // ცვლადის დეკლარაცია
x = 5; // მნიშვნელობის მინიჭება
return 0;
}
ასევე შეგვიძლია მრავალი ცვლადის დეკლარაცია ერთ ხაზზე, მათი სახელების ჩამოთვლით და ტიპის განსაზღვრით
#include <stdio.h>
int main() {
// ცვლადების დეკლარაცია ერთ ხაზზე
int x, y, z;
char grade, level, rank;
float pi, e, temp;
// მნიშვნელობების დანიშვნა ცალკე ხაზზე
x = 5;
y = 10;
z = 15;
grade = 'A';
level = 'B';
rank = 'C';
pi = 3.14f;
e = 2.71f;
temp = 36.6f;
return 0;
}
მეტი სიმარტივისთვის ასევე შეგვიძლია დეკლარაცია და მინიჭება ერთ ხაზზე იყოს.
#include <stdio.h>
int main() {
int x = 5, y = 10, z = 15; // ერთი ხაზიანი დეკლარაცია რამდენიმე int ცვლადისათვის
char grade = 'A', level = 'B'; // char ტიპის ცვლადები ერთ ხაზზე
float pi = 3.14f, e = 2.71f; // float ტიპის ცვლადები ერთ ხაზზე
return 0;
}
თუ C-ის შესწავლა ჯავასკრიპტის შემდეგ გადაწყვიტეთ, ალბათ გეცოდინებათ თუ რა განსხვავებაა let და const ტიპის ცვლადებს შორის, C-ში ასევე გვაქვს საშუალება ცვლადი გავხადოთ ე.წ. კონსტანტა, ანუ ისეთი, რომ მისი მნიშვნელობის შეცვლა გამოცხადების და მინიჭების შემდეგ ვეღარ შეიცვალოს.
კონსტანტის შესაქმნელად გამოიყენება სპეციალური საკვანძო სიტყვა (keyword) const ისევე, როგორც ჯავასკრიპტში.
#include <stdio.h>
int main() {
const int MAX_USERS = 100;
MAX_USERS = 200; // დაიბეჭდება შეცდომა
return 0;
}
როგორც ზემოთ მაგალითშია MAX_USER-ზე თუ ვეცდებით მნიშნველობის ახლიდან მინიჭებას კომპილატორი დაგვიბეჭდავს შეცდომას, ასე რომ, როდესაც ვაკეთებთ ახალი ცვლადის დეკლარაციას სასურველია მას მაშინვე მივანიჭოთ ახალი მნიშვნელობა და არა მომავალში.
თუ მაგალითში დააკვირდებით MAX_USERS ცვლადი მაღალი რეგისტრის სიმბოლოებითაა დაწერილი, ეს არაა აუცილებელი მოთხოვნა კონსტანტის აღსაწერად, ჩვენ ასევე შეგვიძლია დაბალი რეგისტრის სიმბოლოებით გამოვაცხადოთ კონსტანტის ცვლადი.
მაგრამ უმჯობესია კონსტანტებისთვის გამოვიყენოთ მაღალი სიმბოლოები, ვინაიდან მისი იდენტიფიცირება კოდში მარტივია.
ამ გაკვეთილში გავეცანით C პროგრამირების ენაში ცვლადებსა და მონაცემთა ძირითად ტიპებს. ვისწავლეთ, თუ როგორ ხდება ცვლადის დეკლარაცია, რატომ არის აუცილებელი ტიპის წინასწარ მითითება და რა ზომის მეხსიერებას იკავებს თითოეული ძირითადი ტიპი — int, char, float და double.
ასევე გავიაზრეთ, რომ კომპიუტერი მუშაობს ბინარულ დონეზე და ყველა მნიშვნელობა საბოლოოდ 0-ებად და 1-ებად ინახება მეხსიერებაში. პრაქტიკული მაგალითებით ვნახეთ ცვლადების დეკლარაციის სხვადასხვა ფორმა — ცალკე მინიჭებით, ერთ ხაზზე და რამდენიმე ცვლადის ერთდროულად აღწერით.
მომდევნო გაკვეთილში უკვე გადავიდეთ პრაქტიკაზე და ვისწავლოთ, როგორ გამოვიტანოთ მონაცემები ეკრანზე. გავეცნობით printf() ფუნქციას, მის სინტაქსს და ე.წ. format specifier-ებს, რომლებიც გვაძლევს საშუალებას სხვადასხვა ტიპის მონაცემები (int, char, float და სხვა) სწორად დავბეჭდოთ.
შეისწავლეთ ვებდეველოპმენტის ენები სრულიად უფასოდ, ისეთები როგორებიცაა Javascript, HTML, CSS და კიდევ სხვა მრავალი ენა











ქვემოთ მოცემულია უახლესი 3 ბლოგი პროგრამირების თემატიკასთან დაკავშირებით