18
سلسلة تعلم البرمجة بلغةC / C++ - 2 إعداد وتقديم أ. د بندر المج

سلسلة تعلم البرمجة بلغة C / C++ - 2

  • Upload
    -

  • View
    1.739

  • Download
    6

Embed Size (px)

Citation preview

Page 1: سلسلة تعلم البرمجة بلغة  C / C++ - 2

بلغةالبرمجة سلسلة تعلم

C / C++ - 2

إعداد وتقديم

بندر المجالد. أ

Page 2: سلسلة تعلم البرمجة بلغة  C / C++ - 2

أحرف البدل التي تستخدم مع اإلجراء

printf

ماهي أحرف البدل ؟•

.هي ما يحجز مكاناً داخل النص لتضع قيمة المتغيرات فيه

.يستخدم لطباعة الحرف

يستخدم لطباعة الحرف

%d عدد عشري صحيح

%i

%c حرف أبجدي واحد

%s مجموعة من األحرفstring

%f عدد ذو عالمة عائمة

%x (هيكسا ديسيمل)عدد سداس عشري

%o عدد ثمانيOctal

Page 3: سلسلة تعلم البرمجة بلغة  C / C++ - 2

مثال على استخدام حروف البدل

#include <stdio.h>

void main(void)

{

char string[]="Testing";

int count;

for(count=1; count <= 10; count++)

printf("%-10s:%2d\n", string, count);

/*

عبارة برنت أف تطبع الحروف الموجودة في المتغير سترينج

وبجوارها الرقم الموجود في المتغير كاونت

تحدد عرض الحروف من أجل التنسيق وعالمة الناقص 10-

حتى يكون التنسيق من جهة اليسار فلو تركناه على الوضع

اإلفتراضي بدون إشارة السالب فإن التنسيق سيكون من .ناحية اليمين

*/

}

Page 4: سلسلة تعلم البرمجة بلغة  C / C++ - 2

تذكر

يستتتتخدم للحصتتتول علتتتى عتتتدد الحتتتروف : strlenاإلجررررا

.أو قياس الطول في المتغيرات

عبتارات توضتيحية يضت ها المبترمج : commentsالتعليقرا

لتوضتتيح أجتتزاي م ينتتة متتن البرنتتامجة وهتتي م يتتدة للتتتذكير

ولتقستتيم ال متتل علتتى مجموعتتة متتن المبتترمجين فتتي برنتتامج

.واحدة وهي اختيارية وليست اجبارية ل مل البرنامج

عبارة عتن أوامتر تصتدرها للمتترجم : directivesالتوجيها

ليقتتوم بتضتتمين مل تتات م ينتتة إلتتى الملتتف الحتتالي للبرنتتامج

.أو الستبدال اسماي الثوابت بقيمها الم ينة أو غير ذلك

: statementsالعبارا

نوعان

وهي لت يين القيم : العبارا اإلعالنية أو البيانية -أ

.أو اإلعالن عن المتغيرات ونحو ذلك

لتن يتتتتتتذ و ي تتتتتتة : العبررررررارا الوأي يررررررة أو التن ي يررررررة -ب

.أو عمل ما

.وأن جميع ال بارات ال بد أن تنتهي ب اصلة منقوطة

Page 5: سلسلة تعلم البرمجة بلغة  C / C++ - 2

تذكر

: a functionاإلجرا ا أو الدوال

اإلجراي الرئيسي المكتوب في برنامج السي هو اإلجراي main وهو اإلجراي الذي يبدأ منه البرنامج بشكل دائمة

.مهما كان مكانه في الملف المصدر

هو عبارة عن مجموعة من األوامر يتم تغلي ها : واإلجراي

كوحدة مستقلة من البرنامج ليقوم ب مل م ين أو و ي ة

محددةة ويمكن استدعايه أو طلبه من أي مكان في

البرنامجة وتستطيع تكرار طلبه بالقدر الذي تريده أو تقوم

.بتحديده

: variablesالمتغيرا

هي عبارة عن مكان في ذاكرة الجهازة يستخدم لتخزين

البيانات أو الم لوماتة وسميت متغيرات إلمكانية تغيير

والمتغيرات عدة أنواع منها . قيمها أثناي سير البرنامج

.ال ددية ومنها الحرفية

0 = false :

وأن أي قيمة falseفي لغة سي ي تبر الص ر قيمة خاطئة

. true أخرى ت تبر صحيحة

Page 6: سلسلة تعلم البرمجة بلغة  C / C++ - 2

القراءة من لوحة المفاتيح

:قرا ة حرف واحد

getcharاإلجراي -

getcheاإلجراي -

getchاإلجراي -

:قرا ة مجموعة من األحرف

getsاإلجراي -

لتستخدم هذا اإلجراي مرر له مص وفة حروف مثال

:بهذا الشكل

char string[80];

gets(string);

Page 7: سلسلة تعلم البرمجة بلغة  C / C++ - 2

/*

Copyright: http://bndralmjlad.wordpress.com/

Author: bndr.almjlad

Date: 16/04/14 00:52

Description: مثال على اإلجرايgetchar يقوم بطباعة ة

رقم الحرف في جدول اآلسكي

/*

#include <stdio.h>

void main(void)

{

char ch;

printf(“Write any character:");

ch = getchar();

printf("you entered: %c ASCII No: %d.\n", ch, ch );

system("PAUSE");

}

getcharمثال على اإلجراء

Page 8: سلسلة تعلم البرمجة بلغة  C / C++ - 2

getcheو getchمثال على استخدام

الح أن هذين اإلجرايين غير متوافقين مع مكتبة //

QuickWin

#include <stdio.h>

#include <conio.h> // الزم ل مل اإلجرايين

void main(void)

{

char ch;

printf("please type a letter: ");

ch = getch();

printf("\nyou typed:%c\tASCII No:%d.\n\n",ch,ch);

printf("please type another letter: ");

ch = getche();

printf("\nyou typed:%c\tASCII No:%d.\n",ch,ch);

system("PAUSE");

}

Page 9: سلسلة تعلم البرمجة بلغة  C / C++ - 2

gets مثال على استخدام اإلجراء

#include <stdio.h>

void main(void)

{

char string[80];

printf("Enter a string of characters: ");

gets( string );

printf("you entered: \n\n%s\n\n", string);

printf("which contains %d characters.\n", strlen(string) );

system("PAUSE");

}

Page 10: سلسلة تعلم البرمجة بلغة  C / C++ - 2

2-القراءة من لوحة المفاتيح

:scanfاإلجرا

يتيح لك هذا اإلجراي مرونة كبيرة حيث

يمكنك من قراية حرف واحد أو مجموعة

.حروف أو أعداد صحيحة أو غيرها

:مثال

int num;

scanf("%d", &num);

:& المعامل

يستخدم للحصول على عنوان المتغير في

.الذاكرة

Page 11: سلسلة تعلم البرمجة بلغة  C / C++ - 2

scanfعلى اإلجراء 1مثال

#include <stdio.h>

void main(void)

{ char string[80];

int num;

char ch;

printf("Enter a string of characters: ");

scanf("%s", string);

fflush(stdin);

printf("Enter a number: ");

scanf("%d", &num);

fflush(stdin);

printf("Enter a single character: ");

scanf("%c", &ch);

printf("\n\nThe string was: %s\n", string);

printf("The number was: %d\n", num);

printf("The character was: %c\n", ch);

system("PAUSE"); }

Page 12: سلسلة تعلم البرمجة بلغة  C / C++ - 2

scanfعلى اإلجراء 2مثال

#include <stdio.h>

void main(void)

{

int day, month, year;

printf("Enter your birthday (dd/mm/year): ");

scanf("%d/%d/%d", &day, &month, &year );

printf("\nThe year was: %d.\n", year);

printf("The month was: %d.\n", month);

printf("The day was: %d.\n", day);

system("PAUSE");

}

Page 13: سلسلة تعلم البرمجة بلغة  C / C++ - 2

3-القراءة من لوحة المفاتيح

يستخدم لقراية مجموعة من scanfرغم أن اإلجراي •

الحروفة إال أنه يتطلب أن تكون الحروف التي تدخلها

متصلة وال ت صل بينها بحرف المسافةة فهو ي تبر المسافة

فيترك األحرف . حرفا فاصال فيتوقف عن قراية ما ب دها

المتبقية التي ربما يكتبها المستخدم ب د المسافة في الذاكرة لذلك يستخدم ة bufferالوسيطة الخاصة بلوحة الم اتيح

الذي يقوم بإفراغ الذاكرة ;fflush(stdin)األجراي

.الوسيطة

لقراية عدة بيانات في عبارة scanfيمكن استخدام اإلجراي •

:واحدةة مثال

scanf("%d/%d/%d", &day,&month,&year);

قام بالمطلوب منه نستخدم scanf للتأكد من أن : مالح ة•

.ليطبع كل قيمة على حدة printf ب دها

Page 14: سلسلة تعلم البرمجة بلغة  C / C++ - 2

بنى التحكم التركيبات الشرطية

conditional structures

فإذا .ما شرط تحقق إذا البرنامج من م ين جزي بتن يذ تقوم

.الجزي هذا تتخطى فإنك الشرطة يتحقق لم

الشرط؟ هو ما

عالقة لتحدد قيمتين تختبر أن هو :condition الشرط

.باآلخر أحدهما

:الشرطي للتركيب العامة الصيغة

إذا كان الشرط صحيحاً ن ذ

; االختيار الثاني : االختيار األول ? (الشرط) = الناتج

result = (condition) ? var1 : var2 ;

إذا كان الشرط خاطئاً ن ذ

Page 15: سلسلة تعلم البرمجة بلغة  C / C++ - 2

بنى التحكم التركيبات الشرطية

conditional structures

//مثال على التركيب الشرطي

#include <stdio.h>

void main(void)

{

int num1, num2, max;

do

{

printf("\nEnter two numbers: ");

scanf("%d %d", &num1, &num2);

max = (num1 > num2) ? num1 : num2;

printf("\nThe number: [%d] is greater.", max);

} while (num1 != 0);

system("PAUSE");

}

Page 16: سلسلة تعلم البرمجة بلغة  C / C++ - 2

ifالتركيب

وهو أيضا من التركيبات الشرطية المشهورة جدا في

.عالم البرمجة وفي جميع اللغات البرمجية

: if للتركيب العامة الصيغة

ة أما إذا كان ifإذا تحقق الشرط فإن البرنامج ين ذ عبارات

وينتقل حينها ifالشرط خاطئاً فإن البرنامج يتجاهل عبارات

.إلى ما ب دها من عبارات البرنامج

بنى التحكم التركيبات الشرطية

conditional structures

if (condition) { statements ;

عبارة واحدة أو أكثر }

Page 17: سلسلة تعلم البرمجة بلغة  C / C++ - 2

ifالتركيب

: if للتركيب الخوارزمي الهيكل

بنى التحكم

البداية

هل الشرط

صحيح ؟

ifن عبارا

ن باقي عبارا البرنامج

نعم

ال

النهاية

Page 18: سلسلة تعلم البرمجة بلغة  C / C++ - 2

#include <stdio.h>

void main(void)

{

int num;

printf("Please Enter A Number: ");

scanf("%d", &num);

if(num == 12)

printf("You enter the magic number: 12.\n");

system("PAUSE");

}

بنى التحكم

ifالتركيب

ifمثال على التركيب