C Basics Flashcards
Control Sequence: \t
Tab
براي طراحي جدول هم ميتوان استفاده كرد.
printf(“a\tb\tc\t”);
printf(“a\tb\tc\t”);
a b. c.
a. b. c.
Control Sequence: \a
ALERT, Beep sound
اين صدا با توجه به صداي هشدار پيش فرض سيستم عامل ميزبان متفاوت خواهد بود.
Printf(“\a”);
Control Sequence: \n
New line
\ control modifer
براي نمايش كاراكترهاي \ و يا “ از يك كاراكتر \اضافي استفاده ميشود.
\ -> \
" -> “
\n -> \n
Indent
فاصله استاندارد براي كد هاي تو در تو كه خوانايي كد را افزايش ميدهد.
\
از دو كاراكتر اسلش متوالي براي نوشتن كامنت در داخل كدها استفاده ميشود. اين كامنت ها توسط كامپايلر بررسي نخواهد شد.
Declaring and initializing variables
int a;
int a, b, c;
int c = a + b;
int a = 20;
Variables and Functions naming standards
1- alphabet characters, numbers, underline character
2- should start with an alphabet character
3- case sensitive
بهتر است اولين كاراكتر كوچك باشد
از لحاظ طول متغيير بهتر است از ٣١ حرف بيشتر نباشد.
به لحاظ سنتي و به صورت استاندارد در زبان c متغيير هايي كه ميتوان مقادير انها را تغيير داد با حروف كوچك و ديگر تعاريفي كه نميتوان و يا نبايد مقدار انها را تغيير داد مثل عدد پي را با حروف بزرگ مينويسيم.
Variable
type name = value
int n = 0;
int a;
char b;
char myChar = “M”
Operators
Addition + Subtraction - Multiplication * Division / Reminder % Parentheses () Assignment = equal ==
Operators priority
- ( )
- ++ – (-a +a) ( cast) !
- / %
- -
- =
- == !=
- &&
- ||
- = += -= *= /= %=
Reserved keywords in C
auto, break, float, do, while, if, default, else, int, register, static, …
از اين اسامي رزرو شده نميتوان به عنوان اسم متغيير استفاده كرد. از حالت caps-lock انها ميتوان به عنوان اسم متغيير استفاده كرد اما توصيه نميشود.
The evolution of C language
UNIX-> ASM -> B -> C 1978 -> ANSI C 1983 -> C89 1989 -> C90 1989 -> C99 1990 -> C1X 2007 -> C11 2011
Relational operators
== equal
!= not equal
> greater that
= greater than and equal
L-Value // R-Value
عباراتي كه توسط هملگر انتساب نوشته ميشوند در حالت كلي به صورت زير هستند:
L = R
در اين نوع معادله ها طرف سمت راست و يا target ميبايست يك عبارت ساده و يا يك entity مشخص در حافظه باشد تا بتوان انرا استفاده كرد. مانند نام يك متغيير و نميتوان از عبارات پيچيده استفاده كرد. به اين نوع عبارات L-Value گفته ميشود.
a = 1+ a * 10 -> ok
a + 1 = 10 -> wrong
assignment
a = a+ 1 => a +=1
+= -= *= /= %=
a++ post increment
a– post decrement
–a pre decrement
++a pre increment
Logical operators - complex conditions
! not نقيض
& and تركيب عطفي
|| or تركيب عطفي
عملگر هاي منطقي از نظريه مدارهاي الكتريكي وارد بحث برنامه نويسي شده و حالت short circut را براي بدست اوردن سرعت بيشينه در اين نوع محاسبات اعمال ميكند.
بررسي عبارت x && y از ديد كامپايلر و يا هر عبارت منطقي ديگر
اين عبارت زماني نتيجه صحيح خواهد داشت كه هر دو طرف ان صحيح باشد به همين علت در صورتي كه كامپايلر بعد از بررسي مقدار سمت x آنرا نادرست بيابد براي تسريع زمان محاسبات طرف ديگر برسي نخواهد شد. به همين علت در برنامه نويسي ميبايست طرف x را عبارتي قرار داد كه كامپايلر بتواند به سرعت آنرا برسي كند. با اين كار به افزايش سرعت برنامه كمك بسباري خواهد شد.به اين رفتار short circuit گفته ميشود.
How to compile a c project in c99 or gnu99 standard.
براي كامپايل پروژه با استانداردهاي مذكور ميبايست در تنظيمات build option نرم افزار سويچهاي زير را به آن معرفي كنيم.
(-std=c99)
(-std=gnu99)