Есептің шешуі:
С++ тіліндегі бағдарлама мәтіні:
#include
void main ()
{
int a,s,m,n;
cin>>m;
s=a=0;
for(n=1;n<=m;n++)
{
a=n*n;
s=s+a;
}
cout<
}
Бағдарламаның нәтижесі:
Адрестер
Си екі арнайы адрестік операцияларды қолдайды: Адресті анықтау операциясы (&) және адреске бағыттау (*).& операциясы берілген айнымалының адресін қайтарады. Егер sum int типті айнымалы болса, онда &sum осы айн ымалының адресі болып табылады.
N
S=∑│ai*bi│, мұндағы (a1,a2,...,an), (b1,...,bn).
i=1
С++ тіліндегі бағдарлама мәтіні:
#include
void main ()
{
const int N=5;
double a[N],b[N],s;
int i;
for(i=0;icin>>a[i];
for(i=0;i
cin>>b;
s=a[1]*b[1];
cout<<”a[1]*b[1]=”<
}
Бағдарламаны тестілеу нәтижесі:
Көрсеткіштер
Көрсеткіш қандай да бір мәліметтің адресінен тұратын айнымалы болып табылады. Жалпы айтқанда, көрсеткіш - адрестің қандай да бір символикалық бейнеленуі. &sum бұл жағдайда «sum айнымалысына көрсеткіш» дегенді білдіреді . Адресі сан болса, ал &sum адреснің символикалық бейнеленуі көрсеткіш типті константа болып табылады. Сондықтан sum айнымалысына бөлінген жады ұяшығының адресі программа орындалғанда өзгермейді.
Си тілінде көрсеткіш типті айнымалылар да кездеседі. Көрсеткіш типті айнымалылар мәні қандай да бір шаманың адресі болып табылады. Көрсеткіш ptr идентификаторымен белгіленген болсын, сонда келесідей оператор sum адресін ptr айнымалысына меншіктейді: ptr =& sum. Бұл жағдайда ptr sum -ға «көрсетеді» деп айтады. Яғни, ptr - айнымалы, & sum - константа. ptr айнымалысы басқа да бір объектіге «көрсете» алады:
ptr=&mах.
Ptr мәні mах айнымалысының адресі болып табылады. Адреске бағыттау операциясын (*) немесе жанама адрестеу операциясын қарастырайық, ptr айнымалысында mах айнымалысына сілтеме болсын. Сонда осы айнымалының мәніне кол жеткізу үшін адрес-ке бағыттау операциясын (*) қолдануға болады. Рtr көрсететін мәнді анықтау үшін келесі операторды жазамыз: sum=*ptr; (Соңғы екі оператор, бірге алғанда, келесіге тең: sum=mах; адресті алу және жанама адрестеу операциясын қолдану нәижеге тура әелмейді екен, операцияның атындағы «жанама» деген сөз де содан пайда болған).
(*) операциясы - осы таңбадан кейін айнымалыға көрсеткіш тұрса, операция нәижесі көрсетілген адресі бар ұяшықта тұрған шама болып табылады.
Достарыңызбен бөлісу: |