2. أحرف البدل التي تستخدم مع الإجراء
printf
• ماهي أحرف البدل ؟
هي ما يحجز مكاناً داخل النص لتضع قيمة المتغيرات فيه.
الحرف يستخدم لطباعة.
الحرف
ي
ستخدم لطباعة
%d
عدد عشري صحيح
%i
%c
حرف أبجدي واحد
%s
مجموعة من الأحرف string
%f
عدد ذو علامة عائمة
%x
عدد سداس عشري )هيكسا ديسيمل(
%o
عدد ثماني Octal
3. مثال على استخدام حروف البدل
#include <stdio.h>
void main(void)
{
char string[]="Testing";
int count;
for(count=1; count <= 10; count++)
printf("%-10s:%2dn", string, count);
/*
عبارة برنت أف تطبع الحروف الموجودة في المتغير سترينج
وبجوارها الرقم الموجود في المتغير كاونت
- 10 تحدد عرض الحروف من أجل التنسيق وعلامة الناقص
حتى يكون التنسيق من جهة اليسار فلو تركناه على الوضع
الإفتراضي بدون إشارة السالب فإن التنسيق سيكون من
ناحية اليمين.
*/
}
4. تذكر
الإجررررا strlen : يستتتتخدم للحصتتتول علتتتى عتتتدد الحتتتروف
أو قياس الطول في المتغيرات.
التعليقرا comments : عبتارات توضتيحية يضت ها المبترمج
لتوضتتيح أجتتزاي م ينتتة متتن البرنتتامجة وهتتي م يتتدة للتتتذكير
ولتقستتيم ال متتل علتتى مجموعتتة متتن المبتترمجين فتتي برنتتامج
واحدة وهي اختيارية وليست اجبارية ل مل البرنامج.
التوجيها directives : عبارة عتن أوامتر تصتدرها للمتترجم
ليقتتوم بتضتتمين مل تتات م ينتتة إلتتى الملتتف الحتتالي للبرنتتامج
أو لاستبدال اسماي الثوابت بقيمها الم ينة أو غير ذلك.
العبارا statements :
نوعان
أ- العبارا الإعلانية أو البيانية: وهي لت يين القيم
أو الإعلان عن المتغيرات ونحو ذلك.
ب- العبررررررارا الوأي يررررررة أو التن ي يررررررة: لتن يتتتتتتذ و ي تتتتتتة
أو عمل ما.
وأن جميع ال بارات لا بد أن تنتهي ب اصلة منقوطة.
5. تذكر
الإجرا ا أو الدوال a function :
الإجراي الرئيسي المكتوب في برنامج السي هو الإجراي
main وهو الإجراي الذي يبدأ منه البرنامج بشكل دائمة
مهما كان مكانه في الملف المصدر.
والإجراي : هو عبارة عن مجموعة من الأوامر يتم تغلي ها
كوحدة مستقلة من البرنامج ليقوم ب مل م ين أو و ي ة
محددةة ويمكن استدعايه أو طلبه من أي مكان في
البرنامجة وتستطيع تكرار طلبه بالقدر الذي تريده أو تقوم
بتحديده.
المتغيرا variables :
هي عبارة عن مكان في ذاكرة الجهازة يستخدم لتخزين
البيانات أو الم لوماتة وسميت متغيرات لإمكانية تغيير
قيمها أثناي سير البرنامج. والمتغيرات عدة أنواع منها
ال ددية ومنها الحرفية.
0 = false :
في لغة سي ي تبر الص ر قيمة خاطئة false وأن أي قيمة
أخرى ت تبر صحيحة true .
6. القراءة من لوحة المفاتيح
قرا ة حرف واحد:
- الإجراي getchar
- الإجراي getche
- الإجراي getch
قرا ة مجموعة من الأحرف:
- الإجراي gets
لتستخدم هذا الإجراي مرر له مص وفة حروف مثلا
بهذا الشكل :
char string[80];
gets(string);
7. /*
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
8. مثال على استخدام getch و getche
// لاح أن هذين الإجرايين غير متوافقين مع مكتبة
QuickWin
#include <stdio.h>
#include <conio.h> // لازم ل مل الإجرايين
void main(void)
{
char ch;
printf("please type a letter: ");
ch = getch();
printf("nyou typed:%ctASCII No:%d.nn",ch,ch);
printf("please type another letter: ");
ch = getche();
printf("nyou typed:%ctASCII No:%d.n",ch,ch);
system("PAUSE");
}
10. القراءة من لوحة المفاتيح- 2
الإجرا scanf :
يتيح لك هذا الإجراي مرونة كبيرة حيث
يمكنك من قراية حرف واحد أو مجموعة
حروف أو أعداد صحيحة أو غيرها .
مثلا:
int num;
scanf("%d", &num);
المعامل & :
يستخدم للحصول على عنوان المتغير في
الذاكرة.
11. مثال 1 على الإجراء scanf
#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("nnThe string was: %sn", string);
printf("The number was: %dn", num);
printf("The character was: %cn", ch);
system("PAUSE"); }
12. مثال 2 على الإجراء scanf
#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");
}
13. القراءة من لوحة المفاتيح- 3
• رغم أن الإجراي scanf يستخدم لقراية مجموعة من
الحروفة إلا أنه يتطلب أن تكون الحروف التي تدخلها
متصلة ولا ت صل بينها بحرف المسافةة فهو ي تبر المسافة
حرفا فاصلا فيتوقف عن قراية ما ب دها. فيترك الأحرف
المتبقية التي ربما يكتبها المستخدم ب د المسافة في الذاكرة
الوسيطة الخاصة بلوحة الم اتيح buffer ة لذلك يستخدم
الأجراي fflush(stdin); الذي يقوم بإفراغ الذاكرة
الوسيطة.
• يمكن استخدام الإجراي scanf لقراية عدة بيانات في عبارة
واحدةة مثلا:
scanf("%d/%d/%d", &day,&month,&year);
• ملاح ة: للتأكد من أن scanf قام بالمطلوب منه نستخدم
ب دها printf ليطبع كل قيمة على حدة.
14. بنى التحكم
التركيبات الشرطية
conditional structures
تقوم بتن يذ جزي م ين من البرنامج إذا تحقق شرط ما. فإذا
لم يتحقق الشرطة فإنك تتخطى هذا الجزي.
ما هو الشرط؟
الشرط condition : هو أن تختبر قيمتين لتحدد علاقة
أحدهما بالآخر.
الصيغة العامة للتركيب الشرطي:
إذا كان الشرط صحيحاً ن ذ
الناتج = (الشرط ) ? الاختيار الأول : الاختيار الثاني ;
result = (condition) ? var1 : var2 ;
إذا كان الشرط خاطئاً ن ذ
15. بنى التحكم
التركيبات الشرطية
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");
}
16. التركيب if
وهو أيضا من التركيبات الشرطية المشهورة جدا في
عالم البرمجة وفي جميع اللغات البرمجية.
الصيغة العامة للتركيب if :
إذا تحقق الشرط فإن البرنامج ين ذ عبارات if ة أما إذا كان
الشرط خاطئاً فإن البرنامج يتجاهل عبارات if وينتقل حينها
إلى ما ب دها من عبارات البرنامج.
بنى التحكم
التركيبات الشرطية
conditional structures
if (condition)
{
statements ;
عبارة واحدة أو أكثر
}
17. التركيب if
الهيكل الخوارزمي للتركيب if :
بنى التحكم
البداية
هل الشرط
صحيح ؟
ن عبارا if
ن باقي عبارا البرنامج
نعم
لا
النهاية
18. #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