SlideShare a Scribd company logo
1 of 201
Download to read offline
- 1 -
m.hussein1389@gmail.com
@mo7amed-hussein
@m_hussein
- 2 -
‫الكتاب‬ ‫مع‬ ‫مرفقة‬ ‫وجودها‬ ‫عدم‬ ‫حالة‬ ‫في‬ ‫بالكتاب‬ ‫الخاصة‬ ‫الاكواد‬ ‫رابط‬
easy
-
made
-
language
-
hussein/c
-
https://github.com/mo7amed
- 3 -
- 4 -
Table of Contents
‫م‬
‫قدمة‬ .................................................................................................................................................................................................. - 7 -
‫االدوات‬
‫المستخدمة‬ ............................................................................................................................................................................. - 8 -
‫ما‬
‫قبل‬ Hello World......................................................................................................................................................................... - 8 -
‫الدالة‬
‫االساسية‬ main function :......................................................................................................................................................... - 9 -
‫الطباعة‬
‫علي‬
‫الشاشة‬ Hello World ....................................................................................................................................................... - 9 -
-
‫طباعة‬
‫علي‬
‫اكثر‬
‫من‬
‫سطر‬ ................................................................................................................................................................ - 12 -
-
‫الـ‬ escape sequences............................................................................................................................................................... - 13 -
‫الخوارزميات‬Algorithms................................................................................................................................................................ - 13 -
‫الخالصة‬........................................................................................................................................................................................ - 15 -
-
‫سؤال‬
‫وجواب‬ ................................................................................................................................................................................ - 16 -
‫المتغيرات‬........................................................................................................................................................................................... - 19 -
‫الذاكرة‬ Memory........................................................................................................................................................................... - 19 -
‫وحدات‬
‫التخزين‬ Storage units........................................................................................................................................................ - 20 -
‫المتغيرات‬Variables ..................................................................................................................................................................... - 20 -
‫متغيرات‬
‫االعداد‬
‫الصحيحة‬ Integers variable..................................................................................................................................... - 21 -
‫متغيرات‬
‫االعداد‬
‫الحقيقية‬ floating-point variables ............................................................................................................................ - 24 -
‫متغير‬
‫الحروف‬ characters ............................................................................................................................................................ - 25 -
‫الثوابت‬constants ......................................................................................................................................................................... - 28 -
-
‫العمليات‬
‫الحسابية‬ arithmetic operators ..................................................................................................................................... - 29 -
-
‫سؤال‬
‫وجواب‬ ................................................................................................................................................................................ - 30 -
‫الرموز‬operators ............................................................................................................................................................................. - 33 -
‫رموز‬
‫العمليات‬
‫الحسابية‬ arithmetic operators: ............................................................................................................................... - 33 -
‫رموز‬
‫العمليات‬
‫العالقية‬ relational operators:................................................................................................................................... - 33 -
‫رموز‬
‫ال‬
‫عمليات‬
‫المنطقية‬ logical operators........................................................................................................................................ - 34 -
‫مؤثرات‬
‫الزيادة‬
‫والنقصان‬ increment and decrement operators...................................................................................................... - 36 -
‫رموز‬
‫خاصة‬
‫بالبتات‬ bitwise operators............................................................................................................................................ - 37 -
‫مؤثرات‬
‫تعين‬
‫القيم‬ assignment operators....................................................................................................................................... - 38 -
‫مؤثر‬
‫التحويل‬
‫من‬
‫نوع‬
‫الخر‬ cast operator: ....................................................................................................................................... - 39 -
‫الـعبارة‬
‫الجبرية‬ expressions............................................................................................................................................................ - 39 -
‫االسبقية‬
‫في‬
‫حساب‬
‫قيمة‬
‫الـ‬ expression .............................................................................................................................................. - 40 -
‫استخدامات‬
‫المؤثرات‬
‫الخاصة‬
‫بالبتات‬ ..................................................................................................................................................... - 40 -
‫الخالصة‬........................................................................................................................................................................................ - 45 -
‫سؤال‬
‫وجواب‬ .................................................................................................................................................................................. - 45 -
- 5 -
‫التحكم‬
‫البرنامج‬ ‫سير‬ ‫في‬ ......................................................................................................................................................................... - 48 -
‫الـ‬statement block.................................................................................................................................................................... - 48 -
‫التحكم‬
‫في‬
‫سير‬
‫البرنامج‬ program control.......................................................................................................................................... - 48 -
-
‫جملة‬
‫الشرط‬ if ............................................................................................................................................................................ - 48 -
‫جملة‬
‫الشرط‬ switch ....................................................................................................................................................................... - 58 -
-
‫تعديل‬
‫الحلقات‬
‫باستخدام‬ break & continue ..................................................................................................................................... - 69 -
‫الخالصة‬........................................................................................................................................................................................ - 73 -
‫سؤال‬
‫وجواب‬ .................................................................................................................................................................................. - 74 -
‫امثلة‬
‫عملية‬ ................................................................................................................................................................................... - 77 -
‫سؤال‬
‫وجواب‬ ................................................................................................................................................................................ - 105 -
‫المؤشرات‬pointers......................................................................................................................................................................... - 107 -
‫الخالصة‬...................................................................................................................................................................................... - 116 -
- ‫الدوال‬ functions........................................................................................................................................................................... - 118 -
-
‫مجال‬
‫المتغيرات‬ variable scope ...................................................................................................................................................... - 124 -
‫الخالصة‬ ......................................................................................................................................................................................... - 136 -
‫التعامل‬
‫الملفات‬ ‫مع‬ .............................................................................................................................................................................. - 150 -
-
‫انواع‬
‫الملفات‬ .................................................................................................................................................................................. - 162 -
‫الخالصة‬.......................................................................................................................................................................................... - 168 -
‫التوجيهات‬Preprocessor.................................................................................................................................................................. - 170 -
‫الخالصة‬.......................................................................................................................................................................................... - 179 -
‫الدوال‬
‫المتقدمة‬ ‫والمؤشرات‬ ................................................................................................................................................................... - 181 -
-
‫البنية‬
‫ذاتية‬
‫المرجعية‬ self-referential structure ................................................................................................................................ - 194 -
‫الخالصة‬.......................................................................................................................................................................................... - 194 -
‫امثلة‬
‫عملية‬ ........................................................................................................................................................................... - 196 -
‫المراجع‬........................................................................................................................................................................................... - 200 -
- 6 -
- 7 -
‫يقذيخ‬
‫اع‬‫ش‬‫الاؾ‬ ‫مخػذدة‬ ‫لؿت‬ ‫هي‬ ‫ي‬ ‫الس‬ ‫لؿت‬
general-purpose
‫ال‬ ً‫م‬ ‫مػحن‬ ‫لىىع‬ ‫مىحهت‬ ‫ليعذ‬ ‫ار‬ ,
‫بىظام‬ ‫اسجباؾها‬ ً‫م‬ ‫الشؾم‬ ‫غلي‬ َ‫ورل‬ , ‫خؿبيهاث‬
‫اليىهٌغ‬
UNIX
‫املترحماث‬‫جؿىيش‬ ‫في‬ ‫حعخخذم‬ ‫النها‬ ‫الاهظمت‬ ‫بشمجت‬ ‫بلؿت‬ ‫ايػا‬ ‫وحعمي‬ , ‫ي‬ ‫الس‬ ‫بلؿت‬ ‫به‬ ‫الخاضت‬ ‫امج‬‫ر‬‫الب‬ ‫ومػظم‬ ‫الىظام‬‫جؿىيش‬ ‫جم‬ ‫خيث‬
‫يك‬ ‫ان‬ ‫يشيذ‬ ‫مارا‬ ‫اليػشف‬ ً‫م‬ ‫يخػلمها‬ ‫ي‬ ‫الس‬ ‫لؿت‬ ‫ان‬ " ‫نيل‬ ‫ونذيما‬ , ‫وؾحرها‬ ‫الدشؿيل‬ ‫واهظمت‬
" ‫ػل‬
‫هما‬ ‫لها‬ ‫ظابهخحن‬ ‫لؿخحن‬ ً‫م‬ ‫حاء‬ ‫ي‬ ‫الس‬ ‫لؿت‬ ‫جؿىس‬ ‫ان‬,
BCPL
‫و‬
B
,
BCPL
‫ظىت‬ ‫جؿىيشها‬ ‫جم‬
1967
‫سيدشاسد‬ ً‫ماسج‬ ‫بىاظؿت‬
Martin Richards
‫في‬ ,
1970
‫ن‬‫جىمعى‬ ‫يحن‬ ‫نام‬
KenThompson
‫لؿت‬‫بخؿىيش‬
B
‫في‬ ‫يىهٌغ‬ ‫هظام‬ ً‫م‬ ‫الاوليت‬ ‫اليسخت‬ ‫لٌخابت‬ ‫واظخخذمها‬
Bell Laboratories
‫ا‬ ‫ًلخا‬ ,
‫ظميذ‬ ‫ولزا‬ ‫للبياهاث‬ ‫اهىاع‬ ‫بهما‬ ًٌ‫ي‬ ‫لم‬ ‫للؿخحن‬
“typeless”
‫خيث‬
‫البياهاث‬ ‫في‬‫غىطش‬ ‫ًل‬ ‫يشؿل‬
2
. ‫الزايشة‬ ‫في‬ ‫بايذ‬
‫ي‬ ‫الس‬‫جؿىيش‬ ‫جم‬
‫بػذ‬
‫لؿت‬
B
‫ي‬ ‫سيدص‬ ‫ي‬ ‫دييس‬ ‫بىاظؿت‬
DennisRitchie
‫الاظخخذام‬ ‫شائػت‬ ‫اللؿت‬ ‫اضبدذ‬ , ‫ي‬‫اخش‬ ‫وظماث‬ ‫للبياهاث‬ ‫اهىاع‬ ‫اغاقت‬ ‫جم‬ ‫خيث‬
‫مٌخباث‬‫جؿىيش‬ ‫الي‬ َ‫رل‬ ‫وادي‬
‫الهياظيت‬ ‫اليسخت‬ ‫حػشيل‬ ‫جم‬ ‫لزا‬ ‫بػػها‬ ‫مؼ‬ ‫مخىاقهت‬ ًٌ‫ج‬ ‫لم‬ ‫اللؿت‬ ً‫م‬ ‫اليسخ‬ َ‫وجل‬ ‫ي‬ ‫الس‬ ‫لؿت‬ ً‫م‬ ‫مخخلكت‬ ‫ليسخ‬ ُ‫ودوا‬
‫اللؿت‬ ً‫م‬
ANSIc
‫ظىت‬
1989
‫للمػايش‬ ‫الامشيٍي‬ ‫املػهذ‬ ‫بىاظؿت‬
American NationalStandards Institute
‫غام‬ ‫في‬ ,
1999
‫اليسخت‬ ‫جدذيث‬ ‫جم‬
‫وجىظيؼ‬ ‫جدعحن‬ ‫جم‬ ‫خيث‬ ‫الهياظيت‬
‫اليسخت‬ َ‫جل‬ ‫وحعمي‬ ‫الخطائظ‬ ‫بػؼ‬
C99
‫بحن‬ ‫ن‬‫بالخػاو‬ ‫الػالم‬ ‫اهداء‬ ‫حميؼ‬ ‫في‬ ‫اللؿت‬ ‫اؾالم‬ ‫جم‬ َ‫رل‬ ‫بػذ‬ ,
‫وامل‬‫للمػايش‬ ‫الامشيٍي‬ ‫املػهذ‬
‫ى‬
‫ـ‬‫ب‬ ‫وظميذ‬‫للمػايش‬ ‫الػامليت‬ ‫ظمت‬
ISO c
" ‫يخاب‬ ‫ي‬ ‫الس‬ ‫لؿت‬ ‫احؼ‬‫ش‬‫م‬ ‫اهم‬ ً‫م‬ ,
TheC Programming Language
‫للمؤلكان‬ "
‫يشهيؿان‬ ‫وبشيان‬ ‫ي‬ ‫حص‬‫س‬ ‫دييغ‬
Brian W. Kernighanand Dennis M. Ritchie
‫ي‬ ‫سيدص‬ ‫ي‬ ‫دييس‬
- 8 -
‫انًسزخذيخ‬ ‫االدواد‬
‫هي‬ ‫الٌخاب‬ ‫هزا‬ ‫في‬ ‫املعخخذمت‬ ‫الاداة‬
Code Blocks
‫يعمي‬ ‫الادواث‬ ً‫م‬ ‫الىىع‬ ‫وهزا‬
IDE
‫الخؿىيش‬ ‫بيئت‬
ً‫م‬ ‫الاداة‬ ‫هزه‬ ‫غلي‬ ُ‫الخطى‬ ًٌ‫ويم‬ ‫ي‬‫اخش‬ ‫وادواث‬ ‫ومترحم‬ ‫اًىاد‬ ‫مدشس‬ ‫غلي‬ ‫ي‬‫جدخى‬ ‫خيث‬ ‫املخٍاملت‬
‫بها‬ ‫الخاص‬ ‫املىنؼ‬
http://www.codeblocks.org
‫مشل‬ ‫ي‬‫اخش‬ ‫ادواث‬ ‫اظخخذام‬ ًٌ‫ويم‬
eclipse
‫او‬
Pellse c
‫او‬
visual studio
.‫ؾحرها‬‫او‬
‫قجم‬ ‫يب‬
Hello World
‫ـ‬‫ـ‬‫ب‬ ‫جبذا‬ ‫البرمجت‬ ‫لؿاث‬ ‫حػليم‬ ‫يخب‬ ‫اؾلب‬
HelloWorld
ً ‫بؿباغت‬ ‫يهىم‬ ‫والزي‬
‫لمت‬
HelloWorld
‫غلي‬
‫بخؿىة‬ َ‫رل‬ ‫نبل‬ ‫ظيبذا‬ ‫ولٌىىا‬ ‫الشاشت‬
emptyworld
: ‫ًالخالي‬ ,

‫نائمت‬ ً‫م‬ ‫حذيذ‬ ‫مششوع‬ ‫باوشاء‬ ‫نم‬
File
‫واختر‬
Project

‫منها‬‫اختر‬ ‫هاقزة‬ َ‫ل‬‫ظخظهش‬
Console Application

‫اختر‬
C
‫الهائمت‬ ً‫م‬

‫املششوع‬ ‫اظم‬ ‫بٌخابت‬ ‫نم‬
Project title
‫حشاء‬ ‫يما‬

‫انهاء‬ ‫اغؿـ‬
finish
‫ملل‬ ‫باوشاء‬ ‫البرهامج‬ ‫ظيهىم‬
main.c
‫جدذ‬
sources ,
‫قاسؽ‬ ‫ليطبذ‬ ‫مدخىياجه‬ ‫وخزف‬ ‫امللل‬ ‫بكخذ‬ ‫نم‬
blankfile
‫للبرهامج‬ ‫بىاء‬ ‫بػمل‬ َ‫رل‬ ‫بػذ‬ ‫ونم‬ ,
build
‫في‬ ‫باالظكل‬ ‫الخؿأ‬ ‫هزا‬ ‫ظخجذ‬
Build messages
undefined referenceto`WinMain@16
error:ldreturned 1exitstatus
‫الخؿأ‬
‫ان‬ ‫هىا‬ ‫الخؿأ‬ , ‫الخؿا‬ ‫هكغ‬‫ويظهش‬ ‫املششوع‬ ‫لهزا‬ ‫ي‬‫اخش‬ ‫وملكاث‬ ‫الاًىاد‬ ً‫م‬‫الاظؿش‬ ‫اث‬‫ش‬‫غش‬ ‫هػيل‬ ‫ان‬ ًٌ‫املم‬ ً‫قم‬ ‫قاسؽ‬ ‫امللل‬ ‫ان‬ ‫ليغ‬ ‫هىا‬
‫ـ‬‫ـ‬‫ب‬ ‫حعمي‬ ‫والتي‬ ‫البرهامج‬ ‫جىكيز‬ ‫غىذها‬ ‫يبذا‬ ‫والتي‬ ‫الاظاظيت‬ ‫الذالت‬ ‫غلي‬ ‫ي‬‫اليدخى‬ ‫امللل‬
entrypoint

‫ال‬ ‫ا‬‫ش‬‫ان‬ , ‫مشوهت‬ ‫بٍل‬ ‫الخؿأ‬ ‫سظائل‬ ‫مؼ‬ ‫حػامل‬
‫حىحل‬ ‫في‬‫هى‬ ‫يما‬ ‫غىه‬ ‫بالبدث‬ ‫نم‬ ‫ئ‬ ‫لص‬ ‫جطل‬ ‫لم‬ ‫وارا‬ ‫الخؿا‬ ‫ظبب‬ ‫لخػشف‬ ‫حيذا‬ ‫خؿأ‬

‫جيعاه‬ ً‫ل‬ ‫ؾالبا‬ , ‫الخؿأ‬ ‫سظائل‬ ً‫م‬ ‫ظدخػلمه‬ ‫ما‬

‫يخؿئ‬ ‫الجميؼ‬ ‫مدترف‬‫او‬ ‫مبخذئ‬ ‫يىذ‬ ‫ظىاء‬ ‫مشة‬ ُ‫او‬ ً‫م‬ ‫اخؿاء‬ ‫بال‬ ‫ًىد‬ ‫جٌخب‬ ‫ان‬ ‫جخىنؼ‬ ‫ال‬
- 9 -
‫االسبسيخ‬ ‫انذانخ‬
main function :
‫ي‬ ‫الس‬ ‫بلؿت‬ ‫مٌخىب‬ ‫بشهامج‬ ‫لٍل‬
‫اظاظيت‬ ‫دالت‬
main function
‫بلؿت‬ ‫خاضت‬ ‫ليعذ‬ ‫الاظاظيت‬ ‫الذالت‬ ‫قٌشة‬ ‫ان‬ ‫وللخىغيذ‬ ‫البرهامج‬ ‫جىكيز‬ ‫غىذها‬ ‫يبذا‬ ‫والتي‬
‫سئعيت‬ ‫دالت‬ ‫ي‬‫الاخش‬ ‫هي‬ ‫لذيها‬ ‫شاسب‬ ‫ي‬ ‫والس‬ ‫الجاقا‬ ‫مشل‬ ‫ي‬‫الاخش‬ ‫قاللؿاث‬ , ‫قهـ‬ ‫ي‬ ‫الس‬
‫ًالخالي‬ ‫ليطبذ‬ ‫العابو‬ ‫امللل‬ ‫غلي‬ ‫بالخػذيل‬ ‫نم‬
int main()
{
return0;
}
01 - intro01.c
‫ـ‬‫ل‬‫ا‬ ‫هاقزة‬‫وجظهش‬ , ‫اخؿاء‬ ‫ن‬‫بذو‬ ‫يػمل‬ ‫اهه‬ ‫ظخجذ‬ ‫البرهامج‬ ‫بدشؿيل‬ ‫نم‬
Console
‫غلي‬ ‫ي‬‫يدخى‬ ‫قهـ‬‫هى‬ ‫مكيذ‬ ‫ئ‬ ‫ش‬ ‫بػمل‬ ‫يهىم‬ ‫ال‬ ‫قػليا‬ ‫البرهامج‬ ‫هزا‬ ,
‫و‬ ‫يؤدي‬ ‫بشهامج‬ ‫يخابت‬ ‫في‬ ‫هبذأ‬ ‫لٍي‬ ‫اهىا‬ ‫حػشقه‬ ‫ان‬ ‫اسيذى‬ ‫ما‬ ًٌ‫ول‬ ‫الخها‬ ُ‫الذوا‬ ‫ششح‬ ‫الي‬ ‫م‬‫ظيخؿش‬ , ‫الاظاظيت‬ ‫الذالت‬
‫الخاضت‬ ‫الاًىاد‬ ‫ظىػؼ‬ ‫مػيىت‬ ‫ظيكت‬
‫الانىاط‬ َ‫جل‬ ‫بحن‬
{}
curlybrackets
‫انشبشخ‬ ‫عهي‬ ‫انطجبعخ‬
Hello World
‫ـ‬‫ـ‬‫ل‬‫ا‬ ‫شاشت‬ ‫غلي‬ ‫للؿباغت‬ ‫بشهامج‬ ‫بٌخابت‬ ‫ظىهىم‬ ‫الان‬
Console
‫حملت‬
Hello World
‫الخالي‬ ‫الٍىد‬ ‫بٌخابت‬ ‫نم‬,
#include<stdio.h>
int main()
{
printf("HelloWorld");
return0;
}
HelloWorld
01 - intro02.c
- 10 -
ُ‫الاو‬ ً‫ظؿشي‬ ‫في‬ ‫الا‬ ‫ظابهه‬ ً‫غ‬ ‫اليخخلل‬ ‫البرهامج‬
#include<stdio.h>
‫امللل‬ ‫باغاقت‬‫العؿش‬ ‫هزا‬ ‫يهىم‬
stdio.h
‫اظيت‬‫ش‬‫ال‬ ‫امللكاث‬ ‫حعمي‬ ‫امللكاث‬ ‫هزا‬, ‫املششوع‬ ‫الي‬
Headerfiles
‫زىابذ‬ ‫غلي‬ ‫ي‬‫وجدخى‬,
‫وهمارج‬
prototypes
ُ‫دوا‬
‫؟‬ ‫جدذيذا‬ ‫امللل‬ ‫هزا‬ ً‫غ‬ ‫مارا‬ , ) ‫الخها‬ ‫لهزا‬ ‫م‬‫ظيخؿش‬ ( ‫الٍىد‬ ‫في‬ ‫اليها‬ ‫هدخاج‬
stdio
‫ـ‬‫ـ‬‫ل‬‫اخخطاس‬ ‫هي‬
Standardinput andoutput
‫هزا‬ ‫ان‬ ‫اي‬
‫ًل‬ ‫ي‬‫يدى‬ ‫امللل‬
‫همارج‬
‫الخاضت‬ ُ‫الذوا‬
‫والخشج‬ ‫بالذخل‬
‫وظيكت‬.
#include<>
‫الٍىد‬ ‫الي‬ ‫اظيت‬‫ش‬‫ال‬ ‫امللكاث‬ ‫اغاقت‬ ‫هي‬
‫الشاوي‬
printf("Hello World");
‫امللل‬ ً‫غم‬ ‫املىحىدة‬ ُ‫الذوا‬ ‫اخذ‬ ‫هي‬ ‫الذالت‬ ‫هزا‬
stdio.h
‫ـ‬‫ـ‬‫ل‬‫اخخطاس‬ ‫وهي‬ ‫الخشج‬‫او‬ ‫الشاشت‬ ‫غلي‬ ‫الؿباغت‬ ‫هي‬ ‫ووظيكتها‬
Printformat
‫ؾباغت‬ ‫اي‬
‫الشاشت‬ ‫غلي‬ " "‫الانخباط‬ ‫مابحن‬ ‫بؿباغت‬ ‫يهىم‬ ‫الزي‬ ‫ابعؿها‬ ‫وهزا‬ ‫الخها‬ ‫اه‬‫ر‬‫ظج‬ ‫اظخخذام‬ ً‫م‬‫ايتر‬ ‫ولها‬, ‫الشاشت‬ ‫غلي‬ ‫مػحن‬ ‫جيعيو‬
‫هزه‬
: ‫اء‬‫ض‬‫اح‬ ‫زالزت‬ ً‫م‬ ‫ن‬‫جخٍى‬ ‫الذالت‬

‫الذالت‬ ‫اظم‬
printf

‫جدخاج‬ ‫ال‬ ُ‫دوا‬ ‫هجذ‬ ‫ان‬ ًٌ‫يم‬ ‫وظائـ‬ ‫الي‬ ‫الذالت‬ ‫جدخاج‬ ‫ان‬ ‫ششؾا‬ ‫وليغ‬, , ‫الذالت‬ ‫جدخاحها‬ ‫التي‬ ‫الىظائـ‬ ُ‫الظخهبا‬ ‫وحعخخذم‬ )( ‫الانىاط‬
ُ‫للذوا‬ ‫ممحزة‬ ‫قهي‬, ‫الانىاط‬ ً‫غ‬ ‫الاظخؿىاء‬ ًٌ‫يم‬ ‫ال‬ ًٌ‫ول‬, ‫وظائـ‬ ‫الي‬

‫الهيم‬ ‫وهي‬ ‫الىظائـ‬
‫ؾباغخه‬ ‫اد‬‫ش‬‫امل‬ ‫الىظ‬ ‫خالخىا‬ ‫في‬ ‫مهمتها‬ ‫الداه‬ ‫الذالت‬ ‫اليها‬ ‫جدخاج‬ ‫التي‬

‫املىهىؾت‬ ‫الكاضلت‬
semicolon ;
‫ي‬ ‫الس‬ ‫في‬‫العؿش‬‫او‬ ‫الخػليمت‬ ‫نهايت‬ ‫حػني‬ ‫وهي‬
statementend
‫حذيذ‬‫ظؿش‬ ‫باغاقت‬ ‫جهىم‬ ‫الذالت‬ ‫هل‬‫هى‬ ‫بالؿباغت‬ ‫الخاضت‬ ُ‫بالذوا‬ ‫املهمت‬ ‫الاشياء‬ ً‫م‬
newline
‫ال‬ ‫ؾباغت‬ ‫بػذ‬
‫قمشال‬ ‫ال‬ ‫الذالت‬ َ‫جل‬ ‫خالت‬ ‫في‬, ‫ال‬ ‫ام‬ ‫ىظ‬
‫ي‬‫اخش‬ ‫بؿشيهت‬ ‫يخابخه‬ ًٌ‫يم‬ ‫العابو‬ ‫الٍىد‬
- 11 -
#include<stdio.h>
int main()
{
printf("Hello ");
printf("World");
return0;
}
HelloWorld
01 - intro03.c
-
‫حػليمت‬ ً‫م‬‫ايثر‬ ‫يخابت‬ ًٌ‫يم‬
statement
‫بش‬‫العؿش‬ ‫هكغ‬ ‫في‬
‫قاضلت‬ ‫ـ‬‫ـ‬‫ب‬ ‫بينها‬ ‫الكطل‬ ‫شؽ‬
,
‫مىهىؾت‬ ‫قاضلت‬‫او‬
;
printf("Hello "),printf("World");
‫او‬
printf("Hello ");printf("World");
-
‫اغاقت‬ ‫الي‬ ‫ظىدىخاج‬ ًٌ‫ول‬‫ظؿش‬ ً‫م‬‫ايثر‬ ‫غلي‬ ‫جٌخب‬ ‫ان‬ ‫الىاخذة‬ ‫للخػليمت‬ ًٌ‫يم‬ ‫ايػا‬

anti-slash
" "‫الانخباط‬ ‫غالمتي‬ ‫بحن‬ ‫الكطل‬ ‫جم‬ ‫ارا‬
printf("Hello 
World");
-
‫انزعهيقبد‬
Comments
:
‫يؤدي‬ ‫ييل‬‫او‬ ‫الٍىد‬ ‫هزا‬ ‫يػمل‬ ‫ييل‬ ‫حػشف‬ ‫ان‬ ‫اخخجذ‬ ‫الاظباب‬ ً‫م‬ ‫ظبب‬ ‫الي‬ ً‫الضم‬ ً‫م‬ ‫قترة‬ ‫وبػذ‬ , ‫مػيىت‬ ‫وظيكت‬ ‫يؤدي‬ ‫بشهامجا‬ ‫يخبذ‬ َ‫اه‬ ‫لىكترع‬
‫الا‬ ‫غلي‬ ‫اث‬‫ش‬‫بالػش‬‫اظؿش‬ ً‫غ‬ ‫هخدذر‬ ً‫هد‬ ‫باالغلي‬ ‫يخبىاه‬ ‫الزي‬ ‫البعيـ‬ ‫البرهامج‬ ً‫م‬ َ‫دغ‬ , ‫وظيكخه‬
‫ال‬ ‫بالؿبؼ‬ ‫ونتها‬ ‫الٍىد‬ ‫يػمل‬ ‫ييل‬ ‫ظخكهم‬ ‫هل‬, ‫نل‬
‫خاضت‬ ‫يىما‬ ‫الاًىاد‬ ‫اخذ‬ ‫ضادقذ‬ َ‫لػل‬, ‫الٍىد‬ ‫يكهم‬ ‫ان‬ ‫ظبب‬ ‫الي‬‫الاخش‬‫هى‬ ‫اخخاج‬ ‫الزي‬ َ‫اضذنائ‬ ‫الخذ‬ ‫اسظلخه‬ , ‫الٍىد‬ ‫يخابت‬ ‫بػذ‬ َ‫اه‬ ‫لىكترع‬
open
source
‫واضر‬ ‫الٍىد‬ ‫لجػل‬, ‫الخػليهاث‬ ‫اهميت‬ ‫جاحي‬ ‫هىا‬ ً‫وم‬ , ‫يػمل‬ ‫ييل‬ ‫جكهم‬ ‫ولم‬
/*
author : mohamed hussein
date: 1/9/2017, 10:10:00pm
description: hello world program
*/
- 12 -
#include<stdio.h>//includeheaderfile
int main()
{
//print helloword statement
//usingprintffunction
printf("HelloWorld");
return0;
}
HelloWorld
01 - intro04.c
‫البرهامج‬ ‫بىاء‬ ‫ازىاء‬ ‫ججاهلها‬ ‫يخم‬ ‫الخػليهاث‬ ‫ان‬ ‫ارا‬ , ‫هي‬ ‫يما‬ ‫ظدبهي‬ ‫البرهامج‬ ‫هديجت‬
build
‫مخػذدة‬ ‫الىطىص‬ ‫اوال‬ ‫الخػليهاث‬ ً‫م‬ ‫هىغحن‬ ‫اظخخذمىا‬ ‫هىا‬,
‫بحن‬ ‫جىغؼ‬ ‫ان‬ ‫يجب‬ ‫والتي‬‫الاظؿش‬
/* */
‫يعبهه‬ ‫والزي‬ ‫الىاخذ‬‫بالعؿش‬ ‫الخػليو‬ ‫زاهيا‬ ,
//
‫ال‬ ًٌ‫ول‬ ‫الخػليهاث‬ ‫وغؼ‬ ‫غلي‬ ‫نيىد‬ ‫يىحذ‬ ‫ال‬,
‫بديث‬ ‫منها‬‫جٌثر‬
. ‫الاًىاد‬ ‫بػؼ‬ ‫وبها‬ ‫حػليهاث‬ ‫ًان‬‫لى‬ ‫يما‬ ‫الٍىد‬‫يبذو‬
-
: ‫سطش‬ ٍ‫ي‬ ‫اكثش‬ ‫عهي‬ ‫طجبعخ‬
‫ًلمت‬ ‫ؾباغت‬ ‫اسدها‬‫لى‬ ‫مارا‬
ABC
‫الذالت‬ ‫هكغ‬ ‫باظخخذام‬ َ‫رل‬ ‫قػل‬ ‫يمٌىىا‬ , ‫مىكطل‬‫ظؿش‬ ‫في‬ ‫خشف‬ ‫ًل‬ ‫مخكشنت‬
printf
‫الشمض‬ ‫اغاقت‬ ‫مؼ‬,
(n)
n
‫هي‬
‫اخخطاس‬
new line
‫حذيذ‬‫ظؿش‬ ‫ـ‬‫ـ‬‫ل‬
#include<stdio.h>
int main()
{
//usingntoaddnewline
printf("AnBnC");
return0;
}
A
B
C
01 - intro06.c
- 13 -
-
‫انـ‬
escape sequences
( ‫بػالمت‬ ‫يبذا‬ ‫منها‬ ‫يال‬ ‫الخشوف‬ ً‫م‬ ‫مجمىغت‬

‫مػحن‬ ‫مػني‬ ‫منها‬ ‫وللٍل‬ )
‫الخالي‬ ُ‫الجذوا‬ ‫في‬ ‫يما‬
n
‫حذيذ‬‫ظؿش‬
?
‫؟‬ ‫حػني‬
t
‫مكخاح‬ ‫غلي‬ ‫الػؿـ‬ ‫مشل‬ ‫اقهيت‬ ‫معاقت‬
Tab
b
‫غاديت‬ ‫معاقت‬

‫حػني‬

v
‫مشل‬ ‫اظيت‬‫س‬ ‫معاقت‬
Tab
‫ي‬ ‫اس‬‫س‬ ‫بشٍل‬ ًٌ‫ول‬ ‫مكخاح‬
„
‫حػني‬
‘
ooo
‫الشماوي‬ ‫بالىظام‬ ‫سنم‬
”
" ‫حػني‬
xhh
‫غشش‬ ‫ي‬ ‫العذاس‬ ‫بالىظام‬ ‫سنم‬
f
‫حعمي‬
formfeed
r
‫حعمي‬
Carriage return
‫ـ‬‫ل‬‫ا‬ ‫جهىم‬
t
‫معاق‬ ‫باغاقت‬
‫مكخاح‬ ‫غلي‬ ‫للػؿـ‬ ‫معاويت‬ ‫اقهيت‬ ‫ت‬
Tab
name : mohamed
printf("name : t mohamed n");
‫حعخخذم‬
 ,„ ,”,?
‫جليها‬ ‫التي‬ ‫الخشوف‬ ‫لؿباغت‬
name : mohamed 
printf("name :  mohamed  n");
name : ‘mohamed„
printf("name : ' mohamed ' n");
name : “mohamed”
printf("name : " mohamed " n");
how areyou ?
printf("how are you ? n");
‫ال‬ ُ‫املشا‬ ‫في‬ ‫يما‬ ,‫هى‬ ‫يما‬ ‫يبهي‬ ‫املػني‬ ًٌ‫ول‬ ‫مىكطل‬ ‫يدشف‬‫او‬ ‫الىطىص‬ ‫داخل‬ ‫جىغؼ‬ ‫الاظاط‬ ‫في‬ ‫هي‬ , ‫قهـ‬ ‫الؿباغت‬ ‫في‬ ‫حعخخذم‬ ‫ال‬ ‫هي‬ ‫وللخىغيذ‬
‫خالي‬
‫الهادم‬ ‫الكطل‬ ً‫م‬ ‫بذايت‬ ‫اث‬‫ر‬‫املخؿح‬ ‫ظيششح‬
char *msg = "OKrf";
char ch = '"';
‫انخىاسصييبد‬
Algorithms
‫املىاظب‬ ‫الخل‬ ‫ايجاد‬ ‫في‬ ‫وششع‬ َ‫رل‬ ‫وبػذ‬ ‫حيذا‬ ‫قهمها‬ ً‫م‬ ‫اوال‬ ‫البذ‬ ‫ما‬ ‫مشٍلت‬ ‫اي‬ ‫لخل‬ , ‫ما‬ ‫ملشٍلت‬ ‫خل‬ ‫هي‬ ‫بخؿىيشها‬ ‫ههىم‬ ‫التي‬ ‫امج‬‫ر‬‫الب‬ ‫اؾلب‬
‫وهزا‬ ,
‫التي‬ ‫الخؿىاث‬ ‫مجمىغت‬ ‫ايجاد‬‫هى‬ ‫واهما‬ ‫الٍىد‬ ‫يخابت‬‫هى‬ ‫ليغ‬ ‫الخل‬
‫حاءث‬ ‫هىا‬ ً‫وم‬ ‫املعخخذمت‬ ‫البرمجت‬ ‫لؿت‬ ً‫غ‬‫الىظش‬ ‫بطشف‬ ‫املشٍلت‬ ‫لخل‬ ‫ظخدبؼ‬
‫ما‬ ‫مشٍلت‬ ‫خل‬ ‫لٌخابت‬ ‫ؾشيهخحن‬ ‫وهىاى‬ ‫ما‬ ‫مشٍلت‬ ‫لخل‬ ‫املخبػت‬ ‫والخؿىاث‬ ‫اءث‬‫ش‬‫الاح‬ ً‫م‬ ‫مجمىغت‬ ‫بانها‬ ‫حػشف‬ ‫والتي‬ ‫مياث‬‫ص‬‫الخىاس‬ ‫قٌشة‬
1
-
‫يل‬‫ض‬‫امل‬ ‫الٍىد‬
Pseudocode
‫الاهجلحزي‬‫او‬ ‫ًالػشبيت‬ ‫لؿت‬ ‫باي‬ ‫الخل‬ ‫خؿىاث‬ ‫جٌخب‬ :
‫خؿىاث‬ ‫شٍل‬ ‫غلي‬ ‫مشجبت‬ ‫ن‬‫وجٍى‬ ‫مشال‬ ‫ت‬
‫ومدذدة‬ ‫واضخت‬
2
-
‫الخذقو‬ ‫مخؿـ‬
Flowchart
‫الخالي‬ ُ‫بالجذو‬ ‫واملىضخت‬ ‫مشٍلت‬ ‫اي‬ ‫خل‬ ‫لخىضيل‬ ‫غليه‬ ‫املخػاسف‬ ‫الهىذظيت‬ ُ‫الاشٍا‬ ً‫م‬ ‫مجمىغت‬ :
- 14 -
‫الهىذظيت‬ ُ‫الاشٍا‬
‫الخذقو‬ ‫بمخؿـ‬ ‫الخاضت‬
- 15 -
‫الخؿىاث‬: ُ‫مشا‬
‫الؿشيو‬ ‫لػبىس‬ ‫املخبػت‬
1
-
‫ابذا‬
2
-
‫غى‬ ‫نل‬
‫الؿشيو‬ ‫خاقت‬ ‫ذ‬
3
-
‫نادمت‬ ‫اث‬‫س‬‫ظيا‬ ‫وحىد‬ ‫غذم‬ ‫يم‬ ‫للخايذ‬‫واليعاس‬ ‫لليمحن‬‫اهظش‬
4
-
‫العابهت‬ ‫الخؿىة‬ ‫يشس‬ , ‫خالي‬‫ؾحر‬ ‫الؿشيو‬ ‫ًان‬ ‫ارا‬
5
-
‫الؿشيو‬‫اغبر‬ ‫خالي‬ ‫الؿشيو‬ ‫ًان‬ ‫ارا‬
6
-
‫اهخهي‬
1- Start
2- Stop attheedge ofthestreet
3- Lookleftandrightfor any coming cars
4- If street isn„t clear , repeat previous step
5- If street is clear , crossthe road
6- end
‫الؿشيو‬ ‫غبىس‬ ‫خؿىاث‬
‫انخالطخ‬

‫الاظاظيت‬ ‫الذالت‬ ً‫م‬ ‫ي‬ ‫الس‬ ‫في‬ ‫البرهامج‬ ‫جىكيز‬ ‫يبذا‬

‫قهـ‬ ‫واخذة‬ ‫اظاظيت‬ ‫دالت‬ ‫غلي‬ ‫ي‬‫يدخى‬ ‫ان‬ ‫ي‬ ‫س‬ ‫بشهامج‬ ‫الي‬ ‫البذ‬

‫الذالت‬ ‫حعخخذم‬
printf
‫الشاشت‬ ‫غلي‬ ‫للؿباغت‬

‫حذا‬ ‫هامت‬ ‫الخػليهاث‬
َ‫رل‬ ‫بػذ‬ ‫البرهامج‬ ‫قهم‬ ‫غلي‬ ‫حعاغذ‬ ‫قهي‬ ,

‫الخل‬ ‫ولخؿىاث‬ , ‫للمشٍلت‬ ‫واضر‬ ‫جطىس‬ ‫لذيىا‬ ‫ن‬‫يٍى‬ ‫ان‬ ‫الاًىاد‬ ‫يخابت‬ ‫في‬ ‫البذا‬ ‫نبل‬ ‫يجب‬
- 16 -
-
‫وخىاة‬ ‫سؤال‬
1
-
‫يخابت‬ ًٌ‫يم‬ ‫هل‬
Main
ً‫م‬ ‫بذال‬
main
#include<stdio.h>
intMain()
{
printf("HelloWorld");
return0;
}
-
‫بالؿبؼ‬
‫الاخشف‬ ‫لخالت‬ ‫خعاظت‬ ‫ي‬ ‫الس‬ ‫لؿت‬ ‫الن‬ َ‫رل‬ ًٌ‫يم‬ ‫ال‬
casesensitive
‫ـ‬‫ـ‬‫ق‬
Main
ً‫غ‬ ‫جخخلل‬
main
‫ظيظهش‬ ‫البرهامج‬ ‫هزا‬ ‫بدشؿيل‬ ‫نمىا‬‫ولى‬
‫الاظاظيت‬ ‫الذالت‬ ‫غلي‬ ‫ي‬‫اليدخى‬ ‫البرهامج‬ ‫بان‬ ‫ظابها‬ ‫لىا‬‫ظهش‬ ‫الزي‬ ‫الخؿأ‬
2
-
‫مشة‬ ً‫م‬‫ايثر‬ ‫الاظاظيت‬ ‫الذالت‬ ‫بٌخابت‬ ‫نمىا‬ ‫ارا‬ ‫ظيدذر‬ ‫مارا‬
#include<stdio.h>
int main()
{
printf("HelloWorld");
return0;
}
int main()
{
printf("HelloWorld");
return0;
}
-
( ‫خؿأ‬‫وظيظهش‬ ‫البرهامج‬ ‫يػمل‬ ً‫ل‬
redefinition of main
‫الذالت‬ ‫يل‬‫ش‬‫بخػ‬ ‫نمىا‬ ‫اهىا‬ ‫يػني‬ ‫والزي‬ )
main
‫ار‬ ‫ي‬ ‫الس‬ ‫في‬ ‫به‬ ‫معمىح‬‫ؾحر‬ ‫وهزا‬ ‫مشة‬ ً‫م‬‫ايثر‬
‫ا‬
‫ؾحرها‬ ‫وال‬ ‫ي‬ ‫الس‬ ‫في‬ ‫ال‬ ‫واخذ‬ ‫حػشيل‬ ‫في‬ ‫حميػا‬ ‫الذالت‬ ‫حػشيكاث‬ ‫دمج‬ ‫امٍاهيت‬ ‫لذيىا‬ ‫وليغ‬ ,‫الاظاظيت‬ ‫الذالت‬‫ظخػخبر‬ ‫قايهما‬ َ‫رل‬ ‫خذر‬‫لى‬
- 17 -
3
-
‫اظيت‬‫ش‬‫ال‬ ‫امللكاث‬ ‫باغاقت‬ ‫الخاص‬‫العؿش‬ ‫خزقىا‬ ‫ارا‬ ‫ظيدذر‬ ‫مارا‬
#include<stdio.h>
int main()
{
printf("HelloWorld");
return0;
}
-
‫جدزيش‬ ‫سظالت‬‫ظخظهش‬ ًٌ‫ول‬ , ‫البرهامج‬ ‫ظيػمل‬
warning
‫اظخخذامىا‬ ً‫م‬ ‫الخدهو‬ ‫يعخؿؼ‬ ‫لم‬ ‫املترحم‬ ‫ان‬ ‫خالضتها‬ ًٌ‫ول‬‫الخش‬ ‫مترحم‬ ً‫م‬ ‫جخخلل‬
‫للذالت‬
printf
‫الىمىرج‬ ‫يجذ‬ ‫لم‬ ‫الهه‬
prototype
‫ان‬ ‫ظيكترع‬ ‫وبالخالي‬ , )‫الخها‬ ‫(ظىػشقه‬ ‫بها‬ ‫الخاص‬
‫الىظائـ‬ ً‫م‬‫مخؿحر‬ ‫غذد‬ ‫جدخاج‬ ‫الذالت‬ َ‫جل‬
,
‫م‬‫الكش‬ ‫وظخػشف‬ ‫الخالي‬ ‫الٍىد‬ ‫حشب‬
int main()
{
printf(22);
return0;
}
- 18 -
- 19 -
‫انًزغيشاد‬
‫الاظاظيت‬ ‫الكٌشة‬ ‫جبني‬
‫الالي‬ ‫للخاظب‬
‫البياهاث‬ ً‫م‬ ‫مجمىغت‬ ‫لذيىا‬ ‫اهىا‬ ‫غلي‬
Data
‫مػالجت‬ ‫بػمل‬ ‫ههىم‬
Processing
‫مشٍلت‬ ‫ًل‬ ‫خعب‬ ‫ما‬ ‫بؿشيهت‬ ‫لها‬
‫مػل‬ ‫الي‬ ‫وجدىيلها‬
‫ىماث‬
Information
‫لها‬ ‫مػاحت‬ ‫بػمل‬ ‫ويهىم‬ ‫الاغذاد‬ ‫وهي‬ ‫املعخخذم‬ ً‫م‬ ‫بياهاث‬ ‫ياخز‬ ‫اهه‬ ‫ظىجذ‬ ُ‫يمشا‬ ‫الخاظبت‬ ‫الالت‬ ‫بشهامج‬ ‫لىاخز‬ ,
‫الىديجت‬ ‫ويػؿي‬ ‫الهعمت‬‫او‬ ‫الػشب‬‫او‬ ‫الؿشح‬‫او‬ ‫الجمؼ‬ ‫ـ‬‫ـ‬‫ي‬
‫يا‬ ‫بديث‬, ‫الشنمحن‬ ‫حمؼ‬ ‫هديجت‬ ‫ويػؿي‬ ‫سنمحن‬ ‫املعخخذم‬ ً‫م‬ ‫ياخز‬ ‫بشهامج‬ ‫يخابت‬ ‫هشيذ‬ ‫اهىا‬ ‫لىىكترع‬
‫الخالي‬ ‫الشٍل‬ ‫خذ‬
- pleaseinsertthe firstnumber: 12
- pleaseinsertthe secondnumber: 14
- theresultof 12+14is 26
‫ه‬ ‫رايشة‬ ‫لذيه‬ ‫الخاظب‬ ‫قان‬‫البشش‬ ً‫هد‬ ‫مشلىا‬ ‫جماما‬ ‫خعىا‬ ‫؟‬ ‫الجمؼ‬ ‫غمليت‬ ‫اء‬‫ش‬‫اح‬ ‫لخحن‬ ‫والشاوي‬ ُ‫الاو‬ ‫الشنم‬ ‫بهيمت‬ ‫ظىدخكظ‬ ً‫اي‬ ‫هىا‬ ُ‫العؤا‬
‫الاخش‬‫ى‬
‫اهىاغها‬ ‫اخخالف‬ ‫غلي‬
‫انزاكشح‬
Memory
: ‫منها‬ ‫هىغحن‬ ‫ويىحذ‬ ‫البياهاث‬ ً‫لخخضي‬ ‫مٍان‬ ‫هي‬ ‫الزايشة‬

‫الػشىائيت‬ ‫الزايشة‬
random access memory RAM
:
‫مخؿايشة‬ ‫رايشة‬ ‫بانها‬ ‫حػشف‬
Volatilememory
‫بمجشد‬ ‫مدخىياتها‬ ‫جكهذ‬ ‫انها‬ ‫اي‬
‫وا‬ ‫منها‬ ‫اءة‬‫ش‬‫باله‬ ‫حعمذ‬ ‫ولٌنها‬‫الخياس‬ ‫اههؿاع‬
‫غليها‬ ‫لٌخابت‬

‫قهـ‬ ‫اءة‬‫ش‬‫اله‬ ‫رايشة‬
read onlymemory ROM
:
‫مخؿايشة‬‫ؾحر‬ ‫رايشة‬ ‫بانها‬‫جخمحز‬
non-volatilememory
‫ختي‬ ‫بمدخىياتها‬ ‫جدخكظ‬ ‫انها‬ ‫اي‬
‫الخياس‬ ‫اههؿاع‬ ‫غىذ‬
‫والٌخابت‬ ‫اءة‬‫ش‬‫باله‬ ‫حعمذ‬ ‫اهىاع‬ ‫جىحذ‬ ‫الان‬ ًٌ‫ول‬ ‫قهـ‬ ‫منها‬ ‫اءة‬‫ش‬‫باله‬ ‫حعمذ‬ ‫الاظم‬‫يشحر‬ ‫وخيث‬ ‫الاضل‬ ‫في‬ ‫وهي‬
‫جخٍى‬
‫الخالي‬ ‫الشٍل‬ ‫في‬ ‫يما‬ , ‫اليه‬‫يشحر‬ )‫غشش‬ ‫ي‬ ‫(بالعذاس‬ ‫غىىان‬ ‫له‬ ‫بايذ‬ ‫ًل‬ , ‫البايخاث‬ ً‫م‬ ‫مجمىغت‬ ً‫م‬ ‫رايشة‬ ‫ًل‬ ‫ن‬
ً‫والػىاوي‬ ‫الزايشة‬
- 20 -
ٍ‫انزخضي‬ ‫وحذاد‬
Storage units
‫ا‬ ‫في‬ ‫اما‬ ‫ام‬‫ش‬‫والج‬ ‫ام‬‫ش‬‫الٌيلىح‬ ‫يهاط‬ ‫والىصن‬, ‫وهٌزا‬‫والعىديمتر‬‫باملتر‬ ‫يهاط‬ ُ‫قالؿى‬ ‫ؾحره‬ ً‫غ‬ ‫جمحزه‬ ‫وخذة‬ ‫ئ‬ ‫ش‬ ‫لٍل‬
‫البذ‬ ‫هي‬ ‫وخذة‬‫اضؿش‬ ‫قان‬ ‫لخاظب‬
Bit
‫غلي‬ ‫ي‬‫يدخى‬ ‫اما‬‫وهى‬ ‫ومٌشل‬ ‫اوعخىس‬‫ش‬‫ج‬ ً‫غ‬ ‫غباسة‬ ‫داخليا‬ ‫ن‬‫يٍى‬ ‫والزي‬
1
‫او‬
0
‫وًل‬
8
‫وًل‬ ‫بايذ‬ ‫ن‬‫جٍى‬ ‫بذ‬
1024
‫يما‬ ‫وهٌزا‬ ‫ييلىبايذ‬ ‫ن‬‫جٍى‬ ‫بايذ‬
‫الخالي‬ ُ‫الجذوا‬ ‫في‬
‫الىخذة‬
‫الىضل‬
‫البذ‬
Bit
‫واخذ‬‫او‬‫ضكش‬ ‫اما‬
‫البايذ‬
Byte
8
‫بذ‬
‫الٍلمت‬
Word
2
, ‫بايذ‬
16
‫بذ‬
‫الٌيلىبايذ‬
Kilobyte KB
1024
‫بايذ‬
‫امليجابايذ‬
MegabyteMB
1024
‫ييلىبايذ‬
‫الجيجابايذ‬
Gigabyte GB
1024
‫ميجابايذ‬
‫ابايذ‬‫ر‬‫الخح‬
Terabyte TB
1024
‫حيجابايذ‬
‫انًزغيشاد‬
Variables
‫وج‬ , ‫البياهاث‬ ً‫جخضي‬ ‫في‬ ‫اظخخذامها‬ ‫لؿشع‬ ‫الزايشة‬ ‫في‬ ‫حجضها‬ ‫يخم‬ ً‫اماي‬ ‫هي‬
‫الدجم‬ ‫في‬ ‫خخلل‬
Size
‫قلذيىا‬‫الخش‬‫مخؿحر‬ ً‫م‬
1
‫و‬ ‫بايذ‬
2
‫و‬ ‫بايذ‬
4
‫و‬ ‫بايذ‬
8
‫و‬ ‫بايذ‬
10
‫الاسنام‬ ‫مؼ‬ ‫يخػامل‬ ‫الزي‬ ً‫غ‬ ‫يخخلل‬ ‫الصخيدت‬ ‫الاسنام‬ ‫مؼ‬ ‫يخػامل‬ ‫قالزي‬ ‫مػها‬ ‫للخػامل‬ ‫اث‬‫ر‬‫املخؿح‬ ً‫م‬ ‫هىع‬ ‫البياهاث‬ ً‫م‬ ‫هىع‬ ‫ولٍل‬ , ‫بايذ‬
‫له‬‫ممحز‬ ‫اظم‬‫مخؿحر‬ ‫لٍل‬ ‫ان‬‫واخحر‬, ‫الخهيهيت‬
Identifier
‫يخم‬
. ‫مىه‬ ‫اءة‬‫ش‬‫لله‬‫او‬ ‫غليه‬ ‫للٌخابت‬ ‫ظىاء‬ ‫به‬ ‫اليه‬ ‫الاشاسة‬
-
‫غىه‬ ‫باالغالن‬ ‫ههىم‬ ‫ان‬‫مخؿحر‬ ‫اي‬ ‫اظخخذام‬ ‫نبل‬ ‫البذ‬
Variabledeclaration
‫يخابت‬ ُ‫خال‬ ً‫م‬ َ‫رل‬ ‫ويخم‬ , ‫الزايشة‬ ‫في‬ ‫اوال‬ ‫له‬ ‫مٍان‬‫حجض‬‫اخش‬ ‫بمػني‬‫او‬
‫مب‬‫او‬ ‫مباششة‬ ‫نيمت‬ ‫اغؿيىاه‬ ُ‫خا‬ ‫في‬ ‫نيمخه‬ ‫زم‬‫املخؿحر‬ ‫اظم‬ ‫زم‬‫املخؿحر‬ ‫هىع‬
. َ‫رل‬ ‫ويكػل‬ ‫ذئيت‬
‫مخؿحر‬ ً‫غ‬ ‫الاغالن‬ ‫ؾشيهت‬
-
‫الاخشف‬ ‫لخالت‬ ‫خعاظت‬ ‫لؿت‬ ‫ي‬ ‫الس‬
casesensitive
‫ـ‬‫ـ‬‫ق‬
a
ً‫غ‬ ‫جخخلل‬
A
.
-
) = ( ‫ي‬‫الدعاو‬‫سمض‬ ُ‫خال‬ ً‫م‬‫للمخؿحر‬ ‫نيمت‬ ‫اغؿاء‬ ‫يخم‬
assignment
-
‫قهـ‬ ‫اظمه‬ ‫يخابت‬ ‫يخم‬‫مخؿحر‬ ‫اي‬ ‫ي‬‫مدخى‬ ‫اءة‬‫ش‬‫له‬
identifier
- 21 -
-
‫ن‬‫يٍى‬ ‫ان‬ ‫يجب‬‫املخؿحر‬ ‫اظم‬
‫الششوؽ‬ ‫هزا‬ ً‫غم‬

‫مشل‬ ‫بشنم‬ ‫يبذا‬ ‫ال‬
2num

‫معاقاث‬ ‫غلي‬ ‫ي‬‫يدخى‬ ‫ال‬
first num

‫سمىص‬ ‫غلي‬ ‫ي‬‫يدخى‬ ‫ال‬
$,%,# @
) _ ( ‫غذا‬ ‫ما‬ ‫وهٌزا‬
underscore

‫معبها‬ ‫معخػمل‬ ‫ن‬‫يٍى‬ ‫ال‬

‫مشل‬ ‫راتها‬ ‫بالؿت‬ ‫الخاضت‬ ‫الٍلماث‬ ‫وهي‬ ‫ي‬ ‫للس‬ ‫املذجىصة‬ ‫الٍلماث‬ ً‫م‬ ‫ن‬‫يٍى‬ ‫ال‬
int, float,struct,char
‫الظ‬ ‫امشلت‬
‫اث‬‫ر‬‫مخؿح‬ ‫ماء‬
‫اظماء‬
‫صخيدت‬
‫خاؾئت‬ ‫اظماء‬
int number ;
int 5num;//start with number
char _ch;
char #ch;//start with symbol #
float result;
float first num ;//contain space
‫انظحيحخ‬ ‫االعذاد‬ ‫يزغيشاد‬
Integers variable
‫الصخيدت‬ ‫الاغذاد‬ ‫مؼ‬ ‫جخػامل‬ ‫التي‬ ‫اث‬‫ر‬‫املخؿح‬
‫هي‬
‫املخؿحر‬
‫الدجم‬
‫مالخظاث‬
int
‫ؾالبا‬
4
‫بايذ‬
short
2
‫بايذ‬
‫ـ‬‫ـ‬‫ل‬‫اخخطاس‬
short int
long
8
‫بايذ‬
‫ـ‬‫ـ‬‫ل‬‫اخخطاس‬
long int
‫خذود‬‫مخؿحر‬ ‫لٍل‬
limits
‫مػها‬ ‫يخػامل‬ ‫التي‬ ‫للهيم‬
‫مخؿحر‬ ‫اي‬ ‫خذود‬ ‫ولخدذيذ‬ ‫الخؿبيو‬ ‫خعب‬ ‫حجم‬ ً‫م‬‫ايتر‬ ‫يىحذ‬ ‫لزا‬ ,

‫الاغ‬ ‫مؼ‬ ‫اليخػامل‬‫املخؿحر‬ ‫ًان‬ ‫ارا‬
‫العالبت‬ ‫ذاد‬
Unsignednumbers
( ‫الطيؿت‬ َ‫جل‬ ‫وعخخذم‬ ‫نيمت‬ ‫ي‬ ‫وانص‬‫الطكش‬ ‫هي‬ ‫نيمت‬ ‫انل‬ ‫قان‬
2n
-1
)
‫خيث‬
n
‫البخاث‬ ‫غذد‬‫هى‬
bits
‫هىع‬ ً‫م‬‫املخؿحر‬ ‫قمشال‬
short
ُ‫ا‬ ‫غذد‬
bits
* ‫البايخاث‬ ‫غذد‬ ‫ي‬‫يعاو‬
8
‫اي‬
2
*
8
‫ي‬‫يعاو‬
16
‫و‬ ‫بذ‬
216
‫ي‬‫حعاو‬
65536
‫نيمت‬ ‫ي‬ ‫انص‬ ‫جطبذ‬ ‫واخذ‬ ‫وؾشح‬
65535

‫ال‬ ‫ًان‬ ‫ارا‬
‫العالبت‬ ‫الاسنام‬ ‫مؼ‬ ‫يخػامل‬ ‫شنم‬
signed numbers
‫نيمت‬ ‫انل‬ ‫قان‬
( -2n-1
)
‫املخؿحر‬ ‫قمشال‬ ‫نيمت‬ ‫ي‬ ‫وانص‬
( 2n-1
-1)
‫هىع‬ ً‫م‬‫املخؿحر‬ ‫قمشال‬
‫هي‬ ‫نيمت‬ ‫انل‬
-
32768
‫هي‬ ‫نيمت‬ ‫ي‬ ‫وانص‬
32767
-
‫الشىائي‬ ‫الىظام‬ ‫في‬ ‫الهه‬ ‫العالبت‬ ‫الاغذاد‬ ‫خالت‬ ‫في‬ ‫البخاث‬ ‫غذد‬ ً‫م‬ ‫واخذ‬ ‫بؿشح‬ ‫نمىا‬
binary system
‫اليعاس‬ ‫حهت‬ ً‫م‬ ‫بذ‬‫اخش‬ ‫جخطيظ‬ ‫يخم‬
least
significantbit
‫لالشاسة‬
0
‫و‬ ‫مىحب‬ ‫حػني‬
1
‫ظالب‬ ‫حػني‬
- 22 -
‫صخيدت‬ ‫اغذاد‬ ‫اث‬‫ر‬‫مخؿح‬ ً‫غ‬ ‫لالغالن‬ ‫امشلت‬
int average ;
short min = 33 ;
long sum ;
‫الىاجج‬ ‫وؾباغت‬ ‫سنمحن‬ ‫حمؼ‬ ‫هديجت‬ ‫بدعاب‬ ‫يهىم‬ ‫بشهامج‬ ‫ظىٌخب‬ : ُ‫مشا‬
//first number to be added
short firstNumber = 12 ;
//second number to be added
short secondNumber = 14 ;
//result of addition
short sum = firstNumber + secondNumber ;
//print addition result
printf("sum is %d n",sum);
sumis 26
‫ا‬‫ر‬‫املخؿح‬ ‫باظخخذام‬ ‫سنمحن‬ ‫حمؼ‬ ‫بشهامج‬
‫ث‬
[02 - var&aritm01.c]
-
َ‫رل‬ ‫بػذ‬‫ظؿش‬ ‫ًل‬ ً‫وم‬ ‫البرهامج‬ ً‫م‬ ‫الؿشع‬ ‫جىضر‬ ‫معبها‬ ‫غشقىا‬ ‫يما‬ ‫الخػليهاث‬
short firstNumber =12 ;
short secondNumber = 14 ;
-
‫هىع‬ ً‫م‬ ‫اث‬‫ر‬‫مخؿح‬ ً‫غ‬ ‫باالغالن‬ ‫نمىا‬
short
‫الؿش‬ ‫وظيؤدي‬ ‫ضؿحرة‬ ‫مػها‬ ‫حػاملىا‬ ‫التي‬ ‫الاسنام‬ ‫الن‬ ‫الىىع‬ ‫هزا‬ ‫واظخخذمىا‬
‫ي‬‫الاخش‬ ‫الاهىاع‬ ‫بالؿبؼ‬ , ‫ع‬
‫ي‬‫حذو‬ ‫بال‬ ‫الزايشة‬‫تهذس‬ ‫ال‬ ‫ختي‬ ‫قهـ‬ َ‫اخخياحاج‬ ‫يىاظب‬ ‫الزي‬ ‫الىىع‬‫جخخاس‬ ‫ان‬ َ‫غلي‬ ‫يجب‬ ‫لٌىىا‬ , ‫صخيدت‬
- 23 -
-
firstNumber, secondNumber
) = ( ‫ي‬‫الدعاو‬ ‫غالمت‬ ‫باظخخذام‬ َ‫ورل‬‫مخؿحر‬ ‫لٍل‬ ‫مباششة‬ ‫نيم‬ ‫باغؿاء‬ ‫نمىا‬ , ‫اث‬‫ر‬‫املخؿح‬ َ‫جل‬ ‫اظماء‬ ‫هي‬
assignment operator
‫ما‬‫ملخؿحر‬ ‫نيمت‬ ‫الغؿاء‬ ‫يعخخذم‬ ‫الزي‬
short sum =firstNumber +secondNumber ;
-
‫يعمي‬ ‫ي‬‫الدعاو‬ ‫غالمت‬ ‫يمحن‬ ‫غلي‬ ‫الجضء‬ , ‫الشنمحن‬ ‫حمؼ‬ ‫هاجج‬ ً‫لخخضي‬‫مخؿحر‬ ً‫غ‬ ‫اغلىا‬
expression
‫املخؿحر‬ ‫ي‬‫مدخى‬ ‫بجمؼ‬ ‫يهىم‬ ‫والزي‬
firstNumber
‫واملخؿحر‬
secondNumber
‫الجمؼ‬ ‫غالمت‬ ُ‫خال‬ ً‫م‬
‫ي‬ ‫الس‬ ‫في‬ ‫الخعابيت‬ ‫بالػملياث‬ ‫الخاضت‬ ‫الػالماث‬ ‫اخذي‬ ‫وهي‬
printf("sum is %d n",sum);
-
‫الؿباغت‬ ‫دالت‬ ‫اظخخذمىا‬
printf
‫الشمض‬ ‫وحىد‬ ‫وهالخظ‬
%d
‫املخؿحر‬ ‫ي‬‫بمدخى‬‫الشمض‬ َ‫جل‬ ‫مٍان‬ ُ‫حعدبذ‬ ‫ان‬ ‫الذالت‬‫يخبر‬ ‫الزي‬
sum
‫هزا‬ ‫واظخخذمىا‬ ,
‫ص‬ ‫اغذاد‬ ‫مؼ‬ ‫هخػامل‬ ‫الهىا‬ ‫جدذيذا‬‫الشمض‬
‫خيث‬ ‫خيدت‬
d
‫حػني‬
decimal
‫ـ‬‫ـ‬‫ب‬ ‫اظدبذالها‬ ًٌ‫ويم‬
%i
‫حػني‬ ‫والتي‬
integer
-
‫املخؿحر‬ ‫اغكىا‬
sum
‫مٍان‬ ‫اظدبذاله‬ ‫ليخم‬ ‫الذالت‬ ‫زاوي‬ ‫ًىظيـ‬
%d
-
%d , %i
‫حعمي‬ ‫هىع‬ ‫ًل‬ ‫خعب‬ ‫الخها‬ ‫ي‬‫ظجر‬ ‫يما‬ ‫وؾحرها‬
conversionspecifier
‫ج‬ ‫لػذد‬ ‫ي‬‫معاو‬ ‫وظيـ‬ ُ‫او‬ ‫بػذ‬ ‫الىظائـ‬ ‫غذد‬ ‫ن‬‫يٍى‬ ‫ان‬ ‫ويجب‬
َ‫ل‬
‫هىع‬ ‫ًل‬ ‫خعب‬ ‫الترجيب‬ ‫وبىكغ‬ ‫الشمىص‬
‫الخالي‬ ‫يخابت‬ ‫قيمٌىىا‬ ‫الىىع‬ ‫هكغ‬ ً‫م‬ ‫مباششة‬ ‫نيمت‬‫او‬‫مخؿحر‬ ‫ن‬‫يٍى‬ ‫ان‬ ًٌ‫يم‬ ‫والىظيـ‬ ,
printf("sum of %d+ %d =%d n",firstNumber ,secondNumber , sum);
Sumof 12+ 14=26
‫ـ‬‫ي‬ ‫مباششة‬ ‫نيم‬ ‫جاخز‬ ‫ان‬ ‫الذالت‬ َ‫لخل‬ ًٌ‫ويم‬
12
‫ا‬ ‫في‬
ُ‫ملشا‬
‫العابهت‬ ‫الىديجت‬ ‫هكغ‬
printf("sum of %d+ %d =%d n",12 ,secondNumber ,sum);
-
‫واخذ‬‫ظؿش‬ ‫في‬ ‫الىىع‬ ‫هكغ‬ ً‫م‬‫مخؿحر‬ ً‫م‬‫ايثر‬ ً‫غ‬ ‫بالغالن‬ ‫ههىم‬ ‫ان‬ ًٌ‫يم‬
intfirst ,second= 44, third,forth;
- 24 -
-
‫ان‬ ‫ظبو‬ ‫الزي‬‫املخؿحر‬ ‫اظم‬ ‫يٌخب‬‫مخؿحر‬ ‫اي‬ ‫ي‬‫مدخى‬‫لخؿحر‬
‫ياخذ‬ ‫ان‬‫للمخؿحر‬ ًٌ‫يم‬ ‫يما‬ , ‫له‬ ‫حػينها‬ ‫اد‬‫ش‬‫امل‬ ‫الهيمت‬ ‫زم‬ ) = ( ‫غالمت‬ ‫زم‬ ‫الزايشة‬ ‫في‬ ‫له‬ ‫حجضها‬
‫اخش‬‫مخؿحر‬ ‫نيمت‬
first = 22;
second= 56;
third =first;
‫انحقيقيخ‬ ‫االعذاد‬ ‫يزغيشاد‬
floating-point variables
-
‫هي‬ ‫الخهيهيت‬ ‫الاغذاد‬ ‫مؼ‬ ‫جخػامل‬ ‫التي‬ ‫اث‬‫ر‬‫املخؿح‬
‫املخؿحر‬
‫ال‬
‫دجم‬
‫مالخظاث‬
float
4
‫بايذ‬
double
8
‫بايذ‬
-
‫الزايشة‬ ‫في‬ ‫مخخلكت‬ ‫بؿشيهت‬ ‫ينها‬‫ض‬‫جخ‬ ‫يخم‬ ‫الخهيهت‬ ‫الاغذاد‬ ‫الن‬ ‫؟‬ ‫الخهيهت‬ ‫الاغذاد‬ ‫مؼ‬ ‫للخػامل‬ ‫مخخلل‬ ‫هىع‬ ‫يىحذ‬ ‫ملارا‬ ‫هىا‬ ُ‫العؤا‬
‫الىاجج‬ ‫وؾباغت‬ ‫خهيهحن‬ ‫سنمحن‬ ‫غشب‬ ‫خاضل‬ ‫بايجاد‬ ‫يهىم‬ ‫بشهامج‬ ‫ظىٌخب‬ ُ‫مشا‬
float firstNum , secondNum , result;
//assign value to each variable
firstNum = 2.4 ;
secondNum = 2.0 ;
//calculate result
result = firstNum * secondNum ;
//print result
printf("result is %f n",result);
result is 4.800000
[ 02 - var&aritm02.c]
-
‫ي‬ ‫يخخلل‬ ‫ال‬ ‫البرهامج‬
‫هىع‬ ً‫م‬ ‫اث‬‫ر‬‫مخؿح‬ ‫باظخخذام‬ ‫هىا‬ ‫نمىا‬ , ‫الصخيدت‬ ‫الاغذاد‬ ‫اث‬‫ر‬‫مخؿح‬ ‫باظخخذام‬ ‫الجمؼ‬ ‫بشهامج‬ ً‫غ‬ ‫ا‬‫ر‬‫شح‬
float
‫مؼ‬ ‫هخػامل‬ ‫الهىا‬
‫خهيهيت‬ ‫اغذاد‬
- 25 -
-
‫ي‬ ‫الس‬ ‫في‬ ‫الخعابيت‬ ‫الػملياث‬ ‫اء‬‫ش‬‫الح‬ ‫الػالماث‬ ‫اخذ‬ ‫ايػا‬ ‫وهي‬ , ‫الػشب‬ ‫غمليت‬ ‫اء‬‫ش‬‫الح‬ ) * ( ‫غالمت‬ ‫هىا‬ ‫اظخخذمىا‬
-
‫الشمض‬ ‫باظخخذام‬ ‫نمىا‬
%f
‫ال‬
‫هىع‬ ً‫م‬ ‫الخهيهيت‬ ‫الاغذاد‬ ‫ؾباغت‬ ‫في‬ ‫يعخخذم‬ ‫زي‬
float
-
‫ـ‬‫ـ‬‫ق‬ ‫الخهيهيت‬ ‫والاغذاد‬ ‫الصخيدت‬ ‫الاغذاد‬ ‫بحن‬‫للخمحز‬ ) . ( ‫الػششيت‬ ‫الكاضلت‬ ‫حعخخذم‬ ‫ي‬ ‫الس‬
2.0
‫ؾحر‬
2
‫انحشوف‬ ‫يزغيش‬
characters
‫ًلمت‬ ‫باظخخذام‬ ‫غىه‬ ‫الاغالن‬ ‫يخم‬
char
‫اث‬‫ر‬‫املخؿح‬ ‫في‬ ‫هىع‬‫اضؿش‬‫وهى‬ ,
1
ً‫م‬ , ‫قهـ‬ ‫بايذ‬
0
‫الي‬
255
ً‫م‬ , ‫قهـ‬ ‫املىحبت‬ ‫الهيم‬ ‫خالت‬ ‫في‬
-
128
‫الي‬
127
‫في‬
‫املعخ‬ ‫الؿشيهت‬ ‫بىكغ‬ ‫الزايشة‬ ‫في‬ ‫داخليا‬ ‫جخضيىه‬ ‫يخم‬ ‫الىىع‬ ‫هزا‬ ‫الن‬ ‫؟‬ ‫واملىحبت‬ ‫العالبت‬ ‫باالغذاد‬ ‫الخشوف‬ ‫غالنت‬ ‫وما‬ ‫العالبت‬ ‫الهيم‬ ‫خالت‬
‫في‬ ‫خذمت‬
‫الصخيدت‬ ‫الاغذاد‬ ‫اث‬‫ر‬‫مخؿح‬ ً‫م‬ ‫اهه‬ ‫غلي‬ ‫مػه‬ ‫الخػامل‬ ًٌ‫قيم‬ ‫الصخيدت‬ ‫الاغذاد‬
‫ايػا‬
‫ًلمت‬ ‫بؿباغت‬ ‫يهىم‬ ‫بشهامج‬ : ُ‫مشا‬
Hello
‫الخشوف‬‫مخؿحر‬ ‫باظخخذام‬
char ch1 = 'H' , ch2 = 'e' , ch3 = 'l' , ch4 = 'l' ,ch5 = 'o' ;
//print char variables content
printf("%c%c%c%c%c n", ch1 , ch2 , ch3 , ch4 , ch5 );
Hello
[ 02 - var&aritm03.c ]
-
ً‫غ‬ ‫باالغالن‬ ‫نمىا‬
5
‫هىع‬ ً‫م‬ ‫اث‬‫ر‬‫مخؿح‬
char
‫مباششة‬ ‫نيمت‬‫مخؿحر‬ ‫ًل‬ ‫واغؿيىا‬
‫انخباط‬ ‫غالمتي‬ ‫بحن‬ ‫جىغؼ‬ ‫ي‬ ‫الس‬ ‫في‬ ‫الخشوف‬
(
‘ „
,)
‫الشمض‬ ‫اظخخذمىا‬
%c
‫ي‬ ‫الس‬ ‫في‬ ‫الخشوف‬ ‫بؿباغت‬ ‫الخاص‬
-
‫الخشوف‬‫مخؿحر‬ ‫باظخخذام‬ ‫سنمحن‬ ‫حمؼ‬ ‫بشهامج‬ ُ‫مشا‬
//first number to be added
char firstNumber = 12 ;
//second number to be added
char secondNumber = 14 ;
//result of addition
char sum = firstNumber + secondNumber ;
//print addition result
printf("sum is %d n",sum);
sumis 26
[ 02 - var&aritm04.c ]
- 26 -
-
‫ا‬ ‫الجمؼ‬ ‫بشهامج‬ ‫غلي‬ ‫بالخػذيل‬ ‫نمىا‬
‫مخؿحر‬ ‫ًل‬ ‫واظدبذلىا‬ ‫لعابو‬
short
‫ـ‬‫ـ‬‫ب‬
char
‫جخؿحر‬ ‫لم‬ ‫الىديجت‬ ,
-
‫الشمض‬ ‫اظخخذمىا‬ ‫اهىا‬ ‫هالخظ‬
%d
‫الشمض‬ ‫وعخخذم‬ ‫ولم‬‫مخؿحر‬ ‫ي‬‫مدخى‬ ‫لؿباغت‬
%c
‫جخػامل‬ ‫ان‬ ‫الذالت‬ ً‫م‬ ‫هشيذ‬ ‫الهىا‬
interpret
‫مخؿحر‬ ‫اهه‬ ‫غلي‬‫املخؿحر‬ ‫مؼ‬
‫صخيدت‬ ‫اغذاد‬
-
‫الشمض‬ ‫اظخخذمىا‬‫لى‬
%c
‫ا‬ ‫الهيمت‬ ‫ؾباغت‬ ‫ظيخم‬
‫ملهابلت‬
‫ـ‬‫ـ‬‫ل‬
26
)‫الخها‬ ‫اليه‬ ‫م‬‫(ظىؿش‬ ‫الاظٍي‬ ُ‫حذو‬ ً‫م‬
( ‫وهي‬
→
)
printf("sumis%cn",sum);
→
sumis
-
‫اث‬‫ر‬‫املخؿح‬ ‫ؾباغت‬ ‫جيعيو‬ ‫غلي‬ ‫امشلت‬
-
‫باظخخذام‬ ‫لالسنام‬ ‫غذد‬ ‫انل‬ ‫جدذيذ‬ ‫مؼ‬ ‫صخيذ‬ ‫سنم‬ ‫ؾباغت‬
%2d , %3d%4d
‫وهٌزا‬
intfirstStd = 120;
intsecondStd= 90;
printf("weight is%3d KGn",firstStd);
printf("weight is%3d KGn",secondStd);
weightis120KG
weightis 90KG
-
‫لالسنام‬ ‫غذد‬ ‫انل‬ ‫خذدها‬
3
‫للشنم‬ ‫معاقت‬ ‫اغاقت‬ ‫نخم‬ ,
90
‫ليطبذ‬
3
‫اسنام‬
digits
- 27 -
-
‫الػششيت‬ ‫الػالمت‬ ‫بػذ‬ ‫الاسنام‬ ‫غذد‬ ‫جدذيذ‬ ‫مؼ‬ ‫خهيهي‬ ‫سنم‬ ‫ؾباغت‬
float first =34.567;
float second = 7844.3215;
printf("degree is%.2f n",first);
printf("degree is%.3f n",second);
degree is34.57
degree is7844.321
-
‫الشمىص‬ ‫باظخخذام‬ ‫الشماوي‬ ‫والىظام‬‫غشش‬ ‫ي‬ ‫العذاس‬ ‫بالىظام‬ ‫نيمت‬ ‫ؾباغت‬
%o,%x
‫الترجيب‬ ‫غلي‬
int value= 127;
printf("value is%xinhexadecimaln",value);
printf("value is%oin octal n",value);
valueis7fin hexadecimal
valueis177in octal
-
‫انسبنجخ‬ ‫االعذاد‬ ‫و‬ ‫انًىخجخ‬ ‫االعذاد‬
:
‫ال‬ ُ‫خال‬ ً‫م‬ ‫ال‬ ‫ام‬ ‫ظالبت‬ ‫اغذاد‬ ‫مؼ‬ ‫ظيخػامل‬‫املخؿحر‬ ‫ًان‬ ‫ارا‬ ‫جدذيذ‬ ‫يخم‬
‫ٍلمخحن‬
unsigned
‫او‬ ‫قهـ‬ ‫املىحبت‬ ‫لالغذاد‬
signed
‫والعالبت‬ ‫املىحبت‬ ‫لالغذاد‬
‫اي‬ ‫والعالبت‬ ‫املىحبت‬ ‫الاغذاد‬ ‫مؼ‬ ‫جخػامل‬ ‫انها‬ ‫الصخيدت‬ ‫الاغذاد‬ ‫اث‬‫ر‬‫ملخؿح‬ ‫اغيت‬‫ر‬‫الاقت‬ ‫الخالت‬ ,
signed
‫الخالي‬ ُ‫املشا‬ ‫في‬ ‫يما‬
- 28 -
signed intfirst = -127;
unsignedint second= 12;
intthird= -140;
printf("value is%d n",first);
printf("value is%d n",second);
printf("value is%d n",third);
valueis -127
valueis12
valueis -140
‫انثىاثذ‬
constants
‫جاخ‬ ‫ان‬ ‫بمجشد‬ ‫انها‬ ‫اث‬‫ر‬‫املخؿح‬ ً‫غ‬ ‫جخخلل‬ ‫ولٌنها‬ ‫اهىاغها‬‫و‬ ‫منها‬ ‫الؿشع‬ ‫في‬ ‫اث‬‫ر‬‫املخؿح‬ ‫مشل‬ ‫الشىابذ‬
‫زابذ‬ ‫مدخىاها‬ ‫ان‬ ‫اي‬ ‫حؿحرها‬ ًٌ‫يم‬ ‫ال‬ ‫مػيىت‬ ‫نيمت‬ ‫ز‬
‫الشىابذ‬ ً‫غ‬ ‫لالغالن‬ ‫ؾشيهخحن‬ ‫ويىحذ‬ ‫غنها‬ ‫الاغالن‬ ‫غىذ‬ ‫مباششة‬ ‫نيمتها‬ ‫جاخز‬ ‫قهي‬ ‫ولزا‬

‫املذجىصة‬ ‫الٍلمت‬ ‫باظخخذام‬
const
‫غىه‬ ‫الاغالن‬ ‫في‬‫املخؿحر‬ ‫هىع‬ ‫نبل‬

‫الٍلمت‬ ‫باظخخذام‬
#define
‫الٍلمت‬ ‫باظخخذام‬
const
‫الٍلم‬ ‫باظخخذام‬
‫ت‬
#define
‫حعمي‬ ‫الشاهيت‬ ‫اما‬ , ‫الشابذ‬ ‫لهزا‬ ‫الزايشة‬ ‫في‬ ‫مٍان‬‫بذجض‬ ‫جهىم‬ ‫الاولي‬ ‫ان‬ ‫الؿشيهخحن‬ ‫بحن‬ ‫م‬‫الكش‬
string replacement
‫الشابذ‬ ‫اظم‬ ‫اي‬ ُ‫اظدبذا‬ ‫يخم‬ ‫خيث‬
‫البرهامج‬ ‫جشحمت‬ ‫نبل‬ َ‫ورل‬ ‫بهيمخه‬ ‫البرهامج‬ ‫داخل‬
‫يبحرة‬ ‫خشوف‬ ‫الشىابذ‬ ‫اظماء‬ ‫ن‬‫جٍى‬ ‫ان‬ ‫الػشف‬ ‫ي‬‫حش‬
capitalletters
‫ورل‬
‫زىابذ‬ ً‫غ‬ ‫لالغالن‬ ‫امشلت‬ , ‫الاًىاد‬ ‫داخل‬ ‫اث‬‫ر‬‫املخؿح‬ ً‫غ‬ ‫جمحزها‬ ‫ليخم‬ َ
- 29 -
#defin MAX 20
#define SIZE 100
const int LIMIT = 33 ;
const char CH = 'A';
ُ‫مشا‬
//define max constant
#define MAX 20
int main()
{
//define another constant
const int num = 80 ;
printf("MAX value is %d n",MAX );
printf("num value is %d n ",num);
return 0;
}
MAXvalueis 20
numvalueis 80
[ 02 - var&aritm05.c]
ُ‫الاو‬ ‫الشابذ‬ ‫غشقىا‬
MAX
‫باظخخذام‬
#define
‫الهيمت‬ ‫واغؿيىاه‬
20
‫نها‬ ‫في‬ ‫مىهىؾت‬ ‫قاضلت‬ ‫وحىد‬ ‫غذم‬ ‫وهالخظ‬
‫ليعذ‬ ‫الؿشيهت‬ ‫هزا‬ ‫الن‬ ‫يل‬‫ش‬‫الخػ‬ ‫يت‬
‫الخىحيهاث‬ ‫اخذ‬ ‫هي‬ ‫اهما‬ ‫البرهامج‬ ‫حػليماث‬ ‫اخذي‬
directives
‫البرهامج‬ ‫جشحمت‬ ‫نبل‬ ‫جىكيزها‬ ‫يخم‬ ‫التي‬
#define MAX 20
‫الٍلمت‬ ‫وباظخخذام‬ ‫اث‬‫ر‬‫املخؿح‬ ً‫غ‬ ‫الاغالن‬ ‫بالؿشيهت‬‫اخش‬ ‫زابذ‬ ‫غشقىا‬
const
‫الهيمت‬ ‫واغؿيىاه‬
80
const int num = 80 ;
‫ب‬ ‫نمىا‬
‫الذالت‬ ‫باظخخذام‬ ‫الشابخحن‬ ‫ؿباغت‬
printf
‫زابذ‬ ‫نيمت‬‫حؿحر‬ ُ‫هداو‬ ‫اهىا‬ ‫خؿا‬ ‫سظالت‬‫وظخظهش‬ ‫البرهامج‬ ‫يػمل‬ ً‫ل‬ ‫الشىابذ‬ ‫اخذ‬ ‫نيمت‬‫حؿحر‬ ‫خاولىا‬ ‫ارا‬
read-onlyvariable
-
‫انحسبثيخ‬ ‫انعًهيبد‬
arithmetic operators
:
, + ‫ـ‬‫ـ‬‫ي‬ ‫سمىص‬ ‫باظخخذام‬ ‫ي‬ ‫الس‬ ‫في‬ ‫الخعابيت‬ ‫الػملياث‬ ‫جخم‬
-
, *,
‫ـ‬‫ب‬ ‫حػشف‬ ‫والتي‬ % , /
arithmeticoperators
‫الشمض‬
‫الىظيكت‬
+
‫الجمؼ‬
-
‫الؿشح‬
- 30 -
*
‫الػشب‬
/
‫الهعمت‬
%
‫الهعمت‬ ‫باقي‬
‫الشمىص‬ َ‫جل‬ ‫اظخخذام‬ ‫يىضر‬ ‫بشهامج‬ ُ‫مشا‬
//operands
int firstNumber = 100, secondNumber = 3 ;
printf("addition result is %d n",firstNumber + secondNumber );
printf("subtraction result is %d n",firstNumber - secondNumber );
printf("multiplication result is %d n",firstNumber *secondNumber );
printf("division result is %d n",firstNumber / secondNumber );
printf("remainder result is %d n",firstNumber % secondNumber );
additionresultis 103
subtractionresultis97
multiplication result is 300
divisionresultis33
remainderresult is 1
[ 02 - var&aritm06.c]
-
‫وخىاة‬ ‫سؤال‬
-
‫؟‬ ‫غىه‬ ً‫وػل‬ ‫ان‬ ‫نبل‬‫مخؿحر‬ ‫اظخخذام‬ ًٌ‫يم‬ ‫هل‬
int main()
{
printf("valueis%d n",num);
return0;
}
‫املخؿحر‬ ‫ان‬‫وهى‬ , ‫خؿأ‬ ‫ظيدذر‬ , ًٌ‫اليم‬
num
‫معبها‬ ‫غىه‬ ‫الاغالن‬ ‫يخم‬ ‫لم‬
undeclared
- 31 -
-
‫اخش؟‬ ‫هىع‬ ً‫م‬‫ملخؿحر‬ ‫مشابه‬ ‫باظم‬‫املخؿحر‬ ‫حعميت‬ ًٌ‫يم‬ ‫هل‬
int num;
float num;
‫املخؿحر‬ ‫هىع‬ ‫في‬ ‫حػاسع‬ ‫يعمي‬ ‫هزا‬ , َ‫رل‬ ًٌ‫يم‬ ‫ال‬
conflictingtypes
‫اخذهما‬ ‫الاظم‬ ‫هكغ‬ ,
int
‫والاخش‬
float
-
‫؟‬ ‫له‬ ‫مباششة‬‫او‬ ‫مبذئيت‬ ‫نيمت‬ ‫اغؿاء‬ ‫نبل‬‫مخؿحر‬ ‫اظخخذام‬ ًٌ‫يم‬ ‫هل‬
int main()
{
int num;
printf("value of num is %d n",num);
return 0;
}
‫ال‬ ‫لخجىب‬ َ‫ورل‬ ‫غنها‬ ‫الاغالن‬ ‫غىذ‬ ‫اث‬‫ر‬‫للمخؿح‬ ‫مبذئيت‬ ‫نيمت‬ ‫باغؿاء‬ ‫يىصر‬ ‫ولزا‬ ‫مخىنػت‬‫ؾحر‬‫املخؿحر‬ ‫نيمت‬ ًٌ‫ول‬ ‫اخؿاء‬ ‫ن‬‫بذو‬ ‫ظيػمل‬ ‫الٍىد‬ ‫هىا‬
‫الؿحر‬ ‫هيم‬
.‫مخىنػت‬
- 32 -
- 33 -
‫انشيىص‬
operators
‫بػؼ‬ ‫غلي‬ ‫ي‬ ‫الس‬ ‫ي‬‫جدخى‬
‫الشمىص‬
‫الػم‬ , ‫الخعابيت‬ ‫الػملياث‬ ‫في‬ ‫حعخخذم‬ ‫التي‬
‫املىؿهيت‬ ‫لياث‬
‫ًاالحي‬ ‫وهي‬ ‫وؾحرها‬ ‫املهاسهت‬ ‫وغملياث‬
‫انحسبثيخ‬ ‫انعًهيبد‬ ‫سيىص‬
arithmetic operators
:
‫ظ‬ ‫ونذ‬ ‫وخالقه‬ ‫والؿشح‬ ‫الجمؼ‬ ‫ـ‬‫ـ‬‫ي‬ ‫الخعابيت‬ ‫الػملياث‬ ‫اء‬‫ش‬‫باح‬ ‫الخاضت‬ ‫الشمىص‬ ‫هي‬
‫ب‬
‫العابو‬ ‫الكطل‬ ‫في‬ ‫مػها‬ ‫الخػامل‬ ‫ملا‬ ‫و‬
‫انعالقيخ‬ ‫انعًهيبد‬ ‫سيىص‬
relational operators
:
‫ال‬ ‫هي‬
( ‫صخيدت‬ ‫اما‬ ‫الػملياث‬ َ‫جل‬ ‫وهديجت‬ ‫الهيم‬ ‫بحن‬ ‫املهاسهت‬ ‫غملياث‬ ‫اء‬‫ش‬‫باح‬ ‫الخاضت‬ ‫شمىص‬
1
( ‫خاؾئت‬‫او‬ )
0
)
‫الػالنيت‬ ‫الػملياث‬
‫الرمز‬
‫الوظيفة‬
a > b
‫هل‬
a
ً‫م‬‫ايبر‬
b
‫ال‬ ‫ام‬
a >=b
‫هل‬
a
‫ي‬‫حعاو‬‫او‬ ً‫م‬‫ايبر‬
b
‫ال‬ ‫ام‬
a <b
‫هل‬
a
ً‫م‬‫اضؿش‬
b
‫ال‬ ‫ام‬
a < =b
‫هل‬
a
‫او‬ ً‫م‬‫اضؿش‬
‫ي‬‫حعاو‬
b
‫ال‬ ‫ام‬
a ==b
‫هل‬
a
‫ي‬‫حعاو‬
b
‫ال‬ ‫ام‬
a != b
‫هل‬
a
‫ي‬‫حعاو‬ ‫ال‬
b
‫ال‬ ‫ام‬
َ‫رل‬ ‫بػذ‬ ‫ي‬‫ظجر‬ ‫يما‬ ‫مػحن‬ ‫ششؽ‬ ً‫م‬ ‫للخدهو‬ ‫ؾالبا‬ ‫الشمىص‬ َ‫جل‬ ‫حعخخذم‬
‫الشمىص‬ َ‫جل‬ ‫اظخخذام‬ ‫يىضر‬ ‫بشهامج‬ ُ‫مشا‬
- 34 -
printf("12 > 10 = %d n", 12 >10 );
printf("10 >= 12 = %d n", 10 >= 12);
printf("10 >= 10 = %d n", 10 >= 10);
printf("44 < 55 = %d n", 44 < 55);
printf("44 <= 22 = %d n", 44 <= 22);
printf("44 <= 44 = %d n", 44 <= 44);
printf("10 == 55 = %d n", 10 == 55);
printf("10 == 10 = %d n", 10 == 10);
printf("10 != 10 = %d n", 10 != 10);
printf("10 != 44 = %d n", 10 != 44);
12
>
1
=
1
10
=>
12
=
0
10
=>
10
=
1
44
<
55
=
1
44
=<
22
=
0
44
=<
44
=
1
10
==
55
=
0
10
==
10
=
1
10
=!
10
=
0
10
=!
44
=
1
[ 03 - operators01.c]
‫انًُطقيخ‬ ‫انعًهيبد‬ ‫سيىص‬
logical operators
:
:‫وهي‬ ‫ششؽ‬ ً‫م‬‫ايثر‬ ‫بحن‬ ‫للجمؼ‬ ‫الػالنيت‬ ‫الػملياث‬ ‫سمىص‬ ‫مؼ‬ ‫حعخخذم‬

‫حػؿي‬ )‫و‬ ( ‫بمػني‬ &&
true
‫الؿشقحن‬ ‫ًان‬ ‫ارا‬
true
‫حػؿي‬ َ‫رل‬‫ؾحر‬ ,
false

‫وحػؿي‬ )‫(او‬ ‫بمػني‬ ||
true
‫ًليهما‬‫او‬ ‫الؿشقحن‬ ‫اخذ‬ ‫ًان‬ ‫ارا‬
true
‫وحػؿي‬,
false
‫خالت‬ ‫في‬
‫الؿشقحن‬ ‫ًان‬ ‫ارا‬ ‫واخذة‬
false

ً‫م‬ ‫الىديجت‬ ‫بػٌغ‬ ‫جهىم‬ !
true
‫الي‬
false
‫والػٌغ‬
‫الاخؿاء‬ ‫ولخجىب‬ ‫للىغىح‬ ‫ششؽ‬ ‫ًل‬ ُ‫خى‬ ‫الانىاط‬ ‫اظخخذام‬ ‫يكػل‬
- 35 -
! ‫املىؿهيت‬ ‫الػمليت‬
||‫و‬ && ‫املىؿهيت‬ ‫الػملياث‬
‫الػمليت‬ ‫وهديجت‬ ‫الػمليت‬ ‫ؾشفي‬ ‫اخخماالث‬ ‫ًل‬ ‫يىضر‬ ‫منها‬ ‫غمليت‬ ‫لٍل‬ ‫الخهيهت‬ ُ‫حذو‬
‫وليغ‬ ‫ششؽ‬ ً‫م‬‫ايثر‬ ‫غلي‬ ‫الػملياث‬ َ‫جل‬ ‫اء‬‫ش‬‫اح‬ ًٌ‫يم‬, ‫خالت‬ ‫ًل‬ ‫في‬
‫قهـ‬ ‫ششؾحن‬
&&
||
!
‫املىؿهيت‬ ‫الػملياث‬ ‫اظخخذام‬ ‫يىضر‬ ‫بشهامج‬ ُ‫مشا‬
printf("(12 >10) && (12 > 11) = %d n", (12 >10) && (12 > 11) );
printf("(14 >10) && (12 != 11) = %d nn", (14 >10) && (12 != 11)
);
printf("(12 >10) || (12 > 11) = %d n", (12 >10) || (12 > 11) );
printf("(14 >10) || (12 != 11) = %d nn", (14 >10) || (12 != 11)
);
printf("!(12 >10) = %d n", !(12 >10) );
printf("!(14 >10) = %d n", !(14 >16) );
(
12
>
10
( && )
12
>
11
= )
1
(
14
>
10
( && )
12
=!
11
= )
1
(
12
>
10
( || )
12
>
11
= )
1
(
14
>
10
( || )
12
=!
11
= )
1
(!
12
>
10
= )
0
(!
14
>
10
= )
1
[ 03 - operators02.c ]
- 36 -
ٌ‫وانُقظب‬ ‫انضيبدح‬ ‫يؤثشاد‬
increment and decrement operators
:
‫ه‬ ‫مىه‬ ‫ويىحذ‬ , ‫اسيت‬‫ش‬ٌ‫الخ‬ ‫الخلهاث‬ ‫مؼ‬ ‫بٌثرة‬ ‫حعخخذم‬ ‫التي‬ ‫الشمىص‬ ‫اخذ‬ , ‫واخذ‬‫بهذاس‬ ‫اههاضه‬‫او‬ ‫واخذ‬‫بهذاس‬‫املخؿحر‬ ‫نيمت‬ ‫لضيادة‬ ‫حعخخذم‬
‫ىغحن‬

Pre
‫مشل‬‫املخؿحر‬ ‫نبل‬‫الشمض‬ ‫يىضر‬
++num, --count

Post
‫الشمض‬ ‫يىغؼ‬
‫املخؿحرمشل‬ ‫بػذ‬
num++ ,coun--
‫ق‬‫اخش‬‫ملخؿحر‬ ‫الهيمت‬ َ‫جل‬ ‫بخػحن‬ ‫نمىا‬ ‫ارا‬‫يظهش‬ ‫م‬‫الكش‬ , ‫خخما‬ ‫ظيدذر‬ ‫الىهطان‬‫او‬ ‫الضيادة‬‫ر‬‫جازح‬ ‫راجه‬‫املخؿحر‬ ‫غلي‬ ‫يخخلل‬ ‫ال‬ ‫بينهما‬ ‫م‬‫الكش‬
‫مشال‬
int num= 4;
int x= ++num;
‫املخؿحر‬ ‫هىا‬
num
‫ظيطبذ‬
5
‫املخؿحر‬ ‫اما‬ ,
x
‫ظيطبذ‬
4
‫ام‬
5
‫خالت‬ ‫في‬
‫اظخخذام‬
pre
‫الٍىد‬ ‫ان‬ ‫اي‬‫للمخؿحر‬ ‫الهيمت‬ ‫حػحن‬ ‫زم‬ ‫اوال‬ ‫جدطل‬ ‫الضيادة‬ ‫قان‬
‫الخالي‬ ‫للٍىد‬ ‫ي‬‫معاو‬ ‫باالغلي‬
‫املخؿحر‬ ,
x
‫ي‬‫يعاو‬
5
int num= 4;
num= num +1;
int x= num ;
ُ‫خا‬ ‫في‬ ‫اما‬
post
‫الضيادة‬ ‫زم‬ ‫اوال‬ ‫يدذر‬ ‫الهيمت‬ ‫حػحن‬ ‫قان‬
int num= 4;
int x= num++;
‫نيمت‬
num
‫ي‬‫حعاو‬
5
‫ونيمت‬
x
‫ي‬‫حعاو‬
4
‫ـ‬‫ـ‬‫ل‬ ‫ي‬‫معاو‬ ‫الٍىد‬ ‫هزا‬,
int num= 4;
int x= num ;
num= num +1;
. ‫الىهطان‬‫ملؤزش‬ ‫باليعبت‬ ‫ي‬ ‫الص‬ ‫وهكغ‬
- 37 -
‫ثبنجزبد‬ ‫خبطخ‬ ‫سيىص‬
bitwise operators
:
‫وهي‬ ‫البذ‬ ‫ي‬‫معخى‬ ‫غلي‬ ‫الهيمت‬‫او‬‫املخؿحر‬ ‫مؼ‬ ‫جخػامل‬ ‫الشمىص‬ َ‫جل‬
‫الرمز‬
‫املعني‬
&
And
|
Or
^
Xor
>>
Rightshift
‫لليمحن‬ ‫اخت‬‫ص‬‫الا‬
<<
Left shift
‫لليعاس‬ ‫اخت‬‫ص‬‫الا‬
~
Not
‫غٌغ‬
, ^, | , & ‫غملياث‬
~
‫واليعاس‬ ‫اليمحن‬ ‫حهت‬ ‫اخت‬‫ص‬‫الا‬ ‫غملياث‬
- 38 -
‫يعمي‬ ‫والزي‬ ‫اليمحن‬ ‫حهت‬ ‫بذ‬ ُ‫قاو‬‫الطكش‬ ً‫م‬ ‫يبذا‬ ‫البخاث‬ ‫جشجيب‬ ‫ان‬ ‫وػشف‬ ‫ان‬ ‫الهام‬ ً‫م‬
Leastsignificantbit
‫جشجيب‬
‫سنم‬ ‫يليه‬ ‫والزي‬‫ضكش‬ ‫سنم‬ ‫ه‬
1
‫وهٌزا‬
: ‫للخىغيذ‬ ُ‫مشا‬
char firstNum = 4 ;//binary= 00000100
char secondNum =10 ;//binary= 00001010
char andResult =firstNum &secondNum ;// (00000100) & (00001010) = 00000000
char orResult =firstNum |secondNum; // (00000100) | (00001010) = 00001110
char xorResult =firstNum ^secondNum; // (00000100) & (00001010) = 00001110
char notResult =~firstNum ;// ~(00000100) = 11111011
char rightShiftResult =firstNum >> 2; //(00000100) = 00000001
char leftshiftResult =firstNum << 2; //(00000100) = 00010000
‫غلي‬ ‫الهعمت‬ ‫ي‬‫حعاو‬ ‫لليمحن‬ ‫اخت‬‫ص‬‫الا‬ ‫ان‬ ‫هىا‬ ‫الهامت‬ ‫املالخظاث‬ ‫اخذ‬ ًٌ‫ول‬ , ‫اث‬‫ش‬‫املؤز‬ َ‫لخل‬ ‫الػمليت‬ ‫الاظخخذاماث‬ ‫ظىػشف‬ ‫الخها‬
2
‫الاصاخت‬ ‫اث‬‫ش‬‫م‬ ‫غذد‬ *
‫في‬ ‫الػشب‬ ‫ي‬‫حعاو‬‫لليعاس‬ ‫اخت‬‫ص‬‫الا‬ َ‫ويزل‬
2
‫ًالخالي‬ ‫اخت‬‫ص‬‫الا‬ ‫اث‬‫ش‬‫م‬ ‫غذد‬ *
4 >> 2 = 1;//00000100>> 2 = 00000001which equal 4 / (2*2)
4 << 1 = 8;//00000100<< 1 = 00001000 whhichequal4* 2 * 1
‫انقيى‬ ٍ‫رعي‬ ‫يؤثشاد‬
assignment operators
:
( ‫هٌخب‬ ‫ان‬ ً‫م‬ ‫قبذال‬ ‫الٍىد‬ ‫يخابت‬ ‫في‬ ‫حعهل‬ ‫انها‬‫ؾحر‬ ‫الىظيكيت‬ ‫الىاخيت‬ ً‫م‬ ‫حذيذا‬ ‫ئ‬ ‫ش‬ ‫جكػل‬ ‫ال‬ ‫اث‬‫ش‬‫املؤز‬ ‫هزه‬
x= x+3
( ‫هٌخب‬ ‫ان‬ ًٌ‫يم‬ )
x+= 3
)
‫ًالخالي‬
x+= 3 ; //equaltox = x+3
x-= 3 ; //equaltox = x -3
x*= 3 ; //equaltox = x* 3
x/= 3 ; //equalto x=x / 3
- 39 -
x%= 3 ; //equalto x=x %3
x&= 3 ; //equalto x = x& 3
x|= 3 ; // equaltox = x| 3
x^= 3 ; //equalto x= x^ 3
x>>= 3 ; //equalto x= x>>3
x<<= 3 ; //equalto x= x<<3
‫الخش‬ ‫َىع‬ ٍ‫ي‬ ‫انزحىيم‬ ‫يؤثش‬
cast operator
:
‫ـ‬‫ـ‬‫ل‬‫با‬‫الخش‬ ‫هىع‬ ً‫م‬ ‫البياهاث‬‫او‬‫املخؿحر‬ ‫جدىيل‬ ‫غمليه‬ ‫حعمي‬
casting
: ‫هىغحن‬ ‫ويىحذ‬

‫غمني‬ ‫جدىيل‬
implicit
‫ايػا‬ ‫وحعمي‬ ‫راجه‬ ‫املترحم‬ ‫بها‬ ‫يهىم‬
promotion
‫نيمت‬ ‫لخعاب‬ ‫اهه‬ ‫خيث‬ ,
expression
‫حميؼ‬ ‫ن‬‫جٍى‬ ‫ان‬ ‫يجب‬
‫لز‬ ‫الىىع‬ ‫هكغ‬ ً‫م‬ ‫الخذود‬
‫الاغلي‬ ‫الىىع‬ ‫الي‬ ‫الىىع‬ ‫في‬ ‫املخخلكت‬ ‫الخذود‬ ‫بخدىيل‬ ‫املترحم‬ ‫يهىم‬ ‫ا‬

‫ضشيذ‬ ‫جدىيل‬
explicit
‫الاجيه‬ ‫الطيؿت‬ ُ‫خال‬ ً‫م‬ َ‫ورل‬‫الخش‬ ‫مػحن‬ ‫هىع‬ ‫لخدىيل‬ ‫املبرمج‬ ‫به‬ ‫يهىم‬
intfirst =12;
float second = 23.8;
float total =first +second ;
‫املخؿحر‬ ‫بخدىيل‬ ‫املترحم‬ ‫ظيهىم‬ ‫هىا‬
first
‫الي‬
float
‫مدخىاه‬ ‫ليطبذ‬
12.0
‫ـ‬‫ـ‬‫ل‬‫ا‬ ‫ن‬‫ويٍى‬
expression
ً‫غ‬ ‫غباسة‬
23.8+ 12.0
‫الػمني‬ ‫الخدىيل‬‫هى‬ ‫وهزا‬
intfirst =12;
float second = 23.8;
float third= (float)first;
float total =first +third;
‫املخؿحر‬ ‫بخدىيل‬ ‫نمىا‬
first
ً‫م‬
int
‫الي‬
float
‫ضشيذ‬ ‫بشٍل‬
‫الان‬ ‫الىىع‬ ‫هكغ‬ ً‫م‬ ‫الخذود‬ ‫الن‬ ‫جدىيل‬ ‫اي‬ ‫اء‬‫ش‬‫اح‬ ‫الي‬ ‫املترحم‬ ‫يدخاج‬ ً‫ل‬ ‫وبالخالي‬ ,
‫جدىيل‬ ‫مشل‬ ‫انل‬ ‫هىع‬ ‫الي‬ ‫اغلي‬ ‫هىع‬ ‫جدىيل‬ ‫ان‬ ‫مالخظت‬ ‫يجب‬
int
‫الي‬
char
‫البياهاث‬ ‫في‬ ‫قهذ‬ ‫الي‬ ‫يؤدي‬
truncate
‫اندجشيخ‬ ‫انـعجبسح‬
expressions
:
- 40 -
‫با‬ ‫املىحىد‬ ‫الشمىص‬ ‫اخذ‬ ‫بينها‬ ‫الخذود‬ ً‫م‬ ‫مجمىغت‬ ‫هي‬
‫الاحي‬ ‫مشل‬ ‫الشياغيت‬ ‫باملػادلت‬ ‫اشبه‬ ‫وهي‬ ‫مباششة‬ ‫نيم‬‫او‬ ‫اث‬‫ر‬‫مخؿح‬ ‫اما‬ ‫الخذود‬ ‫وهزا‬ , ‫ي‬ ‫لس‬
h = x+y *z ;
g = x/ 3 -4 +t ;
l = x>4||y <6 ;
‫يعمي‬ )=( ‫غالمت‬ ‫يمحن‬ ‫غلي‬‫هى‬ ‫ما‬ ‫ًل‬
expression
‫ـ‬‫ل‬‫با‬ ‫يعمي‬‫و‬
rvalue(rightvalue)
‫و‬ ‫قهـ‬ )=( ‫غالمت‬ ‫يمحن‬ ‫غلي‬ ‫ياحي‬ ‫اهه‬ ‫اي‬
‫غلي‬ ‫ياحي‬ ‫ان‬ ًٌ‫يم‬ ‫ال‬
‫اما‬ ,‫اليعاس‬
lvalue(left value)
‫الزايشة‬ ‫في‬ ‫غىىان‬ ‫النهايت‬ ‫في‬ ‫يمشل‬ ‫الزي‬‫مخؿحر‬ ً‫غ‬ ‫غباسة‬ ‫وهي‬ ‫ايػا‬ ً‫اليم‬ ‫غلي‬ ‫جاحي‬ ‫ان‬ ًٌ‫ويم‬‫اليعاس‬ ‫غلي‬ ‫جاحي‬ ‫التي‬ ‫قهي‬
‫انـ‬ ‫قيًخ‬ ‫حسبة‬ ‫في‬ ‫االسجقيخ‬
expression
:
‫املػادلت‬ ‫في‬ ‫خذ‬ ‫ًل‬ ‫نيمت‬ ‫خعاب‬ ‫جشجيب‬ ‫اي‬ ‫لخدذيذ‬ ‫نىاغذ‬ ‫هىاى‬
( ‫لذيىا‬‫قلى‬
2
+
4
*
5
‫الىديجت‬ ‫هل‬ )
22
‫ام‬
30
‫الىديجت‬ ‫الاظبهيت‬ ‫لهىاغذ‬ ‫باليعبت‬ ,
22
‫زم‬ + ‫زم‬ % ‫زم‬ / ‫زم‬ * ‫زم‬ )( ‫هي‬ ‫الخعابيت‬ ‫الػملياث‬ ‫في‬ ‫الاظبهيت‬
-
‫الاخؿاء‬ ‫ولخجىب‬ ‫وغىخا‬‫ايثر‬ ‫املػادلت‬ ‫لجػل‬ )( ‫اظخخذام‬ ً‫م‬‫هٌثر‬ ‫ان‬ ‫والاقػل‬ ,
‫هشيذه‬ ‫الزي‬ ‫بالترجيب‬ ‫الخذود‬ ‫نيمت‬ ‫خعاب‬ ‫وليخم‬
‫حذو‬
‫الترجيب‬ ُ
‫ثبنجزبد‬ ‫انخبطخ‬ ‫انًؤثشاد‬ ‫اسزخذايبد‬

‫مػحن‬ ‫بذ‬ ‫نيمت‬‫جطكحر‬
reset
‫باظخخذام‬ َ‫رل‬ ‫ويخم‬
&

‫هل‬ ‫مػحن‬ ‫بذ‬ ‫نيمت‬ ً‫م‬ ‫الخدهو‬
1
‫او‬
0
‫باظخخذام‬ َ‫رل‬ ‫ويخم‬
&

‫مػحن‬ ‫بذ‬ ‫نيمت‬ ‫وغؼ‬
set
‫ـ‬‫ب‬
1

‫جبذيل‬
‫مػحن‬ ‫بذ‬ ‫نيمت‬
Toggle
ً‫م‬ ‫ارا‬
1
‫الي‬
0
‫باظخخذام‬ َ‫ورل‬ ‫والػٌغ‬
^
‫معين‬ ‫بت‬ ‫قيمة‬‫ثصفير‬
reset
‫حػؿي‬
&
‫الهيمت‬
1
‫ـ‬‫ـ‬‫ـ‬‫ب‬ ‫الهيمخحن‬ ‫ًاهذ‬ ‫ارا‬
1
‫ـ‬‫ـ‬‫ب‬ ‫اخذهما‬ ‫ًان‬ ‫ارا‬ ‫اما‬
0
‫دائما‬ ‫قالىديجت‬
0
‫ـ‬‫ـ‬‫ب‬ ‫مػحن‬ ‫بذ‬ ‫نيمت‬ ‫هػؼ‬ ‫ان‬ ‫اسدها‬ ‫ارا‬ ‫لزا‬ ,
0
‫بػمل‬ ‫ههىم‬
&
َ‫لخل‬
‫بها‬ ‫ي‬‫اخش‬ ‫نيمت‬ ‫مؼ‬ ‫الهيمت‬
0
‫و‬ ‫جطكحره‬ ‫اد‬‫ش‬‫امل‬ ‫البذ‬ ‫مٍان‬
1
‫ا‬ ًٌ‫يم‬ َ‫جل‬ ‫ي‬‫الاخش‬ ‫الهيمت‬ ‫ولخدذيذ‬ , ‫ي‬‫الاخش‬ ً‫الاماي‬ ‫في‬
‫الىكي‬‫مؤشش‬ ‫مؼ‬ ‫اخت‬‫ص‬‫الا‬ ‫وعخخذم‬ ‫ن‬
‫يلي‬ ‫يما‬ ‫باهكعىا‬ ‫مباششة‬ ‫الهيمت‬ ‫هدذد‬‫او‬
- 41 -
‫ـ‬‫ب‬ ‫الشاوي‬ ‫البذ‬ ‫نيمت‬ ‫وغؼ‬
0
ُ‫مشا‬
//value
unsigned short value = 0b1000110;
//generate the second value
unsigned short reset = ~ (1<< 2);
//before
printf("value before is 0x%x n",value);
//apply reset
value &= reset ;
//after
printf("value after is 0x%x n",value);
valuebefore is 0x46
valueafter is 0x42
[ 03 - operators03.c ]
( ‫باظخخذام‬ َ‫ورل‬ ‫الشىائي‬ ‫بالىظام‬ ‫نيمت‬ ‫واغؿيىاه‬ ‫صخيذ‬‫مخؿحر‬ ‫حجضها‬
0b
‫ال‬ ‫الهيمت‬ ‫اليجاد‬ ‫زم‬, ‫الهيمت‬ ‫نبل‬ )
‫غمل‬ ‫ظيخم‬ ‫تي‬
&
‫لخطكحر‬ َ‫ورل‬ ‫مػها‬
‫الىكي‬ ‫مؼ‬‫اليعاس‬ ‫حهت‬ ‫اخت‬‫ص‬‫الا‬ ‫اظخخذمىا‬ ‫الشاوي‬ ‫البذ‬
unsigned short reset = ~ (1<< 2);
‫خيث‬
2
‫للشنم‬ ‫اخت‬‫ص‬‫ا‬ ‫اء‬‫ش‬‫باح‬ ‫اوال‬ ‫نمىا‬ ‫اهىا‬ ‫هىا‬ ‫خذر‬ ‫ما‬ , ‫جطكحره‬ ‫اد‬‫ش‬‫امل‬ ‫البذ‬ ‫سنم‬ ‫هي‬
1
‫اخت‬‫ص‬‫الا‬ ‫هاجج‬ ‫غٌغ‬ ‫زم‬ ‫جطكحر‬ ‫اد‬‫ش‬‫امل‬ ‫البذ‬ ‫بشنم‬‫اليعاس‬ ‫حهت‬
‫ورل‬
‫بىاخذ‬ ‫الشنم‬ ‫وبهيت‬ ‫الىاخذ‬ ‫مٍان‬‫ضكش‬ ‫لىضر‬ َ
(1<< 2) = (0000 0001) << 2 = (0000 0100)
~(1<< 2) = ~ (0000 0100) = (1111 1011)
‫املخؿحر‬ ‫قان‬ َ‫وبزل‬
reset
‫الهيمت‬ ‫ي‬‫ظيدى‬
(1111 1011)
,
‫لٌنها‬ ‫والىكي‬ ‫اخت‬‫ص‬‫الا‬ ‫اظخخذام‬ ً‫م‬ ‫بذال‬ ‫مباششة‬ ‫الهيمت‬ َ‫جل‬ ‫له‬ ‫هػؼ‬ ‫ان‬ ًٌ‫يم‬ ‫وًان‬
‫اظهل‬
‫املخؿحر‬ ‫نيمت‬ ‫مؼ‬ ‫الاضليت‬ ‫للهيمت‬ & ‫بػمل‬ َ‫رل‬ ‫بػذ‬ ‫نمىا‬ , ‫بٌشحر‬
reset
‫الاضليت‬ ‫الهيمت‬ ‫مٍان‬ ‫الىاجج‬ ً‫وجخضي‬
value &= reset ;
- 42 -
value = 0 1 0 0 0 1 1 0
&
reset = 1 1 1 1 1 0 1 1
-------------------------
value = 0 1 0 0 0 0 1 0
‫ي‬ ‫العذاس‬ ‫بالىظام‬ ‫الهيم‬ ‫ؾبؼ‬ ‫وجم‬
‫غشش‬
‫مػحن‬ ‫بذ‬ ‫نيمت‬ ً‫م‬ ‫الخدهو‬
‫ا‬ ‫والباقي‬ ‫مىه‬ ‫الخدهو‬ ‫اد‬‫ش‬‫امل‬ ‫البذ‬ ‫مٍان‬ ‫واخذ‬ ً‫م‬ ‫الهيمت‬ َ‫جل‬ ‫ن‬‫جخٍى‬ ‫ان‬ ‫بششؽ‬ ‫للخدهو‬ ‫ي‬‫اخش‬ ‫نيمت‬ ‫مؼ‬ ‫الاضليت‬ ‫للهيمت‬ ‫لهزا‬ & ‫بػمل‬ َ‫رل‬ ‫يخم‬
, ‫ضكاس‬
‫لجملت‬ ‫يششؽ‬ ‫ويعخخذم‬
if
‫بالشٍل‬ ‫يما‬ , )‫الخها‬ ‫اليها‬ ‫م‬‫(ظيخؿش‬
‫ابؼ‬‫ش‬‫ال‬ ‫البذ‬ ‫نيمت‬ ً‫م‬ ‫الخدهو‬
ُ‫مشا‬
unsigned short value = 0b1010110;
//generate the check value
unsigned short check = (1<< 4);//bit number is 4
if( (value & check ) == check )
{
printf("bit value is 1n");
}
else
{
printf("bit value is 0n");
}
bitvalue is 1
[ 03 - operators04.c ]
-
‫اخت‬‫ص‬‫الا‬ ‫اظخخذمىا‬
(1<< 4)
( ‫الهيمت‬ ‫ن‬‫قعخٍى‬ , ‫ابؼ‬‫ش‬‫ال‬ ‫البذ‬ ً‫م‬ ‫للخدهو‬ , ‫بها‬ ‫الخدهو‬ ‫ظيخم‬ ‫التي‬ ‫الهيمت‬ ‫اليجاد‬
0001 000
‫وغؼ‬ ًٌ‫يم‬ ‫وًان‬ )
‫غمل‬ ‫غىذ‬ , ‫اخت‬‫ص‬‫الا‬ ‫اظخخذام‬ ً‫م‬ ‫بذال‬ ‫مباششة‬ ‫الهيمت‬ َ‫جل‬
&
‫ـ‬‫ب‬ ‫البذ‬ ‫نيمت‬ ‫ًاهذ‬ ‫ارا‬ ‫الاضليت‬ ‫والهيمت‬ ‫الهيمت‬ َ‫جل‬ ‫بحن‬
1
‫هكغ‬‫هى‬ ‫الىاجج‬ ‫ن‬‫ظيٍى‬
‫نيمت‬
‫ـ‬‫ب‬ ‫البذ‬ ‫نيمت‬ ‫ًاهذ‬ ‫ارا‬ ‫اما‬ ‫الخدهو‬
0
‫الىاجج‬ ‫ن‬‫ظيٍى‬
0
‫الخدهو‬ ‫لهيمت‬ ‫ي‬‫معاو‬ ‫الػمليت‬ ‫هاجج‬ ‫ًان‬ ‫قارا‬ , ‫الىاجج‬ ً‫م‬ ‫للخدهو‬ ‫الششؽ‬ ‫حملت‬ ‫اظخخذمىا‬ ,
‫البذ‬ ‫نيمت‬ ‫قان‬
1
‫قهي‬ ‫والا‬
0
check = (1<< 4) = (0001 0000)
- 43 -
value = 0 1 0 1 0 1 1 0
&
check = 0 0 0 1 0 0 0 0
------------------------
(0 0 0 1 0 0 0 0) == check => true ,printf("bit value is 1n");
‫مػحن‬ ‫بذ‬ ‫نيمت‬ ‫وغؼ‬
set
‫حػؿي‬ ‫النها‬ َ‫ورل‬ | ‫وعخخذم‬ ‫هىا‬ ًٌ‫ول‬ & ‫باظخخذام‬ ‫البذ‬‫جطكحر‬ ‫مشل‬ ‫جماما‬
1
‫نيمخه‬ ‫ًليها‬‫او‬ ‫البخحن‬ ‫اخذ‬ ‫ًان‬ ‫ارا‬
1
‫بها‬ ‫نيمت‬ ‫مؼ‬ | ‫بػمل‬ ‫ظىهىم‬ ‫لزا‬ ,
1
‫مٍان‬ ‫في‬
‫ـ‬‫ب‬ ‫وغػه‬ ‫اد‬‫ش‬‫امل‬ ‫البذ‬
1
‫ـ‬‫ب‬ ‫الخامغ‬ ‫البذ‬ ‫وغؼ‬
1
ُ‫مشا‬
unsigned short value = 0b1010110;
//generate the set value
unsigned short set = ( 1<< 5 );
//before
printf("value before is 0x%x n",value);
//apply set
value |= set ;
//after
printf("value after is 0x%x n",value);
valuebefore is 0x56
valueafter is 0x76
[ 03 - operators05.c ]
‫ال‬ ‫نيمت‬ ‫وغؼ‬ ‫في‬ ‫ظدعخخذم‬ ‫التي‬ ‫الهيمت‬ ‫لخدذيذ‬ ‫اخت‬‫ص‬‫الا‬ ‫اظخخذمىا‬ , ‫الشىائي‬ ‫بالىظام‬ ‫مباششة‬ ‫نيمت‬ ‫واغؿاءه‬ ‫الاضليت‬ ‫للهيمت‬‫مخؿحر‬‫حجض‬ ‫بػذ‬
‫الهىا‬ , ‫بذ‬
‫بػمل‬ ‫نمىا‬ ‫الخامغ‬ ‫البذ‬ ‫نيمت‬ ‫وغؼ‬ ‫هشيذ‬
‫بمهذاس‬ ‫اخت‬‫ص‬‫ا‬
5
( ‫الهيمت‬ ‫ن‬‫ظخٍى‬ َ‫وبزل‬ ,
0010 0000
‫والهيمت‬ ‫الهيمت‬ َ‫جل‬ ‫بحن‬ | ‫بػمل‬ ‫بػذها‬ ‫نمىا‬ , )
‫الاضليت‬ ‫الهيمت‬ ‫مٍان‬ ‫في‬ ‫الىاجج‬ ً‫وجخضي‬ ‫الاضليت‬
value |= set ;
- 44 -
set = (1<< 5) = (0000 0001) << 5 = (0010 0000)
value = 0 1 0 1 0 1 1 0
|
set = 0 0 1 0 0 0 0 0
-------------------------
value = 0 1 1 1 0 1 1 0
‫جبذيل‬
‫مػحن‬ ‫بذ‬ ‫نيمت‬
Toggle
‫ـ‬‫ب‬ ^ ‫غمل‬ ‫جم‬ ‫ارا‬ ‫اهه‬ ‫خيث‬ , ^ ‫الخبذيل‬ ‫في‬ ‫حعخخذم‬
1
‫الهيمت‬ َ‫جل‬ ‫ًاهذ‬ ‫قارا‬ ‫ي‬‫اخش‬ ‫نيمت‬ ‫مؼ‬
0
‫الىاجج‬ ‫ن‬‫ظيٍى‬
1
‫ًاهذ‬ ‫وارا‬
1
‫الىاجج‬ ‫ن‬‫ظيٍى‬
0
َ‫وبزل‬
‫الهيمت‬ َ‫جل‬ ‫بدبذبل‬ ‫نمىا‬
‫س‬ ‫البذ‬ ‫جبذيل‬
‫نم‬
1
ُ‫مشا‬
//value
unsigned short value = 0b1010110;
//generate the set value
unsigned short toggle = ( 1<< 1 );
//before
printf("value before is 0x%x n",value);
//apply reset
value ^= toggle ;
//after
printf("value after is 0x%x n",value);
valuebefore is 0x56
valueafter is 0x54
[03 - operators06.c]
‫بهذاس‬ ‫هىا‬ ‫اخت‬‫ص‬‫الا‬ , ‫الخبذيل‬ ‫في‬ ‫العخخذمت‬ ‫الهيمت‬ ‫اليجاد‬ ‫ايػا‬ ‫اخت‬‫ص‬‫الا‬ ‫اظخخذمىا‬
1
‫سنم‬ ‫البذ‬ ‫جبذيل‬ ‫هشيذ‬ ‫الهىا‬
1
َ‫جل‬ ‫بحن‬ | ‫بػمل‬ ‫بػذها‬ ‫نمىا‬ , ,
‫الاضليت‬ ‫الهيمت‬ ‫مٍان‬ ‫في‬ ‫الىاجج‬ ً‫وجخضي‬ ‫الاضليت‬ ‫والهيمت‬ ‫الهيمت‬
value ^= toggle ;
- 45 -
toggle = (1<< 1) = (0000 0001) << 1 = (0000 0010)
value = 0 1 0 1 0 1 1 0
^
toggle = 0 0 0 0 0 0 1 0
-------------------------
value = 0 1 0 1 0 1 0 0
‫انخالطخ‬

‫واملىؿهيت‬ ‫الخعابيت‬ ‫الػملياث‬ ‫اء‬‫ش‬‫الح‬ ‫الشمىص‬ ً‫م‬ ‫مجمىغت‬ ‫غلي‬ ‫ي‬ ‫الس‬ ‫ي‬‫جدخى‬
‫وؾحرها‬ ‫والػالنيت‬

‫جدىيل‬ ‫مشل‬ ‫انل‬ ‫هىع‬ ‫الي‬ ‫اغلي‬ ‫هىع‬ ‫جدىيل‬ ‫ان‬
int
‫الي‬
char
‫البياهاث‬ ‫في‬ ‫قهذ‬ ‫الي‬ ‫يؤدي‬
truncate

‫يخابت‬ ‫غىذ‬ ‫الػملياث‬ ‫في‬ ‫الاظبهيت‬ ‫اغاة‬‫ش‬‫م‬ ‫يجب‬
expressions
‫وللىغىح‬ ‫لالخؿاء‬ ‫ججىبا‬ ‫الانىاط‬ ‫اظخخذام‬ ‫ويكػل‬

‫اث‬‫ش‬‫املؤز‬ ‫حعخخذم‬
bitwise
‫البذ‬ ‫ي‬‫معخى‬ ‫غلي‬ ‫لخػامل‬
‫سؤال‬
‫وخىاة‬
-
‫الخاليت؟‬ ‫الػمليت‬ ‫هديجت‬ ‫ما‬
(12 && -44)
‫هي‬ ‫الىديجت‬
1
‫الطكش‬‫حػخبر‬ ‫ي‬ ‫الس‬ ‫الن‬
false
‫اخش‬ ‫غذد‬ ‫واي‬
true
-
‫؟‬ ‫الاجيت‬ ‫الؿباغت‬ ‫هديجت‬
int num= 12;
printf("%dn", num++);
‫الهيمت‬ ‫ؾباغت‬ ‫هي‬ ‫الىديجت‬
12
‫ظخطبذ‬‫املخؿحر‬ ‫ونيمت‬ ,
13
- 46 -
- 47 -
- 48 -
-
‫انــ‬
statement
:
( ‫مىهىؾت‬ ‫بكاضلت‬ ‫ييخهي‬ ‫مٌخمل‬‫امش‬ ‫هي‬
;
)
‫مػادلت‬‫او‬ ‫دالت‬ ‫ن‬‫يٍى‬ ‫ان‬ ‫واما‬
expression
‫ًالخالي‬ ‫مىهىؾت‬ ‫بكاضلت‬ ‫جيخهي‬ ‫ان‬ ‫املهم‬
h = x+y *z ;
y = 2;
printf("helloworld");
return 0;
l = x>4||y <6 ;
‫يػخبر‬‫ظؿش‬ ‫ًل‬
statement
‫ب‬ ‫ييخهي‬ ‫الهه‬
‫مىهىؾت‬ ‫كاضلت‬
‫انـ‬
statement block
:
ً‫م‬ ‫مجمىغت‬
statement
‫ـ‬‫ـ‬‫ب‬ ‫جبذا‬ ‫التي‬
}
‫ـ‬‫ـ‬‫ب‬ ‫وجيخهي‬
{
‫الشئعيت‬ ‫الذالت‬ ‫في‬ ‫املىحىدة‬ َ‫جل‬ ‫مشل‬ ,
main function
‫ـ‬‫ل‬‫ا‬ ‫داخل‬ ‫بىا‬ ‫الخاضت‬ ‫الاًىاد‬ ‫هٌخب‬ ً‫قىد‬ ,
block
‫الذالت‬ َ‫بخل‬ ‫الخاص‬
Block of code
‫انجشَبيح‬ ‫سيش‬ ‫في‬ ‫انزحكى‬
program control
:
‫اث‬‫ش‬‫م‬ ‫غذه‬ ‫جىكيزه‬‫او‬ ‫مػحن‬ ‫ششؽ‬ ‫غلي‬ ‫بىاء‬ ‫البرهامج‬ ً‫م‬ ‫حضء‬ ‫جىكيز‬ ‫الي‬ ‫هدخاج‬ ‫قهذ‬ , ‫البرهامج‬ ‫جىكيز‬ ‫خالله‬ ً‫م‬ ‫ظيخم‬ ‫الزي‬ ‫الترجيب‬ ‫جدذيذ‬‫هى‬
-
‫انششط‬ ‫خًهخ‬
if
:
‫اس‬‫ش‬‫اله‬ ً‫غ‬‫يخػبحر‬ ‫حعخخذم‬
decision
‫مػحن‬ ‫ششؽ‬ ‫غلي‬ ‫بىاء‬ ‫الخػليماث‬ ‫جىكيز‬ ‫خاللها‬ ً‫م‬ ‫يخم‬ ‫خيث‬ ,
‫جىكي‬ ًٌ‫ويم‬ ,
َ‫جل‬ ‫جٌخب‬ ‫خيث‬ ‫واخذة‬ ‫حػليمت‬ ‫ز‬
‫جكيز‬ ُ‫خا‬ ‫في‬ ‫اما‬ , ‫بػذها‬ ‫مباششة‬ ‫الخػليمت‬
block
‫الانىاط‬ ‫اظخخذام‬ ً‫م‬ ‫قالبذ‬ ‫الخػليماث‬ ً‫م‬
{}
‫بالشٍل‬ ‫يما‬
- 49 -
‫حملت‬
if
‫ششؽ‬ ‫غلي‬ ‫بىاء‬ ‫مخخلكخحن‬ ‫حملخحن‬ ‫بؿباغت‬ ‫يهىم‬ ‫بشهامج‬ ُ‫مشا‬
int num = 30 ;
if( num > 0)
{
printf("number is positiven");
}
if( num < 0)
{
printf("number is negativen");
}
numberispositive
[ 04 - programControl01.c ]
‫الػالنيت‬ ‫اث‬‫ش‬‫املؤز‬ ‫اظخخذمىا‬ ‫هىا‬
relationaloperator
ُ‫الاو‬ ‫الششؽ‬ ,‫الطكش‬ ً‫م‬ ‫انل‬ ‫ًان‬ ‫ارا‬‫او‬ ,‫ضكش‬ ً‫م‬‫ايبر‬ ‫الشنم‬ ‫ًان‬ ‫ارا‬ , ‫الششؽ‬ ً‫م‬ ‫للخدهو‬
‫هى‬
‫به‬ ‫الخاضت‬ ‫الخػليماث‬ ‫ججاهل‬ ‫جم‬ ‫وبالخالي‬ ‫يخدهو‬‫لى‬ ‫الشاوي‬ ‫الششؽ‬ ‫ما‬ ‫جدهو‬ ‫الزي‬
- 50 -
-
‫انششط‬ ‫خًهخ‬
if else
:
‫الششؽ‬ ‫يخدهو‬ ‫لم‬ ‫ارا‬ ‫ي‬‫اخش‬ ‫حػليماث‬ ‫وجىكيز‬ ‫الششؽ‬ ‫جدهو‬ ‫ارا‬ ‫مػيىت‬ ‫حػليماث‬ ‫جىكيز‬ ‫يخم‬ ‫هىا‬
‫ـ‬‫ب‬ ‫الخاص‬ ‫الجضء‬ ,
else
‫ان‬ ‫ششؾا‬ ‫ليغ‬ ‫ي‬‫اخخياس‬
‫مؼ‬ ‫يعخخذم‬
if
.
‫الششؽ‬ ‫حملت‬
ifelse
‫باظخخذام‬ ‫العابو‬ ‫البرهامج‬ ‫غلي‬ ‫حػذيل‬ ُ‫مشا‬
else
int num = -11 ;
if( num > 0)
{
printf("number is positiven");
}
else
{
printf("number is negativen");
}
numberisnegative
- 51 -
[ 04 - programControl02.c ]
‫وبالخ‬ ‫يخدهو‬ ‫لم‬ ‫ي‬ ‫الاظاس‬ ‫الششؽ‬
‫ـ‬‫ـ‬‫ب‬ ‫الخاضت‬ ‫الخػليماث‬ ‫ججاهل‬ ‫جم‬ ‫الي‬
if
‫ـ‬‫ب‬ ‫الخاضت‬ َ‫جل‬ ‫جىكيز‬ ‫وجم‬
else
-
‫انششط‬ ‫خًهخ‬
else if
:
‫اظخخذام‬ ًٌ‫ويم‬ , ‫به‬ ‫الخاضت‬ ‫الخػليماث‬ ‫ششؽ‬ ‫لٍل‬ , ‫مىه‬ ‫للخدهو‬ ‫ششؽ‬ ً‫م‬‫ايثر‬ ‫لذيىا‬ ‫هىا‬
else
‫ششؽ‬ ‫اي‬ ‫جدهو‬ ‫غذم‬ ‫خالت‬ ‫في‬ ‫ايػا‬
‫الششؽ‬ ‫حملت‬
elseif
int num = -11 ;
if( num == 0)
{
}
else if( num > 0)
{
printf("number is positiven");
}
else
{
printf("number is negativen");
}
numberisnegative
[ 04 - programControl03.c ]
- 52 -
‫ـ‬‫ب‬ ‫الخاضت‬ ‫الخػليماث‬ ‫جىكيز‬ ‫نخم‬ ‫يخدهو‬ ‫لم‬ ‫الشاوي‬ ‫وايػا‬ ‫يخدهو‬ ‫لم‬ ُ‫الاو‬ ‫الششؽ‬ ‫هىا‬
else
ُ‫مشا‬
‫قشدي‬ ‫ام‬ ‫صوجي‬ ‫الشنم‬ ً‫م‬ ‫بالخدهو‬ ‫يهىم‬ ‫بشهامج‬ :
int num = 13 ;
if( (num % 2) == 0)
{
printf("number is evenn");
}
else
{
printf("number is oddn");
}
numberisodd
[ 04 - programControl04.c]
‫الضو‬ ‫الاسنام‬ ‫ان‬ ‫خيث‬ , ‫راجه‬ ‫الخدهو‬ ‫ششؽ‬ ‫في‬ ‫هىا‬ ‫الكٌشة‬
‫غلي‬ ‫الهعمت‬ ‫جهبل‬ ‫التي‬ َ‫جل‬ ‫هي‬ ‫حيت‬
2
‫غلي‬ ‫الهعمت‬ ‫باقي‬ ‫ان‬‫اخش‬ ‫اوبمػني‬
2
‫وما‬ ,‫ضكش‬ ‫ي‬‫يعاو‬
‫ي‬‫اخش‬ ‫بؿشيهت‬ ‫الششؽ‬ ‫يخابت‬ ًٌ‫ويم‬ ‫قشديت‬ ‫اسنام‬ َ‫رل‬ ‫غذا‬
if(!(num% 2))
{
printf("numberisevenn");
}
else
{
printf("numberisoddn");
}
‫الطكش‬‫حػخبر‬ ‫ي‬ ‫الس‬ ‫ان‬ ‫خيث‬
false
‫اخش‬ ‫سنم‬ ‫واي‬
non zero
‫حػخبره‬
true
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf
Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf

More Related Content

Recently uploaded

Architecture engineering ‎⁨العمارة المعاصرة في مصر⁩.pdf
Architecture engineering ‎⁨العمارة المعاصرة في مصر⁩.pdfArchitecture engineering ‎⁨العمارة المعاصرة في مصر⁩.pdf
Architecture engineering ‎⁨العمارة المعاصرة في مصر⁩.pdf
mennamohamed200y
 
المؤقتات بدورة التحكم الصناعي العملية اليوم
المؤقتات بدورة التحكم الصناعي العملية اليومالمؤقتات بدورة التحكم الصناعي العملية اليوم
المؤقتات بدورة التحكم الصناعي العملية اليوم
sofyan20058
 

Recently uploaded (8)

المحاضرة الأولى في دورة التحكم الصناعي ل
المحاضرة الأولى في دورة التحكم الصناعي لالمحاضرة الأولى في دورة التحكم الصناعي ل
المحاضرة الأولى في دورة التحكم الصناعي ل
 
المحاضرة الأولى لدورة التحكم الصناعي العملية
المحاضرة الأولى لدورة التحكم الصناعي العمليةالمحاضرة الأولى لدورة التحكم الصناعي العملية
المحاضرة الأولى لدورة التحكم الصناعي العملية
 
Architecture engineering ‎⁨العمارة المعاصرة في مصر⁩.pdf
Architecture engineering ‎⁨العمارة المعاصرة في مصر⁩.pdfArchitecture engineering ‎⁨العمارة المعاصرة في مصر⁩.pdf
Architecture engineering ‎⁨العمارة المعاصرة في مصر⁩.pdf
 
الفهم القرائي الفهم القرائي الفهم القرائي دورة الفهم القرائي.pptx
الفهم القرائي الفهم القرائي الفهم القرائي دورة الفهم القرائي.pptxالفهم القرائي الفهم القرائي الفهم القرائي دورة الفهم القرائي.pptx
الفهم القرائي الفهم القرائي الفهم القرائي دورة الفهم القرائي.pptx
 
مبدأ عمل المؤقتات في دورة التحكم الصناعي العملية
مبدأ عمل المؤقتات في دورة التحكم الصناعي العمليةمبدأ عمل المؤقتات في دورة التحكم الصناعي العملية
مبدأ عمل المؤقتات في دورة التحكم الصناعي العملية
 
المحاضرة الثالثة دورة التحكم الصناعي العملية
المحاضرة الثالثة دورة التحكم الصناعي العمليةالمحاضرة الثالثة دورة التحكم الصناعي العملية
المحاضرة الثالثة دورة التحكم الصناعي العملية
 
نظم التحكم البيئي pdf...................
نظم التحكم البيئي pdf...................نظم التحكم البيئي pdf...................
نظم التحكم البيئي pdf...................
 
المؤقتات بدورة التحكم الصناعي العملية اليوم
المؤقتات بدورة التحكم الصناعي العملية اليومالمؤقتات بدورة التحكم الصناعي العملية اليوم
المؤقتات بدورة التحكم الصناعي العملية اليوم
 

Featured

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 

Noor-Book.com لغة c أصبحت سهلة باللغة العربية 3 .pdf

  • 1.
  • 3. - 2 - ‫الكتاب‬ ‫مع‬ ‫مرفقة‬ ‫وجودها‬ ‫عدم‬ ‫حالة‬ ‫في‬ ‫بالكتاب‬ ‫الخاصة‬ ‫الاكواد‬ ‫رابط‬ easy - made - language - hussein/c - https://github.com/mo7amed
  • 5. - 4 - Table of Contents ‫م‬ ‫قدمة‬ .................................................................................................................................................................................................. - 7 - ‫االدوات‬ ‫المستخدمة‬ ............................................................................................................................................................................. - 8 - ‫ما‬ ‫قبل‬ Hello World......................................................................................................................................................................... - 8 - ‫الدالة‬ ‫االساسية‬ main function :......................................................................................................................................................... - 9 - ‫الطباعة‬ ‫علي‬ ‫الشاشة‬ Hello World ....................................................................................................................................................... - 9 - - ‫طباعة‬ ‫علي‬ ‫اكثر‬ ‫من‬ ‫سطر‬ ................................................................................................................................................................ - 12 - - ‫الـ‬ escape sequences............................................................................................................................................................... - 13 - ‫الخوارزميات‬Algorithms................................................................................................................................................................ - 13 - ‫الخالصة‬........................................................................................................................................................................................ - 15 - - ‫سؤال‬ ‫وجواب‬ ................................................................................................................................................................................ - 16 - ‫المتغيرات‬........................................................................................................................................................................................... - 19 - ‫الذاكرة‬ Memory........................................................................................................................................................................... - 19 - ‫وحدات‬ ‫التخزين‬ Storage units........................................................................................................................................................ - 20 - ‫المتغيرات‬Variables ..................................................................................................................................................................... - 20 - ‫متغيرات‬ ‫االعداد‬ ‫الصحيحة‬ Integers variable..................................................................................................................................... - 21 - ‫متغيرات‬ ‫االعداد‬ ‫الحقيقية‬ floating-point variables ............................................................................................................................ - 24 - ‫متغير‬ ‫الحروف‬ characters ............................................................................................................................................................ - 25 - ‫الثوابت‬constants ......................................................................................................................................................................... - 28 - - ‫العمليات‬ ‫الحسابية‬ arithmetic operators ..................................................................................................................................... - 29 - - ‫سؤال‬ ‫وجواب‬ ................................................................................................................................................................................ - 30 - ‫الرموز‬operators ............................................................................................................................................................................. - 33 - ‫رموز‬ ‫العمليات‬ ‫الحسابية‬ arithmetic operators: ............................................................................................................................... - 33 - ‫رموز‬ ‫العمليات‬ ‫العالقية‬ relational operators:................................................................................................................................... - 33 - ‫رموز‬ ‫ال‬ ‫عمليات‬ ‫المنطقية‬ logical operators........................................................................................................................................ - 34 - ‫مؤثرات‬ ‫الزيادة‬ ‫والنقصان‬ increment and decrement operators...................................................................................................... - 36 - ‫رموز‬ ‫خاصة‬ ‫بالبتات‬ bitwise operators............................................................................................................................................ - 37 - ‫مؤثرات‬ ‫تعين‬ ‫القيم‬ assignment operators....................................................................................................................................... - 38 - ‫مؤثر‬ ‫التحويل‬ ‫من‬ ‫نوع‬ ‫الخر‬ cast operator: ....................................................................................................................................... - 39 - ‫الـعبارة‬ ‫الجبرية‬ expressions............................................................................................................................................................ - 39 - ‫االسبقية‬ ‫في‬ ‫حساب‬ ‫قيمة‬ ‫الـ‬ expression .............................................................................................................................................. - 40 - ‫استخدامات‬ ‫المؤثرات‬ ‫الخاصة‬ ‫بالبتات‬ ..................................................................................................................................................... - 40 - ‫الخالصة‬........................................................................................................................................................................................ - 45 - ‫سؤال‬ ‫وجواب‬ .................................................................................................................................................................................. - 45 -
  • 6. - 5 - ‫التحكم‬ ‫البرنامج‬ ‫سير‬ ‫في‬ ......................................................................................................................................................................... - 48 - ‫الـ‬statement block.................................................................................................................................................................... - 48 - ‫التحكم‬ ‫في‬ ‫سير‬ ‫البرنامج‬ program control.......................................................................................................................................... - 48 - - ‫جملة‬ ‫الشرط‬ if ............................................................................................................................................................................ - 48 - ‫جملة‬ ‫الشرط‬ switch ....................................................................................................................................................................... - 58 - - ‫تعديل‬ ‫الحلقات‬ ‫باستخدام‬ break & continue ..................................................................................................................................... - 69 - ‫الخالصة‬........................................................................................................................................................................................ - 73 - ‫سؤال‬ ‫وجواب‬ .................................................................................................................................................................................. - 74 - ‫امثلة‬ ‫عملية‬ ................................................................................................................................................................................... - 77 - ‫سؤال‬ ‫وجواب‬ ................................................................................................................................................................................ - 105 - ‫المؤشرات‬pointers......................................................................................................................................................................... - 107 - ‫الخالصة‬...................................................................................................................................................................................... - 116 - - ‫الدوال‬ functions........................................................................................................................................................................... - 118 - - ‫مجال‬ ‫المتغيرات‬ variable scope ...................................................................................................................................................... - 124 - ‫الخالصة‬ ......................................................................................................................................................................................... - 136 - ‫التعامل‬ ‫الملفات‬ ‫مع‬ .............................................................................................................................................................................. - 150 - - ‫انواع‬ ‫الملفات‬ .................................................................................................................................................................................. - 162 - ‫الخالصة‬.......................................................................................................................................................................................... - 168 - ‫التوجيهات‬Preprocessor.................................................................................................................................................................. - 170 - ‫الخالصة‬.......................................................................................................................................................................................... - 179 - ‫الدوال‬ ‫المتقدمة‬ ‫والمؤشرات‬ ................................................................................................................................................................... - 181 - - ‫البنية‬ ‫ذاتية‬ ‫المرجعية‬ self-referential structure ................................................................................................................................ - 194 - ‫الخالصة‬.......................................................................................................................................................................................... - 194 - ‫امثلة‬ ‫عملية‬ ........................................................................................................................................................................... - 196 - ‫المراجع‬........................................................................................................................................................................................... - 200 -
  • 8. - 7 - ‫يقذيخ‬ ‫اع‬‫ش‬‫الاؾ‬ ‫مخػذدة‬ ‫لؿت‬ ‫هي‬ ‫ي‬ ‫الس‬ ‫لؿت‬ general-purpose ‫ال‬ ً‫م‬ ‫مػحن‬ ‫لىىع‬ ‫مىحهت‬ ‫ليعذ‬ ‫ار‬ , ‫بىظام‬ ‫اسجباؾها‬ ً‫م‬ ‫الشؾم‬ ‫غلي‬ َ‫ورل‬ , ‫خؿبيهاث‬ ‫اليىهٌغ‬ UNIX ‫املترحماث‬‫جؿىيش‬ ‫في‬ ‫حعخخذم‬ ‫النها‬ ‫الاهظمت‬ ‫بشمجت‬ ‫بلؿت‬ ‫ايػا‬ ‫وحعمي‬ , ‫ي‬ ‫الس‬ ‫بلؿت‬ ‫به‬ ‫الخاضت‬ ‫امج‬‫ر‬‫الب‬ ‫ومػظم‬ ‫الىظام‬‫جؿىيش‬ ‫جم‬ ‫خيث‬ ‫يك‬ ‫ان‬ ‫يشيذ‬ ‫مارا‬ ‫اليػشف‬ ً‫م‬ ‫يخػلمها‬ ‫ي‬ ‫الس‬ ‫لؿت‬ ‫ان‬ " ‫نيل‬ ‫ونذيما‬ , ‫وؾحرها‬ ‫الدشؿيل‬ ‫واهظمت‬ " ‫ػل‬ ‫هما‬ ‫لها‬ ‫ظابهخحن‬ ‫لؿخحن‬ ً‫م‬ ‫حاء‬ ‫ي‬ ‫الس‬ ‫لؿت‬ ‫جؿىس‬ ‫ان‬, BCPL ‫و‬ B , BCPL ‫ظىت‬ ‫جؿىيشها‬ ‫جم‬ 1967 ‫سيدشاسد‬ ً‫ماسج‬ ‫بىاظؿت‬ Martin Richards ‫في‬ , 1970 ‫ن‬‫جىمعى‬ ‫يحن‬ ‫نام‬ KenThompson ‫لؿت‬‫بخؿىيش‬ B ‫في‬ ‫يىهٌغ‬ ‫هظام‬ ً‫م‬ ‫الاوليت‬ ‫اليسخت‬ ‫لٌخابت‬ ‫واظخخذمها‬ Bell Laboratories ‫ا‬ ‫ًلخا‬ , ‫ظميذ‬ ‫ولزا‬ ‫للبياهاث‬ ‫اهىاع‬ ‫بهما‬ ًٌ‫ي‬ ‫لم‬ ‫للؿخحن‬ “typeless” ‫خيث‬ ‫البياهاث‬ ‫في‬‫غىطش‬ ‫ًل‬ ‫يشؿل‬ 2 . ‫الزايشة‬ ‫في‬ ‫بايذ‬ ‫ي‬ ‫الس‬‫جؿىيش‬ ‫جم‬ ‫بػذ‬ ‫لؿت‬ B ‫ي‬ ‫سيدص‬ ‫ي‬ ‫دييس‬ ‫بىاظؿت‬ DennisRitchie ‫الاظخخذام‬ ‫شائػت‬ ‫اللؿت‬ ‫اضبدذ‬ , ‫ي‬‫اخش‬ ‫وظماث‬ ‫للبياهاث‬ ‫اهىاع‬ ‫اغاقت‬ ‫جم‬ ‫خيث‬ ‫مٌخباث‬‫جؿىيش‬ ‫الي‬ َ‫رل‬ ‫وادي‬ ‫الهياظيت‬ ‫اليسخت‬ ‫حػشيل‬ ‫جم‬ ‫لزا‬ ‫بػػها‬ ‫مؼ‬ ‫مخىاقهت‬ ًٌ‫ج‬ ‫لم‬ ‫اللؿت‬ ً‫م‬ ‫اليسخ‬ َ‫وجل‬ ‫ي‬ ‫الس‬ ‫لؿت‬ ً‫م‬ ‫مخخلكت‬ ‫ليسخ‬ ُ‫ودوا‬ ‫اللؿت‬ ً‫م‬ ANSIc ‫ظىت‬ 1989 ‫للمػايش‬ ‫الامشيٍي‬ ‫املػهذ‬ ‫بىاظؿت‬ American NationalStandards Institute ‫غام‬ ‫في‬ , 1999 ‫اليسخت‬ ‫جدذيث‬ ‫جم‬ ‫وجىظيؼ‬ ‫جدعحن‬ ‫جم‬ ‫خيث‬ ‫الهياظيت‬ ‫اليسخت‬ َ‫جل‬ ‫وحعمي‬ ‫الخطائظ‬ ‫بػؼ‬ C99 ‫بحن‬ ‫ن‬‫بالخػاو‬ ‫الػالم‬ ‫اهداء‬ ‫حميؼ‬ ‫في‬ ‫اللؿت‬ ‫اؾالم‬ ‫جم‬ َ‫رل‬ ‫بػذ‬ , ‫وامل‬‫للمػايش‬ ‫الامشيٍي‬ ‫املػهذ‬ ‫ى‬ ‫ـ‬‫ب‬ ‫وظميذ‬‫للمػايش‬ ‫الػامليت‬ ‫ظمت‬ ISO c " ‫يخاب‬ ‫ي‬ ‫الس‬ ‫لؿت‬ ‫احؼ‬‫ش‬‫م‬ ‫اهم‬ ً‫م‬ , TheC Programming Language ‫للمؤلكان‬ " ‫يشهيؿان‬ ‫وبشيان‬ ‫ي‬ ‫حص‬‫س‬ ‫دييغ‬ Brian W. Kernighanand Dennis M. Ritchie ‫ي‬ ‫سيدص‬ ‫ي‬ ‫دييس‬
  • 9. - 8 - ‫انًسزخذيخ‬ ‫االدواد‬ ‫هي‬ ‫الٌخاب‬ ‫هزا‬ ‫في‬ ‫املعخخذمت‬ ‫الاداة‬ Code Blocks ‫يعمي‬ ‫الادواث‬ ً‫م‬ ‫الىىع‬ ‫وهزا‬ IDE ‫الخؿىيش‬ ‫بيئت‬ ً‫م‬ ‫الاداة‬ ‫هزه‬ ‫غلي‬ ُ‫الخطى‬ ًٌ‫ويم‬ ‫ي‬‫اخش‬ ‫وادواث‬ ‫ومترحم‬ ‫اًىاد‬ ‫مدشس‬ ‫غلي‬ ‫ي‬‫جدخى‬ ‫خيث‬ ‫املخٍاملت‬ ‫بها‬ ‫الخاص‬ ‫املىنؼ‬ http://www.codeblocks.org ‫مشل‬ ‫ي‬‫اخش‬ ‫ادواث‬ ‫اظخخذام‬ ًٌ‫ويم‬ eclipse ‫او‬ Pellse c ‫او‬ visual studio .‫ؾحرها‬‫او‬ ‫قجم‬ ‫يب‬ Hello World ‫ـ‬‫ـ‬‫ب‬ ‫جبذا‬ ‫البرمجت‬ ‫لؿاث‬ ‫حػليم‬ ‫يخب‬ ‫اؾلب‬ HelloWorld ً ‫بؿباغت‬ ‫يهىم‬ ‫والزي‬ ‫لمت‬ HelloWorld ‫غلي‬ ‫بخؿىة‬ َ‫رل‬ ‫نبل‬ ‫ظيبذا‬ ‫ولٌىىا‬ ‫الشاشت‬ emptyworld : ‫ًالخالي‬ ,  ‫نائمت‬ ً‫م‬ ‫حذيذ‬ ‫مششوع‬ ‫باوشاء‬ ‫نم‬ File ‫واختر‬ Project  ‫منها‬‫اختر‬ ‫هاقزة‬ َ‫ل‬‫ظخظهش‬ Console Application  ‫اختر‬ C ‫الهائمت‬ ً‫م‬  ‫املششوع‬ ‫اظم‬ ‫بٌخابت‬ ‫نم‬ Project title ‫حشاء‬ ‫يما‬  ‫انهاء‬ ‫اغؿـ‬ finish ‫ملل‬ ‫باوشاء‬ ‫البرهامج‬ ‫ظيهىم‬ main.c ‫جدذ‬ sources , ‫قاسؽ‬ ‫ليطبذ‬ ‫مدخىياجه‬ ‫وخزف‬ ‫امللل‬ ‫بكخذ‬ ‫نم‬ blankfile ‫للبرهامج‬ ‫بىاء‬ ‫بػمل‬ َ‫رل‬ ‫بػذ‬ ‫ونم‬ , build ‫في‬ ‫باالظكل‬ ‫الخؿأ‬ ‫هزا‬ ‫ظخجذ‬ Build messages undefined referenceto`WinMain@16 error:ldreturned 1exitstatus ‫الخؿأ‬ ‫ان‬ ‫هىا‬ ‫الخؿأ‬ , ‫الخؿا‬ ‫هكغ‬‫ويظهش‬ ‫املششوع‬ ‫لهزا‬ ‫ي‬‫اخش‬ ‫وملكاث‬ ‫الاًىاد‬ ً‫م‬‫الاظؿش‬ ‫اث‬‫ش‬‫غش‬ ‫هػيل‬ ‫ان‬ ًٌ‫املم‬ ً‫قم‬ ‫قاسؽ‬ ‫امللل‬ ‫ان‬ ‫ليغ‬ ‫هىا‬ ‫ـ‬‫ـ‬‫ب‬ ‫حعمي‬ ‫والتي‬ ‫البرهامج‬ ‫جىكيز‬ ‫غىذها‬ ‫يبذا‬ ‫والتي‬ ‫الاظاظيت‬ ‫الذالت‬ ‫غلي‬ ‫ي‬‫اليدخى‬ ‫امللل‬ entrypoint  ‫ال‬ ‫ا‬‫ش‬‫ان‬ , ‫مشوهت‬ ‫بٍل‬ ‫الخؿأ‬ ‫سظائل‬ ‫مؼ‬ ‫حػامل‬ ‫حىحل‬ ‫في‬‫هى‬ ‫يما‬ ‫غىه‬ ‫بالبدث‬ ‫نم‬ ‫ئ‬ ‫لص‬ ‫جطل‬ ‫لم‬ ‫وارا‬ ‫الخؿا‬ ‫ظبب‬ ‫لخػشف‬ ‫حيذا‬ ‫خؿأ‬  ‫جيعاه‬ ً‫ل‬ ‫ؾالبا‬ , ‫الخؿأ‬ ‫سظائل‬ ً‫م‬ ‫ظدخػلمه‬ ‫ما‬  ‫يخؿئ‬ ‫الجميؼ‬ ‫مدترف‬‫او‬ ‫مبخذئ‬ ‫يىذ‬ ‫ظىاء‬ ‫مشة‬ ُ‫او‬ ً‫م‬ ‫اخؿاء‬ ‫بال‬ ‫ًىد‬ ‫جٌخب‬ ‫ان‬ ‫جخىنؼ‬ ‫ال‬
  • 10. - 9 - ‫االسبسيخ‬ ‫انذانخ‬ main function : ‫ي‬ ‫الس‬ ‫بلؿت‬ ‫مٌخىب‬ ‫بشهامج‬ ‫لٍل‬ ‫اظاظيت‬ ‫دالت‬ main function ‫بلؿت‬ ‫خاضت‬ ‫ليعذ‬ ‫الاظاظيت‬ ‫الذالت‬ ‫قٌشة‬ ‫ان‬ ‫وللخىغيذ‬ ‫البرهامج‬ ‫جىكيز‬ ‫غىذها‬ ‫يبذا‬ ‫والتي‬ ‫سئعيت‬ ‫دالت‬ ‫ي‬‫الاخش‬ ‫هي‬ ‫لذيها‬ ‫شاسب‬ ‫ي‬ ‫والس‬ ‫الجاقا‬ ‫مشل‬ ‫ي‬‫الاخش‬ ‫قاللؿاث‬ , ‫قهـ‬ ‫ي‬ ‫الس‬ ‫ًالخالي‬ ‫ليطبذ‬ ‫العابو‬ ‫امللل‬ ‫غلي‬ ‫بالخػذيل‬ ‫نم‬ int main() { return0; } 01 - intro01.c ‫ـ‬‫ل‬‫ا‬ ‫هاقزة‬‫وجظهش‬ , ‫اخؿاء‬ ‫ن‬‫بذو‬ ‫يػمل‬ ‫اهه‬ ‫ظخجذ‬ ‫البرهامج‬ ‫بدشؿيل‬ ‫نم‬ Console ‫غلي‬ ‫ي‬‫يدخى‬ ‫قهـ‬‫هى‬ ‫مكيذ‬ ‫ئ‬ ‫ش‬ ‫بػمل‬ ‫يهىم‬ ‫ال‬ ‫قػليا‬ ‫البرهامج‬ ‫هزا‬ , ‫و‬ ‫يؤدي‬ ‫بشهامج‬ ‫يخابت‬ ‫في‬ ‫هبذأ‬ ‫لٍي‬ ‫اهىا‬ ‫حػشقه‬ ‫ان‬ ‫اسيذى‬ ‫ما‬ ًٌ‫ول‬ ‫الخها‬ ُ‫الذوا‬ ‫ششح‬ ‫الي‬ ‫م‬‫ظيخؿش‬ , ‫الاظاظيت‬ ‫الذالت‬ ‫الخاضت‬ ‫الاًىاد‬ ‫ظىػؼ‬ ‫مػيىت‬ ‫ظيكت‬ ‫الانىاط‬ َ‫جل‬ ‫بحن‬ {} curlybrackets ‫انشبشخ‬ ‫عهي‬ ‫انطجبعخ‬ Hello World ‫ـ‬‫ـ‬‫ل‬‫ا‬ ‫شاشت‬ ‫غلي‬ ‫للؿباغت‬ ‫بشهامج‬ ‫بٌخابت‬ ‫ظىهىم‬ ‫الان‬ Console ‫حملت‬ Hello World ‫الخالي‬ ‫الٍىد‬ ‫بٌخابت‬ ‫نم‬, #include<stdio.h> int main() { printf("HelloWorld"); return0; } HelloWorld 01 - intro02.c
  • 11. - 10 - ُ‫الاو‬ ً‫ظؿشي‬ ‫في‬ ‫الا‬ ‫ظابهه‬ ً‫غ‬ ‫اليخخلل‬ ‫البرهامج‬ #include<stdio.h> ‫امللل‬ ‫باغاقت‬‫العؿش‬ ‫هزا‬ ‫يهىم‬ stdio.h ‫اظيت‬‫ش‬‫ال‬ ‫امللكاث‬ ‫حعمي‬ ‫امللكاث‬ ‫هزا‬, ‫املششوع‬ ‫الي‬ Headerfiles ‫زىابذ‬ ‫غلي‬ ‫ي‬‫وجدخى‬, ‫وهمارج‬ prototypes ُ‫دوا‬ ‫؟‬ ‫جدذيذا‬ ‫امللل‬ ‫هزا‬ ً‫غ‬ ‫مارا‬ , ) ‫الخها‬ ‫لهزا‬ ‫م‬‫ظيخؿش‬ ( ‫الٍىد‬ ‫في‬ ‫اليها‬ ‫هدخاج‬ stdio ‫ـ‬‫ـ‬‫ل‬‫اخخطاس‬ ‫هي‬ Standardinput andoutput ‫هزا‬ ‫ان‬ ‫اي‬ ‫ًل‬ ‫ي‬‫يدى‬ ‫امللل‬ ‫همارج‬ ‫الخاضت‬ ُ‫الذوا‬ ‫والخشج‬ ‫بالذخل‬ ‫وظيكت‬. #include<> ‫الٍىد‬ ‫الي‬ ‫اظيت‬‫ش‬‫ال‬ ‫امللكاث‬ ‫اغاقت‬ ‫هي‬ ‫الشاوي‬ printf("Hello World"); ‫امللل‬ ً‫غم‬ ‫املىحىدة‬ ُ‫الذوا‬ ‫اخذ‬ ‫هي‬ ‫الذالت‬ ‫هزا‬ stdio.h ‫ـ‬‫ـ‬‫ل‬‫اخخطاس‬ ‫وهي‬ ‫الخشج‬‫او‬ ‫الشاشت‬ ‫غلي‬ ‫الؿباغت‬ ‫هي‬ ‫ووظيكتها‬ Printformat ‫ؾباغت‬ ‫اي‬ ‫الشاشت‬ ‫غلي‬ " "‫الانخباط‬ ‫مابحن‬ ‫بؿباغت‬ ‫يهىم‬ ‫الزي‬ ‫ابعؿها‬ ‫وهزا‬ ‫الخها‬ ‫اه‬‫ر‬‫ظج‬ ‫اظخخذام‬ ً‫م‬‫ايتر‬ ‫ولها‬, ‫الشاشت‬ ‫غلي‬ ‫مػحن‬ ‫جيعيو‬ ‫هزه‬ : ‫اء‬‫ض‬‫اح‬ ‫زالزت‬ ً‫م‬ ‫ن‬‫جخٍى‬ ‫الذالت‬  ‫الذالت‬ ‫اظم‬ printf  ‫جدخاج‬ ‫ال‬ ُ‫دوا‬ ‫هجذ‬ ‫ان‬ ًٌ‫يم‬ ‫وظائـ‬ ‫الي‬ ‫الذالت‬ ‫جدخاج‬ ‫ان‬ ‫ششؾا‬ ‫وليغ‬, , ‫الذالت‬ ‫جدخاحها‬ ‫التي‬ ‫الىظائـ‬ ُ‫الظخهبا‬ ‫وحعخخذم‬ )( ‫الانىاط‬ ُ‫للذوا‬ ‫ممحزة‬ ‫قهي‬, ‫الانىاط‬ ً‫غ‬ ‫الاظخؿىاء‬ ًٌ‫يم‬ ‫ال‬ ًٌ‫ول‬, ‫وظائـ‬ ‫الي‬  ‫الهيم‬ ‫وهي‬ ‫الىظائـ‬ ‫ؾباغخه‬ ‫اد‬‫ش‬‫امل‬ ‫الىظ‬ ‫خالخىا‬ ‫في‬ ‫مهمتها‬ ‫الداه‬ ‫الذالت‬ ‫اليها‬ ‫جدخاج‬ ‫التي‬  ‫املىهىؾت‬ ‫الكاضلت‬ semicolon ; ‫ي‬ ‫الس‬ ‫في‬‫العؿش‬‫او‬ ‫الخػليمت‬ ‫نهايت‬ ‫حػني‬ ‫وهي‬ statementend ‫حذيذ‬‫ظؿش‬ ‫باغاقت‬ ‫جهىم‬ ‫الذالت‬ ‫هل‬‫هى‬ ‫بالؿباغت‬ ‫الخاضت‬ ُ‫بالذوا‬ ‫املهمت‬ ‫الاشياء‬ ً‫م‬ newline ‫ال‬ ‫ؾباغت‬ ‫بػذ‬ ‫قمشال‬ ‫ال‬ ‫الذالت‬ َ‫جل‬ ‫خالت‬ ‫في‬, ‫ال‬ ‫ام‬ ‫ىظ‬ ‫ي‬‫اخش‬ ‫بؿشيهت‬ ‫يخابخه‬ ًٌ‫يم‬ ‫العابو‬ ‫الٍىد‬
  • 12. - 11 - #include<stdio.h> int main() { printf("Hello "); printf("World"); return0; } HelloWorld 01 - intro03.c - ‫حػليمت‬ ً‫م‬‫ايثر‬ ‫يخابت‬ ًٌ‫يم‬ statement ‫بش‬‫العؿش‬ ‫هكغ‬ ‫في‬ ‫قاضلت‬ ‫ـ‬‫ـ‬‫ب‬ ‫بينها‬ ‫الكطل‬ ‫شؽ‬ , ‫مىهىؾت‬ ‫قاضلت‬‫او‬ ; printf("Hello "),printf("World"); ‫او‬ printf("Hello ");printf("World"); - ‫اغاقت‬ ‫الي‬ ‫ظىدىخاج‬ ًٌ‫ول‬‫ظؿش‬ ً‫م‬‫ايثر‬ ‫غلي‬ ‫جٌخب‬ ‫ان‬ ‫الىاخذة‬ ‫للخػليمت‬ ًٌ‫يم‬ ‫ايػا‬ anti-slash " "‫الانخباط‬ ‫غالمتي‬ ‫بحن‬ ‫الكطل‬ ‫جم‬ ‫ارا‬ printf("Hello World"); - ‫انزعهيقبد‬ Comments : ‫يؤدي‬ ‫ييل‬‫او‬ ‫الٍىد‬ ‫هزا‬ ‫يػمل‬ ‫ييل‬ ‫حػشف‬ ‫ان‬ ‫اخخجذ‬ ‫الاظباب‬ ً‫م‬ ‫ظبب‬ ‫الي‬ ً‫الضم‬ ً‫م‬ ‫قترة‬ ‫وبػذ‬ , ‫مػيىت‬ ‫وظيكت‬ ‫يؤدي‬ ‫بشهامجا‬ ‫يخبذ‬ َ‫اه‬ ‫لىكترع‬ ‫الا‬ ‫غلي‬ ‫اث‬‫ش‬‫بالػش‬‫اظؿش‬ ً‫غ‬ ‫هخدذر‬ ً‫هد‬ ‫باالغلي‬ ‫يخبىاه‬ ‫الزي‬ ‫البعيـ‬ ‫البرهامج‬ ً‫م‬ َ‫دغ‬ , ‫وظيكخه‬ ‫ال‬ ‫بالؿبؼ‬ ‫ونتها‬ ‫الٍىد‬ ‫يػمل‬ ‫ييل‬ ‫ظخكهم‬ ‫هل‬, ‫نل‬ ‫خاضت‬ ‫يىما‬ ‫الاًىاد‬ ‫اخذ‬ ‫ضادقذ‬ َ‫لػل‬, ‫الٍىد‬ ‫يكهم‬ ‫ان‬ ‫ظبب‬ ‫الي‬‫الاخش‬‫هى‬ ‫اخخاج‬ ‫الزي‬ َ‫اضذنائ‬ ‫الخذ‬ ‫اسظلخه‬ , ‫الٍىد‬ ‫يخابت‬ ‫بػذ‬ َ‫اه‬ ‫لىكترع‬ open source ‫واضر‬ ‫الٍىد‬ ‫لجػل‬, ‫الخػليهاث‬ ‫اهميت‬ ‫جاحي‬ ‫هىا‬ ً‫وم‬ , ‫يػمل‬ ‫ييل‬ ‫جكهم‬ ‫ولم‬ /* author : mohamed hussein date: 1/9/2017, 10:10:00pm description: hello world program */
  • 13. - 12 - #include<stdio.h>//includeheaderfile int main() { //print helloword statement //usingprintffunction printf("HelloWorld"); return0; } HelloWorld 01 - intro04.c ‫البرهامج‬ ‫بىاء‬ ‫ازىاء‬ ‫ججاهلها‬ ‫يخم‬ ‫الخػليهاث‬ ‫ان‬ ‫ارا‬ , ‫هي‬ ‫يما‬ ‫ظدبهي‬ ‫البرهامج‬ ‫هديجت‬ build ‫مخػذدة‬ ‫الىطىص‬ ‫اوال‬ ‫الخػليهاث‬ ً‫م‬ ‫هىغحن‬ ‫اظخخذمىا‬ ‫هىا‬, ‫بحن‬ ‫جىغؼ‬ ‫ان‬ ‫يجب‬ ‫والتي‬‫الاظؿش‬ /* */ ‫يعبهه‬ ‫والزي‬ ‫الىاخذ‬‫بالعؿش‬ ‫الخػليو‬ ‫زاهيا‬ , // ‫ال‬ ًٌ‫ول‬ ‫الخػليهاث‬ ‫وغؼ‬ ‫غلي‬ ‫نيىد‬ ‫يىحذ‬ ‫ال‬, ‫بديث‬ ‫منها‬‫جٌثر‬ . ‫الاًىاد‬ ‫بػؼ‬ ‫وبها‬ ‫حػليهاث‬ ‫ًان‬‫لى‬ ‫يما‬ ‫الٍىد‬‫يبذو‬ - : ‫سطش‬ ٍ‫ي‬ ‫اكثش‬ ‫عهي‬ ‫طجبعخ‬ ‫ًلمت‬ ‫ؾباغت‬ ‫اسدها‬‫لى‬ ‫مارا‬ ABC ‫الذالت‬ ‫هكغ‬ ‫باظخخذام‬ َ‫رل‬ ‫قػل‬ ‫يمٌىىا‬ , ‫مىكطل‬‫ظؿش‬ ‫في‬ ‫خشف‬ ‫ًل‬ ‫مخكشنت‬ printf ‫الشمض‬ ‫اغاقت‬ ‫مؼ‬, (n) n ‫هي‬ ‫اخخطاس‬ new line ‫حذيذ‬‫ظؿش‬ ‫ـ‬‫ـ‬‫ل‬ #include<stdio.h> int main() { //usingntoaddnewline printf("AnBnC"); return0; } A B C 01 - intro06.c
  • 14. - 13 - - ‫انـ‬ escape sequences ( ‫بػالمت‬ ‫يبذا‬ ‫منها‬ ‫يال‬ ‫الخشوف‬ ً‫م‬ ‫مجمىغت‬ ‫مػحن‬ ‫مػني‬ ‫منها‬ ‫وللٍل‬ ) ‫الخالي‬ ُ‫الجذوا‬ ‫في‬ ‫يما‬ n ‫حذيذ‬‫ظؿش‬ ? ‫؟‬ ‫حػني‬ t ‫مكخاح‬ ‫غلي‬ ‫الػؿـ‬ ‫مشل‬ ‫اقهيت‬ ‫معاقت‬ Tab b ‫غاديت‬ ‫معاقت‬ ‫حػني‬ v ‫مشل‬ ‫اظيت‬‫س‬ ‫معاقت‬ Tab ‫ي‬ ‫اس‬‫س‬ ‫بشٍل‬ ًٌ‫ول‬ ‫مكخاح‬ „ ‫حػني‬ ‘ ooo ‫الشماوي‬ ‫بالىظام‬ ‫سنم‬ ” " ‫حػني‬ xhh ‫غشش‬ ‫ي‬ ‫العذاس‬ ‫بالىظام‬ ‫سنم‬ f ‫حعمي‬ formfeed r ‫حعمي‬ Carriage return ‫ـ‬‫ل‬‫ا‬ ‫جهىم‬ t ‫معاق‬ ‫باغاقت‬ ‫مكخاح‬ ‫غلي‬ ‫للػؿـ‬ ‫معاويت‬ ‫اقهيت‬ ‫ت‬ Tab name : mohamed printf("name : t mohamed n"); ‫حعخخذم‬ ,„ ,”,? ‫جليها‬ ‫التي‬ ‫الخشوف‬ ‫لؿباغت‬ name : mohamed printf("name : mohamed n"); name : ‘mohamed„ printf("name : ' mohamed ' n"); name : “mohamed” printf("name : " mohamed " n"); how areyou ? printf("how are you ? n"); ‫ال‬ ُ‫املشا‬ ‫في‬ ‫يما‬ ,‫هى‬ ‫يما‬ ‫يبهي‬ ‫املػني‬ ًٌ‫ول‬ ‫مىكطل‬ ‫يدشف‬‫او‬ ‫الىطىص‬ ‫داخل‬ ‫جىغؼ‬ ‫الاظاط‬ ‫في‬ ‫هي‬ , ‫قهـ‬ ‫الؿباغت‬ ‫في‬ ‫حعخخذم‬ ‫ال‬ ‫هي‬ ‫وللخىغيذ‬ ‫خالي‬ ‫الهادم‬ ‫الكطل‬ ً‫م‬ ‫بذايت‬ ‫اث‬‫ر‬‫املخؿح‬ ‫ظيششح‬ char *msg = "OKrf"; char ch = '"'; ‫انخىاسصييبد‬ Algorithms ‫املىاظب‬ ‫الخل‬ ‫ايجاد‬ ‫في‬ ‫وششع‬ َ‫رل‬ ‫وبػذ‬ ‫حيذا‬ ‫قهمها‬ ً‫م‬ ‫اوال‬ ‫البذ‬ ‫ما‬ ‫مشٍلت‬ ‫اي‬ ‫لخل‬ , ‫ما‬ ‫ملشٍلت‬ ‫خل‬ ‫هي‬ ‫بخؿىيشها‬ ‫ههىم‬ ‫التي‬ ‫امج‬‫ر‬‫الب‬ ‫اؾلب‬ ‫وهزا‬ , ‫التي‬ ‫الخؿىاث‬ ‫مجمىغت‬ ‫ايجاد‬‫هى‬ ‫واهما‬ ‫الٍىد‬ ‫يخابت‬‫هى‬ ‫ليغ‬ ‫الخل‬ ‫حاءث‬ ‫هىا‬ ً‫وم‬ ‫املعخخذمت‬ ‫البرمجت‬ ‫لؿت‬ ً‫غ‬‫الىظش‬ ‫بطشف‬ ‫املشٍلت‬ ‫لخل‬ ‫ظخدبؼ‬ ‫ما‬ ‫مشٍلت‬ ‫خل‬ ‫لٌخابت‬ ‫ؾشيهخحن‬ ‫وهىاى‬ ‫ما‬ ‫مشٍلت‬ ‫لخل‬ ‫املخبػت‬ ‫والخؿىاث‬ ‫اءث‬‫ش‬‫الاح‬ ً‫م‬ ‫مجمىغت‬ ‫بانها‬ ‫حػشف‬ ‫والتي‬ ‫مياث‬‫ص‬‫الخىاس‬ ‫قٌشة‬ 1 - ‫يل‬‫ض‬‫امل‬ ‫الٍىد‬ Pseudocode ‫الاهجلحزي‬‫او‬ ‫ًالػشبيت‬ ‫لؿت‬ ‫باي‬ ‫الخل‬ ‫خؿىاث‬ ‫جٌخب‬ : ‫خؿىاث‬ ‫شٍل‬ ‫غلي‬ ‫مشجبت‬ ‫ن‬‫وجٍى‬ ‫مشال‬ ‫ت‬ ‫ومدذدة‬ ‫واضخت‬ 2 - ‫الخذقو‬ ‫مخؿـ‬ Flowchart ‫الخالي‬ ُ‫بالجذو‬ ‫واملىضخت‬ ‫مشٍلت‬ ‫اي‬ ‫خل‬ ‫لخىضيل‬ ‫غليه‬ ‫املخػاسف‬ ‫الهىذظيت‬ ُ‫الاشٍا‬ ً‫م‬ ‫مجمىغت‬ :
  • 15. - 14 - ‫الهىذظيت‬ ُ‫الاشٍا‬ ‫الخذقو‬ ‫بمخؿـ‬ ‫الخاضت‬
  • 16. - 15 - ‫الخؿىاث‬: ُ‫مشا‬ ‫الؿشيو‬ ‫لػبىس‬ ‫املخبػت‬ 1 - ‫ابذا‬ 2 - ‫غى‬ ‫نل‬ ‫الؿشيو‬ ‫خاقت‬ ‫ذ‬ 3 - ‫نادمت‬ ‫اث‬‫س‬‫ظيا‬ ‫وحىد‬ ‫غذم‬ ‫يم‬ ‫للخايذ‬‫واليعاس‬ ‫لليمحن‬‫اهظش‬ 4 - ‫العابهت‬ ‫الخؿىة‬ ‫يشس‬ , ‫خالي‬‫ؾحر‬ ‫الؿشيو‬ ‫ًان‬ ‫ارا‬ 5 - ‫الؿشيو‬‫اغبر‬ ‫خالي‬ ‫الؿشيو‬ ‫ًان‬ ‫ارا‬ 6 - ‫اهخهي‬ 1- Start 2- Stop attheedge ofthestreet 3- Lookleftandrightfor any coming cars 4- If street isn„t clear , repeat previous step 5- If street is clear , crossthe road 6- end ‫الؿشيو‬ ‫غبىس‬ ‫خؿىاث‬ ‫انخالطخ‬  ‫الاظاظيت‬ ‫الذالت‬ ً‫م‬ ‫ي‬ ‫الس‬ ‫في‬ ‫البرهامج‬ ‫جىكيز‬ ‫يبذا‬  ‫قهـ‬ ‫واخذة‬ ‫اظاظيت‬ ‫دالت‬ ‫غلي‬ ‫ي‬‫يدخى‬ ‫ان‬ ‫ي‬ ‫س‬ ‫بشهامج‬ ‫الي‬ ‫البذ‬  ‫الذالت‬ ‫حعخخذم‬ printf ‫الشاشت‬ ‫غلي‬ ‫للؿباغت‬  ‫حذا‬ ‫هامت‬ ‫الخػليهاث‬ َ‫رل‬ ‫بػذ‬ ‫البرهامج‬ ‫قهم‬ ‫غلي‬ ‫حعاغذ‬ ‫قهي‬ ,  ‫الخل‬ ‫ولخؿىاث‬ , ‫للمشٍلت‬ ‫واضر‬ ‫جطىس‬ ‫لذيىا‬ ‫ن‬‫يٍى‬ ‫ان‬ ‫الاًىاد‬ ‫يخابت‬ ‫في‬ ‫البذا‬ ‫نبل‬ ‫يجب‬
  • 17. - 16 - - ‫وخىاة‬ ‫سؤال‬ 1 - ‫يخابت‬ ًٌ‫يم‬ ‫هل‬ Main ً‫م‬ ‫بذال‬ main #include<stdio.h> intMain() { printf("HelloWorld"); return0; } - ‫بالؿبؼ‬ ‫الاخشف‬ ‫لخالت‬ ‫خعاظت‬ ‫ي‬ ‫الس‬ ‫لؿت‬ ‫الن‬ َ‫رل‬ ًٌ‫يم‬ ‫ال‬ casesensitive ‫ـ‬‫ـ‬‫ق‬ Main ً‫غ‬ ‫جخخلل‬ main ‫ظيظهش‬ ‫البرهامج‬ ‫هزا‬ ‫بدشؿيل‬ ‫نمىا‬‫ولى‬ ‫الاظاظيت‬ ‫الذالت‬ ‫غلي‬ ‫ي‬‫اليدخى‬ ‫البرهامج‬ ‫بان‬ ‫ظابها‬ ‫لىا‬‫ظهش‬ ‫الزي‬ ‫الخؿأ‬ 2 - ‫مشة‬ ً‫م‬‫ايثر‬ ‫الاظاظيت‬ ‫الذالت‬ ‫بٌخابت‬ ‫نمىا‬ ‫ارا‬ ‫ظيدذر‬ ‫مارا‬ #include<stdio.h> int main() { printf("HelloWorld"); return0; } int main() { printf("HelloWorld"); return0; } - ( ‫خؿأ‬‫وظيظهش‬ ‫البرهامج‬ ‫يػمل‬ ً‫ل‬ redefinition of main ‫الذالت‬ ‫يل‬‫ش‬‫بخػ‬ ‫نمىا‬ ‫اهىا‬ ‫يػني‬ ‫والزي‬ ) main ‫ار‬ ‫ي‬ ‫الس‬ ‫في‬ ‫به‬ ‫معمىح‬‫ؾحر‬ ‫وهزا‬ ‫مشة‬ ً‫م‬‫ايثر‬ ‫ا‬ ‫ؾحرها‬ ‫وال‬ ‫ي‬ ‫الس‬ ‫في‬ ‫ال‬ ‫واخذ‬ ‫حػشيل‬ ‫في‬ ‫حميػا‬ ‫الذالت‬ ‫حػشيكاث‬ ‫دمج‬ ‫امٍاهيت‬ ‫لذيىا‬ ‫وليغ‬ ,‫الاظاظيت‬ ‫الذالت‬‫ظخػخبر‬ ‫قايهما‬ َ‫رل‬ ‫خذر‬‫لى‬
  • 18. - 17 - 3 - ‫اظيت‬‫ش‬‫ال‬ ‫امللكاث‬ ‫باغاقت‬ ‫الخاص‬‫العؿش‬ ‫خزقىا‬ ‫ارا‬ ‫ظيدذر‬ ‫مارا‬ #include<stdio.h> int main() { printf("HelloWorld"); return0; } - ‫جدزيش‬ ‫سظالت‬‫ظخظهش‬ ًٌ‫ول‬ , ‫البرهامج‬ ‫ظيػمل‬ warning ‫اظخخذامىا‬ ً‫م‬ ‫الخدهو‬ ‫يعخؿؼ‬ ‫لم‬ ‫املترحم‬ ‫ان‬ ‫خالضتها‬ ًٌ‫ول‬‫الخش‬ ‫مترحم‬ ً‫م‬ ‫جخخلل‬ ‫للذالت‬ printf ‫الىمىرج‬ ‫يجذ‬ ‫لم‬ ‫الهه‬ prototype ‫ان‬ ‫ظيكترع‬ ‫وبالخالي‬ , )‫الخها‬ ‫(ظىػشقه‬ ‫بها‬ ‫الخاص‬ ‫الىظائـ‬ ً‫م‬‫مخؿحر‬ ‫غذد‬ ‫جدخاج‬ ‫الذالت‬ َ‫جل‬ , ‫م‬‫الكش‬ ‫وظخػشف‬ ‫الخالي‬ ‫الٍىد‬ ‫حشب‬ int main() { printf(22); return0; }
  • 20. - 19 - ‫انًزغيشاد‬ ‫الاظاظيت‬ ‫الكٌشة‬ ‫جبني‬ ‫الالي‬ ‫للخاظب‬ ‫البياهاث‬ ً‫م‬ ‫مجمىغت‬ ‫لذيىا‬ ‫اهىا‬ ‫غلي‬ Data ‫مػالجت‬ ‫بػمل‬ ‫ههىم‬ Processing ‫مشٍلت‬ ‫ًل‬ ‫خعب‬ ‫ما‬ ‫بؿشيهت‬ ‫لها‬ ‫مػل‬ ‫الي‬ ‫وجدىيلها‬ ‫ىماث‬ Information ‫لها‬ ‫مػاحت‬ ‫بػمل‬ ‫ويهىم‬ ‫الاغذاد‬ ‫وهي‬ ‫املعخخذم‬ ً‫م‬ ‫بياهاث‬ ‫ياخز‬ ‫اهه‬ ‫ظىجذ‬ ُ‫يمشا‬ ‫الخاظبت‬ ‫الالت‬ ‫بشهامج‬ ‫لىاخز‬ , ‫الىديجت‬ ‫ويػؿي‬ ‫الهعمت‬‫او‬ ‫الػشب‬‫او‬ ‫الؿشح‬‫او‬ ‫الجمؼ‬ ‫ـ‬‫ـ‬‫ي‬ ‫يا‬ ‫بديث‬, ‫الشنمحن‬ ‫حمؼ‬ ‫هديجت‬ ‫ويػؿي‬ ‫سنمحن‬ ‫املعخخذم‬ ً‫م‬ ‫ياخز‬ ‫بشهامج‬ ‫يخابت‬ ‫هشيذ‬ ‫اهىا‬ ‫لىىكترع‬ ‫الخالي‬ ‫الشٍل‬ ‫خذ‬ - pleaseinsertthe firstnumber: 12 - pleaseinsertthe secondnumber: 14 - theresultof 12+14is 26 ‫ه‬ ‫رايشة‬ ‫لذيه‬ ‫الخاظب‬ ‫قان‬‫البشش‬ ً‫هد‬ ‫مشلىا‬ ‫جماما‬ ‫خعىا‬ ‫؟‬ ‫الجمؼ‬ ‫غمليت‬ ‫اء‬‫ش‬‫اح‬ ‫لخحن‬ ‫والشاوي‬ ُ‫الاو‬ ‫الشنم‬ ‫بهيمت‬ ‫ظىدخكظ‬ ً‫اي‬ ‫هىا‬ ُ‫العؤا‬ ‫الاخش‬‫ى‬ ‫اهىاغها‬ ‫اخخالف‬ ‫غلي‬ ‫انزاكشح‬ Memory : ‫منها‬ ‫هىغحن‬ ‫ويىحذ‬ ‫البياهاث‬ ً‫لخخضي‬ ‫مٍان‬ ‫هي‬ ‫الزايشة‬  ‫الػشىائيت‬ ‫الزايشة‬ random access memory RAM : ‫مخؿايشة‬ ‫رايشة‬ ‫بانها‬ ‫حػشف‬ Volatilememory ‫بمجشد‬ ‫مدخىياتها‬ ‫جكهذ‬ ‫انها‬ ‫اي‬ ‫وا‬ ‫منها‬ ‫اءة‬‫ش‬‫باله‬ ‫حعمذ‬ ‫ولٌنها‬‫الخياس‬ ‫اههؿاع‬ ‫غليها‬ ‫لٌخابت‬  ‫قهـ‬ ‫اءة‬‫ش‬‫اله‬ ‫رايشة‬ read onlymemory ROM : ‫مخؿايشة‬‫ؾحر‬ ‫رايشة‬ ‫بانها‬‫جخمحز‬ non-volatilememory ‫ختي‬ ‫بمدخىياتها‬ ‫جدخكظ‬ ‫انها‬ ‫اي‬ ‫الخياس‬ ‫اههؿاع‬ ‫غىذ‬ ‫والٌخابت‬ ‫اءة‬‫ش‬‫باله‬ ‫حعمذ‬ ‫اهىاع‬ ‫جىحذ‬ ‫الان‬ ًٌ‫ول‬ ‫قهـ‬ ‫منها‬ ‫اءة‬‫ش‬‫باله‬ ‫حعمذ‬ ‫الاظم‬‫يشحر‬ ‫وخيث‬ ‫الاضل‬ ‫في‬ ‫وهي‬ ‫جخٍى‬ ‫الخالي‬ ‫الشٍل‬ ‫في‬ ‫يما‬ , ‫اليه‬‫يشحر‬ )‫غشش‬ ‫ي‬ ‫(بالعذاس‬ ‫غىىان‬ ‫له‬ ‫بايذ‬ ‫ًل‬ , ‫البايخاث‬ ً‫م‬ ‫مجمىغت‬ ً‫م‬ ‫رايشة‬ ‫ًل‬ ‫ن‬ ً‫والػىاوي‬ ‫الزايشة‬
  • 21. - 20 - ٍ‫انزخضي‬ ‫وحذاد‬ Storage units ‫ا‬ ‫في‬ ‫اما‬ ‫ام‬‫ش‬‫والج‬ ‫ام‬‫ش‬‫الٌيلىح‬ ‫يهاط‬ ‫والىصن‬, ‫وهٌزا‬‫والعىديمتر‬‫باملتر‬ ‫يهاط‬ ُ‫قالؿى‬ ‫ؾحره‬ ً‫غ‬ ‫جمحزه‬ ‫وخذة‬ ‫ئ‬ ‫ش‬ ‫لٍل‬ ‫البذ‬ ‫هي‬ ‫وخذة‬‫اضؿش‬ ‫قان‬ ‫لخاظب‬ Bit ‫غلي‬ ‫ي‬‫يدخى‬ ‫اما‬‫وهى‬ ‫ومٌشل‬ ‫اوعخىس‬‫ش‬‫ج‬ ً‫غ‬ ‫غباسة‬ ‫داخليا‬ ‫ن‬‫يٍى‬ ‫والزي‬ 1 ‫او‬ 0 ‫وًل‬ 8 ‫وًل‬ ‫بايذ‬ ‫ن‬‫جٍى‬ ‫بذ‬ 1024 ‫يما‬ ‫وهٌزا‬ ‫ييلىبايذ‬ ‫ن‬‫جٍى‬ ‫بايذ‬ ‫الخالي‬ ُ‫الجذوا‬ ‫في‬ ‫الىخذة‬ ‫الىضل‬ ‫البذ‬ Bit ‫واخذ‬‫او‬‫ضكش‬ ‫اما‬ ‫البايذ‬ Byte 8 ‫بذ‬ ‫الٍلمت‬ Word 2 , ‫بايذ‬ 16 ‫بذ‬ ‫الٌيلىبايذ‬ Kilobyte KB 1024 ‫بايذ‬ ‫امليجابايذ‬ MegabyteMB 1024 ‫ييلىبايذ‬ ‫الجيجابايذ‬ Gigabyte GB 1024 ‫ميجابايذ‬ ‫ابايذ‬‫ر‬‫الخح‬ Terabyte TB 1024 ‫حيجابايذ‬ ‫انًزغيشاد‬ Variables ‫وج‬ , ‫البياهاث‬ ً‫جخضي‬ ‫في‬ ‫اظخخذامها‬ ‫لؿشع‬ ‫الزايشة‬ ‫في‬ ‫حجضها‬ ‫يخم‬ ً‫اماي‬ ‫هي‬ ‫الدجم‬ ‫في‬ ‫خخلل‬ Size ‫قلذيىا‬‫الخش‬‫مخؿحر‬ ً‫م‬ 1 ‫و‬ ‫بايذ‬ 2 ‫و‬ ‫بايذ‬ 4 ‫و‬ ‫بايذ‬ 8 ‫و‬ ‫بايذ‬ 10 ‫الاسنام‬ ‫مؼ‬ ‫يخػامل‬ ‫الزي‬ ً‫غ‬ ‫يخخلل‬ ‫الصخيدت‬ ‫الاسنام‬ ‫مؼ‬ ‫يخػامل‬ ‫قالزي‬ ‫مػها‬ ‫للخػامل‬ ‫اث‬‫ر‬‫املخؿح‬ ً‫م‬ ‫هىع‬ ‫البياهاث‬ ً‫م‬ ‫هىع‬ ‫ولٍل‬ , ‫بايذ‬ ‫له‬‫ممحز‬ ‫اظم‬‫مخؿحر‬ ‫لٍل‬ ‫ان‬‫واخحر‬, ‫الخهيهيت‬ Identifier ‫يخم‬ . ‫مىه‬ ‫اءة‬‫ش‬‫لله‬‫او‬ ‫غليه‬ ‫للٌخابت‬ ‫ظىاء‬ ‫به‬ ‫اليه‬ ‫الاشاسة‬ - ‫غىه‬ ‫باالغالن‬ ‫ههىم‬ ‫ان‬‫مخؿحر‬ ‫اي‬ ‫اظخخذام‬ ‫نبل‬ ‫البذ‬ Variabledeclaration ‫يخابت‬ ُ‫خال‬ ً‫م‬ َ‫رل‬ ‫ويخم‬ , ‫الزايشة‬ ‫في‬ ‫اوال‬ ‫له‬ ‫مٍان‬‫حجض‬‫اخش‬ ‫بمػني‬‫او‬ ‫مب‬‫او‬ ‫مباششة‬ ‫نيمت‬ ‫اغؿيىاه‬ ُ‫خا‬ ‫في‬ ‫نيمخه‬ ‫زم‬‫املخؿحر‬ ‫اظم‬ ‫زم‬‫املخؿحر‬ ‫هىع‬ . َ‫رل‬ ‫ويكػل‬ ‫ذئيت‬ ‫مخؿحر‬ ً‫غ‬ ‫الاغالن‬ ‫ؾشيهت‬ - ‫الاخشف‬ ‫لخالت‬ ‫خعاظت‬ ‫لؿت‬ ‫ي‬ ‫الس‬ casesensitive ‫ـ‬‫ـ‬‫ق‬ a ً‫غ‬ ‫جخخلل‬ A . - ) = ( ‫ي‬‫الدعاو‬‫سمض‬ ُ‫خال‬ ً‫م‬‫للمخؿحر‬ ‫نيمت‬ ‫اغؿاء‬ ‫يخم‬ assignment - ‫قهـ‬ ‫اظمه‬ ‫يخابت‬ ‫يخم‬‫مخؿحر‬ ‫اي‬ ‫ي‬‫مدخى‬ ‫اءة‬‫ش‬‫له‬ identifier
  • 22. - 21 - - ‫ن‬‫يٍى‬ ‫ان‬ ‫يجب‬‫املخؿحر‬ ‫اظم‬ ‫الششوؽ‬ ‫هزا‬ ً‫غم‬  ‫مشل‬ ‫بشنم‬ ‫يبذا‬ ‫ال‬ 2num  ‫معاقاث‬ ‫غلي‬ ‫ي‬‫يدخى‬ ‫ال‬ first num  ‫سمىص‬ ‫غلي‬ ‫ي‬‫يدخى‬ ‫ال‬ $,%,# @ ) _ ( ‫غذا‬ ‫ما‬ ‫وهٌزا‬ underscore  ‫معبها‬ ‫معخػمل‬ ‫ن‬‫يٍى‬ ‫ال‬  ‫مشل‬ ‫راتها‬ ‫بالؿت‬ ‫الخاضت‬ ‫الٍلماث‬ ‫وهي‬ ‫ي‬ ‫للس‬ ‫املذجىصة‬ ‫الٍلماث‬ ً‫م‬ ‫ن‬‫يٍى‬ ‫ال‬ int, float,struct,char ‫الظ‬ ‫امشلت‬ ‫اث‬‫ر‬‫مخؿح‬ ‫ماء‬ ‫اظماء‬ ‫صخيدت‬ ‫خاؾئت‬ ‫اظماء‬ int number ; int 5num;//start with number char _ch; char #ch;//start with symbol # float result; float first num ;//contain space ‫انظحيحخ‬ ‫االعذاد‬ ‫يزغيشاد‬ Integers variable ‫الصخيدت‬ ‫الاغذاد‬ ‫مؼ‬ ‫جخػامل‬ ‫التي‬ ‫اث‬‫ر‬‫املخؿح‬ ‫هي‬ ‫املخؿحر‬ ‫الدجم‬ ‫مالخظاث‬ int ‫ؾالبا‬ 4 ‫بايذ‬ short 2 ‫بايذ‬ ‫ـ‬‫ـ‬‫ل‬‫اخخطاس‬ short int long 8 ‫بايذ‬ ‫ـ‬‫ـ‬‫ل‬‫اخخطاس‬ long int ‫خذود‬‫مخؿحر‬ ‫لٍل‬ limits ‫مػها‬ ‫يخػامل‬ ‫التي‬ ‫للهيم‬ ‫مخؿحر‬ ‫اي‬ ‫خذود‬ ‫ولخدذيذ‬ ‫الخؿبيو‬ ‫خعب‬ ‫حجم‬ ً‫م‬‫ايتر‬ ‫يىحذ‬ ‫لزا‬ ,  ‫الاغ‬ ‫مؼ‬ ‫اليخػامل‬‫املخؿحر‬ ‫ًان‬ ‫ارا‬ ‫العالبت‬ ‫ذاد‬ Unsignednumbers ( ‫الطيؿت‬ َ‫جل‬ ‫وعخخذم‬ ‫نيمت‬ ‫ي‬ ‫وانص‬‫الطكش‬ ‫هي‬ ‫نيمت‬ ‫انل‬ ‫قان‬ 2n -1 ) ‫خيث‬ n ‫البخاث‬ ‫غذد‬‫هى‬ bits ‫هىع‬ ً‫م‬‫املخؿحر‬ ‫قمشال‬ short ُ‫ا‬ ‫غذد‬ bits * ‫البايخاث‬ ‫غذد‬ ‫ي‬‫يعاو‬ 8 ‫اي‬ 2 * 8 ‫ي‬‫يعاو‬ 16 ‫و‬ ‫بذ‬ 216 ‫ي‬‫حعاو‬ 65536 ‫نيمت‬ ‫ي‬ ‫انص‬ ‫جطبذ‬ ‫واخذ‬ ‫وؾشح‬ 65535  ‫ال‬ ‫ًان‬ ‫ارا‬ ‫العالبت‬ ‫الاسنام‬ ‫مؼ‬ ‫يخػامل‬ ‫شنم‬ signed numbers ‫نيمت‬ ‫انل‬ ‫قان‬ ( -2n-1 ) ‫املخؿحر‬ ‫قمشال‬ ‫نيمت‬ ‫ي‬ ‫وانص‬ ( 2n-1 -1) ‫هىع‬ ً‫م‬‫املخؿحر‬ ‫قمشال‬ ‫هي‬ ‫نيمت‬ ‫انل‬ - 32768 ‫هي‬ ‫نيمت‬ ‫ي‬ ‫وانص‬ 32767 - ‫الشىائي‬ ‫الىظام‬ ‫في‬ ‫الهه‬ ‫العالبت‬ ‫الاغذاد‬ ‫خالت‬ ‫في‬ ‫البخاث‬ ‫غذد‬ ً‫م‬ ‫واخذ‬ ‫بؿشح‬ ‫نمىا‬ binary system ‫اليعاس‬ ‫حهت‬ ً‫م‬ ‫بذ‬‫اخش‬ ‫جخطيظ‬ ‫يخم‬ least significantbit ‫لالشاسة‬ 0 ‫و‬ ‫مىحب‬ ‫حػني‬ 1 ‫ظالب‬ ‫حػني‬
  • 23. - 22 - ‫صخيدت‬ ‫اغذاد‬ ‫اث‬‫ر‬‫مخؿح‬ ً‫غ‬ ‫لالغالن‬ ‫امشلت‬ int average ; short min = 33 ; long sum ; ‫الىاجج‬ ‫وؾباغت‬ ‫سنمحن‬ ‫حمؼ‬ ‫هديجت‬ ‫بدعاب‬ ‫يهىم‬ ‫بشهامج‬ ‫ظىٌخب‬ : ُ‫مشا‬ //first number to be added short firstNumber = 12 ; //second number to be added short secondNumber = 14 ; //result of addition short sum = firstNumber + secondNumber ; //print addition result printf("sum is %d n",sum); sumis 26 ‫ا‬‫ر‬‫املخؿح‬ ‫باظخخذام‬ ‫سنمحن‬ ‫حمؼ‬ ‫بشهامج‬ ‫ث‬ [02 - var&aritm01.c] - َ‫رل‬ ‫بػذ‬‫ظؿش‬ ‫ًل‬ ً‫وم‬ ‫البرهامج‬ ً‫م‬ ‫الؿشع‬ ‫جىضر‬ ‫معبها‬ ‫غشقىا‬ ‫يما‬ ‫الخػليهاث‬ short firstNumber =12 ; short secondNumber = 14 ; - ‫هىع‬ ً‫م‬ ‫اث‬‫ر‬‫مخؿح‬ ً‫غ‬ ‫باالغالن‬ ‫نمىا‬ short ‫الؿش‬ ‫وظيؤدي‬ ‫ضؿحرة‬ ‫مػها‬ ‫حػاملىا‬ ‫التي‬ ‫الاسنام‬ ‫الن‬ ‫الىىع‬ ‫هزا‬ ‫واظخخذمىا‬ ‫ي‬‫الاخش‬ ‫الاهىاع‬ ‫بالؿبؼ‬ , ‫ع‬ ‫ي‬‫حذو‬ ‫بال‬ ‫الزايشة‬‫تهذس‬ ‫ال‬ ‫ختي‬ ‫قهـ‬ َ‫اخخياحاج‬ ‫يىاظب‬ ‫الزي‬ ‫الىىع‬‫جخخاس‬ ‫ان‬ َ‫غلي‬ ‫يجب‬ ‫لٌىىا‬ , ‫صخيدت‬
  • 24. - 23 - - firstNumber, secondNumber ) = ( ‫ي‬‫الدعاو‬ ‫غالمت‬ ‫باظخخذام‬ َ‫ورل‬‫مخؿحر‬ ‫لٍل‬ ‫مباششة‬ ‫نيم‬ ‫باغؿاء‬ ‫نمىا‬ , ‫اث‬‫ر‬‫املخؿح‬ َ‫جل‬ ‫اظماء‬ ‫هي‬ assignment operator ‫ما‬‫ملخؿحر‬ ‫نيمت‬ ‫الغؿاء‬ ‫يعخخذم‬ ‫الزي‬ short sum =firstNumber +secondNumber ; - ‫يعمي‬ ‫ي‬‫الدعاو‬ ‫غالمت‬ ‫يمحن‬ ‫غلي‬ ‫الجضء‬ , ‫الشنمحن‬ ‫حمؼ‬ ‫هاجج‬ ً‫لخخضي‬‫مخؿحر‬ ً‫غ‬ ‫اغلىا‬ expression ‫املخؿحر‬ ‫ي‬‫مدخى‬ ‫بجمؼ‬ ‫يهىم‬ ‫والزي‬ firstNumber ‫واملخؿحر‬ secondNumber ‫الجمؼ‬ ‫غالمت‬ ُ‫خال‬ ً‫م‬ ‫ي‬ ‫الس‬ ‫في‬ ‫الخعابيت‬ ‫بالػملياث‬ ‫الخاضت‬ ‫الػالماث‬ ‫اخذي‬ ‫وهي‬ printf("sum is %d n",sum); - ‫الؿباغت‬ ‫دالت‬ ‫اظخخذمىا‬ printf ‫الشمض‬ ‫وحىد‬ ‫وهالخظ‬ %d ‫املخؿحر‬ ‫ي‬‫بمدخى‬‫الشمض‬ َ‫جل‬ ‫مٍان‬ ُ‫حعدبذ‬ ‫ان‬ ‫الذالت‬‫يخبر‬ ‫الزي‬ sum ‫هزا‬ ‫واظخخذمىا‬ , ‫ص‬ ‫اغذاد‬ ‫مؼ‬ ‫هخػامل‬ ‫الهىا‬ ‫جدذيذا‬‫الشمض‬ ‫خيث‬ ‫خيدت‬ d ‫حػني‬ decimal ‫ـ‬‫ـ‬‫ب‬ ‫اظدبذالها‬ ًٌ‫ويم‬ %i ‫حػني‬ ‫والتي‬ integer - ‫املخؿحر‬ ‫اغكىا‬ sum ‫مٍان‬ ‫اظدبذاله‬ ‫ليخم‬ ‫الذالت‬ ‫زاوي‬ ‫ًىظيـ‬ %d - %d , %i ‫حعمي‬ ‫هىع‬ ‫ًل‬ ‫خعب‬ ‫الخها‬ ‫ي‬‫ظجر‬ ‫يما‬ ‫وؾحرها‬ conversionspecifier ‫ج‬ ‫لػذد‬ ‫ي‬‫معاو‬ ‫وظيـ‬ ُ‫او‬ ‫بػذ‬ ‫الىظائـ‬ ‫غذد‬ ‫ن‬‫يٍى‬ ‫ان‬ ‫ويجب‬ َ‫ل‬ ‫هىع‬ ‫ًل‬ ‫خعب‬ ‫الترجيب‬ ‫وبىكغ‬ ‫الشمىص‬ ‫الخالي‬ ‫يخابت‬ ‫قيمٌىىا‬ ‫الىىع‬ ‫هكغ‬ ً‫م‬ ‫مباششة‬ ‫نيمت‬‫او‬‫مخؿحر‬ ‫ن‬‫يٍى‬ ‫ان‬ ًٌ‫يم‬ ‫والىظيـ‬ , printf("sum of %d+ %d =%d n",firstNumber ,secondNumber , sum); Sumof 12+ 14=26 ‫ـ‬‫ي‬ ‫مباششة‬ ‫نيم‬ ‫جاخز‬ ‫ان‬ ‫الذالت‬ َ‫لخل‬ ًٌ‫ويم‬ 12 ‫ا‬ ‫في‬ ُ‫ملشا‬ ‫العابهت‬ ‫الىديجت‬ ‫هكغ‬ printf("sum of %d+ %d =%d n",12 ,secondNumber ,sum); - ‫واخذ‬‫ظؿش‬ ‫في‬ ‫الىىع‬ ‫هكغ‬ ً‫م‬‫مخؿحر‬ ً‫م‬‫ايثر‬ ً‫غ‬ ‫بالغالن‬ ‫ههىم‬ ‫ان‬ ًٌ‫يم‬ intfirst ,second= 44, third,forth;
  • 25. - 24 - - ‫ان‬ ‫ظبو‬ ‫الزي‬‫املخؿحر‬ ‫اظم‬ ‫يٌخب‬‫مخؿحر‬ ‫اي‬ ‫ي‬‫مدخى‬‫لخؿحر‬ ‫ياخذ‬ ‫ان‬‫للمخؿحر‬ ًٌ‫يم‬ ‫يما‬ , ‫له‬ ‫حػينها‬ ‫اد‬‫ش‬‫امل‬ ‫الهيمت‬ ‫زم‬ ) = ( ‫غالمت‬ ‫زم‬ ‫الزايشة‬ ‫في‬ ‫له‬ ‫حجضها‬ ‫اخش‬‫مخؿحر‬ ‫نيمت‬ first = 22; second= 56; third =first; ‫انحقيقيخ‬ ‫االعذاد‬ ‫يزغيشاد‬ floating-point variables - ‫هي‬ ‫الخهيهيت‬ ‫الاغذاد‬ ‫مؼ‬ ‫جخػامل‬ ‫التي‬ ‫اث‬‫ر‬‫املخؿح‬ ‫املخؿحر‬ ‫ال‬ ‫دجم‬ ‫مالخظاث‬ float 4 ‫بايذ‬ double 8 ‫بايذ‬ - ‫الزايشة‬ ‫في‬ ‫مخخلكت‬ ‫بؿشيهت‬ ‫ينها‬‫ض‬‫جخ‬ ‫يخم‬ ‫الخهيهت‬ ‫الاغذاد‬ ‫الن‬ ‫؟‬ ‫الخهيهت‬ ‫الاغذاد‬ ‫مؼ‬ ‫للخػامل‬ ‫مخخلل‬ ‫هىع‬ ‫يىحذ‬ ‫ملارا‬ ‫هىا‬ ُ‫العؤا‬ ‫الىاجج‬ ‫وؾباغت‬ ‫خهيهحن‬ ‫سنمحن‬ ‫غشب‬ ‫خاضل‬ ‫بايجاد‬ ‫يهىم‬ ‫بشهامج‬ ‫ظىٌخب‬ ُ‫مشا‬ float firstNum , secondNum , result; //assign value to each variable firstNum = 2.4 ; secondNum = 2.0 ; //calculate result result = firstNum * secondNum ; //print result printf("result is %f n",result); result is 4.800000 [ 02 - var&aritm02.c] - ‫ي‬ ‫يخخلل‬ ‫ال‬ ‫البرهامج‬ ‫هىع‬ ً‫م‬ ‫اث‬‫ر‬‫مخؿح‬ ‫باظخخذام‬ ‫هىا‬ ‫نمىا‬ , ‫الصخيدت‬ ‫الاغذاد‬ ‫اث‬‫ر‬‫مخؿح‬ ‫باظخخذام‬ ‫الجمؼ‬ ‫بشهامج‬ ً‫غ‬ ‫ا‬‫ر‬‫شح‬ float ‫مؼ‬ ‫هخػامل‬ ‫الهىا‬ ‫خهيهيت‬ ‫اغذاد‬
  • 26. - 25 - - ‫ي‬ ‫الس‬ ‫في‬ ‫الخعابيت‬ ‫الػملياث‬ ‫اء‬‫ش‬‫الح‬ ‫الػالماث‬ ‫اخذ‬ ‫ايػا‬ ‫وهي‬ , ‫الػشب‬ ‫غمليت‬ ‫اء‬‫ش‬‫الح‬ ) * ( ‫غالمت‬ ‫هىا‬ ‫اظخخذمىا‬ - ‫الشمض‬ ‫باظخخذام‬ ‫نمىا‬ %f ‫ال‬ ‫هىع‬ ً‫م‬ ‫الخهيهيت‬ ‫الاغذاد‬ ‫ؾباغت‬ ‫في‬ ‫يعخخذم‬ ‫زي‬ float - ‫ـ‬‫ـ‬‫ق‬ ‫الخهيهيت‬ ‫والاغذاد‬ ‫الصخيدت‬ ‫الاغذاد‬ ‫بحن‬‫للخمحز‬ ) . ( ‫الػششيت‬ ‫الكاضلت‬ ‫حعخخذم‬ ‫ي‬ ‫الس‬ 2.0 ‫ؾحر‬ 2 ‫انحشوف‬ ‫يزغيش‬ characters ‫ًلمت‬ ‫باظخخذام‬ ‫غىه‬ ‫الاغالن‬ ‫يخم‬ char ‫اث‬‫ر‬‫املخؿح‬ ‫في‬ ‫هىع‬‫اضؿش‬‫وهى‬ , 1 ً‫م‬ , ‫قهـ‬ ‫بايذ‬ 0 ‫الي‬ 255 ً‫م‬ , ‫قهـ‬ ‫املىحبت‬ ‫الهيم‬ ‫خالت‬ ‫في‬ - 128 ‫الي‬ 127 ‫في‬ ‫املعخ‬ ‫الؿشيهت‬ ‫بىكغ‬ ‫الزايشة‬ ‫في‬ ‫داخليا‬ ‫جخضيىه‬ ‫يخم‬ ‫الىىع‬ ‫هزا‬ ‫الن‬ ‫؟‬ ‫واملىحبت‬ ‫العالبت‬ ‫باالغذاد‬ ‫الخشوف‬ ‫غالنت‬ ‫وما‬ ‫العالبت‬ ‫الهيم‬ ‫خالت‬ ‫في‬ ‫خذمت‬ ‫الصخيدت‬ ‫الاغذاد‬ ‫اث‬‫ر‬‫مخؿح‬ ً‫م‬ ‫اهه‬ ‫غلي‬ ‫مػه‬ ‫الخػامل‬ ًٌ‫قيم‬ ‫الصخيدت‬ ‫الاغذاد‬ ‫ايػا‬ ‫ًلمت‬ ‫بؿباغت‬ ‫يهىم‬ ‫بشهامج‬ : ُ‫مشا‬ Hello ‫الخشوف‬‫مخؿحر‬ ‫باظخخذام‬ char ch1 = 'H' , ch2 = 'e' , ch3 = 'l' , ch4 = 'l' ,ch5 = 'o' ; //print char variables content printf("%c%c%c%c%c n", ch1 , ch2 , ch3 , ch4 , ch5 ); Hello [ 02 - var&aritm03.c ] - ً‫غ‬ ‫باالغالن‬ ‫نمىا‬ 5 ‫هىع‬ ً‫م‬ ‫اث‬‫ر‬‫مخؿح‬ char ‫مباششة‬ ‫نيمت‬‫مخؿحر‬ ‫ًل‬ ‫واغؿيىا‬ ‫انخباط‬ ‫غالمتي‬ ‫بحن‬ ‫جىغؼ‬ ‫ي‬ ‫الس‬ ‫في‬ ‫الخشوف‬ ( ‘ „ ,) ‫الشمض‬ ‫اظخخذمىا‬ %c ‫ي‬ ‫الس‬ ‫في‬ ‫الخشوف‬ ‫بؿباغت‬ ‫الخاص‬ - ‫الخشوف‬‫مخؿحر‬ ‫باظخخذام‬ ‫سنمحن‬ ‫حمؼ‬ ‫بشهامج‬ ُ‫مشا‬ //first number to be added char firstNumber = 12 ; //second number to be added char secondNumber = 14 ; //result of addition char sum = firstNumber + secondNumber ; //print addition result printf("sum is %d n",sum); sumis 26 [ 02 - var&aritm04.c ]
  • 27. - 26 - - ‫ا‬ ‫الجمؼ‬ ‫بشهامج‬ ‫غلي‬ ‫بالخػذيل‬ ‫نمىا‬ ‫مخؿحر‬ ‫ًل‬ ‫واظدبذلىا‬ ‫لعابو‬ short ‫ـ‬‫ـ‬‫ب‬ char ‫جخؿحر‬ ‫لم‬ ‫الىديجت‬ , - ‫الشمض‬ ‫اظخخذمىا‬ ‫اهىا‬ ‫هالخظ‬ %d ‫الشمض‬ ‫وعخخذم‬ ‫ولم‬‫مخؿحر‬ ‫ي‬‫مدخى‬ ‫لؿباغت‬ %c ‫جخػامل‬ ‫ان‬ ‫الذالت‬ ً‫م‬ ‫هشيذ‬ ‫الهىا‬ interpret ‫مخؿحر‬ ‫اهه‬ ‫غلي‬‫املخؿحر‬ ‫مؼ‬ ‫صخيدت‬ ‫اغذاد‬ - ‫الشمض‬ ‫اظخخذمىا‬‫لى‬ %c ‫ا‬ ‫الهيمت‬ ‫ؾباغت‬ ‫ظيخم‬ ‫ملهابلت‬ ‫ـ‬‫ـ‬‫ل‬ 26 )‫الخها‬ ‫اليه‬ ‫م‬‫(ظىؿش‬ ‫الاظٍي‬ ُ‫حذو‬ ً‫م‬ ( ‫وهي‬ → ) printf("sumis%cn",sum); → sumis - ‫اث‬‫ر‬‫املخؿح‬ ‫ؾباغت‬ ‫جيعيو‬ ‫غلي‬ ‫امشلت‬ - ‫باظخخذام‬ ‫لالسنام‬ ‫غذد‬ ‫انل‬ ‫جدذيذ‬ ‫مؼ‬ ‫صخيذ‬ ‫سنم‬ ‫ؾباغت‬ %2d , %3d%4d ‫وهٌزا‬ intfirstStd = 120; intsecondStd= 90; printf("weight is%3d KGn",firstStd); printf("weight is%3d KGn",secondStd); weightis120KG weightis 90KG - ‫لالسنام‬ ‫غذد‬ ‫انل‬ ‫خذدها‬ 3 ‫للشنم‬ ‫معاقت‬ ‫اغاقت‬ ‫نخم‬ , 90 ‫ليطبذ‬ 3 ‫اسنام‬ digits
  • 28. - 27 - - ‫الػششيت‬ ‫الػالمت‬ ‫بػذ‬ ‫الاسنام‬ ‫غذد‬ ‫جدذيذ‬ ‫مؼ‬ ‫خهيهي‬ ‫سنم‬ ‫ؾباغت‬ float first =34.567; float second = 7844.3215; printf("degree is%.2f n",first); printf("degree is%.3f n",second); degree is34.57 degree is7844.321 - ‫الشمىص‬ ‫باظخخذام‬ ‫الشماوي‬ ‫والىظام‬‫غشش‬ ‫ي‬ ‫العذاس‬ ‫بالىظام‬ ‫نيمت‬ ‫ؾباغت‬ %o,%x ‫الترجيب‬ ‫غلي‬ int value= 127; printf("value is%xinhexadecimaln",value); printf("value is%oin octal n",value); valueis7fin hexadecimal valueis177in octal - ‫انسبنجخ‬ ‫االعذاد‬ ‫و‬ ‫انًىخجخ‬ ‫االعذاد‬ : ‫ال‬ ُ‫خال‬ ً‫م‬ ‫ال‬ ‫ام‬ ‫ظالبت‬ ‫اغذاد‬ ‫مؼ‬ ‫ظيخػامل‬‫املخؿحر‬ ‫ًان‬ ‫ارا‬ ‫جدذيذ‬ ‫يخم‬ ‫ٍلمخحن‬ unsigned ‫او‬ ‫قهـ‬ ‫املىحبت‬ ‫لالغذاد‬ signed ‫والعالبت‬ ‫املىحبت‬ ‫لالغذاد‬ ‫اي‬ ‫والعالبت‬ ‫املىحبت‬ ‫الاغذاد‬ ‫مؼ‬ ‫جخػامل‬ ‫انها‬ ‫الصخيدت‬ ‫الاغذاد‬ ‫اث‬‫ر‬‫ملخؿح‬ ‫اغيت‬‫ر‬‫الاقت‬ ‫الخالت‬ , signed ‫الخالي‬ ُ‫املشا‬ ‫في‬ ‫يما‬
  • 29. - 28 - signed intfirst = -127; unsignedint second= 12; intthird= -140; printf("value is%d n",first); printf("value is%d n",second); printf("value is%d n",third); valueis -127 valueis12 valueis -140 ‫انثىاثذ‬ constants ‫جاخ‬ ‫ان‬ ‫بمجشد‬ ‫انها‬ ‫اث‬‫ر‬‫املخؿح‬ ً‫غ‬ ‫جخخلل‬ ‫ولٌنها‬ ‫اهىاغها‬‫و‬ ‫منها‬ ‫الؿشع‬ ‫في‬ ‫اث‬‫ر‬‫املخؿح‬ ‫مشل‬ ‫الشىابذ‬ ‫زابذ‬ ‫مدخىاها‬ ‫ان‬ ‫اي‬ ‫حؿحرها‬ ًٌ‫يم‬ ‫ال‬ ‫مػيىت‬ ‫نيمت‬ ‫ز‬ ‫الشىابذ‬ ً‫غ‬ ‫لالغالن‬ ‫ؾشيهخحن‬ ‫ويىحذ‬ ‫غنها‬ ‫الاغالن‬ ‫غىذ‬ ‫مباششة‬ ‫نيمتها‬ ‫جاخز‬ ‫قهي‬ ‫ولزا‬  ‫املذجىصة‬ ‫الٍلمت‬ ‫باظخخذام‬ const ‫غىه‬ ‫الاغالن‬ ‫في‬‫املخؿحر‬ ‫هىع‬ ‫نبل‬  ‫الٍلمت‬ ‫باظخخذام‬ #define ‫الٍلمت‬ ‫باظخخذام‬ const ‫الٍلم‬ ‫باظخخذام‬ ‫ت‬ #define ‫حعمي‬ ‫الشاهيت‬ ‫اما‬ , ‫الشابذ‬ ‫لهزا‬ ‫الزايشة‬ ‫في‬ ‫مٍان‬‫بذجض‬ ‫جهىم‬ ‫الاولي‬ ‫ان‬ ‫الؿشيهخحن‬ ‫بحن‬ ‫م‬‫الكش‬ string replacement ‫الشابذ‬ ‫اظم‬ ‫اي‬ ُ‫اظدبذا‬ ‫يخم‬ ‫خيث‬ ‫البرهامج‬ ‫جشحمت‬ ‫نبل‬ َ‫ورل‬ ‫بهيمخه‬ ‫البرهامج‬ ‫داخل‬ ‫يبحرة‬ ‫خشوف‬ ‫الشىابذ‬ ‫اظماء‬ ‫ن‬‫جٍى‬ ‫ان‬ ‫الػشف‬ ‫ي‬‫حش‬ capitalletters ‫ورل‬ ‫زىابذ‬ ً‫غ‬ ‫لالغالن‬ ‫امشلت‬ , ‫الاًىاد‬ ‫داخل‬ ‫اث‬‫ر‬‫املخؿح‬ ً‫غ‬ ‫جمحزها‬ ‫ليخم‬ َ
  • 30. - 29 - #defin MAX 20 #define SIZE 100 const int LIMIT = 33 ; const char CH = 'A'; ُ‫مشا‬ //define max constant #define MAX 20 int main() { //define another constant const int num = 80 ; printf("MAX value is %d n",MAX ); printf("num value is %d n ",num); return 0; } MAXvalueis 20 numvalueis 80 [ 02 - var&aritm05.c] ُ‫الاو‬ ‫الشابذ‬ ‫غشقىا‬ MAX ‫باظخخذام‬ #define ‫الهيمت‬ ‫واغؿيىاه‬ 20 ‫نها‬ ‫في‬ ‫مىهىؾت‬ ‫قاضلت‬ ‫وحىد‬ ‫غذم‬ ‫وهالخظ‬ ‫ليعذ‬ ‫الؿشيهت‬ ‫هزا‬ ‫الن‬ ‫يل‬‫ش‬‫الخػ‬ ‫يت‬ ‫الخىحيهاث‬ ‫اخذ‬ ‫هي‬ ‫اهما‬ ‫البرهامج‬ ‫حػليماث‬ ‫اخذي‬ directives ‫البرهامج‬ ‫جشحمت‬ ‫نبل‬ ‫جىكيزها‬ ‫يخم‬ ‫التي‬ #define MAX 20 ‫الٍلمت‬ ‫وباظخخذام‬ ‫اث‬‫ر‬‫املخؿح‬ ً‫غ‬ ‫الاغالن‬ ‫بالؿشيهت‬‫اخش‬ ‫زابذ‬ ‫غشقىا‬ const ‫الهيمت‬ ‫واغؿيىاه‬ 80 const int num = 80 ; ‫ب‬ ‫نمىا‬ ‫الذالت‬ ‫باظخخذام‬ ‫الشابخحن‬ ‫ؿباغت‬ printf ‫زابذ‬ ‫نيمت‬‫حؿحر‬ ُ‫هداو‬ ‫اهىا‬ ‫خؿا‬ ‫سظالت‬‫وظخظهش‬ ‫البرهامج‬ ‫يػمل‬ ً‫ل‬ ‫الشىابذ‬ ‫اخذ‬ ‫نيمت‬‫حؿحر‬ ‫خاولىا‬ ‫ارا‬ read-onlyvariable - ‫انحسبثيخ‬ ‫انعًهيبد‬ arithmetic operators : , + ‫ـ‬‫ـ‬‫ي‬ ‫سمىص‬ ‫باظخخذام‬ ‫ي‬ ‫الس‬ ‫في‬ ‫الخعابيت‬ ‫الػملياث‬ ‫جخم‬ - , *, ‫ـ‬‫ب‬ ‫حػشف‬ ‫والتي‬ % , / arithmeticoperators ‫الشمض‬ ‫الىظيكت‬ + ‫الجمؼ‬ - ‫الؿشح‬
  • 31. - 30 - * ‫الػشب‬ / ‫الهعمت‬ % ‫الهعمت‬ ‫باقي‬ ‫الشمىص‬ َ‫جل‬ ‫اظخخذام‬ ‫يىضر‬ ‫بشهامج‬ ُ‫مشا‬ //operands int firstNumber = 100, secondNumber = 3 ; printf("addition result is %d n",firstNumber + secondNumber ); printf("subtraction result is %d n",firstNumber - secondNumber ); printf("multiplication result is %d n",firstNumber *secondNumber ); printf("division result is %d n",firstNumber / secondNumber ); printf("remainder result is %d n",firstNumber % secondNumber ); additionresultis 103 subtractionresultis97 multiplication result is 300 divisionresultis33 remainderresult is 1 [ 02 - var&aritm06.c] - ‫وخىاة‬ ‫سؤال‬ - ‫؟‬ ‫غىه‬ ً‫وػل‬ ‫ان‬ ‫نبل‬‫مخؿحر‬ ‫اظخخذام‬ ًٌ‫يم‬ ‫هل‬ int main() { printf("valueis%d n",num); return0; } ‫املخؿحر‬ ‫ان‬‫وهى‬ , ‫خؿأ‬ ‫ظيدذر‬ , ًٌ‫اليم‬ num ‫معبها‬ ‫غىه‬ ‫الاغالن‬ ‫يخم‬ ‫لم‬ undeclared
  • 32. - 31 - - ‫اخش؟‬ ‫هىع‬ ً‫م‬‫ملخؿحر‬ ‫مشابه‬ ‫باظم‬‫املخؿحر‬ ‫حعميت‬ ًٌ‫يم‬ ‫هل‬ int num; float num; ‫املخؿحر‬ ‫هىع‬ ‫في‬ ‫حػاسع‬ ‫يعمي‬ ‫هزا‬ , َ‫رل‬ ًٌ‫يم‬ ‫ال‬ conflictingtypes ‫اخذهما‬ ‫الاظم‬ ‫هكغ‬ , int ‫والاخش‬ float - ‫؟‬ ‫له‬ ‫مباششة‬‫او‬ ‫مبذئيت‬ ‫نيمت‬ ‫اغؿاء‬ ‫نبل‬‫مخؿحر‬ ‫اظخخذام‬ ًٌ‫يم‬ ‫هل‬ int main() { int num; printf("value of num is %d n",num); return 0; } ‫ال‬ ‫لخجىب‬ َ‫ورل‬ ‫غنها‬ ‫الاغالن‬ ‫غىذ‬ ‫اث‬‫ر‬‫للمخؿح‬ ‫مبذئيت‬ ‫نيمت‬ ‫باغؿاء‬ ‫يىصر‬ ‫ولزا‬ ‫مخىنػت‬‫ؾحر‬‫املخؿحر‬ ‫نيمت‬ ًٌ‫ول‬ ‫اخؿاء‬ ‫ن‬‫بذو‬ ‫ظيػمل‬ ‫الٍىد‬ ‫هىا‬ ‫الؿحر‬ ‫هيم‬ .‫مخىنػت‬
  • 34. - 33 - ‫انشيىص‬ operators ‫بػؼ‬ ‫غلي‬ ‫ي‬ ‫الس‬ ‫ي‬‫جدخى‬ ‫الشمىص‬ ‫الػم‬ , ‫الخعابيت‬ ‫الػملياث‬ ‫في‬ ‫حعخخذم‬ ‫التي‬ ‫املىؿهيت‬ ‫لياث‬ ‫ًاالحي‬ ‫وهي‬ ‫وؾحرها‬ ‫املهاسهت‬ ‫وغملياث‬ ‫انحسبثيخ‬ ‫انعًهيبد‬ ‫سيىص‬ arithmetic operators : ‫ظ‬ ‫ونذ‬ ‫وخالقه‬ ‫والؿشح‬ ‫الجمؼ‬ ‫ـ‬‫ـ‬‫ي‬ ‫الخعابيت‬ ‫الػملياث‬ ‫اء‬‫ش‬‫باح‬ ‫الخاضت‬ ‫الشمىص‬ ‫هي‬ ‫ب‬ ‫العابو‬ ‫الكطل‬ ‫في‬ ‫مػها‬ ‫الخػامل‬ ‫ملا‬ ‫و‬ ‫انعالقيخ‬ ‫انعًهيبد‬ ‫سيىص‬ relational operators : ‫ال‬ ‫هي‬ ( ‫صخيدت‬ ‫اما‬ ‫الػملياث‬ َ‫جل‬ ‫وهديجت‬ ‫الهيم‬ ‫بحن‬ ‫املهاسهت‬ ‫غملياث‬ ‫اء‬‫ش‬‫باح‬ ‫الخاضت‬ ‫شمىص‬ 1 ( ‫خاؾئت‬‫او‬ ) 0 ) ‫الػالنيت‬ ‫الػملياث‬ ‫الرمز‬ ‫الوظيفة‬ a > b ‫هل‬ a ً‫م‬‫ايبر‬ b ‫ال‬ ‫ام‬ a >=b ‫هل‬ a ‫ي‬‫حعاو‬‫او‬ ً‫م‬‫ايبر‬ b ‫ال‬ ‫ام‬ a <b ‫هل‬ a ً‫م‬‫اضؿش‬ b ‫ال‬ ‫ام‬ a < =b ‫هل‬ a ‫او‬ ً‫م‬‫اضؿش‬ ‫ي‬‫حعاو‬ b ‫ال‬ ‫ام‬ a ==b ‫هل‬ a ‫ي‬‫حعاو‬ b ‫ال‬ ‫ام‬ a != b ‫هل‬ a ‫ي‬‫حعاو‬ ‫ال‬ b ‫ال‬ ‫ام‬ َ‫رل‬ ‫بػذ‬ ‫ي‬‫ظجر‬ ‫يما‬ ‫مػحن‬ ‫ششؽ‬ ً‫م‬ ‫للخدهو‬ ‫ؾالبا‬ ‫الشمىص‬ َ‫جل‬ ‫حعخخذم‬ ‫الشمىص‬ َ‫جل‬ ‫اظخخذام‬ ‫يىضر‬ ‫بشهامج‬ ُ‫مشا‬
  • 35. - 34 - printf("12 > 10 = %d n", 12 >10 ); printf("10 >= 12 = %d n", 10 >= 12); printf("10 >= 10 = %d n", 10 >= 10); printf("44 < 55 = %d n", 44 < 55); printf("44 <= 22 = %d n", 44 <= 22); printf("44 <= 44 = %d n", 44 <= 44); printf("10 == 55 = %d n", 10 == 55); printf("10 == 10 = %d n", 10 == 10); printf("10 != 10 = %d n", 10 != 10); printf("10 != 44 = %d n", 10 != 44); 12 > 1 = 1 10 => 12 = 0 10 => 10 = 1 44 < 55 = 1 44 =< 22 = 0 44 =< 44 = 1 10 == 55 = 0 10 == 10 = 1 10 =! 10 = 0 10 =! 44 = 1 [ 03 - operators01.c] ‫انًُطقيخ‬ ‫انعًهيبد‬ ‫سيىص‬ logical operators : :‫وهي‬ ‫ششؽ‬ ً‫م‬‫ايثر‬ ‫بحن‬ ‫للجمؼ‬ ‫الػالنيت‬ ‫الػملياث‬ ‫سمىص‬ ‫مؼ‬ ‫حعخخذم‬  ‫حػؿي‬ )‫و‬ ( ‫بمػني‬ && true ‫الؿشقحن‬ ‫ًان‬ ‫ارا‬ true ‫حػؿي‬ َ‫رل‬‫ؾحر‬ , false  ‫وحػؿي‬ )‫(او‬ ‫بمػني‬ || true ‫ًليهما‬‫او‬ ‫الؿشقحن‬ ‫اخذ‬ ‫ًان‬ ‫ارا‬ true ‫وحػؿي‬, false ‫خالت‬ ‫في‬ ‫الؿشقحن‬ ‫ًان‬ ‫ارا‬ ‫واخذة‬ false  ً‫م‬ ‫الىديجت‬ ‫بػٌغ‬ ‫جهىم‬ ! true ‫الي‬ false ‫والػٌغ‬ ‫الاخؿاء‬ ‫ولخجىب‬ ‫للىغىح‬ ‫ششؽ‬ ‫ًل‬ ُ‫خى‬ ‫الانىاط‬ ‫اظخخذام‬ ‫يكػل‬
  • 36. - 35 - ! ‫املىؿهيت‬ ‫الػمليت‬ ||‫و‬ && ‫املىؿهيت‬ ‫الػملياث‬ ‫الػمليت‬ ‫وهديجت‬ ‫الػمليت‬ ‫ؾشفي‬ ‫اخخماالث‬ ‫ًل‬ ‫يىضر‬ ‫منها‬ ‫غمليت‬ ‫لٍل‬ ‫الخهيهت‬ ُ‫حذو‬ ‫وليغ‬ ‫ششؽ‬ ً‫م‬‫ايثر‬ ‫غلي‬ ‫الػملياث‬ َ‫جل‬ ‫اء‬‫ش‬‫اح‬ ًٌ‫يم‬, ‫خالت‬ ‫ًل‬ ‫في‬ ‫قهـ‬ ‫ششؾحن‬ && || ! ‫املىؿهيت‬ ‫الػملياث‬ ‫اظخخذام‬ ‫يىضر‬ ‫بشهامج‬ ُ‫مشا‬ printf("(12 >10) && (12 > 11) = %d n", (12 >10) && (12 > 11) ); printf("(14 >10) && (12 != 11) = %d nn", (14 >10) && (12 != 11) ); printf("(12 >10) || (12 > 11) = %d n", (12 >10) || (12 > 11) ); printf("(14 >10) || (12 != 11) = %d nn", (14 >10) || (12 != 11) ); printf("!(12 >10) = %d n", !(12 >10) ); printf("!(14 >10) = %d n", !(14 >16) ); ( 12 > 10 ( && ) 12 > 11 = ) 1 ( 14 > 10 ( && ) 12 =! 11 = ) 1 ( 12 > 10 ( || ) 12 > 11 = ) 1 ( 14 > 10 ( || ) 12 =! 11 = ) 1 (! 12 > 10 = ) 0 (! 14 > 10 = ) 1 [ 03 - operators02.c ]
  • 37. - 36 - ٌ‫وانُقظب‬ ‫انضيبدح‬ ‫يؤثشاد‬ increment and decrement operators : ‫ه‬ ‫مىه‬ ‫ويىحذ‬ , ‫اسيت‬‫ش‬ٌ‫الخ‬ ‫الخلهاث‬ ‫مؼ‬ ‫بٌثرة‬ ‫حعخخذم‬ ‫التي‬ ‫الشمىص‬ ‫اخذ‬ , ‫واخذ‬‫بهذاس‬ ‫اههاضه‬‫او‬ ‫واخذ‬‫بهذاس‬‫املخؿحر‬ ‫نيمت‬ ‫لضيادة‬ ‫حعخخذم‬ ‫ىغحن‬  Pre ‫مشل‬‫املخؿحر‬ ‫نبل‬‫الشمض‬ ‫يىضر‬ ++num, --count  Post ‫الشمض‬ ‫يىغؼ‬ ‫املخؿحرمشل‬ ‫بػذ‬ num++ ,coun-- ‫ق‬‫اخش‬‫ملخؿحر‬ ‫الهيمت‬ َ‫جل‬ ‫بخػحن‬ ‫نمىا‬ ‫ارا‬‫يظهش‬ ‫م‬‫الكش‬ , ‫خخما‬ ‫ظيدذر‬ ‫الىهطان‬‫او‬ ‫الضيادة‬‫ر‬‫جازح‬ ‫راجه‬‫املخؿحر‬ ‫غلي‬ ‫يخخلل‬ ‫ال‬ ‫بينهما‬ ‫م‬‫الكش‬ ‫مشال‬ int num= 4; int x= ++num; ‫املخؿحر‬ ‫هىا‬ num ‫ظيطبذ‬ 5 ‫املخؿحر‬ ‫اما‬ , x ‫ظيطبذ‬ 4 ‫ام‬ 5 ‫خالت‬ ‫في‬ ‫اظخخذام‬ pre ‫الٍىد‬ ‫ان‬ ‫اي‬‫للمخؿحر‬ ‫الهيمت‬ ‫حػحن‬ ‫زم‬ ‫اوال‬ ‫جدطل‬ ‫الضيادة‬ ‫قان‬ ‫الخالي‬ ‫للٍىد‬ ‫ي‬‫معاو‬ ‫باالغلي‬ ‫املخؿحر‬ , x ‫ي‬‫يعاو‬ 5 int num= 4; num= num +1; int x= num ; ُ‫خا‬ ‫في‬ ‫اما‬ post ‫الضيادة‬ ‫زم‬ ‫اوال‬ ‫يدذر‬ ‫الهيمت‬ ‫حػحن‬ ‫قان‬ int num= 4; int x= num++; ‫نيمت‬ num ‫ي‬‫حعاو‬ 5 ‫ونيمت‬ x ‫ي‬‫حعاو‬ 4 ‫ـ‬‫ـ‬‫ل‬ ‫ي‬‫معاو‬ ‫الٍىد‬ ‫هزا‬, int num= 4; int x= num ; num= num +1; . ‫الىهطان‬‫ملؤزش‬ ‫باليعبت‬ ‫ي‬ ‫الص‬ ‫وهكغ‬
  • 38. - 37 - ‫ثبنجزبد‬ ‫خبطخ‬ ‫سيىص‬ bitwise operators : ‫وهي‬ ‫البذ‬ ‫ي‬‫معخى‬ ‫غلي‬ ‫الهيمت‬‫او‬‫املخؿحر‬ ‫مؼ‬ ‫جخػامل‬ ‫الشمىص‬ َ‫جل‬ ‫الرمز‬ ‫املعني‬ & And | Or ^ Xor >> Rightshift ‫لليمحن‬ ‫اخت‬‫ص‬‫الا‬ << Left shift ‫لليعاس‬ ‫اخت‬‫ص‬‫الا‬ ~ Not ‫غٌغ‬ , ^, | , & ‫غملياث‬ ~ ‫واليعاس‬ ‫اليمحن‬ ‫حهت‬ ‫اخت‬‫ص‬‫الا‬ ‫غملياث‬
  • 39. - 38 - ‫يعمي‬ ‫والزي‬ ‫اليمحن‬ ‫حهت‬ ‫بذ‬ ُ‫قاو‬‫الطكش‬ ً‫م‬ ‫يبذا‬ ‫البخاث‬ ‫جشجيب‬ ‫ان‬ ‫وػشف‬ ‫ان‬ ‫الهام‬ ً‫م‬ Leastsignificantbit ‫جشجيب‬ ‫سنم‬ ‫يليه‬ ‫والزي‬‫ضكش‬ ‫سنم‬ ‫ه‬ 1 ‫وهٌزا‬ : ‫للخىغيذ‬ ُ‫مشا‬ char firstNum = 4 ;//binary= 00000100 char secondNum =10 ;//binary= 00001010 char andResult =firstNum &secondNum ;// (00000100) & (00001010) = 00000000 char orResult =firstNum |secondNum; // (00000100) | (00001010) = 00001110 char xorResult =firstNum ^secondNum; // (00000100) & (00001010) = 00001110 char notResult =~firstNum ;// ~(00000100) = 11111011 char rightShiftResult =firstNum >> 2; //(00000100) = 00000001 char leftshiftResult =firstNum << 2; //(00000100) = 00010000 ‫غلي‬ ‫الهعمت‬ ‫ي‬‫حعاو‬ ‫لليمحن‬ ‫اخت‬‫ص‬‫الا‬ ‫ان‬ ‫هىا‬ ‫الهامت‬ ‫املالخظاث‬ ‫اخذ‬ ًٌ‫ول‬ , ‫اث‬‫ش‬‫املؤز‬ َ‫لخل‬ ‫الػمليت‬ ‫الاظخخذاماث‬ ‫ظىػشف‬ ‫الخها‬ 2 ‫الاصاخت‬ ‫اث‬‫ش‬‫م‬ ‫غذد‬ * ‫في‬ ‫الػشب‬ ‫ي‬‫حعاو‬‫لليعاس‬ ‫اخت‬‫ص‬‫الا‬ َ‫ويزل‬ 2 ‫ًالخالي‬ ‫اخت‬‫ص‬‫الا‬ ‫اث‬‫ش‬‫م‬ ‫غذد‬ * 4 >> 2 = 1;//00000100>> 2 = 00000001which equal 4 / (2*2) 4 << 1 = 8;//00000100<< 1 = 00001000 whhichequal4* 2 * 1 ‫انقيى‬ ٍ‫رعي‬ ‫يؤثشاد‬ assignment operators : ( ‫هٌخب‬ ‫ان‬ ً‫م‬ ‫قبذال‬ ‫الٍىد‬ ‫يخابت‬ ‫في‬ ‫حعهل‬ ‫انها‬‫ؾحر‬ ‫الىظيكيت‬ ‫الىاخيت‬ ً‫م‬ ‫حذيذا‬ ‫ئ‬ ‫ش‬ ‫جكػل‬ ‫ال‬ ‫اث‬‫ش‬‫املؤز‬ ‫هزه‬ x= x+3 ( ‫هٌخب‬ ‫ان‬ ًٌ‫يم‬ ) x+= 3 ) ‫ًالخالي‬ x+= 3 ; //equaltox = x+3 x-= 3 ; //equaltox = x -3 x*= 3 ; //equaltox = x* 3 x/= 3 ; //equalto x=x / 3
  • 40. - 39 - x%= 3 ; //equalto x=x %3 x&= 3 ; //equalto x = x& 3 x|= 3 ; // equaltox = x| 3 x^= 3 ; //equalto x= x^ 3 x>>= 3 ; //equalto x= x>>3 x<<= 3 ; //equalto x= x<<3 ‫الخش‬ ‫َىع‬ ٍ‫ي‬ ‫انزحىيم‬ ‫يؤثش‬ cast operator : ‫ـ‬‫ـ‬‫ل‬‫با‬‫الخش‬ ‫هىع‬ ً‫م‬ ‫البياهاث‬‫او‬‫املخؿحر‬ ‫جدىيل‬ ‫غمليه‬ ‫حعمي‬ casting : ‫هىغحن‬ ‫ويىحذ‬  ‫غمني‬ ‫جدىيل‬ implicit ‫ايػا‬ ‫وحعمي‬ ‫راجه‬ ‫املترحم‬ ‫بها‬ ‫يهىم‬ promotion ‫نيمت‬ ‫لخعاب‬ ‫اهه‬ ‫خيث‬ , expression ‫حميؼ‬ ‫ن‬‫جٍى‬ ‫ان‬ ‫يجب‬ ‫لز‬ ‫الىىع‬ ‫هكغ‬ ً‫م‬ ‫الخذود‬ ‫الاغلي‬ ‫الىىع‬ ‫الي‬ ‫الىىع‬ ‫في‬ ‫املخخلكت‬ ‫الخذود‬ ‫بخدىيل‬ ‫املترحم‬ ‫يهىم‬ ‫ا‬  ‫ضشيذ‬ ‫جدىيل‬ explicit ‫الاجيه‬ ‫الطيؿت‬ ُ‫خال‬ ً‫م‬ َ‫ورل‬‫الخش‬ ‫مػحن‬ ‫هىع‬ ‫لخدىيل‬ ‫املبرمج‬ ‫به‬ ‫يهىم‬ intfirst =12; float second = 23.8; float total =first +second ; ‫املخؿحر‬ ‫بخدىيل‬ ‫املترحم‬ ‫ظيهىم‬ ‫هىا‬ first ‫الي‬ float ‫مدخىاه‬ ‫ليطبذ‬ 12.0 ‫ـ‬‫ـ‬‫ل‬‫ا‬ ‫ن‬‫ويٍى‬ expression ً‫غ‬ ‫غباسة‬ 23.8+ 12.0 ‫الػمني‬ ‫الخدىيل‬‫هى‬ ‫وهزا‬ intfirst =12; float second = 23.8; float third= (float)first; float total =first +third; ‫املخؿحر‬ ‫بخدىيل‬ ‫نمىا‬ first ً‫م‬ int ‫الي‬ float ‫ضشيذ‬ ‫بشٍل‬ ‫الان‬ ‫الىىع‬ ‫هكغ‬ ً‫م‬ ‫الخذود‬ ‫الن‬ ‫جدىيل‬ ‫اي‬ ‫اء‬‫ش‬‫اح‬ ‫الي‬ ‫املترحم‬ ‫يدخاج‬ ً‫ل‬ ‫وبالخالي‬ , ‫جدىيل‬ ‫مشل‬ ‫انل‬ ‫هىع‬ ‫الي‬ ‫اغلي‬ ‫هىع‬ ‫جدىيل‬ ‫ان‬ ‫مالخظت‬ ‫يجب‬ int ‫الي‬ char ‫البياهاث‬ ‫في‬ ‫قهذ‬ ‫الي‬ ‫يؤدي‬ truncate ‫اندجشيخ‬ ‫انـعجبسح‬ expressions :
  • 41. - 40 - ‫با‬ ‫املىحىد‬ ‫الشمىص‬ ‫اخذ‬ ‫بينها‬ ‫الخذود‬ ً‫م‬ ‫مجمىغت‬ ‫هي‬ ‫الاحي‬ ‫مشل‬ ‫الشياغيت‬ ‫باملػادلت‬ ‫اشبه‬ ‫وهي‬ ‫مباششة‬ ‫نيم‬‫او‬ ‫اث‬‫ر‬‫مخؿح‬ ‫اما‬ ‫الخذود‬ ‫وهزا‬ , ‫ي‬ ‫لس‬ h = x+y *z ; g = x/ 3 -4 +t ; l = x>4||y <6 ; ‫يعمي‬ )=( ‫غالمت‬ ‫يمحن‬ ‫غلي‬‫هى‬ ‫ما‬ ‫ًل‬ expression ‫ـ‬‫ل‬‫با‬ ‫يعمي‬‫و‬ rvalue(rightvalue) ‫و‬ ‫قهـ‬ )=( ‫غالمت‬ ‫يمحن‬ ‫غلي‬ ‫ياحي‬ ‫اهه‬ ‫اي‬ ‫غلي‬ ‫ياحي‬ ‫ان‬ ًٌ‫يم‬ ‫ال‬ ‫اما‬ ,‫اليعاس‬ lvalue(left value) ‫الزايشة‬ ‫في‬ ‫غىىان‬ ‫النهايت‬ ‫في‬ ‫يمشل‬ ‫الزي‬‫مخؿحر‬ ً‫غ‬ ‫غباسة‬ ‫وهي‬ ‫ايػا‬ ً‫اليم‬ ‫غلي‬ ‫جاحي‬ ‫ان‬ ًٌ‫ويم‬‫اليعاس‬ ‫غلي‬ ‫جاحي‬ ‫التي‬ ‫قهي‬ ‫انـ‬ ‫قيًخ‬ ‫حسبة‬ ‫في‬ ‫االسجقيخ‬ expression : ‫املػادلت‬ ‫في‬ ‫خذ‬ ‫ًل‬ ‫نيمت‬ ‫خعاب‬ ‫جشجيب‬ ‫اي‬ ‫لخدذيذ‬ ‫نىاغذ‬ ‫هىاى‬ ( ‫لذيىا‬‫قلى‬ 2 + 4 * 5 ‫الىديجت‬ ‫هل‬ ) 22 ‫ام‬ 30 ‫الىديجت‬ ‫الاظبهيت‬ ‫لهىاغذ‬ ‫باليعبت‬ , 22 ‫زم‬ + ‫زم‬ % ‫زم‬ / ‫زم‬ * ‫زم‬ )( ‫هي‬ ‫الخعابيت‬ ‫الػملياث‬ ‫في‬ ‫الاظبهيت‬ - ‫الاخؿاء‬ ‫ولخجىب‬ ‫وغىخا‬‫ايثر‬ ‫املػادلت‬ ‫لجػل‬ )( ‫اظخخذام‬ ً‫م‬‫هٌثر‬ ‫ان‬ ‫والاقػل‬ , ‫هشيذه‬ ‫الزي‬ ‫بالترجيب‬ ‫الخذود‬ ‫نيمت‬ ‫خعاب‬ ‫وليخم‬ ‫حذو‬ ‫الترجيب‬ ُ ‫ثبنجزبد‬ ‫انخبطخ‬ ‫انًؤثشاد‬ ‫اسزخذايبد‬  ‫مػحن‬ ‫بذ‬ ‫نيمت‬‫جطكحر‬ reset ‫باظخخذام‬ َ‫رل‬ ‫ويخم‬ &  ‫هل‬ ‫مػحن‬ ‫بذ‬ ‫نيمت‬ ً‫م‬ ‫الخدهو‬ 1 ‫او‬ 0 ‫باظخخذام‬ َ‫رل‬ ‫ويخم‬ &  ‫مػحن‬ ‫بذ‬ ‫نيمت‬ ‫وغؼ‬ set ‫ـ‬‫ب‬ 1  ‫جبذيل‬ ‫مػحن‬ ‫بذ‬ ‫نيمت‬ Toggle ً‫م‬ ‫ارا‬ 1 ‫الي‬ 0 ‫باظخخذام‬ َ‫ورل‬ ‫والػٌغ‬ ^ ‫معين‬ ‫بت‬ ‫قيمة‬‫ثصفير‬ reset ‫حػؿي‬ & ‫الهيمت‬ 1 ‫ـ‬‫ـ‬‫ـ‬‫ب‬ ‫الهيمخحن‬ ‫ًاهذ‬ ‫ارا‬ 1 ‫ـ‬‫ـ‬‫ب‬ ‫اخذهما‬ ‫ًان‬ ‫ارا‬ ‫اما‬ 0 ‫دائما‬ ‫قالىديجت‬ 0 ‫ـ‬‫ـ‬‫ب‬ ‫مػحن‬ ‫بذ‬ ‫نيمت‬ ‫هػؼ‬ ‫ان‬ ‫اسدها‬ ‫ارا‬ ‫لزا‬ , 0 ‫بػمل‬ ‫ههىم‬ & َ‫لخل‬ ‫بها‬ ‫ي‬‫اخش‬ ‫نيمت‬ ‫مؼ‬ ‫الهيمت‬ 0 ‫و‬ ‫جطكحره‬ ‫اد‬‫ش‬‫امل‬ ‫البذ‬ ‫مٍان‬ 1 ‫ا‬ ًٌ‫يم‬ َ‫جل‬ ‫ي‬‫الاخش‬ ‫الهيمت‬ ‫ولخدذيذ‬ , ‫ي‬‫الاخش‬ ً‫الاماي‬ ‫في‬ ‫الىكي‬‫مؤشش‬ ‫مؼ‬ ‫اخت‬‫ص‬‫الا‬ ‫وعخخذم‬ ‫ن‬ ‫يلي‬ ‫يما‬ ‫باهكعىا‬ ‫مباششة‬ ‫الهيمت‬ ‫هدذد‬‫او‬
  • 42. - 41 - ‫ـ‬‫ب‬ ‫الشاوي‬ ‫البذ‬ ‫نيمت‬ ‫وغؼ‬ 0 ُ‫مشا‬ //value unsigned short value = 0b1000110; //generate the second value unsigned short reset = ~ (1<< 2); //before printf("value before is 0x%x n",value); //apply reset value &= reset ; //after printf("value after is 0x%x n",value); valuebefore is 0x46 valueafter is 0x42 [ 03 - operators03.c ] ( ‫باظخخذام‬ َ‫ورل‬ ‫الشىائي‬ ‫بالىظام‬ ‫نيمت‬ ‫واغؿيىاه‬ ‫صخيذ‬‫مخؿحر‬ ‫حجضها‬ 0b ‫ال‬ ‫الهيمت‬ ‫اليجاد‬ ‫زم‬, ‫الهيمت‬ ‫نبل‬ ) ‫غمل‬ ‫ظيخم‬ ‫تي‬ & ‫لخطكحر‬ َ‫ورل‬ ‫مػها‬ ‫الىكي‬ ‫مؼ‬‫اليعاس‬ ‫حهت‬ ‫اخت‬‫ص‬‫الا‬ ‫اظخخذمىا‬ ‫الشاوي‬ ‫البذ‬ unsigned short reset = ~ (1<< 2); ‫خيث‬ 2 ‫للشنم‬ ‫اخت‬‫ص‬‫ا‬ ‫اء‬‫ش‬‫باح‬ ‫اوال‬ ‫نمىا‬ ‫اهىا‬ ‫هىا‬ ‫خذر‬ ‫ما‬ , ‫جطكحره‬ ‫اد‬‫ش‬‫امل‬ ‫البذ‬ ‫سنم‬ ‫هي‬ 1 ‫اخت‬‫ص‬‫الا‬ ‫هاجج‬ ‫غٌغ‬ ‫زم‬ ‫جطكحر‬ ‫اد‬‫ش‬‫امل‬ ‫البذ‬ ‫بشنم‬‫اليعاس‬ ‫حهت‬ ‫ورل‬ ‫بىاخذ‬ ‫الشنم‬ ‫وبهيت‬ ‫الىاخذ‬ ‫مٍان‬‫ضكش‬ ‫لىضر‬ َ (1<< 2) = (0000 0001) << 2 = (0000 0100) ~(1<< 2) = ~ (0000 0100) = (1111 1011) ‫املخؿحر‬ ‫قان‬ َ‫وبزل‬ reset ‫الهيمت‬ ‫ي‬‫ظيدى‬ (1111 1011) , ‫لٌنها‬ ‫والىكي‬ ‫اخت‬‫ص‬‫الا‬ ‫اظخخذام‬ ً‫م‬ ‫بذال‬ ‫مباششة‬ ‫الهيمت‬ َ‫جل‬ ‫له‬ ‫هػؼ‬ ‫ان‬ ًٌ‫يم‬ ‫وًان‬ ‫اظهل‬ ‫املخؿحر‬ ‫نيمت‬ ‫مؼ‬ ‫الاضليت‬ ‫للهيمت‬ & ‫بػمل‬ َ‫رل‬ ‫بػذ‬ ‫نمىا‬ , ‫بٌشحر‬ reset ‫الاضليت‬ ‫الهيمت‬ ‫مٍان‬ ‫الىاجج‬ ً‫وجخضي‬ value &= reset ;
  • 43. - 42 - value = 0 1 0 0 0 1 1 0 & reset = 1 1 1 1 1 0 1 1 ------------------------- value = 0 1 0 0 0 0 1 0 ‫ي‬ ‫العذاس‬ ‫بالىظام‬ ‫الهيم‬ ‫ؾبؼ‬ ‫وجم‬ ‫غشش‬ ‫مػحن‬ ‫بذ‬ ‫نيمت‬ ً‫م‬ ‫الخدهو‬ ‫ا‬ ‫والباقي‬ ‫مىه‬ ‫الخدهو‬ ‫اد‬‫ش‬‫امل‬ ‫البذ‬ ‫مٍان‬ ‫واخذ‬ ً‫م‬ ‫الهيمت‬ َ‫جل‬ ‫ن‬‫جخٍى‬ ‫ان‬ ‫بششؽ‬ ‫للخدهو‬ ‫ي‬‫اخش‬ ‫نيمت‬ ‫مؼ‬ ‫الاضليت‬ ‫للهيمت‬ ‫لهزا‬ & ‫بػمل‬ َ‫رل‬ ‫يخم‬ , ‫ضكاس‬ ‫لجملت‬ ‫يششؽ‬ ‫ويعخخذم‬ if ‫بالشٍل‬ ‫يما‬ , )‫الخها‬ ‫اليها‬ ‫م‬‫(ظيخؿش‬ ‫ابؼ‬‫ش‬‫ال‬ ‫البذ‬ ‫نيمت‬ ً‫م‬ ‫الخدهو‬ ُ‫مشا‬ unsigned short value = 0b1010110; //generate the check value unsigned short check = (1<< 4);//bit number is 4 if( (value & check ) == check ) { printf("bit value is 1n"); } else { printf("bit value is 0n"); } bitvalue is 1 [ 03 - operators04.c ] - ‫اخت‬‫ص‬‫الا‬ ‫اظخخذمىا‬ (1<< 4) ( ‫الهيمت‬ ‫ن‬‫قعخٍى‬ , ‫ابؼ‬‫ش‬‫ال‬ ‫البذ‬ ً‫م‬ ‫للخدهو‬ , ‫بها‬ ‫الخدهو‬ ‫ظيخم‬ ‫التي‬ ‫الهيمت‬ ‫اليجاد‬ 0001 000 ‫وغؼ‬ ًٌ‫يم‬ ‫وًان‬ ) ‫غمل‬ ‫غىذ‬ , ‫اخت‬‫ص‬‫الا‬ ‫اظخخذام‬ ً‫م‬ ‫بذال‬ ‫مباششة‬ ‫الهيمت‬ َ‫جل‬ & ‫ـ‬‫ب‬ ‫البذ‬ ‫نيمت‬ ‫ًاهذ‬ ‫ارا‬ ‫الاضليت‬ ‫والهيمت‬ ‫الهيمت‬ َ‫جل‬ ‫بحن‬ 1 ‫هكغ‬‫هى‬ ‫الىاجج‬ ‫ن‬‫ظيٍى‬ ‫نيمت‬ ‫ـ‬‫ب‬ ‫البذ‬ ‫نيمت‬ ‫ًاهذ‬ ‫ارا‬ ‫اما‬ ‫الخدهو‬ 0 ‫الىاجج‬ ‫ن‬‫ظيٍى‬ 0 ‫الخدهو‬ ‫لهيمت‬ ‫ي‬‫معاو‬ ‫الػمليت‬ ‫هاجج‬ ‫ًان‬ ‫قارا‬ , ‫الىاجج‬ ً‫م‬ ‫للخدهو‬ ‫الششؽ‬ ‫حملت‬ ‫اظخخذمىا‬ , ‫البذ‬ ‫نيمت‬ ‫قان‬ 1 ‫قهي‬ ‫والا‬ 0 check = (1<< 4) = (0001 0000)
  • 44. - 43 - value = 0 1 0 1 0 1 1 0 & check = 0 0 0 1 0 0 0 0 ------------------------ (0 0 0 1 0 0 0 0) == check => true ,printf("bit value is 1n"); ‫مػحن‬ ‫بذ‬ ‫نيمت‬ ‫وغؼ‬ set ‫حػؿي‬ ‫النها‬ َ‫ورل‬ | ‫وعخخذم‬ ‫هىا‬ ًٌ‫ول‬ & ‫باظخخذام‬ ‫البذ‬‫جطكحر‬ ‫مشل‬ ‫جماما‬ 1 ‫نيمخه‬ ‫ًليها‬‫او‬ ‫البخحن‬ ‫اخذ‬ ‫ًان‬ ‫ارا‬ 1 ‫بها‬ ‫نيمت‬ ‫مؼ‬ | ‫بػمل‬ ‫ظىهىم‬ ‫لزا‬ , 1 ‫مٍان‬ ‫في‬ ‫ـ‬‫ب‬ ‫وغػه‬ ‫اد‬‫ش‬‫امل‬ ‫البذ‬ 1 ‫ـ‬‫ب‬ ‫الخامغ‬ ‫البذ‬ ‫وغؼ‬ 1 ُ‫مشا‬ unsigned short value = 0b1010110; //generate the set value unsigned short set = ( 1<< 5 ); //before printf("value before is 0x%x n",value); //apply set value |= set ; //after printf("value after is 0x%x n",value); valuebefore is 0x56 valueafter is 0x76 [ 03 - operators05.c ] ‫ال‬ ‫نيمت‬ ‫وغؼ‬ ‫في‬ ‫ظدعخخذم‬ ‫التي‬ ‫الهيمت‬ ‫لخدذيذ‬ ‫اخت‬‫ص‬‫الا‬ ‫اظخخذمىا‬ , ‫الشىائي‬ ‫بالىظام‬ ‫مباششة‬ ‫نيمت‬ ‫واغؿاءه‬ ‫الاضليت‬ ‫للهيمت‬‫مخؿحر‬‫حجض‬ ‫بػذ‬ ‫الهىا‬ , ‫بذ‬ ‫بػمل‬ ‫نمىا‬ ‫الخامغ‬ ‫البذ‬ ‫نيمت‬ ‫وغؼ‬ ‫هشيذ‬ ‫بمهذاس‬ ‫اخت‬‫ص‬‫ا‬ 5 ( ‫الهيمت‬ ‫ن‬‫ظخٍى‬ َ‫وبزل‬ , 0010 0000 ‫والهيمت‬ ‫الهيمت‬ َ‫جل‬ ‫بحن‬ | ‫بػمل‬ ‫بػذها‬ ‫نمىا‬ , ) ‫الاضليت‬ ‫الهيمت‬ ‫مٍان‬ ‫في‬ ‫الىاجج‬ ً‫وجخضي‬ ‫الاضليت‬ value |= set ;
  • 45. - 44 - set = (1<< 5) = (0000 0001) << 5 = (0010 0000) value = 0 1 0 1 0 1 1 0 | set = 0 0 1 0 0 0 0 0 ------------------------- value = 0 1 1 1 0 1 1 0 ‫جبذيل‬ ‫مػحن‬ ‫بذ‬ ‫نيمت‬ Toggle ‫ـ‬‫ب‬ ^ ‫غمل‬ ‫جم‬ ‫ارا‬ ‫اهه‬ ‫خيث‬ , ^ ‫الخبذيل‬ ‫في‬ ‫حعخخذم‬ 1 ‫الهيمت‬ َ‫جل‬ ‫ًاهذ‬ ‫قارا‬ ‫ي‬‫اخش‬ ‫نيمت‬ ‫مؼ‬ 0 ‫الىاجج‬ ‫ن‬‫ظيٍى‬ 1 ‫ًاهذ‬ ‫وارا‬ 1 ‫الىاجج‬ ‫ن‬‫ظيٍى‬ 0 َ‫وبزل‬ ‫الهيمت‬ َ‫جل‬ ‫بدبذبل‬ ‫نمىا‬ ‫س‬ ‫البذ‬ ‫جبذيل‬ ‫نم‬ 1 ُ‫مشا‬ //value unsigned short value = 0b1010110; //generate the set value unsigned short toggle = ( 1<< 1 ); //before printf("value before is 0x%x n",value); //apply reset value ^= toggle ; //after printf("value after is 0x%x n",value); valuebefore is 0x56 valueafter is 0x54 [03 - operators06.c] ‫بهذاس‬ ‫هىا‬ ‫اخت‬‫ص‬‫الا‬ , ‫الخبذيل‬ ‫في‬ ‫العخخذمت‬ ‫الهيمت‬ ‫اليجاد‬ ‫ايػا‬ ‫اخت‬‫ص‬‫الا‬ ‫اظخخذمىا‬ 1 ‫سنم‬ ‫البذ‬ ‫جبذيل‬ ‫هشيذ‬ ‫الهىا‬ 1 َ‫جل‬ ‫بحن‬ | ‫بػمل‬ ‫بػذها‬ ‫نمىا‬ , , ‫الاضليت‬ ‫الهيمت‬ ‫مٍان‬ ‫في‬ ‫الىاجج‬ ً‫وجخضي‬ ‫الاضليت‬ ‫والهيمت‬ ‫الهيمت‬ value ^= toggle ;
  • 46. - 45 - toggle = (1<< 1) = (0000 0001) << 1 = (0000 0010) value = 0 1 0 1 0 1 1 0 ^ toggle = 0 0 0 0 0 0 1 0 ------------------------- value = 0 1 0 1 0 1 0 0 ‫انخالطخ‬  ‫واملىؿهيت‬ ‫الخعابيت‬ ‫الػملياث‬ ‫اء‬‫ش‬‫الح‬ ‫الشمىص‬ ً‫م‬ ‫مجمىغت‬ ‫غلي‬ ‫ي‬ ‫الس‬ ‫ي‬‫جدخى‬ ‫وؾحرها‬ ‫والػالنيت‬  ‫جدىيل‬ ‫مشل‬ ‫انل‬ ‫هىع‬ ‫الي‬ ‫اغلي‬ ‫هىع‬ ‫جدىيل‬ ‫ان‬ int ‫الي‬ char ‫البياهاث‬ ‫في‬ ‫قهذ‬ ‫الي‬ ‫يؤدي‬ truncate  ‫يخابت‬ ‫غىذ‬ ‫الػملياث‬ ‫في‬ ‫الاظبهيت‬ ‫اغاة‬‫ش‬‫م‬ ‫يجب‬ expressions ‫وللىغىح‬ ‫لالخؿاء‬ ‫ججىبا‬ ‫الانىاط‬ ‫اظخخذام‬ ‫ويكػل‬  ‫اث‬‫ش‬‫املؤز‬ ‫حعخخذم‬ bitwise ‫البذ‬ ‫ي‬‫معخى‬ ‫غلي‬ ‫لخػامل‬ ‫سؤال‬ ‫وخىاة‬ - ‫الخاليت؟‬ ‫الػمليت‬ ‫هديجت‬ ‫ما‬ (12 && -44) ‫هي‬ ‫الىديجت‬ 1 ‫الطكش‬‫حػخبر‬ ‫ي‬ ‫الس‬ ‫الن‬ false ‫اخش‬ ‫غذد‬ ‫واي‬ true - ‫؟‬ ‫الاجيت‬ ‫الؿباغت‬ ‫هديجت‬ int num= 12; printf("%dn", num++); ‫الهيمت‬ ‫ؾباغت‬ ‫هي‬ ‫الىديجت‬ 12 ‫ظخطبذ‬‫املخؿحر‬ ‫ونيمت‬ , 13
  • 49. - 48 - - ‫انــ‬ statement : ( ‫مىهىؾت‬ ‫بكاضلت‬ ‫ييخهي‬ ‫مٌخمل‬‫امش‬ ‫هي‬ ; ) ‫مػادلت‬‫او‬ ‫دالت‬ ‫ن‬‫يٍى‬ ‫ان‬ ‫واما‬ expression ‫ًالخالي‬ ‫مىهىؾت‬ ‫بكاضلت‬ ‫جيخهي‬ ‫ان‬ ‫املهم‬ h = x+y *z ; y = 2; printf("helloworld"); return 0; l = x>4||y <6 ; ‫يػخبر‬‫ظؿش‬ ‫ًل‬ statement ‫ب‬ ‫ييخهي‬ ‫الهه‬ ‫مىهىؾت‬ ‫كاضلت‬ ‫انـ‬ statement block : ً‫م‬ ‫مجمىغت‬ statement ‫ـ‬‫ـ‬‫ب‬ ‫جبذا‬ ‫التي‬ } ‫ـ‬‫ـ‬‫ب‬ ‫وجيخهي‬ { ‫الشئعيت‬ ‫الذالت‬ ‫في‬ ‫املىحىدة‬ َ‫جل‬ ‫مشل‬ , main function ‫ـ‬‫ل‬‫ا‬ ‫داخل‬ ‫بىا‬ ‫الخاضت‬ ‫الاًىاد‬ ‫هٌخب‬ ً‫قىد‬ , block ‫الذالت‬ َ‫بخل‬ ‫الخاص‬ Block of code ‫انجشَبيح‬ ‫سيش‬ ‫في‬ ‫انزحكى‬ program control : ‫اث‬‫ش‬‫م‬ ‫غذه‬ ‫جىكيزه‬‫او‬ ‫مػحن‬ ‫ششؽ‬ ‫غلي‬ ‫بىاء‬ ‫البرهامج‬ ً‫م‬ ‫حضء‬ ‫جىكيز‬ ‫الي‬ ‫هدخاج‬ ‫قهذ‬ , ‫البرهامج‬ ‫جىكيز‬ ‫خالله‬ ً‫م‬ ‫ظيخم‬ ‫الزي‬ ‫الترجيب‬ ‫جدذيذ‬‫هى‬ - ‫انششط‬ ‫خًهخ‬ if : ‫اس‬‫ش‬‫اله‬ ً‫غ‬‫يخػبحر‬ ‫حعخخذم‬ decision ‫مػحن‬ ‫ششؽ‬ ‫غلي‬ ‫بىاء‬ ‫الخػليماث‬ ‫جىكيز‬ ‫خاللها‬ ً‫م‬ ‫يخم‬ ‫خيث‬ , ‫جىكي‬ ًٌ‫ويم‬ , َ‫جل‬ ‫جٌخب‬ ‫خيث‬ ‫واخذة‬ ‫حػليمت‬ ‫ز‬ ‫جكيز‬ ُ‫خا‬ ‫في‬ ‫اما‬ , ‫بػذها‬ ‫مباششة‬ ‫الخػليمت‬ block ‫الانىاط‬ ‫اظخخذام‬ ً‫م‬ ‫قالبذ‬ ‫الخػليماث‬ ً‫م‬ {} ‫بالشٍل‬ ‫يما‬
  • 50. - 49 - ‫حملت‬ if ‫ششؽ‬ ‫غلي‬ ‫بىاء‬ ‫مخخلكخحن‬ ‫حملخحن‬ ‫بؿباغت‬ ‫يهىم‬ ‫بشهامج‬ ُ‫مشا‬ int num = 30 ; if( num > 0) { printf("number is positiven"); } if( num < 0) { printf("number is negativen"); } numberispositive [ 04 - programControl01.c ] ‫الػالنيت‬ ‫اث‬‫ش‬‫املؤز‬ ‫اظخخذمىا‬ ‫هىا‬ relationaloperator ُ‫الاو‬ ‫الششؽ‬ ,‫الطكش‬ ً‫م‬ ‫انل‬ ‫ًان‬ ‫ارا‬‫او‬ ,‫ضكش‬ ً‫م‬‫ايبر‬ ‫الشنم‬ ‫ًان‬ ‫ارا‬ , ‫الششؽ‬ ً‫م‬ ‫للخدهو‬ ‫هى‬ ‫به‬ ‫الخاضت‬ ‫الخػليماث‬ ‫ججاهل‬ ‫جم‬ ‫وبالخالي‬ ‫يخدهو‬‫لى‬ ‫الشاوي‬ ‫الششؽ‬ ‫ما‬ ‫جدهو‬ ‫الزي‬
  • 51. - 50 - - ‫انششط‬ ‫خًهخ‬ if else : ‫الششؽ‬ ‫يخدهو‬ ‫لم‬ ‫ارا‬ ‫ي‬‫اخش‬ ‫حػليماث‬ ‫وجىكيز‬ ‫الششؽ‬ ‫جدهو‬ ‫ارا‬ ‫مػيىت‬ ‫حػليماث‬ ‫جىكيز‬ ‫يخم‬ ‫هىا‬ ‫ـ‬‫ب‬ ‫الخاص‬ ‫الجضء‬ , else ‫ان‬ ‫ششؾا‬ ‫ليغ‬ ‫ي‬‫اخخياس‬ ‫مؼ‬ ‫يعخخذم‬ if . ‫الششؽ‬ ‫حملت‬ ifelse ‫باظخخذام‬ ‫العابو‬ ‫البرهامج‬ ‫غلي‬ ‫حػذيل‬ ُ‫مشا‬ else int num = -11 ; if( num > 0) { printf("number is positiven"); } else { printf("number is negativen"); } numberisnegative
  • 52. - 51 - [ 04 - programControl02.c ] ‫وبالخ‬ ‫يخدهو‬ ‫لم‬ ‫ي‬ ‫الاظاس‬ ‫الششؽ‬ ‫ـ‬‫ـ‬‫ب‬ ‫الخاضت‬ ‫الخػليماث‬ ‫ججاهل‬ ‫جم‬ ‫الي‬ if ‫ـ‬‫ب‬ ‫الخاضت‬ َ‫جل‬ ‫جىكيز‬ ‫وجم‬ else - ‫انششط‬ ‫خًهخ‬ else if : ‫اظخخذام‬ ًٌ‫ويم‬ , ‫به‬ ‫الخاضت‬ ‫الخػليماث‬ ‫ششؽ‬ ‫لٍل‬ , ‫مىه‬ ‫للخدهو‬ ‫ششؽ‬ ً‫م‬‫ايثر‬ ‫لذيىا‬ ‫هىا‬ else ‫ششؽ‬ ‫اي‬ ‫جدهو‬ ‫غذم‬ ‫خالت‬ ‫في‬ ‫ايػا‬ ‫الششؽ‬ ‫حملت‬ elseif int num = -11 ; if( num == 0) { } else if( num > 0) { printf("number is positiven"); } else { printf("number is negativen"); } numberisnegative [ 04 - programControl03.c ]
  • 53. - 52 - ‫ـ‬‫ب‬ ‫الخاضت‬ ‫الخػليماث‬ ‫جىكيز‬ ‫نخم‬ ‫يخدهو‬ ‫لم‬ ‫الشاوي‬ ‫وايػا‬ ‫يخدهو‬ ‫لم‬ ُ‫الاو‬ ‫الششؽ‬ ‫هىا‬ else ُ‫مشا‬ ‫قشدي‬ ‫ام‬ ‫صوجي‬ ‫الشنم‬ ً‫م‬ ‫بالخدهو‬ ‫يهىم‬ ‫بشهامج‬ : int num = 13 ; if( (num % 2) == 0) { printf("number is evenn"); } else { printf("number is oddn"); } numberisodd [ 04 - programControl04.c] ‫الضو‬ ‫الاسنام‬ ‫ان‬ ‫خيث‬ , ‫راجه‬ ‫الخدهو‬ ‫ششؽ‬ ‫في‬ ‫هىا‬ ‫الكٌشة‬ ‫غلي‬ ‫الهعمت‬ ‫جهبل‬ ‫التي‬ َ‫جل‬ ‫هي‬ ‫حيت‬ 2 ‫غلي‬ ‫الهعمت‬ ‫باقي‬ ‫ان‬‫اخش‬ ‫اوبمػني‬ 2 ‫وما‬ ,‫ضكش‬ ‫ي‬‫يعاو‬ ‫ي‬‫اخش‬ ‫بؿشيهت‬ ‫الششؽ‬ ‫يخابت‬ ًٌ‫ويم‬ ‫قشديت‬ ‫اسنام‬ َ‫رل‬ ‫غذا‬ if(!(num% 2)) { printf("numberisevenn"); } else { printf("numberisoddn"); } ‫الطكش‬‫حػخبر‬ ‫ي‬ ‫الس‬ ‫ان‬ ‫خيث‬ false ‫اخش‬ ‫سنم‬ ‫واي‬ non zero ‫حػخبره‬ true