PDA

نسخه کامل مشاهده نسخه کامل : کمک در مورده دستوره printf



Armita_amini
26-07-2007, 22:23
سلام

میشه منو راهنمایی کنید

من اگه سوال داشتم میتونم بپرسم ؟


1- اگر در دستور prinf تعداد درصد ها کمتر از تعداد متغیر ها باشد چه اتفاقی رخ میدهد ؟
2- اگر در دستور prinf تعداد درصد ها بیشتر از تعداد متغیر ها باشد چه اتفاقی رخ میدهد ؟
3- در دستور prinf اگر نوع متغیر خروجی ( فرمت خروجی) با نوع متغیر تعریف شده یکسان نباشد چه اتفاقی رخ میدهد ؟


ممنوم میشم جواب بدین

rouhallah
27-07-2007, 18:17
سلام

میشه منو راهنمایی کنید

من اگه سوال داشتم میتونم بپرسم ؟


1- اگر در دستور prinf تعداد درصد ها کمتر از تعداد متغیر ها باشد چه اتفاقی رخ میدهد ؟
2- اگر در دستور prinf تعداد درصد ها بیشتر از تعداد متغیر ها باشد چه اتفاقی رخ میدهد ؟
3- در دستور prinf اگر نوع متغیر خروجی ( فرمت خروجی) با نوع متغیر تعریف شده یکسان نباشد چه اتفاقی رخ میدهد ؟


ممنوم میشم جواب بدین

با سلام
در مورد سوال اول اگر تعداد درصدها كمتر از تعداد متغيرها باشه به ترتيبي كه در دستور printf متغيرها را قرار داد‌ه ايد مقاديرشان چاپ ميشود و متغيرهاي اضافي ناديده گرفته ميشود
در مورد سوال دوم اگر تعداد درصدها بيشتر از تعداد متغيرها باشه ، متغير آخر به تعداد درصدهاي اضافي چندين بار ديگر نيز چاپ ميشود

در مورد سوال سوم هم اگر مثلاً متغير شما از نوع كاراكتر تعريف شده باشد ولي در دستور printf از فرمت صحيح استفاده شده باشد در خروجي عددي صحيح متناسب با كاراكتر ذخيره شده در متغير خواهيم داشت
و اگر مثلاً متغير شما از نوع صحيح باشد ولي در دستور printf از فرمت كاراكتري استفاده كرده باشيم
در خروجي كاراكتري متناسب با عدد صحيح ذخيره شده در متغير خواهيم داشت
اميدوارم اين موارد همون مورد سوال شما بوده باشه
در ضمن اين سوالاتتون رو خودتون هم ميتونستيد امتحان كرده و به جواب برسيد.
والسلام

Armita_amini
27-07-2007, 21:05
مرسی دوست عزیز از جوابت

اخه من سر کلاس هیچی یاد نمیگیرم که تمرین کنم به جواب برسم شما راهه حلی داری که من c رو یاد بگیرم ؟

Cris_Y
27-07-2007, 21:43
bebin koli chiz baraye tamrin hast!
masalan mitoni bejaye in ke soalato beporsi khodet emtehaneshoon koni!
darzamn sare kelas beposr. ya inke az yeki yeseri soal begir o hal kon.too ditel ham mesalhaye khoobi hast. oona ro emtehan kon.
albate doostan ehtemalan behtar javabetoono bedan

Armita_amini
27-07-2007, 22:45
البته من دستورها رو قشنگ میتونم تایپ کنم و جواب رو از کامپایلر بگیرم ولی معنی لغات رو نمیفهمم

مثلا" تو همین سوال ها منظور از تعداد درصدها چیه ؟

یا تعداد متغیر چیه ما که دو تا متغیر بیشتر یاد نگرفتیم نام و نوع متغیر ولی تعداد متغیر نمیفهمم یعنی چی؟

Admiral
28-07-2007, 09:07
شما همه این موارد رو می تونین خودتون تست کنید.یه برنامه کوتاه بنویسین و تست کنید اگه تعداد % ها کمتر یا بیشتر باشه چی میشه!
یه برنامه مثل این:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


مثلا" تو همین سوال ها منظور از تعداد درصدها چیه ؟
شما خودتون تو سوالی که مطرح کردین صحبت از تعداد درصد ها کردین!!!
درصد = %


تعداد متغیر چیه ما که دو تا متغیر بیشتر یاد نگرفتیم نام و نوع متغیر ولی تعداد متغیر نمیفهمم یعنی چی؟
تعداد متغیر جزئی از تعریف خود متغیر نیست
فرض کنید سه متغیر کاراکتری به نا های a,b,c تعریف کردین.هر متغیر یک نام و یک نوع دارد.
حالا میخواین همه این متغیر ها رو روی مانیتور نمایش بدین.
تعداد متغیر هایی که باید نمایش بدین 3 تا میشه.یعنی a,b,c

rouhallah
28-07-2007, 20:53
البته من دستورها رو قشنگ میتونم تایپ کنم و جواب رو از کامپایلر بگیرم ولی معنی لغات رو نمیفهمم

مثلا" تو همین سوال ها منظور از تعداد درصدها چیه ؟

یا تعداد متغیر چیه ما که دو تا متغیر بیشتر یاد نگرفتیم نام و نوع متغیر ولی تعداد متغیر نمیفهمم یعنی چی؟



با سلام دوباره



ببينيد اولاً اگه بتونيد سر كلاس خوب گوش كنيد حتي خوب هم گوش نكردين نكردين



همون دست و پا شكسته گوش هم كنيد ميتونيد هفتاد درصد مطالب رو بفهميد



دوماً در مورد اين درصدها پرسيديد



نميدونم شايد شما به خاطر تشابه ذهني كه در اين صدها با درصد گرفتن خودمون وجود داره هنوز متوجه عملكردشون نشديد



اما بايد بدونين اين درصدها تو زبون رايانه معني ديگري دارند

وقتي شما مثلاً با دستور int x متغيري به نام x از نوع صحيح رو تعريف ميكنيد و بعد مثلاً با دستور
x=10 مقدار 10 رو در متغيرتون ميريزيد . براي اينكه تو برنامتون تو صفحه نمايش اين مقدار يعني عدد 10 رو نشون بديد بايد تو دستور printf متغيرتون يعني در اينجا x رو صدا بزنيد . اما تنها اينكار كافي نيست چون اين دستور نميتونه تشخيص بده x از چه نوعي هست شما بايد با استفاده از همون درصدها نوع متغير رو بهش بگيد . كه در اينجا اگه بخواهيم به دستور printf بگيم x از نوع صحيح است مينوسيم printf("%d",x)
اگه دقت كرده باشيد ميفهميد كه %d به دستور printf ميگه نوع متغير x از نوع صحيح است
در صورتي هم كه نگاهي به جزوه يا كتابتون بياندازيد براي انواع ديگه داده ها از درصدها ديگه استفاده ميكنيم
مثلاً براي نوع كاراكتر(char) داريم %c براي نمايش علمي عدد داريم %e ، براي عدد اعشاري داريم %f
براي رشته اي از كاراكترها داريم %s و براي عدد در مبناي هشت داريم %o
و غيره
من پيشنهاد ميكنم براي يادگيري بهتر كتابهاي مقدماتي زبان سي رو بخونين كه زياد هم هستند دوستان بهتر بلدند
مثلاً كتاب زبان C ويژه دانشجويان آموزشكده هاي فني آموزش و پرورش و دانشگاه آزاد در مقطع كارداني پيوسته نوشته مير محسن باقرالموسوي
انشا الله موفق باشيد

Armita_amini
30-07-2007, 08:26
با تشكر از Admiral و rouhallah عزيز


من الان ميخوام اين سوالو رو خودم حل كنم تو دستورش موندم كه بخوام بنويسم بعدش هم امتحان كنم




1- اگر در دستور scanf تعداد درصد ها کمتر از تعداد متغیر ها باشد چه اتفاقی رخ میدهد ؟
2- اگر در دستور scanf تعداد درصد ها بیشتر از تعداد متغیر ها باشد چه اتفاقی رخ میدهد ؟

Admiral
30-07-2007, 08:48
از این دستورات استفاده کنید و تغییرشون بدین:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Armita_amini
30-07-2007, 20:15
Admiral عزیز

من هنوز دستورهای
getch();
return;

رو نخوندم بعدش هم قبل از mian کلمه void رو نمیزاریم یعنی به ما درس ندادن میشه اینا رو حذف کنم ؟

ممنون از وقتی که میزاری

hamed valizadeh
30-07-2007, 20:28
بله میتونی حذف کنی
getch()
یک تابع هست که یک مقدار از نوع char از صفحه کلید میگیره و بر میگردونه.
در این برنامه به عنوان وقفه استفاده شده

return;
برنامه رو میبنده (اگه نذاری هم باز بسته میشه)

rouhallah
31-07-2007, 13:58
Admiral عزیز

من هنوز دستورهای
getch();
return;

رو نخوندم بعدش هم قبل از mian کلمه void رو نمیزاریم یعنی به ما درس ندادن میشه اینا رو حذف کنم ؟

ممنون از وقتی که میزاری
همون طوري كه دوستمون گفتند ميتونين اين دستورات رو حذف كنيد اما اگر ;()getch حذف كنيد زمان لازم رو براي ديدن نتيجه كار نخواهيد داشت پس بهتره اين دستور رو حذف نكنيد تا بتونيد نتايج اجراي برنامه رو ببينيد

hamed valizadeh
03-08-2007, 21:23
سلام
لطفا یکی بگه
n%
در printf چه کار بردی داره؟

rouhallah
04-08-2007, 11:46
سلام
لطفا یکی بگه
n%
در printf چه کار بردی داره؟

تا اونجايي كه من تو اون منابعي كه دارم نگام كردم n% نداريم حالا شايد دوستان ديگه بهتر بدونن
ولي شايد اين n% نبوده بلكه n\ بوده . اگه دوباره نگاه كرديد و ديديد مورد نظرتون n\ بود معنايش اينه كه با بكار بردن آن در دستور printf وقتي مقدار مورد نظر چاپ شد براي دستوربعدي مكان نما در خط بعدي آماده اعمال ورودي و خروجي ميشود

hamed valizadeh
09-08-2007, 13:11
ببخشید حواسم نبود
تو scanf وجود نداره
اگه داره توضیح بدید

rouhallah
09-08-2007, 18:26
ببخشید حواسم نبود
تو scanf وجود نداره
اگه داره توضیح بدید
همون طور كه گفتم فكر نكنم n% در دستور printf و scanf وجود داشته باشه
اما n\ در هر دو مورد وجود داره و باعث ميشه دستور ورودي يا خروجي بعدي در خط بعدي اجرا بشه

mJo0T
09-08-2007, 18:47
اتفاقاً این پارامتر وجود داره
n% توی printf تعداد کاراکتر های نوشته شده توی بافر رو بر میگردونه
و توی scanf هم تعداد کاراکتر های خوانده شده از ورودی رو برمی گردونه

hamed valizadeh
09-08-2007, 19:32
واقعا متشکرم