بروز رسانی آذر ۹ام, ۱۳۹۹ ۱۲:۴۹ بعد از ظهر
مهر ۰۸, ۱۳۹۷ admin آموزش برنامه نويسي 0
بعد از آشنایی با انواع داده ها و همچنین روش ساخته یا ایجاد برنامه جذاب و جالب و خوب در زبان c می خواهیم به چگونگی ساختار زبان c و همچنین ورودی و همچنین خروجی ها بپردازیم. ساختار زبان c از بسته ای از دستورات و همچنین تعدادی تابع تشکیل می می شود. هر تابع، جهت حل بخشی از پیشامد جدید نوشته میمی شود و همچنین شامل نام می باشد. ساختار برنامه جذاب و جالب و خوب در C شامل موارد زیر می باشد:
قبل از شروع کار بهتر می باشد توجه کنیم که، همچنین و علاوه بر توابع main ، توابع غیره ای از قبل نوشته شده همراه کامپایلر زبان c ارائه میمی شود و همچنین به وفور در برنامه جذاب و جالب و خوب ها مورد بهره بری و استفاده قرار میگیرند. در واقع ، بسیاری از اعمال در برنامه جذاب و جالب و خوب نویسی با c توسط آن توابع از پیش نوشته شده انجام میشود. زبان برنامه جذاب و جالب و خوب سازی c یک زبان ساخت یافته بوده و همچنین می توانیم از توابع پیش ساخته و همچنین غیر پیش ساخته بهره بری و استفاده کنیم. توابع پیش ساخته توابعی خواهند بود که قبلا نوشته شده و همچنین درون کتابخانه c وجود دارند. کتابخانه توابع اصلی از فایل هایی تشکیل شده که به اصطلاح به آن هم ها Header file گویند و همچنین توابع پیش ساخته درون آنها ذخیره شده می باشد. به عنوان مثال وارد شدن داده ها از صفحه کلید و همچنین نوشتن آنها در صفحه دیدن کردن و نمایش، در c توسط آن توابع انجام می می شود، که از قبل نوشته شده اند و همچنین همراه کامپایلر وجود دارند. بنابراین قبل از پرداختن به برنامه جذاب و جالب و خوب نویسی، بایستی و حتما اطلاع داشته باشیم که آن توابع در کجا وجود قرار دارند و همچنین برنامه جذاب و جالب و خوب چگونه با آنها دسترسی پیدا می کند.آن توابع و همچنین سایر اطلاعاتی که کامپایلر جهت ترجمهی برنامه جذاب و جالب و خوب به آنها مستلزم و نیاز دارد، در تعدادی از فایل ها به نام فایل سرایند قرار دارند.
پسوند فایل های سرآیند h. می باشد و همچنین معمولا در محلی که کامپایلر نصب شده می باشد، در داخل پوشه ای به نام include قرار میگیرند.جهت بهره بری و استفاده از آن توابع بایستی و حتما از قبل بدانیم که هر تابع در کدام فایل قرار دارد. جهت مثال توابع ()printf و همچنین ()scanf در فایل stdio.h قرار دارند.
جهت اتصال فایل های سرآیند از دستور include# بهره بری و استفاده میشود. آن دستور از دستورات پیش پردازنده بوده و همچنین قبل از تابع ()main قرار میگیرد. پیش پردازنده مترجمی می باشد که با دیدن دستوراتی که با # شروع میشوند، اجرا شده و همچنین آن هم ها را به دستورات زبان c تغییر پیدا کردن میکند. آن دستور به ; ختم نمیشود. آن دستورات به صورت زیر مورد بهره بری و استفاده قرار میگیرند.
|
<نام فایل سرآیند> include# |
|
#include <فایل سرایند> int main()
اعلان متغیرها دستورات اجرایی return 0;
|
در مورد دستور include بایستی و حتما به موارد و نکات زیر توجه کنیم:
اصولاً، امکانات ورودی و همچنین خروجی هر زبان برنامه جذاب و جالب و خوبسازی، گفتن کننده مقدار و اندازه و میزان قابلیت آن هم زبان در طراحی فرمان های ورودی داده ها و همچنین گرفتن نقل از از برنامه جذاب و جالب و خوب می باشد. در زبان برنامه جذاب و جالب و خوب نویسی c روش های گوناگونی جهت ورودی و همچنین خروجی داده ها وجود دارد. معمولا ورودی و همچنین خروجی با بهره بری و استفاده از توابع ()scanf و همچنین ()printf انجام میشود. جهت سهولت کارکردن با کاراکتر ها از توابع غیره ای نیز جهت گرفتن و همچنین دیدن کردن و نمایش کاراکترها بهره بری و استفاده می می شود. توابع ورودی : ()getch() _ getche() _ getchar – توابع خروجی: ()putch() _ putchar .
۱- تابع خروجی ()printf
زمانی که برنامه جذاب و جالب و خوب های زبان c اجرا میشوند پنجره ای دیدن کردن و نمایش داده میشود که به آن هم پنجره خروجی یا نماش گفته میشود.معمولا چاپ اطلاعات با بهره بری و استفاده از تابع ()printf که در فایل stdio.h قرار دارد انجام میشود. آن تابع به دو روش بهره بری و استفاده میشود:
;(“<عبارت ۱ >“)printf
;(<عبارت ۲ > , “<عبارت ۱>“)printf
<عبارت ۱> شامل اطلاعات زیر میباشد:
<عبارت ۲> اطلاعاتی می باشد که بایستی و حتما به خروجی منتقل شوند که معمولا لیستی از متغیرها میباشند
کاراکترهای فرمت ، کاراکترهای قالب جهت مشخص کردن شکل خروجی و همچنین رشته های غیره ای می باشد که بایستی و حتما به خروجی منتقل شوند. “عبارت مورد نظر” شامل اطلاعاتی خواهند بود که با فرمت مشخص شده درکاراکترهای فرمت، بایستی و حتما به خروجی منتقل شوند. کاراکترهایی که جهت مشخص کردن فرمت خروجی مورد بهره بری و استفاده قرار می گیرند با کاراکتر % شروع می شوند.
کاراکترفرمت | نوع اطلاعات که بایستی و حتما به خروجی منتقل می شود
|
main()
int num ; printf(“the address of num is:” ); printf(” %p”, &num );
|
در مثال فوق عبارت &num آدرس متغیر num را مشخص می کند که جهت نوشتن آن هم از کاراکتر فرمت p% بهره بری و استفاده شده می باشد. نمونه ای از خروجی مثال بصورت زیر می باشد.
the address of num is : 6A30:OFE4
کاراکترهای کنترلی که در تابع ()printf بکار میروند در زیر آمده می باشد. بعضی از کاراکترهای کنترلی جهت انتقال خروجی به یک محل معین از صفحه دیدن کردن و نمایش مورد بهره بری و استفاده قرار می گیرند .
چند دستور متوالی که شامل تابع ()print باشند، خروجی خود را بر روی یک سطر منتقل می کنند. مگر آن که با پارامتر کنترلی n کنترل را به سطر بعدی منتقل می شود.
در تابع ( )printf میتوانیم طول میدان خروجی یا فرمت خروجی را مشخص کنیم. مشخص کردن طول میدان جهت رشته ها بصورت ns %که n طول میدان رو نشان می دهد. در حین انتقال اطلاعات توسط تابع ()printf میتوانیم طول میدان خروجی را مشخص کنیم. در آن مورد می توانیم محل نقطه اعشار و همچنین تعداد ارقام اعشار را نیز مشخص کردن کنیم. مشخص کردن طول میدان در جدول بندی ها خیلی زیاد مفید می باشد. طول میدان، بصورت w.d می باشد که در اعداد اعشاری ممیز شناور ، w طول میدان و همچنین d تعداد ارقام اعشار را مشخص می کند .
|
main()
printf(“n %8.1f %8.1f %8.1fn” ,3.0,12.5,523.3 ); printf(“n %8.1f %8.1f %8.1fn” ,300.0,1200.5,5300.3 );
|
خروجی حاصل از اجرای برنامه جذاب و جالب و خوب فوق بصورت زیر می باشد :
۵۲۳٫۳ ۱۲٫۵ ۳٫۰
۵۳۰۰٫۳ ۱۲۰۰٫۵ ۳۰۰٫۰
همانطورکه دیدن می گردد طول میدان برابر با ۸ و همچنین تعداد ارقام اعشار، برابر با یک که در منتها الیه سمت راست میدان قرار گرفته، منظور شده می باشد.
در صورتی که فرمت w.d که طول میدان را مشخص می کند در مورد رشته ها بهره بری و استفاده گردد ، w حداقل طول میدان و همچنین d حداکثر کاراکترهای قابل چاپ را مشخص می کند. در صورتی که w.d در مورد اعداد صحیح بکار برده می شود، w مشخص کننده حداقل طول میدان و همچنین d مشخص کردن کننده حداکثر طول میدان می باشد.
الگوی آن تابع در فایل stdio.h قرار دارد . آن تابع تمام داده ها را میتواند از ورودی بخواند و همچنین آن هم ها را در حافظه ذخیره کند. در صورت اجرای موفقیت آمیز آن تابع، تعداد متغیر هایی را که از ورودی خوانده می باشد برمیگرداند و همچنین در صورت بروز خطا ، EOF توسط تابع برگردانده میشود. EOF مقداری می باشد که بیانگر عدم اجرای صحیح تابع ()scanf میباشد. تابع ()scanf به صورت زیر مورد بهره بری و استفاده قرار میگیرد:
; (“<عبارت ۲>” , “<عبارت ۱>”)scanf
<عبارت ۲> آدرس متغیر هایی می باشد که بایستی و حتما از ورودی خوانده شوند.
<عبارت ۱> مشخص میکند که مقادیر ورودی چگونه بایستی و حتما خوانده شوند و همچنین به چه ترتیبی در متغیر هایی که آدرس آن هم ها در <عبارت ۲> مشخص شده می باشد قرار میگیرند: # کاراکتر های فرمت : مشخص کردن میکند که چه اطلاعاتی بایستی و حتما از ورودی خوانده شوند و همچنین با % شروع میشوند ,مثل d% که جهت خواندن اعداد صحیح از ورودی به کار میرود. # کاراکتر های فضای خالی # کاراکتر هایی غیر از فضای خالی و همچنین فرمت.
هنگام و زمانی که دستور ()scanf اجرا میشود منتظر می ماند تا داده ها از صفحه کلید وارد شوند و همچنین در آخر کلید Enter را فشار میدهیم تا داده ها در متغیر های مربوطه قرار گیرند.به مثال زیر توجه فرمایید:
|
#include<stdio.h> main ()
float x=2.0 , y=3 ; printf(“%f %f %f %f %d”, x , y , x+y , x*y, x) ;
|
خروجی برنامه جذاب و جالب و خوب به صورت زیر خواهد بود.
۲٫۰۰۰۰۰۰ ۳٫۰۰۰۰۰۰ ۵٫۰۰۰۰۰۰ ۶٫۰۰۰۰۰۰ ۲
در اینجا آرگومانهای اول و همچنین دوم تکمتغیرند. ولی آرگومانهای سوم و همچنین چهارم عبارات محاسباتیاند که اول مقدار آنها محاسبه میگردد و همچنین سپس پس نتیجه آن می شود که براساس کد فرمت مرتبط چاپ میمی شود. آرگومان آخر به شکل عدد صحیح چاپ میمی شود.
|
#include<stdio.h> main ()
int x =31 ; float y =148.5 ; char z[10] = “sourceiran”; printf(” %d %f %s ” , x , y , z) ;
|
اولی عدد صحیح دهدهی، دومی از نوع اعشاری و همچنین سومی رشته می باشد که به ترتیب با فرمان فرمت %s ,%f , %d مشخص شدهاند. خروجی دستور مزبور به صورت زیر خواهد بود.
۳۱ ۱۴۸٫۵ sourceiran
در برنامه جذاب و جالب و خوب مذکور بهعلت وجود یک محل خالی بین فرامین فرمت در رشته کنترل، بین مقادیر چاپ شده نیز فضای خالی ساخته یا ایجاد شده می باشد.
مثل ()getche جهت خواندن کاراکتر از صفحه کلید به کار میرود.آن تابع در فایل stdio.h قرار خواهد داشت.نحوه کاربرد آن هم به صورت زیر می باشد :
; ()getchar =متغیر
هنگام اجرای آن تابع بعد از وارد کردن کاراکتر بایستی و حتما Enter را نیز فشار داد. کاراکتر یا کاراکترهایی که قبل از زدن Enter تایپ شده اند در صفحه خروجی دیدن کردن و نمایش داده میشوند. بعد از آن هم که کنترل اجرای برنامه جذاب و جالب و خوب به تابع ()getch رسید، برنامه جذاب و جالب و خوب منتظر فشاردادن کلیدی از صفحه کلید می می شود. در صورتی که متغیر مورد نظر کاراکتری باشد مقدارکاراکتری کلید وارد شدن به آن متغیر منتقل می می شود و همچنین در صورتی که آن متغیر از نوع عددی باشد، کد اسکی کلید وارد شده، در آن متغیر قرار می گیرد.
|
#include <stdio.h> #include <conio.h> void main()
char ch ; printf(“n enter a character : “); ch=getch(); printf(“n character is : “); printf(“%c-%d” , ch,ch); getch();
|
فرض کنید در پاسخ به اجرای آن برنامه جذاب و جالب و خوب کلید s را در پاسخ به تابع ()getch وارد کنیم. در آن صورت خروجی حاصل از اجرای برنامه جذاب و جالب و خوب بصورت زیر خواهد بود :
enter a character : s
character is : s-115
در صورتی که در مثال به تابع ()printf توجه کنید، متغیر ch را یکبار با فرمت c% و همچنین بار دیگر با فرمت d% نوشته ایم که در حالت اول حرف s و همچنین در حالت دوم عدد ۱۱۵ که کد اسکی s می باشد چاپ شده می باشد.
جهت نوشتن یک کاراکتر در خروجی همچنین و علاوه بر تابع ()printf ، دو تابع دیگر نیز معمولا مورد بهره بری و استفاده قرار میگیرند. قبل از بررسی کردن آنها به مثالی درمورد ()print که منجر به چاپ یک کاراکتر در خروجی می گردد. آن توابع می توانند یک کاراکتر یا یک متغیر کاراکتری را در صفحه دیدن کردن و نمایش چاپ کنند .تابع ()putch در فایل conio.h قرار دارد. تابع ()putchar در فایل stdio.h قرار دارد.
آن دو تابع به صورت زیر به کار میروند.
;( متغیر )putch
;(‘کاراکتر’)putch
;(متغیر)putchar
;(‘کاراکتر’)putchar
|
#include <stdio.h> #include <conio.h> void main()
printf(“example for character”); printf(“: %c”, ‘a’ ); getch();
|
خروجی حاصل از اجرای برنامه جذاب و جالب و خوب فوق ، حرف a می باشد.
example for character : a
|
#include <stdio.h> #include <conio.h> void main()
char ch ; printf(“n enter a character: “); ch=getch(); printf(“n you typed the character:”); putch(ch); getch(); <span> |
خروجی حاصل بصورت زیر می باشد :
: enter a character
you typed the character : s
تابع getchar کاراکتر بعدی را از خط فرمان می خواند و همچنین آن هم را بعنوان integer بر می گرداند، تابع getchar در آن هم واحد تنها و فقط می تواند یک کاراکتر بخواند و همچنین می توانیم با قرار دادن آن هم در یک while اکثرا و بیشتر از یک کاراکتر را از ورودی بخوانیم.
تابع putchar برعکس تابع getchar کار می کند و همچنین یک کاراکتر را بصورت integer از ما می گیرد و همچنین در خروجی چاپ می کند و همچنین آن هم کاراکتر چاپ شده را در قالب integer بر میگرداند.
|
#include <stdio.h> #include <conio.h> main() char ch; printf(“n enter a character : “); ch=getch(); printf(“n ascii=%d, character=%c”, ch, ch);
|
در مثال بالا هر کلیدی از صفحه کلید رو وارد کنید، کد اسکی آن هم کاراکتر را به همراه خود کاراکتر روی صفحه چاپ می می شود. به آن دقت داشته باشید، که متغیر ch را در printf هم با c% و همچنین هم با %d نوشته شده می باشد. در اولی خود حرف (کاراکتر) نوشته می می شود، ولی در دومی کد اسکی کاراکتر چاپ میشود.
منبع
برترینویدئوی آموزش برنامه جذاب و جالب و خوب نویسی : ساختار برنامه جذاب و جالب و خوب در زبان C و همچنین توابع ورودی و همچنین خروجی
آذر ۲۵, ۱۳۹۷ 0
آذر ۱۷, ۱۳۹۷ 0
آذر ۰۷, ۱۳۹۷ 0
آذر ۰۵, ۱۳۹۷ 0