فصل 1

…………..………………………………………………………………………………………..........

پرسش های گزینه ای

…………..………………………………………………………………………………………..........

 

1. کدامیک از موارد زیر در مورد c++  صحیح نیست ؟

       الف) از نسل زبان c  است

        ب) شی گراست

        ج) همه منظوره است

        د) سطح پایین است √

 

   توضیحات : گزینه د نا درست است  زبان C++ یک زبان همه منظوره است و هم سطح پایین و هم سطح بالا می باشد.

 

2. کدامیک از زبان های زیر در تولید C++  نقش داشته است .

     الف basic (

      ب)java

      ج)simula 

      دpascal(

 

   توضیحات : زبان C++ ترکیبی از دو زبان C و simula می باشد .

 

3. محیط مجتمع تولید (IDE) شامل کدامیک از امکانات زیر است ؟

      الف) ویرایشگر متن 

       ب)کامپایلر

       ج)ابزار خطایابی

       د) همه موارد 

 

   توضیحات : همه موارد ذکر شده جزو قابلیت های IDE  می باشد .

 

4. کدامیک از عملگر های زیر , عملگر خروجی در c++ است؟

       الف) <<  

        ب) #

        ج) <<

        د) //

 

   توضیحات : عملگر خروجی در C++  علامت >> می باشد .

 

5. از موارد زیر کدامیک در مورد عبارت "10" صحیح است ؟

       الف) "10" یک کاراکتر است

        ب) "10" یک عدد صحیح است

        ج) "10" یک لیترال است  

       د) "10" یک عدد دودویی است

 

   توضیحات :  یک لیترال مجموعه از حروف است که دو طرف آن دابل کوتیشن (")باشد.

 

6. در مورد عبارت int k=8; کدام عبارت صحیح نیست ؟

     الف) متغییر k با مقدار 8 مقدار دهی اولیه شده است

      ب) متغییر k  از نوع int است

     ج) متغییر k  در آدرس 8 از حافظه قرار گرفته است  

      د) در آدرس k  مقدار 8 قرار گرفته است

 

   توضیحات :متغیر k  از نوع صحیح int و با مقدار 8 تعریف شده است.

 

7. عملگر انتساب در c++ چیست ؟

       الف)  =      

        ب)  ==

        ج) #

        د) =!

 

   توضیحات  : عملگر ==  جهت عمل انتساب به کار می رود.

 

8. در کد زیر چه روی می دهد؟                               

const int  x=7;         x +=9;

      الف) مقدار 9 در x  ذخیره می شود   

       ب)مقدار 7+9 یعنی 16 در x  ذخیره می شود

      ج) مقدار 9 و 7 هر کدام جدا در x  ذخیره می شوند

       د) دستور دوم اجرا نمی شود و کامپایلر خطا می گیرد  

 

 

   توضیحات : عددی که ثابت تعریف می شود فقط یکبار مقدار اولیه می گیرد لذا دستور دوم با خطا مواجه می شود .

 

9. کد cin>> age; چه کاری انجام می دهد ؟

       الف) مقدار متغییر age  را چاب می کند

        ب)  مقداری از ورودی گرفته و در age  می گذارد  

        ج)  بررسی کنید آیا cin  بزرگتر از age  است

        د) سینوس مقدار age  را محاسبه می کند .

 

   توضیحات  : دستور cin>> باعث دریافت داده از ورودی می شود و دستور بالا این مقدار را در متغیر avg قرار می دهد.

 

10. در مورد دستور# include   کدام گزینه صحیح است ؟

         الف) یک دستور خروجی است که عبارتiostream "" را در خروجی چاپ می کند

          ب) یک راهنمای پیش پردازنده است که سر فایل iostream را معرفی می کند   

         ج) یک دستور ورودی است که مقدار دریافتی را در متغییر iostream  قرار می دهد

        د) این دستور معتیر نیست زیرا علامت سمیکولن ندارد

 

   توضیحات : دستور #include<> یک راهنمای پیش پردازنده است که یک فایل کتابخانه ای را معرفی می کند .

 

11. کدام گزینه از مزایای شی گرا است ؟

         الف) اجرای سریع برنامه

          ب) طراحی آسان

          ج) تقسیم برنامه به وظایف کوچکتر

          د) مخفی سازی اطلاعات   

 

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

 

…………..………………………………………………………………………………………..........

پرسش های تشریحی

…………..………………………………………………………………………………………..........

 

1 - توضیح دهید چرا c++ یک زبان سطح متوسط است ؟

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

 

2- یک توضیح حالت c  با یک توضیح حالت c++ چه تفاوت هایی دارد؟

 

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

 

3- چه اشتباهی در این بر نامه هست ؟

Rounded Rectangular Callout: علامت ;  باید انتهای هر دستور بیاید# include

int main(){

                                                       //print "hello,world";

cout<<"hello,world!\n"

return 0;

}

 

   جواب : جهت استفاده از دستور Cout باید عبارت using namespace std;   بعد از پیش دستور include واقع شود .

 

4- در توضیح حالت c  زیر چه اشتباهی وجود دارد؟

Cout<<"hello,/*change?*/world.\n";

   جواب : توضیحات باید از خارج از لیترال(رشته خروجی) واقع شود .

 

5- چه اشتباهی در این برنامه هست ؟

# include

int main(){

// print "n=22":

n=22;

cout<<"n=<<

return 0;

}

   جواب : جهت استفاده از دستور Cout باید عبارت using namespace std;   بعد از پیش دستور include واقع شود . هر متغیر قبل از اینکه مورد استفاده قرار گیرد باید تعریف شود : int n ;

 

6- در دستور مقدار دهی زیر چه اشکالی وجود دارد ؟

int k=6, age=20, grade=1, a+=20;

   جواب : متغیر a  درصورتی می تواند با عدد 20 جمع شود که خود مقدار اولیه داشته باشد لذا در این بخش که متغیر ها تعریف و مقداردهی اولیه می شوند انجام دستور a+=20 نادرست است.