جستجو برای:
سبد خرید 0
  • مطالب
  • تالار گفتگو
  • نمونه کارها
  • درباره ما
  • دوره آموزشیجدید
    • Css
    • تست در برنامه های دات نت
    • آشنایی با Canvas
  • تماس با ما
SarezCodes - سعید رضایی

ورود

گذرواژه خود را فراموش کرده اید؟

ثبت نام

داده های شخصی شما برای پشتیبانی از تجربه شما در این وب سایت، برای مدیریت دسترسی به حساب کاربری شما و برای اهداف دیگری که در سیاست حفظ حریم خصوصی ما شرح داده می شود مورد استفاده قرار می گیرد.

SarezCodes - سعید رضایی
  • مطالب
  • تالار گفتگو
  • نمونه کارها
  • درباره ما
  • دوره آموزشیجدید
    • Css
    • تست در برنامه های دات نت
    • آشنایی با Canvas
  • تماس با ما
ورود
0

وبلاگ

SarezCodes - سعید رضاییمحتوادوره آموزشی#Cجلسه اول – بررسی اجمالی برنامه نویسی در #C

جلسه اول – بررسی اجمالی برنامه نویسی در #C

21 فروردین 1400
ارسال شده توسط سعید رضایی
#C، برنامه نویسی، دوره آموزشی
261 بازدید
زمان مطالعه: 9 دقیقه

یک برنامه ساده #C

این مطلب زمینه مطالعه #C را فراهم می کند ، ابتدا باید به شما نشان دهیم که یک برنامه #C چه شکلی است و قسمتهای مختلف آن به چه معناست. ما با نشان دادن یک برنامه ساده و توضیح  یک به یک اجزای آن شروع خواهیم کرد. این موضوع مباحث زیادی را از ساختار برنامه #C گرفته تا  تابع اجرای  برنامه بر روی صفحه نمایش معرفی می کند. با استفاده از این نمونه کد که در پایین نمایش داده شده است می توانید کدهای ساده دیگری نیز بنویسید. بنابراین ، بر خلاف مطالب بعدی  ، که در آن ها فقط به  یک یا دو موضوع به طور مفصل پرداخته شده است ، در این مطلب به بسیاری از موضوعات با حداقل توضیحات پرداخته شده است .

بیایید با بررسی یک برنامه ساده #C شروع کنیم.

به نمونه کد پایین توجه کنید:

همانطور که در  سمت چپ بالای تصویر. نشان داده شده است ، کد در یک فایل متنی به نام SimpleProgram.cs نوشته شده است.

نگران درک همه جزئیات نباشید.

در سمت چپ تصویر کد های برنامه را مشاهده می کنید و در سمت راست تصویر اجزای مختلف کد توضیح داده شده اند و در پایین تصویر،  خروجی برنامه نشان داده شده است.

توضیح سطر به سطر برنامه بالا

شرح             

 

شماره سطر

 

به کامپایلر می گوید که  در این برنامه انواع مختلفی وجود دارند که از فضای نامی System استفاده می کند و به آن وابسته هستند.

 

 

1

یک فضای نام جدید را به نام Simple اعلام می کند .

فضای نام جدید از علامت }  در سطر 4 شروع می شود و تا علامت } در سطر 12  ادامه پیدا می کند.

انواع اعلام شده در این بخش عضو فضای نام هستند.

 

3

یک نوع  از کلاس را به نام Program اعلام می کند.

اعضایی که  در محدوده  و ناحیه این کلاس هستند اعضای این کلاس می باشند.

 

 

5

تابعی به نام Main را به عنوان عضوی از کلاس Program اعلام می کند.

در این برنامه Main تنها عضو کلاس Program است.

 Main تابع خاصی است که توسط کامپایلر به عنوان نقطه شروع استفاده می شود.

 

 

7

فقط شامل یک عبارت ساده است. این خط بدنه تابع Main  را تشکیل می دهد.

  عبارات ساده توسط یک سیمی کالن خاتمه می یابند.

  این عبارت برای چاپ از کلاسی به نام Console  که در داخل فضای نامی    System می باشد،      استفاده می کند.

   **بدون  نوشتن خط 1 ، کامپایلر نمی دانست کجا باید به دنبال کلاس  Console باشد.

 

 

9

شناسه ها

شناسه ها رشته های کاراکتری هستند که برای نامگذاری مواردی مانند متغیرها ، متدها ، پارامترها و مجموعه ساختارهای دیگر برنامه نویسی استفاده می شوند که بعداً در مورد آنها صحبت خواهیم کرد.

با بهم پیوستن کلمات معنی دار در یک نام توصیفی ، با استفاده از حروف بزرگ و کوچک می توانید شناسه های  معنا دار ایجاد کنید (به عنوان مثال ، PlayersHand ، FirstName ،SocialSecurityNum). برخی از نویسه ها در موقعیت های مشخصی در شناسه مجاز یا ممنوع هستند.

• حروف الفبا و نویسه _  (a تا z ، A تا Z ، و _) در هر موقعیتی مجاز هستند.
• اعداد در موقعیت اول مجاز نیستند اما در هر جای دیگر مجاز هستند.
• نویسه @ در موقعیت اول شناسه مجاز است اما در موقعیت دیگری مجاز نیست. اگرچه مجاز است ، اما استفاده از آن به طور کلی جالب نیست.

شناسه ها به حروف کوچک و بزرگ حساس هستند. به عنوان مثال ، نام متغیر myVar و MyVar شناسه های مختلفی هستند. در قطعه کد زیر ، اعلان های متغیر همه معتبر هستند و متغیرهای مختلف عدد صحیح را اعلام می کنند. اما استفاده از چنین نام های مشابه  ، کد را مستعد خطا  می کند و اشکال زدایی نیز دشوارتر می شود.

نام گذاری های صحیح اما گیج کننده

int totalCycleCount;
int TotalCycleCount;
int TotalcycleCount;

نکات توصیه شده برای نامگذاری صحیح را در آینده توضیح خواهیم داد. برای کسب اطلاعات دقیق تر می توایند به فصل دوم کتاب کد نویسی تمیز نوشته رابرت سی مارتین (عمو باب) مراجعه کنید.

کلمات کلیدی

کلمات کلیدی رشته های کاراکتری هستند که برای تعریف زبان #C استفاده می شوند.
برخی از موارد مهمی که باید درباره کلمات کلیدی بدانید موارد زیر است:
• کلمات کلیدی را نمی توان به عنوان نام متغیر یا هر شکل دیگری از شناسه ها استفاده کرد ، مگر اینکه با حرف @ وارد شود.
• تمام کلمات کلیدی #C کاملاً از حروف کوچک تشکیل شده اند.

 

کلمات کلیدی رزرو شده در #C

abstract as base bool
break byte case catch
char checked class const
continue decimal default delegate
do double else enum
event explicit extern false
finally fixed float for
foreach goto if implicit
in int interface internal
is lock long namespace
new null object operator
out override params private
protected public readonly ref
return sbyte sealed short
sizeof stackalloc static string
struct switch this throw
true try typeof uint
ulong unchecked unsafe ushort
using virtual void volatile
while

با کلیک بر روی هر کدام از کلمات کلیدی، توضیحات آن را می توانید در مستندات سایت ماکروسافت مشاهده کنید.

کلمات کلیدی Contextual

کلمات کلیدی Contextual فقط در مواردی که در یک زمینه ی مشخص استفاده شوند به عنوان کلمه ی کلیدی در نظر گرفته میشوند. در واقع آنها رزرو نشده هستند و میتوان از آنها به عنوان نام و شناسه استفاده کرد.

add and alias
ascending async await
by descending dynamic
equals from get
global group init
into join let
nameof nint not
notnull nuint on
or orderby partial (type)
partial (method) record remove
select set unmanaged (generic type constraint)
value var when (filter condition)
where (generic type constraint) where (query clause) with
yield

Main :  نقطه آغاز برنامه

هر برنامه #C باید یک کلاس با متدی به نام Main داشته باشد. در برنامه SimpleProgram نشان داده شد که این تابع  در كلاسی به نام Program اعلام شده بود.

• نقطه شروع اجرای هر برنامه #C  در اولین دستورالعمل از تابع Main است.
• نام Main باید بزرگ باشد.

ساده ترین فرم تابع  Main به شرح زیر است:

static void Main( )
{
   Statements
}

فضای سفید

فضای سفید در یک برنامه به کاراکترهایی گفته می شود که شخصیت خروجی قابل مشاهده ندارند. فضای خالی در سورس کد توسط کامپایلر نادیده گرفته می شود اما توسط برنامه نویس برای شفاف سازی کد و بالا بردن خوانایی کد نوشته می شود. برخی از نویسه های فضای سفید شامل موارد زیر هستند:

  • یک یا چند فاصله  بین کدها
  • سطر خالی

به عنوان مثال ، کدهای  زیر با وجود اینکه توسط کامپایلر یکسان عمل می کنند اما در ظاهر متفاوت هستند:

 

// فرمت خوب
Main()
{
  Console.WriteLine("Hi, there!");
}
// فرمت ناخوانا و گنگ
Main(){Console.WriteLine("Hi, there!");}

دستورات

دستورات موجود در #C شبیه دستورات C و ++C  هستند.

این بخش فرم کلی دستورات را معرفی می کند.

فرم دستورات خاص در آینده توضیح داده خواهد شد. دستورالعمل سورس کدی  است که یک نوع را توصیف می کند یا به برنامه می گوید که عملی را انجام دهد. یک عبارت ساده توسط یک نقطه ویرگول(;) خاتمه می یابد. به عنوان مثال ، کد زیر از دو جمله ساده تشکیل شده است. جمله اول یک متغیر صحیح به نام var1 را تعریف می کند و مقدار آن را با 5 مقداردهی اولیه می کند. جمله دوم مقدار متغیر var1 را در یک پنجره روی صفحه چاپ می کند.

int var1 = 5;
System.Console.WriteLine("The value of var1 is {0}", var1);

بلوک

یک بلوک ترکیبی از صفر یا چند دستور است که در داخل براکت های باز و بسته {} محصور شده اند.

همانطور که در کد زیر نشان داده شده است ،شما می توانید با محصور کردن  دو عبارت در مثال قبلی یک بلوک ایجاد کنید :

{
   int var1 = 5;
   System.Console.WriteLine("The value of var1 is {0}", var1);
}

 خروجی متن از یک برنامه

پنجره کنسول یک پنجره خط فرمان ساده است که به یک برنامه امکان نمایش متن و دریافت ورودی از صفحه کلید را می دهد. Base Class Library یک کلاس به نام Console (در فضای نام System) را ارائه می دهد که
شامل توابعی برای ورود و خروج داده ها به یک پنجره کنسول می باشد.

دستور Write

Write عضوی از کلاس Console است. این دستور یک رشته متنی را به پنجره کنسول برنامه ارسال می کند. این رشته باید در علامت های نقل قول محصور شود “دو نقل قول ، نه یک نقل قول!”

کد زیر مثالی از استفاده از  دستور Write را نشان می دهد:

Console.Write("This is a text.");

مثال دیگر کد زیر است که سه رشته را به کنسول برنامه می فرستد:

System.Console.Write ("This is text1. ");
System.Console.Write ("This is text2. ");
System.Console.Write ("This is text3. ");

این کد خروجی زیر را ایجاد می کند. توجه داشته باشید که بعد از نوشتن  یک رشته ، یک خط جدید اضافه نمی شود.
بنابراین خروجی سه دستور با هم در یک خط واحد  نمایش داده می شوند.

This is text1. This is text2. This is text3.

دستور WriteLine

WriteLine یکی دیگر از اعضای  Console است. WriteLine  نیز همان عملکردهای نوشتن را انجام می دهد اما به انتهای هر رشته خروجی یک کاراکتر خط جدید اضافه می کند. به عنوان مثال ، اگر از کد قبلی استفاده می کنید ، WritLine را جایگزین Write  کنید ،خواهید دید که  خروجی در خطوط جداگانه نمایش داده می شود.

System.Console.WriteLine("This is text1.");
System.Console.WriteLine("This is text2.");
System.Console.WriteLine("This is text3.");

خروجی دستور بالا به صورت زیر خواهد بود :

This is text1.
This is text2.
This is text3.

قالب بندی رشته ها

شکل کلی دستور Write و WriteLine می تواند بیش از یک پارامتر داشته باشد.
• اگر بیش از یک پارامتر وجود داشته باشد ، پارامترها با کاما از هم جدا می شوند.
• اولین پارامتر باید همیشه یک رشته باشد و رشته قالب نامیده می شود. رشته قالب می تواند حاوی نشانگرهای جایگزینی باشد.
–– یک نشانگر جایگزینی موقعیتی را در رشته قالب  مشخص می کند که در آن باید مقداری در رشته خروجی جایگزین شود.

قالب کلی آن به صورت زیر می باشد :

Console.WriteLine( FormatString, SubVal0, SubVal1, SubVal2, ... );

به عنوان مثال ، عبارت زیر دارای دو نشانگر جایگزینی به شماره 0 و 1  است که  مقادیر جایگزینی که مقادیر آنها به ترتیب 3 و 6 است.

 

Console.WriteLine("Two sample integers are {0} and {1}.", 3, 6);

خروجی دستور بالا به صورت زیر می باشد :

Two sample integers are 3 and 6.

چند نشانگر یکسان

در #C می توانید از هر تعداد نشانگر و هر تعداد مقدار برای جایگزینی در نشانگرها  استفاده کنید.

• مقادیر را می توان به هر ترتیب استفاده کرد.
• مقادیر را می توان هر چند بار در رشته قالب جایگزین کرد.
به عنوان مثال ، عبارت زیر از سه نشانگر و فقط دو مقدار استفاده می کند.

Console.WriteLine("Three integers are {1}, {0} and {1}.", 3, 6);

خروجی دستور بالا به صورت زیر خواهد بود :

Three integers are 6, 3 and 6.

نشانگر نباید سعی کند به مقداری اشاره کند که فراتر از تعداد مقادیر ورودی می باشد

زیرا موجب ایجاد خطای زمان اجرا  می شود.

به عنوان مثال ، در عبارت زیر دو مقدار جایگزینی با موقعیت های 0 و 1 وجود دارد

با این حال ، نشانگر  دوم به موقعیت 2 اشاره می کند که وجود ندارد و  این عمل یک خطای زمان اجرا ایجاد می کند.

Console.WriteLine("Two integers are {0} and {2}.", 3, 6); // Error!

قالب بندی رشته های عددی

وقتی یک متغیر عددی دارید ممکن است که بخواهید این عدد را به فرمت های مختلف چاپ کنید. مثلا اگر عدد شما مربوط به مبلغ باشد و بخواهید که علامت $  را کنار آن قرار دهید، یا چنانچه بخواهید اعداد اعشاری با دو رقم اعشار نمایش داده شوند، لازم است که هنگام چاپ اعداد بتوانید آن ها را فرمت دهی کنید.

به دستور زیر دقت کنید :

Console.WriteLine("The value: {0:C}.", 500); // Format and print as currency

خروجی به صورت زیر خواهد بود :

The value: $500.00.

به کد زیر توجه کنید در سال های اخیر حالت جدیدی به #C اضافه شده است که با اجرای آن نیز خروجی مشابه دستوری قبلی را خواهیم داشت :

int myInt = 500; 
Console.WriteLine($"The value: {myInt:C}.");//وقتی در ابتدای رشته $ نشوته شود می توان به داخل {} از خارج از رشته مقداری را ارسال کرد

مشخص کننده تراز

مشخص کننده ترازبندی حداقل عرض فیلد را از نظر کاراکتر نشان می دهد.
مشخص کننده تراز بندی دارای مشخصات زیر است:
• مشخص کننده ترازبندی اختیاری است و با ویرگول از شاخص جدا می شود.
• از یک عدد صحیح مثبت یا منفی تشکیل شده است.
–– عدد صحیح حداقل تعداد کاراکترهای مورد استفاده برای این قسمت را نشان می دهد.
––  یک عدد مثبت تراز بندی راست را مشخص می کند و یک عدد منفی ترازبندی چپ را مشخص می کند.

به عنوان مثال ، کد زیر که مقدار متغیر int myInt را قالب بندی می کند ، دو مورد قالب را نشان می دهد. در حالت اول ، مقدار myInt به صورت یک رشته راست چین و دارای ده کاراکتر نمایش داده می شود و در مورد دوم ، به صورت چپ چین است.
موارد قالب بین دو میله عمودی قرار دارند ، زیرا فقط به این ترتیب است که در خروجی می توانید محدوده رشته را در هر طرف ببینید.

int myInt = 500;
Console.WriteLine("|{0, 10}|", myInt); // Aligned right
Console.WriteLine("|{0,-10}|", myInt); // Aligned left
//هر دو کد خروجی های مشابه ای دارند
int myInt = 500;
Console.WriteLine($"|{myInt, 10}|");
Console.WriteLine($"|{myInt, -10}|");

خروجی کد بالا :

|     500|
|500     |

کاراکترهای فرمت دهی:

کاراکتر نام فرمت مقدار خروجی
C or c Currency 0:C 12345.678 $12,345.68
0:C1 12345.678 $12,345.7
D or d Decimal 0:d 12345 12345
0:d6 12345 012345
E or e Scientific E 12345.6789 1.2345678E+004
F or f Fixed-point 0:F 12345.6789 12345.68
0:F0 12345.6789 12346
0:F6 12345.6789 12345.678900
G or g General 0:G 12345.6789 12345.6789
0:G7 12345.6789 12345.68
0:G2 1234 1.2E3
N or n Number 0:N 12345.678 12,345.68
0:N1 12345.678 12,345.7
0:N4 1234 1,234.0000
P or p Percent 0:P .1234 12.34%
R or r Round-tip 0:R Math.PI 3.141592653589793
X or x Hexadecimal 0:X 255 FF
0:X4 255 00FF

C یا c = برای واحد پول مورد استفاده قرار می گیرد.

D یا d = تعداد ارقام صحیح را تعیین می کند.

E یا e = کار تبدیل عدد به نماد علمی را انجام می دهد.

F یا f = برای تعداد ارقام اعشار کاربرد دارد.

G یا g = تعداد ارقام اعشار و صحیح را تعیین می کند.

N یا n = برای اعداد اعشار با جداکننده هزارتایی استفاده می شود.

P یا p = عدد را به درصد نمایش می دهد.

R یا r = برای چاپ اعداد اعشاری مورد استفاده قرار می گیرد.

X یا x = کار تبدیل عدد به مبنای هگزادسیمال را انجام می دهد.

 

 

Comments (توضیحات)

شما قبلاً  توضیحات خطی را دیده اید ، بنابراین در اینجا درباره نوع دوم یعنی توضیحات چند خطی بحث خواهم کرد.

توضیحات چند خطی با علامت */ شروع شده و با علامت /* تمام می شوند و هر متنی بین این دو علامت توسط کامپایلر سی شارپ نادیده گرفته می شود. از این روش زمانی استفاده می شود که توضیح درباره یک کد به بیش از یک خط نیاز داشته باشد. مثال زیر یک کامنت چند خطی را نشان می دهد:

/*
This text is ignored by the compiler.
Unlike single-line comments, delimited comments
like this one can span multiple lines.
*/

به این نوع از کامنت نویسی کامنت نویسی محدوده نیز گفته می شود که همچنین می تواند فقط بخشی از یک خط را شامل شود. به عنوان مثال ، عبارت زیر متنی را نشان می دهد که از وسط یک خط خارج شده است.

int /*var 1,*/ var2;

#C  نوع سومی را نیز با نام کامنت  مستندات (Documentation comments) در نظر گرفته است :

 

کامنت  مستندات حاوی متن XML است که می تواند برای تولید مستندات برنامه استفاده شود. این نوع کامنت  ها مانند کامنت  خطی  می باشد،
با این تفاوت که آنها سه /// دارند .
کد زیر فرم کامنت های مستندات  را نشان می دهد:

/// <summary>
/// This class does...
/// This class Modefy Date Is ...
/// </summary>
class Program
{
}
Print Friendly, PDF & Email
قبلی آزمون واحد در NET Core. با استفاده از MSTest
بعدی جلسه هشتم:مشخصات سفارشی(Custom properties)

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
برچسب‌ها
#C (3) css (12) css in depth (12) OOP (4) SOLID (5) unit test (4) آزمایش واحد (4) آزمون واحد (6) آموزشCSS (11) آموزش پایه ای (12) بازی ریاضی (4) بازی نویسی (2) برنامه نویسی (13) تست (5) توسعه آزمون محور (3) دات نت (1) ریاضی بازی (4) ریاضی در بازی (4) زبان برنامه نویسی (9) سی شارپ (3) شی گرایی (4) فناوری اطلاعات (3)
دسته‌ها
  • #C (6)
  • Css (13)
  • اصول طراحی (5)
  • بازی سازی (4)
  • بدون دسته بندی (3)
  • برنامه نویسی (20)
  • تست (7)
  • تست در برنامه های دات نت (6)
  • جاوا اسکریپت (1)
  • دوره آموزشی (19)
  • فناوری اطلاعات (5)
  • نگاه عمیق به سی شارپ (1)
نوشته‌های تازه
  • اصول طراحی SOLID در #C (قسمت آخر) 21 فروردین 1400
  • اصول طراحی SOLID در #C (قسمت چهارم) 21 فروردین 1400
  • اصول طراحی SOLID در #C (قسمت سوم) 21 فروردین 1400
  • اصول طراحی SOLID در #C (قسمت دوم) 21 فروردین 1400
  • اصول طراحی SOLID در #C (قسمت اول) 21 فروردین 1400
  • محبوب
  • جدید
  • دیدگاه ها
پشتیبانی

ما موضوع Sarez را نامگذاری کردیم، زیرا برای ما بهترین علامت های تجاری ساده هستند. رشد  برند ها در توانایی آنها درک می شود.

    2022© سارز کد SarezCodes
    اشتراک گذاری در شبکه های اجتماعی
    ارسال به ایمیل
    https://sarezcodes.ir/?p=2452
    • دسته بندی دوره ها
    • دوره های من
    • جستجو

    دسته بندی دوره ها

    دوره های من

    برای مشاهده خریدهای خود باید وارد حساب کاربری خود شوید

    جستجو

    مرورگر شما از HTML5 پشتیبانی نمی کند.