PDA

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



дŁ!ЯêŽд
30-11-2009, 12:42
2 تا سوال مهم داشتم ممنون میشم اگر جواب بدین ممنون میشم دلیلشم بگین مرسی


1)در قطعه کد زیر اگر متغیر کارکتری a برابر” b” باشد چه چیزی چاپ میشود ؟


switch(a){
case 'A':
case 'B':
case 'C': cout<<"Big ";
case 'a':
case 'b': break;
case 'c': cout<<"Little ";
default : cout<<"Number "; break;

{

2 )
در قطعه کد زیر اگر متغیر کارکتری a برابر”B ” باشد چه چیزی چاپ میشود ؟
switch(a){
case 'A':
case 'B':
case 'C': cout<<"Big ";
case 'a':
case 'b':
case 'c': cout<<"Little ";
default

{


و سوال آخر آیا این 2 برنامه مثل هم هستند؟

sin2x=2sinxcosx
30-11-2009, 12:53
در اولی هیچی چاپ نمی شه . برای اینکه اگه متغیرتون a یا b باشه یه break برخورد می کنه و بدون اینکه کاری صورت بگیره از سوئیچ خارج میشه . در دومی Big هم چاپ میشه Little هم چاپ میشه . برای اینکه اگه متغیرتون A یا B یا C باشه به cout << "Big برخورد می کنه و اونو چاپ می کنه و چون break نذاشتین میره دستورات بعدی switch رو هم اجرا می کنه .
خیر اصلا مثل هم نیستن . برای اینکه خب برابر نیستن دیگه . در دومی اگه متغیرتون برابر a یا b یا c باشه Little چاپ می شه ولی در اولی فقط در صورتی Little چاپ میشه که متغیرتون c باشه . ضمنا در دومی قسمت default ناقصه . یعنی کدتون Error داره .

дŁ!ЯêŽд
30-11-2009, 13:24
ن در قسمت دوم حواسم نبود ادامه دیفالت :

default : cout<<"Number "; break;

sin2x=2sinxcosx
30-11-2009, 14:43
در این صورت در دومی Big Little Number چاپ میشه .