X
تبلیغات
زولا

برنامه نویسان کامپیوتر

این وب سایت به منظور استفاده دانشجویان دانشگاه شهید بهشتی کرج ایجاد شده

جلسه سوم

انواع داده ها در c++

اعشاری 4B

float

2 بایت مثبت و منفی 32000

int

اعشاری 8B

double

مانند int

short int

اعشاری 10B

long double

مانند int

signed int

برای دریافت یک کاراکتر بکار می رود1B

char

صفر تا 65000

unsigned int

True or false

bool

4 بایت مثبت و منفی 2 میلیارد

long int

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

نحوه تعریف متغیر:

نوع داده  نام متغیر1,نام متغیر 2;

int x1,x2;

مقادیر x1,x2 نامشخص است.

int y=145,z=67;

float f1=12.76;

double d1=18;

char ch1='Q';

char newchar=65;è  //char newcahr='A';

int x2;

x2 حتما برابر با صفر نیست. محتوای این متغیر هر مقداری می تواند باشد.

 

int x;

x=x+10;

cout<<x;è

 لزوما مقدار x برابر با 10 نیست چون مقدار اولیه x نامشخص است.

 

عملگرهای محاسباتی C++

%

باقیمانده

++

افزایش یکانی

--

کاهش یکانی

 

 

 

عملگر ++ و – چه قبل از یک متغیر قرار گیرند چه بعد از آن مقدار متغیر یک واحد افزایش می یابد و یا کاهش می یابد.

int m=19,y=10;

cout<<"m%y="<<m%y;è m%y= 9

m++;

cout<<"\nm%y="<<m%y;è m%y= 0

cout<<"\nm="<<m;èm=20

--y;

cout<<"\ny="<<y;èy=9

cout<<(m+y);è29

cout<<"\n"<<m/y;è2

نتیجه تقسیم دو عدد صحیح (int) حتما صحیح است.

آیا به جای x++ می توان نوشت x=x+1؟ بلــــــــــــــــــــــــــــــه

تفاوت وجود ++ (--) قبل و بعد متغیر چیست؟

روی خود متغیری که این عملگر روی آن اعمال شده فرقی نمی کند ولی می تواند روی مقدار متغیرهای دیگر موجود در کد متفاوت باشد.(موثر باشد)

int a=100,b=100;

int c=++a;//a=a+1; c=a;

int d=b++;//d=b; b=b+1;

cout<<"a="<<a;  èa=101

cout<<"\nb="<<b;èb=101

cout<<"\nc="<<c;èc=101

cout<<"\nd="<<d;èd=100

مثال:

int c=30,b=20;

int z=c+++b;

cout<<"\nb="<<b<<"  c="<<c<<"  z="<<z;

مثال:

int x=23,y=11;

int z=++x+y++;//x=x+1;z=x+y;y=y+1

cout<<x;è24

cout<<y;è12

cout<<z;è35

مثال:

int a=21,b=5;

int c=a++%++b;

cout<<"a="<<a<<" b="<<b<<" c="<<c;

èa= 22   b=6    c=3

مثال:

int X=100;

X++;

X=X%10;

--X;

Cout<<X;è0

 

a*=b

a=a*b

 

a+=b

a=a+b

a/=b

a=a/b

 

a-=b

a=a-b

 

 

 

a%=b;

a=a%b

 

مثال:

Int m=23,n=10;

m+=n;//m=m+n;

cout<<m;è33

m/=2;//m=m/2

cout<<m;è16

n-=4;//n=n-4è6

m%=n;//m=m%nèm=16%6=4

cout<<m<<"     "<<n;è4    6

m=-3;//

cout<<m;èm=-3

عملگر منطقی :

And: &&

Or:   ||

Not:  !

نامساوی به صورت != نمایش داده می شود.

برای بررسی تساوی دو داده از عملگر == استفاده می شود.

تقدم عملگرها:

()

!,++,--

*,/,%

+,-

<,<=,>,>=

==,!=

&&,||

=,+=,-=,*=,/=,%=

 

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

float f1=15l;

int x=10;

cout<<f1/x;è15.1(نوع نهایی از جنس اعشاری است)

 

double d;

float fl;

char c;

int i;

cout<<(i+c) *(f1+i)-(d-i)

               int    *  flaot      - double

                      float          - double

                             double

مثال:

int d=20;

    cout<<"\n\n\n\n";

    cout<<d++;//20

    cout<<"\n"<<++d;//22

    cout<<"\n"<<d;   //22

دستورات کنترلی

·        دستور if

·        شکل کلی این دستور

 

if (شرط)

               یک دستور     یا  {دستورات }

Else if  (شرط)

               یک دستور     یا  {دستورات }

…..

Else

     یک دستور      یا  {دستورات }

مثال:

int x;

cout<<"\nenter 1 number";

cin>>x;

if (x>0)

              cout<<"MOSBAT";

else if (x<0)

              {

              cout<<"manfi";

              x=-x;

              cout<<x;

              }

else cout<<"ZERO";

سوال: اگر کاربر عدد -123 را وارد کند خروجی چه خواهد بود؟

Manfi123

مثال: کدی که نمره ای دریافت کند و بسته به مقدار نمره یکی از مقادیر A تا D  را به عنوان ارزش نمره چاپ کند.

# include <iostream.h>

void main()

{

              float grade;

              cout<<"\nenter your grade:";

              cin>>grade;

              if (grade>17)

                        cout<<"A";

              else if( grade>14)

                        cout<<"B";

else if (grade>10)

                        cout<<"C";

else

                        cout<<"D";

}

 

مثال: برنامه ای بنویسید که دو عدد و یک کاراکتر از میان کاراکترهای *و/+و- را دریافت کند و با توجه به کاراکتر وارد شده عملیات مناسب را انجام دهد. مثلا اگر کاربر عدد 12 و 18 و کاراکتر + را وارد کند عدد 30 چاپ شود و اگر به جای+ * وارد کند عدد 216 را چاپ کند.

 

# include <iostream.h>

# include <conio.h>

void main()

{

                   int x,y;

      char ch1;

      cout<<"\nenter 2 number and 1 character from +,-,*,/:";

      cin>>x>>y>>ch1;

      if (ch1=='*')

          cout<<"\n"<<x<<"*"<<y<<"="<<x*y;

      else if (ch1=='/')

          cout<<"\n"<<x<<"/"<<y<<"="<<x/y;

      else if (ch1=='-')

          cout<<"\n"<<x<<"-"<<y<<"="<<x-y;

      else if (ch1=='+')

          cout<<"\n"<<x<<"+"<<y<<"="<<(x+y);

       else

       cout<<"\n u must select - or + or * or /";

         getch();

         }

مثال: برنامه ای که ضرایب معادله درجه دو را دریافت کرده و ریشه های معادله را در صورت وجود چاپ کند.

Ax2+Bx+C=0

x2-7x+12=0

 

اثر کامپیوتر 4:

#include <iostream.h>

# include <conio.h>

# include <math.h>

void main()

{

int a,b,c;

cin>>a>>b>>c;

double x1,x2 ,delta;

delta =b*b-4*a*c;

if (delta<0)

          cout<<"rishe nadarad:";

else if (delta==0)

          {

          cout<<"1 risheh darad:";

          double x1=-b/(2*a) ;

cout<<x1;

}

else

{

x1=(-b+sqrt(delta))/(2*a);

 

x2=(-b-sqrt(delta))/(2*a) ;

cout<<"\n"<<x1<<x2;

 

}

 getch();

 }

برنامه ای که یک حرف را دریافت کند و اگر این حرف جز ارقام 0 تا 9 بود کلمه digit ودر غیر این صورت کلمه no digit را چاپ کند.

# include <iostream.h>

# include <conio.h>

void main()

{

          char ch;
          cout<<"\nenter 1 character:";

          cin>>ch;

          if (ch>='0' && ch<='9') 

                   cout<<"\nDIGIT";

else

          cout<<"\nNO DIGIT";

getch();

}



دانلود فایل مثال ها

(*.cpp)