انواع داده ها در 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)