نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • اهن
  • ساختار کلی برنامه در ج. ساختار برنامه های C

ساختار کلی برنامه در ج. ساختار برنامه های C

برنامه ++C خود یک فایل متنی حاوی ساختارها و عملگرها است از این زبانبه ترتیبی که برنامه نویس مشخص کرده است. در بسیار مورد سادهاین فایل متنی ممکن است حاوی اطلاعات زیر باشد:

فهرست 1.1. نمونه ای از یک برنامه ساده

/* مثالی از یک برنامه ساده */
#عبارتند از
int main()
{
printf(" سلام دنیا!”);
بازگشت 0;
}

و معمولاً یک پسوند cpp دارد، برای مثال "ex1.cpp".

مرحله بعدی تدوین است کد منبع. کامپایل فرآیندی است که در آن محتویات یک فایل متنی به کد ماشین اجرایی قابل درک توسط پردازنده کامپیوتر تبدیل می شود. با این حال، کامپایلر یک برنامه آماده برای اجرا ایجاد نمی کند، بلکه فقط کد شی (فایلی با پسوند *.obj) ایجاد می کند. این کد یک مرحله میانی برای ایجاد است برنامه تمام شده. واقعیت این است که برنامه ایجاد شده ممکن است حاوی توابع کتابخانه های استاندارد زبان C++ باشد که پیاده سازی آن در فایل های شی کتابخانه ها توضیح داده شده است. برای مثال، برنامه زیر از تابع printf() استفاده می کند کتابخانه استاندارد"stdio.h". این بدان معناست که فایل شی ex1.obj فقط حاوی دستورالعمل هایی برای فراخوانی این تابع خواهد بود، اما کد خود تابع در آنجا وجود نخواهد داشت.

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

بیایید نگاهی دقیق تر به برنامه مثال در لیست 1.1 بیندازیم. خط اول نظرات را مشخص می کند، یعنی. نظرات برای کمک به درک بهتر برنامه آنها فقط خواندنی هستند و توسط کامپایلر نادیده گرفته می شوند. خط دوم حاوی دستور #include است که به پیش پردازنده زبان C++ دستور می دهد تا محتوای فایل 'stdio.h' را به جای این خط در طول کامپایل درج کند. خط سوم تابعی به نام main را تعریف می کند که یک عدد صحیح ( نوع int) و هیچ آرگومانی نمی گیرد (نوع void). تابع main() یک تابع مورد نیاز برای همه برنامه های ++C است و بدون آن، یک پیام خطا در مرحله کامپایل ظاهر می شود که نشان دهنده عدم وجود این تابع است. این تابع به دلیل اینکه نقطه ورود به برنامه است اجباری است. که در در این موردنقطه ورود تابعی است که برنامه با آن شروع و به پایان می رسد. به عنوان مثال، هنگامی که یک فایل exe را اجرا می کنید، تابع main() فعال می شود، تمام دستورات موجود در آن اجرا می شوند و برنامه به پایان می رسد. بنابراین، منطق کل برنامه در این تابع موجود است. در مثال بالا، زمانی که تابع main() فراخوانی می شود، تابع printf() فراخوانی می شود که پیام Hello World! را در صفحه نمایشگر نمایش می دهد و سپس عبارت return اجرا می شود که برمی گردد. مقدار صفر. این عدد توسط خود تابع main() به سیستم عامل برگردانده می شود و به معنای تکمیل موفقیت آمیز برنامه است. از مهاربندهای فرفری () برای تعریف ابتدا و انتهای بدنه تابع استفاده می شود. آنها شامل همه چیز هستند اپراتورهای ممکن، که عملکرد این تابع را شرح می دهد. لازم به ذکر است که بعد از هر عملگر در زبان C++ علامت ";" وجود دارد. بنابراین مثال ارائه شده نشان می دهد ساختار کلیبرنامه های زبان C++

یک برنامه C از یک یا چند زیرروال به نام توابع تشکیل شده است.

زبان C ساختار بلوکی دارد. هر بلوک شامل بریس ها {} .

بلوک اصلی در یک برنامه کاربردی کنسول C تابع اصلی است که نام آن main() است.

هر عمل در زبان C با نقطه ویرگول - ; . یک عمل می تواند فراخوانی یک تابع یا انجام برخی عملیات باشد.

نام تابع نام جمعی گروهی از اعلان ها و عبارات است.
محصور در یک بلوک (پرانتزهای مجعد). پشت نام تابع در پرانتزپارامترهای تابع نشان داده شده است.

نظرات به زبان C

زبان C از نمادها برای نظرات استفاده می کند

/* - شروع نظر.
*/ - انتهای نظر.

تمام سکانس بین این شخصیت ها یک نظر است.

برای نوشتن راحت است نظرات چند خطی:

int a; /* عدد صحیح
متغیر */

کامنت‌های چندخطی نیز هنگام اشکال‌زدایی برای مخفی کردن بخشی از کد از اجرا راحت هستند.

علاوه بر این، از نمادهای // می توان برای نوشتن نظرات کوتاه استفاده کرد. در این مورد، نظر همه چیزهایی است که بعد از کاراکترهای // و تا انتهای خط قرار دارند:

شناور b; // متغیر واقعی

عملکرد اصلی

هنگام اجرای یک برنامه کنسولی که به زبان C نوشته شده است، سیستم عاملکامپیوتر کنترل را به تابعی به نام main() منتقل می کند. تابع ()main را نمی توان از توابع دیگر برنامه فراخوانی کرد، این یک تابع کنترلی است.

پرانتزهای زیر نام تابع برای نشان دادن پارامترهایی (آرگمون ها) است که هنگام فراخوانی تابع به آن ارسال می شود. در این حالت، سیستم عامل هیچ آرگومانی را به تابع main() ارسال نمی کند، بنابراین لیست آرگومان های داخل پرانتز خالی است.

تابع اصلی را می توان به روش های مختلفی نوشت:

  • int main()
  • void main().

نوع برگشتی قبل از نام تابع نشان داده شده است. هنگامی که تابع اصلی فراخوانی می شود، مقدار به سیستم عامل برگردانده می شود. آخرین رکوردمقداری را بر نمی گرداند. با این حال void main()- یک ورودی کاملا صحیح نیست، زیرا به کامپایلر می گوید که تابع main() هیچ مقداری را بر نمی گرداند.

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

بازگشت 0; // متغیر واقعی

بریس های فرفری توضیحات و عبارات را در بر می گیرند.

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

مثال: نمایش پیام "سلام، دنیا!" .

1
2
3
4
5
6
7

#عبارتند از // اتصال کتابخانه I/O
int main() // عملکرد اصلی
{
printf ("سلام، دنیا!" ); // پیام خروجی
getchar(); // تاخیر پنجره کنسول
بازگشت 0;
}


نتیجه برنامه:

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

1
2
3
4
5
6
7

#عبارتند از
int main()
{
printf( "سلام دنیا!");
getchar();
بازگشت 0;
}


نتیجه برنامه:


مشکل زبان روسی برنامه های کاربردی کنسولاین کنسول مایکروسافت و ویرایشگر کد است ویژوال استودیوپشتیبانی از صفحات کد مختلف برای دیدن کاراکترهای روسی در کنسول، باید صفحه کد موجود در کنسول را طوری تغییر دهید که با صفحه کد ویرایشگر (1251) مطابقت داشته باشد. برای این منظور، سیستم عملکرد ( "chcp 1251")با مربوطه خط فرمان. نمونه اولیه توابع سیستم() در کتابخانه موجود است .

در این صورت متن برنامه به این صورت خواهد بود.

ترکیب زبان در یک متن در هر زبان طبیعی، چهار مورد را می توان تشخیص داد:
عناصر اساسی: نمادها، کلمات، عبارات و جملات.
زبان الگوریتمی نیز شامل عناصر مشابه است:
الفبای یک زبان، یا نمادهای آن، نشانه های اصلی تقسیم ناپذیر هستند، با
که به کمک آن تمام متون زبان نوشته می شود.
واژگان یک واحد حداقلی از زبان است که دارای یک مستقل است
معنی
یک عبارت قاعده ای را برای محاسبه مقدار معینی مشخص می کند.
اپراتور شرح کاملی از برخی اقدامات را مشخص می کند.
برای توضیحات عمل پیچیدهسازگاری لازم است
اپراتورها اپراتورها را می توان در یک ترکیب ترکیب کرد
عملگر یا بلوک (یک بلوک در زبان C++ در نظر گرفته می شود
دنباله ای از عبارات محصور در پرانتزهای مجعد ( )).
در این مورد، آنها به عنوان یک بیانیه تلقی می شوند.
هر عنصر یک زبان با نحو و معنایی تعریف می شود.
تعاریف نحوی قواعد ساخت را تعیین می کنند
عناصر زبان و معناشناسی معنا و قواعد آنها را تعیین می کند
استفاده کنید.
مجموعه ای از توضیحات و
اپراتورها یک برنامه را تشکیل می دهند زبان الگوریتمی.

فرآیند اجرای برنامه

برای اجرای برنامه باید آن را ترجمه کنید
به زبانی قابل فهم برای پردازنده - به کدهای ماشین. این
این فرآیند شامل چند مرحله است:
ابتدا برنامه به پیش پردازنده منتقل می شود که
متصل می کند فایل های متنی، حاوی توضیحات
عناصر مورد استفاده در برنامه
متن کامل برنامه ورودی است
کامپایلری که توکن ها را استخراج می کند و سپس بر اساس آن
گرامر زبان عبارات و عملگرها را می شناسد،
از این واژگان ساخته شده است. در این حالت کامپایلر تشخیص می دهد
خطاهای نحوی و در غیاب آنها ساخت
ماژول شی
پیوند دهنده یا ویرایشگر پیوند ایجاد می کند
ماژول برنامه اجرایی، اتصال به شی
ماژول ماژول های شی دیگر. اگر برنامه شامل
از چندین فایل های منبع، بر اساس آن تدوین شده اند
به صورت جداگانه و در مرحله چیدمان ترکیب شده است.
ماژول اجرایی دارای پسوند exe است و می تواند باشد
برای اجرا راه اندازی شد.

الفبای زبان C++

الفبای C شامل:
سرمایه ها و حروف کوچک الفبای لاتین(الف، ب،...، ز، الف، ب،...، ز) و و
زیر خط کشیدن
اعداد: 0،1،2،3،4،5،6،7،8،9
نشانه های خاص: " , {} | () * + - / % \ ; " . :?< = >_! & # نویسه غیر قابل نمایش ("فضای سفید مشترک")،
برای جدا کردن توکن ها از یکدیگر (به عنوان مثال، فضا،
برگه، پرش به خط جدید).
از علامت های الفبا
واژگان زبان شکل می گیرد:
شناسه ها؛
کلمات کلیدی (رزرو شده) کلمات;
علائم عملیات؛
ثابت ها
جداکننده (پرانتز، نقطه، کاما، فضای خالی).
مرزهای توکن توسط نشانه های دیگر تعیین می شود، مانند
جداکننده ها یا علائم عملیاتی

شناسه ها

شناسه نام است شی نرم افزار. که در
می توان از شناسه های لاتین استفاده کرد
حروف، اعداد و خط زیر. حروف بزرگ و
حروف کوچک متفاوت است شخصیت اول
شناسه می تواند یک حرف یا علامت باشد
خط کشی که در آن:
شناسه نباید با کلید مطابقت داشته باشد
کلمات و نام های استاندارد مورد استفاده
اشیاء زبان؛
توصیه نمی شود که شناسه ها را با نماد شروع کنید
خط کشی؛
شناسه ها می توانند از هر طولی باشند، اما
کامپایلر بیش از 31 نویسه از را در نظر نمی گیرد
شروع شناسه؛
نمونه هایی از شناسه ها:
KOM_16، اندازه 88، _MIN، TIME، زمان

کلید واژه ها

کلمات کلیدی شناسه های رزرو شده ای هستند که دارند
معنی خاص برای کامپایلر فقط می توان از آنها استفاده کرد
معنایی که آنها در آن تعریف می شوند. فهرست کنید کلید واژه ها C++ داده شده است
جدول:
INT
CHAR
شناور
دو برابر
ساختار
اتحاد. اتصال
بلند
کوتاه
بدون امضا
خودکار
CONST
درست است، واقعی
خارجی
ثبت نام
TYPEDEF
استاتیک
رفتن به
برگشت
SIZEOF
زنگ تفريح
ادامه هید
اگر
خالی
جدید
دیگر
برای
انجام دادن
در حالی که
تعویض
مورد
پیش فرض
ورود
و
ساختار
TYPEDEF
BOOL

علائم عملیات

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

انواع داده های ساده

نوع داده تعریف می کند:
نمایش داخلی داده ها در حافظه
کامپیوتر؛
معانی زیادی که می تواند
پذیرش مقادیر از این نوع؛
عملیات و توابعی که می تواند باشد
برای مقادیری از این نوع اعمال می شود.
زبان C++ شش استاندارد را تعریف می کند
انواع داده های ساده برای نشان دادن
اعداد صحیح، واقعی، نمادها و
کمیت های منطقی

انواع داده ها
مشخص کننده های نوع عبارتند از:
کاراکتر
- نمادین؛
ممیز شناور با دقت دو برابر واقعی؛
شناور - نقطه شناور واقعی؛
int - عدد صحیح؛
طولانی
- کل طول افزایش یافته (کل طولانی)؛
کوتاه - عدد صحیح با طول کاهش یافته (عدد صحیح کوتاه)؛
امضا شده - امضا شده، i.e. عدد صحیح امضا شده (مهمترین بیت در نظر گرفته می شود
نمادین)؛
بدون امضا - بدون امضا، i.e. عدد صحیح بدون علامت (مهمترین بیت نه
قابل توجه تلقی می شود)؛
خالی
- فقدان معنا؛
bool - منطقی (فقط می تواند مقادیر درست و نادرست را بپذیرد.
شکل داخلی نمایش مقدار false 0 (صفر) است.
هر مقدار دیگری به عنوان درست تفسیر می شود.)
برای توصیف ثابت ها، از کلمه سرویس const قبل استفاده کنید
شرح نوع به عنوان مثال، const float g=9.8;

10. ساختار یک برنامه C

یک برنامه ++C است
یک یا چند تابع یکی از توابع
باید main() نامیده شود. با این است
تابع برنامه شروع به اجرا می کند و از
این تابع، در صورت لزوم،
توابع دیگر نامیده می شوند.
ساده ترین تعریف تابع دارای فرمت زیر است:
نام نوع return ([ پارامترها ])
{
عباراتی که بدنه تابع را تشکیل می دهند
}
به طور معمول، یک تابع برای محاسبه مقداری استفاده می شود
مقادیر، بنابراین نام تابع قبل از نوع آن قرار می گیرد. اگر
تابع نباید مقداری را برگرداند، نوع باطل است.
که در آن:
– بدنه تابع در بریس های مجعد محصور شده است.
- توابع را نمی توان تودرتو کرد.
- هر عبارت با نقطه ویرگول به پایان می رسد (به جز
عملگر مرکب).

11. ساختار یک برنامه C

یک برنامه ممکن است از چندین ماژول (فایل منبع) تشکیل شده باشد و به طور معمول،
شامل دستورالعمل های پیش پردازنده است. نمونه ای از ساختار برنامه حاوی
توابع main، f1 و f2:
دستورالعمل های پیش پردازنده
توضیحات
int main()
{
عبارات تابع اصلی
}
int f1() (
عملگرهای تابع f1
}
int f2() (
عملگرهای تابع f2
}
/* مثالی از یک برنامه ساده */
#عبارتند از
int main()
{
printf ("سلام جهان!");
بازگشت 0;
}

12. توابع ورودی/خروجی به سبک C

توابع ورودی/خروجی سبک C پایه:
int scanf (فرمت const char*...) // ورودی
int printf(const char* format...) // خروجی
آنها ورودی و خروجی فرمت شده تعداد دلخواه مقادیر را بر اساس یک رشته انجام می دهند
فرمت فرمت رشته قالب حاوی کاراکترهایی است که هنگام خروجی، در جریان (روی صفحه) یا کپی می شوند
هنگام تایپ از جریان (صفحه کلید) درخواست می شود و مشخصات تبدیل با شروع
علامت % که در حین ورودی و خروجی با مقادیر خاصی جایگزین می شوند.
#عبارتند از
int main() (
int i;
printf("یک عدد صحیح را وارد کنید\n");
scanf("%d"، &i);
printf("شما عدد %d را وارد کردید، متشکرم!"، i);
بازگشت 0; )
خط اول این برنامه یک دستورالعمل پیش پردازنده است که درج می کند
فایل هدر ، حاوی توضیحاتی از توابع ورودی/خروجی استفاده شده در برنامه است. همه
دستورالعمل های پیش پردازنده با علامت # شروع می شوند.
خط سوم شرحی از یک متغیر نوع صحیح به نام i است.
تابع printfدر خط چهارم اعلان Enter یک عدد صحیح را نمایش می دهد و به یک خط جدید می رود
با توجه به دنباله فرار \n.
تابع scanf عدد صحیح وارد شده از صفحه کلید را در متغیر i قرار می دهد و عبارت زیر چاپ می شود
رشته مشخص شده در آن را نمایش دهید و مقدار این عدد را جایگزین مشخصات تبدیل کنید.

13. توابع I/O به سبک C++

همان برنامه با استفاده از کتابخانه
کلاس های C++ :
#عبارتند از
با استفاده از namespace std.
int main()
{
int i;
کوت<< "Введите целое число\n";
cin >> i;
کوت<< "Вы ввели число" << i << ", спасибо!"; return 0;
}

14. کتابخانه های استاندارد

زبان C دارای پشتیبانی غنی در فرم است
بیش از 450 روال کتابخانه و ماکرو که می توانید
از برنامه های C خود برای حل تماس بگیرید
طیف وسیعی از وظایف، از جمله ورودی/خروجی
سطح پایین و بالا، کار با
رشته ها و فایل ها، تخصیص حافظه،
مدیریت فرآیند، تحول
داده ها، محاسبات ریاضی و
خیلی بیشتر.

15. دستورالعمل های پیش پردازنده

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

16. دستورالعمل پیش پردازنده # شامل

برای اتصال کتابخانه ها از آن استفاده می شود
دستورالعمل پیش پردازنده
# شامل [نام فایل]
#شامل بخشنامه<имя_файла>درج می کند
محتویات فایل مشخص شده در آن نقطه
فایل منبعی که در آن ضبط شده است.
مثلا:
#عبارتند از
#include "mylib.h"

17. دستورالعمل پیش پردازنده #تعریف

دستور #define جایگزینی را در متن تعریف می کند
برنامه ها. برای تعیین استفاده می شود
ثابت های نمادین
قالب برای تعریف ثابت نمادین:
#define name of wildcard_text /*همه رخدادها
نام ها با متن جایگزین جایگزین می شوند */
مثال ها:
#M 1000 را تعریف کنید
#تعریف واسیا "واسیلی ایوانوویچ"

18. برخی از کتابخانه های استاندارد

ALLOC.H
شرح توابع مدیریت حافظه
(تخصیص، تخصیص و غیره)
BIOS.H
شرح توابع مختلف مورد استفاده زمانی که
دسترسی به روال های بایوس (پایه
سیستم ورودی/خروجی).
CONIO.H شرح توابع مختلف مورد استفاده در
دسترسی به روال های DOS I/O با
صفحه کلید
GRAPHICS.H شامل نمونه های اولیه توابع گرافیکی است.
MATH.H شامل توصیفی از نمونه های اولیه ریاضی است
کارکرد
STDIO.H انواع و ماکروهای مورد نیاز را تعریف می کند
بسته استاندارد ورودی/خروجی همین را تعریف می کند
جریان های ورودی/خروجی استاندارد stdin، stdout و
روال های ورودی/خروجی را شرح می دهد.
STDLIB.H برخی از روال های عمومی را شرح می دهد:
تبدیل، جستجو، مرتب سازی روال ها و موارد دیگر.
STRING.H
چندین روال پردازش رشته و
کار با حافظه

19. تابع خروجی فرمت PRINTF

ما قبلاً از رایج ترین آنها استفاده کرده ایم
تابع خروجی در C زیربرنامه printf است. او
هدف ثبت اطلاعات روی صفحه است.
فرمت آن هم ساده و هم انعطاف پذیر است:
printf(<строка формата>, <объект>, <объект>, ...);

20. تابع ورودی فرمت SCANF

برای حالت ورودی تعاملی احتمالاً می توان از آن استفاده کرد
در اکثر موارد عملکرد scanf. scanf یک تابع ورودی است، به معنی
معادل printf; فرمت آن به این صورت است:
scanf(<строка формата>,<адрес>,<адрес>,...)
با این حال، scanf یک تفاوت بسیار مهم دارد: اشیاء زیر
رشته فرمت باید آدرس باشد نه مقادیر. به عنوان مثال، در
این برنامه شامل تماس زیر است:
scanf("%d %d"، &a، &b);
این تماس به برنامه می گوید که باید از شما انتظار ورودی داشته باشد
دو عدد اعشاری (صحیح) که با فاصله از هم جدا شده اند. اولی خواهد بود
به a و دومی به b اختصاص داده شده است. توجه داشته باشید که عملیات مورد استفاده در اینجا است
آدرس های (&) برای ارسال آدرس های a و b به تابع scanf.

21. رشته را قالب بندی کنید

رشته فرمت خطی است که شروع می شود
و با دو نقل قول ("مثل این") به پایان می رسد.
هدف printf نوشتن این رشته روی صفحه است. قبل از
خروجی printf همه چیز را جایگزین می کند
اشیاء فهرست شده در خط بر اساس
با مشخصات فرمت مشخص شده در
خود خط مثال printf عبارت:
printf(" d= %f \n",d);

22. رشته را قالب بندی کنید

%f در رشته قالب یک مشخصات قالب است. همه
مشخصات قالب با نماد درصد (%) و
(معمولا) همراه با یک حرف واحد نشان دهنده نوع
داده ها و نحوه تبدیل آنها
%f استفاده شده در مشخصات نشان می دهد که چه چیزی مورد انتظار است
تعدادی عدد واقعی در اینجا چند مشخصات فرمت رایج دیگر وجود دارد:
- %u عدد صحیح بدون علامت
- %ld عدد صحیح طولانی
- مقدار نشانگر %p
- %d عدد صحیح
- %e یک عدد ممیز شناور به صورت نمایی است
- نماد %c
- رشته %s
- %x یا %X عدد صحیح در قالب هگزادسیمال.

23. رشته را قالب بندی کنید

با قرار دادن آن می توانید عرض فیلد را تنظیم کنید
بین % و یک حرف، به عنوان مثال یک فیلد اعشاری
عرض 4 به عنوان %4d مشخص شده است. ارزش خواهد بود
چاپ شده به سمت راست (در جلو
فضاها)، بنابراین کل عرض فیلد 4 است.
یا مثلا %6.2f به این معنی خواهد بود
6 موقعیت برای اعداد واقعی اختصاص داده شده است،
و 2 - برای قسمت کسری.
اگر باید علامت % را چاپ کنید، %% را وارد کنید.

24. رشته را قالب بندی کنید

\n در یک رشته مشخصات قالب نیست، اما
(به دلایل تاریخی) به عنوان
دنباله فرار، و نشان می دهد
یک کاراکتر خاص که در یک رشته درج شده است. در این مورد
\n یک کاراکتر را در ابتدای یک خط جدید درج می کند، بنابراین
پس از خروجی خط، مکان نما به ابتدای خط جدید حرکت می کند
خطوط
- \f (ترجمه قالب یا پاک کردن صفحه)
- \t (برگه)
- \b (پایین<-)
- \xhhh (یک کاراکتر با کد ASCII hhh، جایی که hhh وارد کنید
شامل 1 تا 3 رقم هگزادسیمال)
اگر نیاز به چاپ بک اسلش دارید
درج \\.

25. نمونه برنامه C

#عبارتند از
#عبارتند از
main()
{
شناور x1,y1,x2,y2;
printf("دو عدد را وارد کنید:");
scanf("%f%f%f%f",&x1,&y1,&x2,&y2);
float d = sqrt(pow((x2-x1),2)+pow((y2-y1),2));
printf("d= %f \n"، d);
}

26. سایر عملکردهای خروجی PUTS، PUTCHAR

دو عملکرد خروجی دیگر وجود دارد که می تواند به شما کمک کند
علاقه: قرار می دهد و پوتچار. تابع puts یک رشته را چاپ می کند
صفحه نمایش داده می شود و خروجی را با یک کاراکتر خط جدید به پایان می رساند.
بیایید به یک برنامه نمونه نگاه کنیم:
#عبارتند از
main()
{
قرار می دهد ("سلام، دانشجوی VKI NSU");
}
توجه داشته باشید که \n در انتهای خط حذف شده است. این ضروری نیست زیرا
خود قرار می دهد این شخصیت را اضافه می کند.
برعکس، تابع putchar یک کاراکتر را می نویسد
صفحه نمایش داده می شود و \n را اضافه نمی کند. عملگر putchar(ch) معادل است
printf("%c"،ch).

27. توابع GETS، GETCH

main()
{
نام شخصیت ؛
printf("نام شما چیست:");
scanf("%s",name);

}
اگر نام خانوادگی و نام را وارد کنید، فقط نام خانوادگی نمایش داده می شود. زیرا
فضایی که بعد از علامت های نام وارد می کنید، انتهای ورودی را اسکن می کند
خطوط
با استفاده از تابع gets می توانید این مشکل را حل کنید.
main()
{
نام شخصیت ؛
printf("نام شما چیست:");
می گیرد (نام)؛
printf("سلام، %s\n"، نام);
}

28. توابع GETS، GETCH

#عبارتند از
#عبارتند از
main()
{
clrscr();
نام شخصیت ؛
printf("نام شما چیست:");
می گیرد (نام)؛
printf("سلام، %s\n"، نام);
getch();
}
در اینجا تابع getch منتظر می ماند تا هر کاراکتری وارد شود.
تابع getch یک نویسه را از صفحه کلید بدون چاپ می خواند
آن را به صفحه نمایش (بر خلاف scanf و می شود). توجه داشته باشید که او ندارد
پارامتر. اگر تابعی را به یک متغیر نمادین نسبت دهیم، آنگاه
این مقدار نماد فشرده شده را دریافت می کند.
به عنوان مثال: c=getch();

29. عملیات واگذاری

رایج ترین عملیات تخصیص است.
برای مثال p=a/b یا ch = getch(). در سی
تکلیف با یک علامت مشخص می شود
برابر است (=); در این مورد مقدار سمت راست علامت
برابری به متغیر سمت چپ اختصاص داده می شود.
شما همچنین می توانید از ترتیب استفاده کنید
تکالیف، به عنوان مثال: sum=a= b. چنین
در مواردی که تخصیص از سمت راست انجام می شود
در سمت چپ، یعنی b به a که در است اختصاص داده می شود
به نوبه خود به جمع اختصاص داده می شود، بنابراین تمام است
سه متغیر یک مقدار (و
یعنی مقدار اولیه b).

30. عملیات حسابی. افزایش. کاهش.

C از مجموعه معمول عملیات حسابی پشتیبانی می کند:
- ضرب (*)
- تقسیم (/)
- تعیین باقی مانده تقسیم (%)
- اضافه کردن (+)
- منها کردن (-)
برای افزایش یک متغیر، از افزایش (++) استفاده کنید.
کاهش یک کاهش (--).
بنابراین:
x++; //x را یک برابر افزایش می دهد
y--; // y را یک واحد کاهش می دهد
نمونه هایی از عملیات پسوند و پیشوند:
a=2;
a=2;
x=18-2*a++;
x=18-2*(++a);
ما گرفتیم:
a=3
a=3
x=14
x=12

31. عملیات ترکیبی

در زیر چند نمونه عبارات آورده شده است
و راه های کاهش آنها:
a = a + b; به a += b کاهش می یابد.
a = a - b; به a -= b کاهش می یابد.
a = a * b; به a *= b کاهش می یابد;
a = a / b; کاهش به a /= b;
a = a % b; به %=b کاهش می یابد.

32. مثال 1

X3 و X10 را با استفاده از چهار عمل ضرب برای محاسبه کنید
مقدار صحیح X داده شده است.
#عبارتند از
int x,x2,x3,x5,x10;
main() (
printf("\n برنامه محاسبه برای X^3 و X^10\n");
puts ("مقدار X را وارد کنید");
scanf("%i"،&x);
x2=x*x;
x3=x*x2;
x5=x2*x3;
x10=x5*x5;
printf("%i به توان سوم = %i \n",x,x3);
printf("%i به توان دهم = %i",x,x10);
}

33. مثال 2

زاویه بر حسب رادیان داده می شود. سینوس و کسینوس یک زاویه را محاسبه کنید.
#عبارتند از
#عبارتند از
زاویه شناور، نتیجه 1، نتیجه 2;
main()
{
printf("\nبرنامه محاسبه گناه و زاویه cos\n");
puts ("زاویه را بر حسب رادیان تنظیم کنید");
scanf("%f"،&Angle);
Result1=sin(زاویه);
نتیجه2=cos(زاویه);
printf("سینوس زاویه %f \n" است، Result1);
printf("کسینوس زاویه %f است"، Result2);

در برنامه های C دنباله خاصی وجود دارد:

ابتدا کتابخانه‌های مورد نیاز خود را اضافه می‌کنیم #include اگر فایل در فهرست پروژه فعلی باشد، در نقل قول نشان داده شده است. برای فایلی که در دایرکتوری دیگری قرار دارد، باید مسیر کامل را در گیومه مشخص کنید.

#عبارتند از
#شامل "math.h"

پس از آن می توانیم ثابت های مورد نیاز خود را اضافه کنیم #define A 3

پس از این، تابع با دستور Main () شروع می شود.

پس از انجام همه کارها، می توانید getchar () را وارد کنید.

2. نقطه ویرگول در زبان C برای چیست؟

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

3. آیا همه کامپایلرهای C نیاز به استفاده از دستور بازگشت در یک برنامه دارند؟

برای برگرداندن یک مقدار صحیح، قبل از پایان تابع، خط را اضافه کنید

همچنین در بیشتر موارد بازگشت به معنای خروج از تابع است

دستورات بدنه تابع قبل از اولین دستور بازگشتی اجرا می شوند. اگر چنین عملگر در بدنه تابع وجود نداشته باشد (یعنی تابع هیچ نتیجه ای را برنگرداند)، آنگاه همه عملگرها تا براکت عملگر بسته شدن اجرا می شوند.

عملکرد چاپ عناصر آرایه هیچ نتیجه ای را بر نمی گرداند. هیچ عبارت بازگشتی در بدنه تابع وجود ندارد.

4. نظرات به چه منظور وارد متن برنامه می شوند؟

نظرات برای توضیح یک عمل خاص وارد می شوند.

برای مثال Printf(''Hello World''); // Hello World را روی صفحه نمایش دهید

همچنین می توانید نظرات را با استفاده از نمادهای /* - در ابتدای */ - در انتهای نظر وارد کنید

5. چرا هنگام فراخوانی یک تابع از پارامترها استفاده می شود؟

پیوند اساساً یک نام دوم برای همان شی است. هنگامی که یک شی به یک تابع توسط مرجع ارسال می شود، این شی در واقع ارسال می شود. وقتی یک شی را با مقدار ارسال می کنیم، یک کپی از آن به تابع ارسال می شود.

void func_1(int a) // عبور از مقدار

6. آیا همه توابع به هنگام فراخوانی نیاز به ارسال پارامتر دارند؟

به نظر من، اصلاً همه چیز نیست، زیرا به راحتی می توانیم تابعی مانند main() بنویسیم بدون اینکه پارامترها را بر اساس مقدار پاس کنیم.

1. نوع داده char چیست؟

نوع داده char یک نوع داده عدد صحیح است که برای نمایش کاراکترها استفاده می شود. یعنی هر کاراکتر مربوط به عدد خاصی از محدوده است. نوع داده char، نوع داده کاراکتر نیز نامیده می شود، زیرا نمایش گرافیکی کاراکترها در C++ به لطف char امکان پذیر است. برای نمایش کاراکترها در C++، نوع داده char یک بایت اختصاص می‌یابد، یک بایت حاوی 8 بیت است، سپس دو تا را به توان 8 افزایش می‌دهیم و مقدار 256 را می‌گیریم - تعداد کاراکترهایی که می‌توان رمزگذاری کرد. بنابراین، با استفاده از نوع داده char، می توانید هر یک از 256 کاراکتر را نمایش دهید. همه کاراکترهای کدگذاری شده در یک جدول ASCII نشان داده شده اند.

2. علامت "3" چه تفاوتی با عدد 3 دارد؟

نماد 3 با عدد صحیح 3 متفاوت است زیرا نماد را نمی توان در عملیات حسابی استفاده کرد.

3. تفاوت بین ثابت و متغیر چیست؟

تفاوت بین یک متغیر و یک ثابت کاملاً آشکار است: در طول اجرای برنامه، مقدار یک متغیر را می توان تغییر داد (به عنوان مثال، با استفاده از یک انتساب)، اما مقدار یک ثابت نمی تواند

4. چگونه یک ثابت را تعریف کنیم؟

ثابت ها در C++ مشابه ثابت های C هستند. برای نشان دادن یک ثابت در C، فقط از دستور #define preprocessor استفاده شد:

const typeVariableName = InitialValue;

دامنه یک ثابت مانند یک متغیر معمولی است. با استفاده از کلمه کلیدی const می توانید یک اشاره گر را به یک ثابت اعلام کنید

5. آیا C از نوع داده رشته ای پشتیبانی می کند؟

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

6. آیا متغیر ارزش خود را در طول اجرای کل برنامه حفظ می کند؟

در طول اجرای برنامه، مقدار یک متغیر را می توان تغییر داد (به عنوان مثال، با استفاده از یک انتساب)، اما مقدار یک ثابت نمی تواند

7. چگونه مقدار یک ثابت را تغییر دهیم؟

1. تفاوت بین دنباله های فرار \n و \r چیست؟

به طور کلی، \r قرار بود شماره کاراکتر را صفر کند. شماره خط را بدون تغییر رها می کند (یعنی کالسکه ماشین تحریر را بدون دست زدن به کاغذ به ابتدای خط می برد)، و \n، برعکس، به خط بعدی می رود و موقعیت فعلی چاپ را بدون تغییر می گذارد (این کار را انجام می دهد. کاغذ را بدون دست زدن به کالسکه حرکت دهید).

2. چگونه کاراکتر نقل قول را روی صفحه نمایش دهیم؟

printf("متن من این است: \"متن من\"\n");

3. لیست پارامترهای تابع printf() از چه دو قسمتی تشکیل شده است؟

هنگام چاپ هر عدد یا عبارتی، ابتدا Printf() نوشته می شود.

در داخل پرانتز، در ابتدا در علامت نقل قول، داده های مورد نیاز خود را می نویسیم

%с – تک کاراکتر
%d - عدد صحیح اعشاری امضا شده
%f - عدد ممیز شناور (نماد اعشاری)
%s – رشته کاراکتر (برای متغیرهای رشته)
%u – عدد صحیح اعشاری بدون علامت
%% - علامت درصد را چاپ کنید

مثلا:

printf("x=%5i\ty=%f\tz=%7.3f\n",x, y, z);

4. printf() چه مزایایی نسبت به puts() دارد؟

5. نشانگر قالب چیست؟

یک مقدار ممیز شناور را می خواند (فقط C99)

مانند %a (فقط C99)

یک شخصیت را می خواند

یک عدد صحیح اعشاری را می خواند

یک عدد صحیح را در هر قالبی (اعشاری، هشتی یا هگزا دسیمال) می خواند.

همان %e

یک عدد ممیز شناور را می خواند

مشابه کد %f (فقط C99)

یک عدد ممیز شناور را می خواند

همان %g

یک عدد هشتی را می خواند

یک خط می خواند

عدد هگزادسیمال را می خواند

همانند کد %x

اشاره گر را می خواند

یک عدد صحیح برابر با تعداد کاراکترهای خوانده شده تا کنون می گیرد

یک عدد صحیح اعشاری بدون علامت را می خواند

مجموعه ای از شخصیت ها را مشاهده می کند

علامت درصد را می خواند

6. چگونه مقدار یک متغیر عددی را نمایش دهیم؟

می توانید مقدار آن را با استفاده از تابع Printf() چاپ کنید

printf("%7.3f\t%7.3f\n",x,y);

%<количество_позиций_под_значение>.<количество_позиций_под_дробную_часть>f

%<количество_позиций_под_значение>من

ساختار یک برنامه به زبان C.

استفاده از زبان برنامه نویسی C در حل مسائل اقتصادی

برنامه ها و داده ها

مزایای زبان C

1) C یک زبان مدرن است، ساختار آن برنامه نویس را تشویق می کند تا از روش هایی در کار خود استفاده کند: طراحی از بالا به پایین، برنامه نویسی ساخت یافته، ساختار برنامه مدولار.

2) C یک زبان کارآمد است. برنامه های C فشرده و سریع اجرا می شوند.

3) C – زبان قابل حمل یا موبایل.

4) C یک زبان قدرتمند و انعطاف پذیر است.

5) برنامه هایی که به زبان C نوشته شده اند برای حل مسائل در سطوح مختلف استفاده می شوند. C تعدادی ساختار اسمبلر قدرتمند دارد.

6) C زبان مناسبی است، ساختار یافته است و در عین حال آزادی برنامه نویسان را خیلی محدود نمی کند.

7) C یک زبان نوع کامپایل است. از آنجایی که C یک زبان استاندارد، مستقل از سخت افزار و به طور گسترده در دسترس است، برنامه ای که به زبان C نوشته شده است، اغلب می تواند با تغییرات اندک یا بدون تغییر در طیف گسترده ای از سیستم های کامپیوتری اجرا شود. کامپیوتر، با وجود سرعت و قدرت محاسباتی که دارد، وسیله ای ساده است که اعداد باینری را دستکاری می کند. برخی از اعداد باینری توسط کامپیوتر به عنوان دستورالعمل و برخی دیگر به عنوان داده تفسیر می شوند. برای اینکه کامپیوتر هر کاری مفید انجام دهد، باید یک برنامه بنویسید.

برنامه نويسيفعالیت های توسعه برنامه

برنامه شرح یک الگوریتم برای حل یک مسئله مشخص شده در یک زبان کامپیوتر است.

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

مثال تیم ها: C=A+B که در آن A، B عملوند هستند، + عملیات است.

عمل - این کاری است که کامپیوتر باید طبق هر دستور انجام دهد.

عملوندها - شرکت کنندگان در عملیات، چه چیزی و با چه چیزی عملیات انجام می شود. مجموعه ای از عملیات ابتدایی از روش های توصیف آنها یک سیستم از دستورات زبان برنامه نویسی را تشکیل می دهد.

مثال شماره 1:

#عبارتند از

(void main(void) //header تابع اصلی برنامه

خارج کردن<< “Здравствуй, С!\ n”;

1 خط: اتصال کتابخانه های کمکی متمرکز بر ورودی و خروجی داده های انواع مختلف به یک جریان.

خط 2:سربرگ عملکرد اصلی برنامه عملگر Cout برای نمایش اطلاعات<< – помещение в класс данных, \n-переход к новой строке вывода.

برنامه دنباله‌ای از دستورالعمل‌ها است که یک الگوریتم را پیاده‌سازی می‌کند؛ مجموعه‌ای از دستورالعمل‌ها که به‌طور منحصربه‌فرد محتوا و توالی عملیات را برای حل مسائل تعیین می‌کند.

استفاده از S.

1. برنامه ها و داده ها.

2. طرح اجرای برنامه در کامپیوتر:

مثال شماره 1:

#عبارتند از< stdio.h>

printf ("من در BSUIR\ n")

خط 1: دستور include preprocessor شامل فایل stdio.h است که عملکرد کتابخانه printf را توصیف می کند.

خط 2: تعریف تابعی به نام main که هیچ آرگومانی دریافت نمی کند. بیانیه اصلی در بریس های فرفری محصور شده است. تابع اصلی تابع کتابخانه printf را برای چاپ دنباله مشخص شده از کاراکترها فراخوانی می کند. اسلش (\n) - کاراکتر خط جدید، انتقال به یک خط جدید.

برای اجرای برنامه در PCEM باید موارد زیر را انجام دهید:

1) یک برنامه به زبان برنامه نویسی ایجاد کنید.

2) آن را به استاندارد این زبان ترجمه کنید.

3) آن را با برنامه ها و عملکردهای لازم پیوند دهید.

4) در RAM بارگذاری کنید.

5) اجرا کنید و نتیجه بگیرید.


طرح تکمیل

مترجم یک برنامه کامپیوتری برای ترجمه برنامه نوشته شده به زبان برنامه نویسی به شکلی قابل فهم برای کامپیوتر است. خروجی کامپایلر یک فایل با پسوند obj است. یک فایل اجرایی یا ماژول بارگذاری، فایلی است که حاوی یک برنامه کامپایل شده و آماده اجرا است. Borland C++ یک محیط توسعه برنامه است که شامل یک کامپایلر و برخی ابزارهای دیگر است.

ساختار یک برنامه به زبان C.

هر برنامه C از یک یا چند تابع و عنصر تشکیل شده است. توابع مختلف را می توان هر نامی داد. توابع حاوی دستورالعمل ها (فرمان هایی) هستند که اقدامات را در یک مرحله اجرای خاص تجویز می کنند و یک متغیر مقادیر استفاده شده در طول این اقدامات را ذخیره می کند. چنین اقداماتی می تواند تخصیص مقادیر به متغیرها یا بررسی برخی شرایط باشد. تابعی به نام main. اجرای هر برنامه با تابع اصلی شروع می شود.

الف) ساختار کلی یک برنامه C بدون توسل به یک برنامه فرعی:

ب) ساختار کلی یک برنامه C با ارجاع به زیربرنامه:

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

بهترین مقالات در این زمینه