1 – dars. C++ Dasturlash tilining kelib chiqishi xaqida ma’lumot


Misol. Berilgan n gacha sonlar yigindisi



Yüklə 0,66 Mb.
səhifə11/88
tarix22.02.2023
ölçüsü0,66 Mb.
#101187
1   ...   7   8   9   10   11   12   13   14   ...   88
1 – dars. C Dasturlash tilining kelib chiqishi xaqida ma’lumot

Misol. Berilgan n gacha sonlar yigindisi.
# include ;
void main {
int n;
Cin>>n;
for(int i=1,s=0;i<=n; i++, s+=i);
Cout<<”\n”,s;
};
FOR operatori tanasi bu misolda bush, lekin C ++ tili grammatikasi qoidalari FOR operatori tanaga ega bo’lishini talab qiladi. Bush operatorga mos keluvchi nuqta vergul' shu talabni bajarishga hizmat qiladi.
Keyingi dasturda kiritilgan jumlada satrlar, so’zlar va simvollar sonini hisoblanadi.
# include ;
#define yes 1
#define no 0
void main()
{
int c, nl, nw, inword;
inword = no;
nl = nw = nc = 0;
for(char c=’’;c!=’.’;cin>> c)
{++nc;
if (c == '\n')
++nl;
if (c==' ' ||c=='\n' ||c=='\t')
inword = no;
else if (inword == no)
inword = yes;
++nw;
}
Cout <<"\n satrlar="<< nl<<”suzlar=”<< nw<<”simvollar=”<< nc;
}
Programma har gal so’zning birinchi simvolini uchratganda, mos o’zgaruvchi qiymatini bittaga oshiradi. INWORD o’zgaruvchisi programma so’z ichida ekanligini kuzatadi. Oldiniga bu o’zgaruvchiga so’z ichida emas ya'ni NO qiymati beriladi. YES va NO simvolik konstantalardan foydalanish dasturni o’qishni engillashtiradi.
NL = NW = NC = 0 katori kuyidagi katorga mos keladi;
NC = (NL = (NW = 0));


switch operatori 
if-else-if yordami bilan bir necha shartni test qilishimiz mumkin. Lekin bunday yozuv nisbatan o'qishga qiyin va ko'rinishi qo'pol bo'ladi. Agar shart ifoda butun son tipida bo'lsa yoki bu tipga keltirilishi mumkin bo'lsa, biz switch (tanlash) ifodalarini ishlata olamiz.
switch strukturasi bir necha case etiketlaridan (label) va majburiy bo'lmagan default etiketidan iboratdir. Etiket bu bir nomdir. U dasturnig bir nuqtasidaga qo'yiladi. Programmaning boshqa yeridan ushbu etiketga o'tishni bajarish mumkin. O'tish yoki sakrash goto bilan amalga oshiriladi, switch blokida ham qo'llaniladi.
5 lik sistemadagi bahoni so'zlik bahoga o'tqizadigan blokni yozaylik. 
int baho;
baho = 4;
switch (baho) {
case 5: cout << "A'lo";
break;
case 4: cout << "Yahshi";
break;
case 3: cout << "Qoniqarli";
break;
case 2:
case 1: cout << "A'lo";
break;
default: cout << "Baho hato kiritildi!";
break;
}
switch ga kirgan o'zgaruvchi (yuqorigi misolda baho) har bir case etiketlarining qiymatlari bilan solishtirilib chiqiladi. Solishtirish yuqoridan pastga bajariladi. Shartdagi qiymat etiketdagi qiymat bilan teng bo'lib chiqqanda ushbu case ga tegishli ifoda yoki ifodalar bloki bajariladi. So'ng break sakrash buyrug'i bilan switch ning tanasidan chiqiladi. Agar break qo'yilmasa, keyingi etiketlar qiymatlari bilan solishtirish bajarilmasdan ularga tegishli ifodalar ijro ko'raveradi. Bu albatta biz istamaydigan narsa. default etiketi majburiy emas. Lekin shart chegaradan tashqarida bo'lgan qiymatda ega bo'lgan hollarni diagnostika qilish uchun kerak bo'ladi.
case va etiket orasida bo'sh joy qoldirish shartdir. Chunki, masalan, case 4: ni case4: deb yozish oddiy etiketni vujudga keltiradi, bunda sharti test qilinayotgan ifoda 4 bilan solishtirilmay o'tiladi.



Yüklə 0,66 Mb.

Dostları ilə paylaş:
1   ...   7   8   9   10   11   12   13   14   ...   88




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə