اساسيات #C - تعلم لغات البرمجة

اساسيات #C

 اساسيات #C

اساسيات لغة سي شارب



المتغيرات:

* المتغير هو عنوان منطقة محجوزة في الذاكرة يمكن الكتابة فيها والقراءة منها

* يتم التصريح عن المتغيرات باستخدام الشكل العام التالي:

 一一一一一一一一一一一

    ;type variable name  

 一一一一一一一一一一一

أمثلة :

int m;

int n, k;

int l = 100;

int a = 100, b, c = 200, d;


*يمكن أن يحتوي اسم المتغير على أحرف أو أرقام أو إشارة

* يجب أن يبدأ اسم المتغير بحرف أو إشارة _ 

* لا يمكن استخدام كلمات اللغة المفتاحية كإسم للمتغير.

* تتأثر اللغة بحالة الأحرف فالمتحول x هو غير X.


ملاحظة:لا يجوز التعامل مع متحول لم يعطى قيمة ابتدائية. فالتعليمات التالية مثالا:


int i, j;

i = j;


ستولد الخطأ التالي(استخدام متغير دون قيمة) :

Use of unassigned local variable j


أنماط البيانات:

 يحدد نمط بيانات المتغير القيم التي يمكن أن تسند للمتغير . كما يختلف حجم التخزين المطلوب للمتغير حسب نمطه. 


1 .أنماط الأعداد الصحيحة:

نعرض في الجدول التالي جميع أنماط الأعداد الصحيحة التي توفرها لنا لغة #C.


  الوصف                                                        مجال القيم           الاسم         

sbyte             -128 to 127                                               signed 8-bit integer

byte               0 to 255                                                    unsigned  8-bit integer

short             -32,768 to 32,767                                      signed 16-bit integer

ushort             0 to 65,535                                              usigned 16-bit integer

int                   -2,147,483,648 to 2,147,483,647           signed 32-bit integer

uint                  0 to 4,294,967,295                                usigned 32-bit integer

long               -9,223,372,036,854,775,808 to 

                        9,223,372,036,854,775,807                   signed 64-bit integer

ulong             0 to 18,446,744,073,709,551,615           usigned 64-bit integer



 2 .أنماط الأعداد العشرية:

نعرض في الجدول التالي جميع أنماط الأعداد العشرية التي توفرها لنا لغة #C.


الوصف                                                                      مجال القيم                    الاسم

float              + -  1.5*10_45 to + - 3.4*1038                             7 digits precision

double           + -  0.5 *10_324 to + - 1.7*10308                       15_16 precision digits 

decimal         + - 1.0*10_28 to + - 7.9*1028                              28_29 precision digits


 3 .النمط المنطقي :

يستخدم هذا النمط لتخزين قيمة منطقية صح ام خطأ. 

الوصف                                                                     مجال القيم                    الاسم

bool                     true , false                                                     قيمة منطقية صح ام خطأ


4.النمط المحرفي:

 يستخدم هذا النمط لتخزين محرف واحد.

الوصف                                                                     مجال القيم                    الاسم

char                   one char                                                          يمكن تخزين محرف واحد


5. السلاسل النصية:

 يستخدم هذا النمط لتخزين سلسلة من المحارف.

الوصف                                                                     مجال القيم                    الاسم

string                 string to chars                                              يمكن تخزين سلسلة من المحارف


أمثلة :


char a = 'f';

string s1 = "Hello ";

string s2 = "World";

string s3 = s1 + s2;

//s3 is now "Hello World"


التحويل الضمني Implicit Conversion :

يمكن بشكل عام إسناد متغير من نمط إلى متغير من نمط آخر بشكل مباشر في حال كان مجال قيم المتغير الأول ضمن مجال قيم المتغير الثاني(بما معناه اسناد المتغير الصغير ضمن المتغير الكبير). 


مثلا :


int i = 100;

long j;

j = i;


يبين الجدول التالي من أجل كل نمط من الأنماط التي يمكن الإسناد إليها بشكل ضمني:


From                                                To

sbyte                             short, int, long, float, double, decimal

byte                              short, ushort, int, uint, long, ulong, float, double, decimal

short                             int, long, float, double, decimal

ushort                           int, uint, long, ulong, float, double, decimal

int                                 long, float, double, decimal

uint                              long, ulong, float, double, decimal

Long, ulong                 float, doule, decimal

float                             double


التحويل الصريح Explicit Conversion :

* يمكن أيضاً إجراء عملية "قصر" بحيث نقوم بإسناد متغير من نمط ذو مجال قيم أكبر إلى نمط ذو مجال قيم أقل. بالطبع، يمكن الا تعطي هذه العملية نتائج صحيحة في حال كانت القيم المسندة خارج مجال المتغير المسند إليه. 

 

* يمكن استخدام الطريقة checked لإطلاق استثناء في حال كانت عملية القصر تعطي نتائج صحيحة. 


أمثلة :


//Explicit Conversion 

long v = 30000;

int i= (int) v ; 

//A valid Cast. The max is 2147483647

// i will be 30000

long g=3000000000;

int j= (int) v; 

//An invalid Cast. The max is 2147483647

//j will be -129947296

int k= checked((int) g); 

// throw an overflow exception if needed

double p=25.7;

int m= (int) p;

// m will be 25

char c = 'A';

int i = (int)c;

//i will be 65

int i = 10;

string s = i.ToString();

//s will be "10"

string ss = "300";

int j = int.Parse(ss);

//j will be 300

string sss = "34.678";

double x = double.Parse(sss);

//x will be 34.678

int k = int.Parse(sss);

//Throw an exception



اليكم هذا الفيديو لتوضيح كل ما سبق ..



وهكذا نكون قد عرضنا الانماط و طرق التحويل و القصر ...... تحياتي 🍀

مواضيع مهمه
اساسيات لغة #C

لا تنسى مشاركة هذا المقال!

أعط رأيك حول هذا المقال

الأشعارات
اهلا بك اخى الكريم فى مدونة تى جو
ان كنت من المهتمين بكل جديد فى العالم التقنى يمكنك الاشترك فى قناة تى جو على اليوتيوب بالضغط على زر اليوتيوب فى الاسفل حتى تكون اول المستفيدين من شروحاتنا .
=================================
وان كان لديك اى اسئله او اقتراحات يمكنك التواصل معنا عبر مواقع التواصل الاجتماعى اسفل الرساله وسوف نقوم بالرد فى اسرع وقت .
شكرا على المتابعه .

حسناً