§1 Til haqida umumiy ma'lumot. Dasturni loyihalash bosqichlari

C / C ++ standart kutubxonasi konsolga o'qish va yozish uchun bir qator funktsiyalarni o'z ichiga oladi (klaviatura va monitor). Ushbu funktsiyalar ma'lumotlarni oddiy belgilar oqimi sifatida o'qiydi va yozadi.

Dasturlashda qo'llaniladigan oqim (oqim) tushunchasi so'zni odatiy, kundalik tushunish bilan chambarchas bog'liq. Kirish oqimini suv (ma'lumot) hovuzga (kompyuter xotirasi) kiradigan quvur bilan solishtirish mumkin, chiqish oqimi - suv hovuzdan chiqadigan quvur bilan. Ushbu quvurning muhim xususiyati shundaki, ma'lumotlar bir vaqtning o'zida faqat bitta yo'nalishda harakatlanishi mumkin. Kirish va chiqish uchun bir xil quvur ishlatilsa ham, bu bir vaqtning o'zida sodir bo'lmaydi: oqim yo'nalishini o'zgartirish uchun uni to'xtatish kerak, ba'zi harakatlar qilish kerak va shundan keyingina oqim teskari yo'nalishga yo'naltirilishi kerak. . Oqimning yana bir xususiyati shundaki, u deyarli hech qachon qurimaydi. Ba'zida u quriydi, lekin tizim normal ishlayotgan bo'lsa, bu muddat uzoq bo'lishi mumkin emas.

Standart chiqish funktsiyasi printf ()

printf () funksiyasi standart chiqish funksiyasidir. Ushbu funktsiyadan foydalanib, siz belgilar qatorini, raqamni, o'zgaruvchan qiymatni ko'rsatishingiz mumkin ...

printf () funksiyasi stdio.h faylida prototipga ega
int printf (char * boshqaruv qatori, ...);

Muvaffaqiyatli bo'lsa, printf () funksiyasi chop etilgan belgilar sonini qaytaradi.

Boshqaruv qatori ikki turdagi ma'lumotni o'z ichiga oladi: to'g'ridan-to'g'ri ekranga chop etiladigan belgilar va argumentlarni qanday ko'rsatishni aniqlaydigan format spetsifikatsiyalari.

printf () funksiyasi formatlangan chiqish funksiyasidir. Bu shuni anglatadiki, funktsiyaning parametrlarida siz chiqariladigan ma'lumotlarning formatini ko'rsatishingiz kerak. Ma'lumotlar formati format spetsifikatsiyalari bilan ko'rsatilgan. Format ko'rsatgichi% belgisidan keyin format kodidan boshlanadi.

Format ko'rsatkichlari:

% Bilan ramzi
% d butun kasr
% i butun kasr
% e x.xx e + xx ko'rinishidagi o'nlik son
% E x.xx E + xx ko'rinishidagi o'nlik son
% f
% F kasrli suzuvchi nuqta xx.xxxx
% g % f yoki % e, qaysi biri qisqaroq
% G % F yoki % E, qaysi biri qisqaroq
% o sakkizlik son
% s belgilar qatori
% u belgisiz kasrli raqam
% x o'n oltilik raqam
% X o'n oltilik raqam
%% belgisi %
% b ko'rsatgich
% n ko'rsatgich

Bundan tashqari, l va h modifikatorlari formatlash buyruqlariga qo'llanilishi mumkin.

% ld uzun int bosma
% hu qisqa imzosiz chop etish
% Lf uzun ikki marta bosib chiqarish

Format spetsifikatsiyasida % belgisidan keyin aniqlik (oʻnli kasrdan keyingi raqamlar soni) koʻrsatilishi mumkin. Aniqlik quyidagicha o'rnatiladi:% .n<код формата>... Bu erda n - kasrdan keyingi raqamlar soni va<код формата>- yuqorida keltirilgan kodlardan biri.

Misol uchun, agar bizda float tipidagi x = 10.3563 o'zgaruvchi bo'lsa va biz uning qiymatini kasrdan keyin 3 ta raqamgacha aniqlik bilan ko'rsatishni istasak, unda biz yozishimiz kerak:

printf ("O'zgaruvchi x =% .3f", x);

Natija:
O'zgaruvchi x = 10,356

Shuningdek, siz chop etish mumkin bo'lgan minimal chegarani ham belgilashingiz mumkin. Agar chiziq yoki raqam belgilangan maydon kengligidan kattaroq bo'lsa, butun chiziq yoki raqam chop etiladi.

Masalan, agar siz yozsangiz:

printf ("% 5d", 20);

keyin natija quyidagicha bo'ladi:
20

E'tibor bering, 20 raqami satr boshidan beri chop etilmagan. Agar siz maydonning foydalanilmagan bo'sh joylari nol bilan to'ldirilishini istasangiz, maydon kengligi oldiga 0 belgisini qo'yishingiz kerak.

Masalan:

printf ("% 05d", 20);

Natija:
00020

Ma'lumotlar formati spesifikaktorlaridan tashqari, boshqaruv qatorida boshqaruv belgilari bo'lishi mumkin:

\ b BS, chuqurlik
\ f Yangi sahifa, sahifa tarjimasi
\ n Yangi qator, qator tasmasi
\ r Vagonni qaytarish
\ t Gorizontal yorliq
\ v Vertikal yorliq
\" Ikkita tirnoq
\" Apostrof
\\ Teskari chiziq
\0 Null belgi, null bayt
\ a Signal
\ N Sakkizlik doimiy
\ xN O‘n oltilik konstanta
\? So'roq belgisi

Ko'pincha \ n belgisidan foydalanasiz. Ushbu nazorat belgisi bilan siz chiziqli tasmani yaratishingiz mumkin. Namuna dasturlarga qarang va siz hamma narsani tushunasiz.

Dasturlarga misollar.

/ * 1-misol * /
#o'z ichiga oladi

asosiy bekor (bo'sh)
{
int a, b, c; // a, b, c o'zgaruvchilarni e'lon qilish
a = 5;
b = 6;
c = 9;
printf ("a =% d, b =% d, c =% d", a, b, c);
}

Dastur natijasi:
a = 5, b = 6, c = 9

/ * 2-misol * /
#o'z ichiga oladi

asosiy bekor (bo'sh)
{
float x, y, z;

X = 10,5;
y = 130,67;
z = 54;

Printf ("Obyekt koordinatalari: x:%. 2f, y:%. 2f, z:%. 2f", x, y, z);
}

Dastur natijasi:
Ob'ekt koordinatalari: x: 10,50, y: 130,67, z: 54,00

/ * 3-misol * /
#o'z ichiga oladi

asosiy bekor ()
{
int x;

X = 5;
printf ("x =% d", x * 2);
}

Dastur natijasi:
x = 10

/ * 4-misol * /
#o'z ichiga oladi

asosiy bekor (bo'sh)
{
printf ("\" Qo'shtirnoq ichidagi matn \ "");
printf ("\ nKislorod miqdori: 100 %%");
}

Dastur natijasi:
"Qo'shtirnoq ichidagi matn"
Kislorod miqdori: 100%

/ * 5-misol * /
#o'z ichiga oladi

asosiy bekor (bo'sh)
{
int a;

A = 11; // 11 o'nlik b o'n oltilik soniga teng
printf ("a-dec =% d, a-hex =% X", a, a);
}

Dastur natijasi:
a-dec = 11, a-hex = b

/ * 6-misol * /
#o'z ichiga oladi

asosiy bekor (bo'sh)
{
char ch1, ch2, ch3;

Ch1 = "A";
ch2 = "B";
ch3 = "C";

Printf ("% c% c% c", ch1, ch2, ch3);
}

Dastur natijasi:
ABC

/ * 7-misol * /
#o'z ichiga oladi

asosiy bekor (bo'sh)
{
char * str = "Mening qatorim.";

Printf ("Bu% s", str);
}

Dastur natijasi:
Bu Mening qatorim.

/ * 8-misol * /
#o'z ichiga oladi

asosiy bekor (bo'sh)
{
printf ("Salom! \ n"); // Chop etishdan keyin yangi qator paydo bo'ladi - \ n
printf ("Mening ismim Pavel."); // Bu yangi satrda chop etiladi
}

Dastur natijasi:
Salom!
Mening ismim Pavel.

Scanf () standart kiritish funktsiyasi

scanf () funksiyasi formatlangan kiritish funktsiyasidir. Uning yordami bilan siz standart kiritish qurilmasidan (klaviatura) ma'lumotlarni kiritishingiz mumkin. Kirish ma'lumotlari butun sonlar, suzuvchi nuqta raqamlari, belgilar, satrlar va ko'rsatkichlar bo'lishi mumkin.

scanf () funksiyasi stdio.h faylida quyidagi prototipga ega:
int scanf (char * boshqaruv qatori);

Funktsiya qiymat berilgan o'zgaruvchilar sonini qaytaradi.

Boshqaruv qatori uchta turdagi belgilarni o'z ichiga oladi: format spetsifikatsiyalari, bo'shliqlar va boshqa belgilar. Format spetsifikatsiyalari % belgisidan boshlanadi.

Format ko'rsatkichlari:

Skanf () funksiyasi (format spesifikacisi% s) yordamida satr kiritilayotganda satr birinchi boʻsh joydan oldin kiritiladi !! bular. "Salom dunyo!" qatoriga kirsangiz. scanf () funktsiyasidan foydalanish


scanf ("% s", str);

keyin kiritilgandan so'ng str massivida saqlanadigan natija qatori bitta "Salom" so'zidan iborat bo'ladi. FUNKSIYA BIRINCHI BO'LGAN OLDINI SATIR QO'SHIRADI! Agar siz qatorlarni bo'sh joy bilan kiritmoqchi bo'lsangiz, funksiyadan foydalaning

char * oladi (char * buf);

Get () funksiyasi yordamida siz toʻliq satrlarni kiritishingiz mumkin. Gets () funksiyasi klaviaturadagi belgilarni yangi qator belgisi (\ n) paydo bo'lguncha o'qiydi. Enter tugmasini bosganingizda yangi qator belgisi paydo bo'ladi. Funktsiya buf ga ko'rsatgichni qaytaradi. buf - kirish satri uchun bufer (xotira).

gets () ushbu maqola doirasidan tashqarida bo'lsa-da, keling, klaviaturadan butun qatorni kiritish va uni ekranda ko'rsatish imkonini beruvchi namunaviy dastur yozamiz.

#o'z ichiga oladi

asosiy bekor (bo'sh)
{
char buferi; // kirish qatori uchun massiv (bufer).

Qabul qiladi (bufer); // qator kiriting va enter tugmasini bosing
printf ("% s", bufer); // kiritilgan qatorni ekranga chiqarish
}

Yana bir muhim eslatma! Scanf () funksiyasi yordamida ma'lumotlarni kiritish uchun siz unga o'zgaruvchilarning o'zi emas, balki parametr sifatida o'zgaruvchilar manzillarini o'tkazishingiz kerak. O'zgaruvchining manzilini olish uchun o'zgaruvchi nomi oldiga & (ampersand) belgisini qo'yish kerak. & belgisi manzilni olishni anglatadi.

Manzil nimani anglatadi? Men tushuntirishga harakat qilaman. Bizda dasturda o'zgaruvchi bor. O'zgaruvchi o'z qiymatini kompyuter xotirasida saqlaydi. Shunday qilib, biz & bilan oladigan manzil o'zgaruvchining qiymati saqlanadigan kompyuter xotirasidagi manzildir.

Keling, & dan qanday foydalanishni ko'rsatadigan namunaviy dasturni ko'rib chiqaylik.

#o'z ichiga oladi

asosiy bekor (bo'sh)
{
int x;

Printf (“X o‘zgaruvchisini kiriting:”);
scanf ("% d", & x);
printf ("O'zgaruvchi x =% d", x);
}

Endi scanf () boshqaruv qatoriga qaytaylik. Yana bir marta:

int scanf (char * boshqaruv qatori);

Boshqarish chizig'idagi bo'sh joy belgisi kirish oqimidagi bir yoki bir nechta bo'sh joyni o'tkazib yuborishni buyuradi. Bo'sh joydan tashqari, yorliq yoki yangi qator belgisini ham ko'rish mumkin. Nolga teng bo'lmagan belgi bu belgining o'qilishi va bekor qilinishini bildiradi.

Kiritilgan ikkita raqam orasidagi chegaralovchilar bo'sh joy, yorliq yoki yangi qatordir. % dan keyin va format kodidan oldingi * belgisi (format ko'rsatgichi) belgilangan turdagi ma'lumotlarni o'qishni buyuradi, lekin bu qiymatni tayinlamaydi.

Masalan:

scanf ("% d% * c% d", & i, & j);

50 + 20 ni kiritish i ni 50, j ni 20 ga o'rnatadi va + o'qiladi va e'tiborga olinmaydi.

Formatlash buyrug'i o'qilishi kerak bo'lgan eng katta maydon kengligini belgilashi mumkin.

Masalan:

scanf ("% 5s", str);

kirish oqimidan dastlabki 5 ta belgini o'qish yoki o'qish kerakligini ko'rsatadi. Agar siz 1234567890ABC raqamini kiritsangiz, str massivi faqat 12345 ni o'z ichiga oladi, qolgan belgilar e'tiborga olinmaydi. Ajratuvchilar: bo'sh joy, tab va yangi qator - terilganda, ular boshqa barcha belgilar kabi ko'rib chiqiladi.

Agar boshqaruv qatorida boshqa belgilar topilsa, ular tegishli belgini aniqlash va o'tkazib yuborish uchun mo'ljallangan. Operator tomonidan 10plus20 belgilar oqimi

scanf ("% dplus% d", & x, & y);

x ni 10, y ni 20 ga o'rnatadi va ortiqcha belgilarni o'tkazib yuboradi, chunki ular boshqaruv qatorida paydo bo'ladi.

Scanf () funktsiyasining kuchli xususiyatlaridan biri bu skanerlashni belgilash qobiliyatidir. Qidiruv to'plami scanf () funksiyasi tomonidan o'qilgan belgilar solishtiriladigan belgilar to'plamini belgilaydi. Scanf () funksiyasi belgilarni qidirish to'plamida paydo bo'lguncha o'qiydi. Kiritilgan belgi qidiruv to'plamida ko'rinmasligi bilanoq, scanf () keyingi format spetsifikatsiyasiga o'tadi. Qidiruvlar to'plami kvadrat qavs ichiga olingan belgilar ro'yxati bilan aniqlanadi. Ochiq qavs oldidan % belgisi qo‘yiladi. Keling, buni bir misol bilan ko'rib chiqaylik.

#o'z ichiga oladi

asosiy bekor (bo'sh)
{
char str1, str2;
scanf ("%% s", str1, str2);
printf ("\ n% s \ n% s", str1, str2);
}
Keling, bir qator belgilar bilan tanishamiz:
12345abcdefg456

Ekranda dastur quyidagini ko'rsatadi:
12345
abcdefg456

Qidiruvlar to'plamini belgilashda siz intervalni, shuningdek kiritish maydonining maksimal kengligini belgilash uchun defis belgisidan ham foydalanishingiz mumkin.

scanf ("% 10", str1);

Qidiruv to'plamiga kiritilmagan belgilarni ham belgilashingiz mumkin. Bu belgilarning birinchisidan oldin ^ belgisi mavjud. Belgilar to'plami kichik va katta harflarni ajratib turadi.

Eslatib o'taman, scanf () funksiyasidan foydalanilganda unga parametr sifatida o'zgaruvchilar manzillarini o'tkazish kerak. Yuqoridagi kod yozilgan:

char ko'chasi; // 80 ta belgidan iborat massiv
scanf ("% s", str);

E'tibor bering, str oldidan & belgisi yo'q. Chunki str massiv, massiv nomi str esa massivning birinchi elementiga ko’rsatgich hisoblanadi. Shuning uchun & belgisi ishlatilmaydi. Biz allaqachon manzilni scanf () ga o'tkazmoqdamiz. Oddiy qilib aytganda, str massivning birinchi elementining qiymati saqlanadigan kompyuter xotirasidagi manzildir.

Dasturlarga misollar.

1-misol.
Ushbu dastur "Necha yoshdasiz?:" so'rovini ko'rsatadi va ma'lumotlar kiritilishini kutadi. Agar, masalan, 20 raqamini kiritsangiz, dastur "Siz 20 yoshdasiz" qatorini ko'rsatadi. Scanf () funksiyasini chaqirganda, biz yosh o'zgaruvchisining oldiga & belgisini qo'yamiz, chunki scanf () funksiyasi o'zgaruvchilarning manzillarini talab qiladi. Scanf () funksiyasi kiritilgan qiymatni belgilangan manzilga yozadi. Bizning holatda, kiritilgan qiymat 20 yosh o'zgarmaydigan manzilga yoziladi.

/ * 1-misol * /

#o'z ichiga oladi

asosiy bekor (bo'sh)
{
int yoshi;

Printf ("\ nNecha yoshdasiz?:");
scanf ("% d", & yosh);
printf ("Siz% d yoshdasiz.", yosh);
}

2-misol.
Kalkulyator dasturi. Ushbu kalkulyator faqat raqamlarni qo'shishi mumkin. Agar siz 100 + 34 ni kiritsangiz, dastur natija beradi: 100 + 34 = 134.

/ * 2-misol * /

#o'z ichiga oladi

asosiy bekor (bo'sh)
{
int x, y;

Printf ("\ nKalkulyator:");
scanf ("% d +% d", & x, & y);
printf ("\ n% d +% d =% d", x, y, x + y);
}

3-misol.
Ushbu misol o'qish kengligini qanday o'rnatishni ko'rsatadi. Bizning misolimizda maydon kengligi besh belgidan iborat. Agar siz ko'p sonli belgilar qatorini kiritsangiz, 5-dan keyingi barcha belgilar o'chiriladi. scanf () funksiyasiga qo'ng'iroqqa e'tibor bering. & belgisi massiv nomi nomidan oldin kelmaydi, chunki massiv nomi massivdagi birinchi elementning manzili hisoblanadi.

/ * 3-misol * /

#o'z ichiga oladi

asosiy bekor (bo'sh)
{
belgi nomi;

Printf ("\ nFoydalanuvchi nomingizni kiriting (5 belgidan oshmasligi kerak):");
scanf ("% 5s", ism);
printf ("\ nSiz% s kiritdingiz", ism);
}

4-misol.
Ushbu maqoladagi yakuniy misol bir nechta qidiruvdan qanday foydalanishingiz mumkinligini ko'rsatadi. Dasturni ishga tushirgandan so'ng, 2 dan 5 gacha bo'lgan raqamni kiriting.

/ * 4-misol * /

#o'z ichiga oladi

asosiy bekor (bo'sh)
{
char bal;

Printf (“Sizning reytingingiz 2,3,4,5:”);
scanf ("%", & bal);
printf ("\ nBaholash% c", bal);
}

1.Kirish

Dasturlash yangi universal algoritmik modellarni talab qiladi va apparat ta'minoti algoritmlarni nafaqat boshqa shaklda, balki boshqa algoritmik model - avtomat asosida ham amalga oshiradi. Uskunalarni ishlab chiqish sohasidan qarz olish texnologiyasi avtomatlashtirilgan dasturlashning asosiy g'oyasidir. Biroq, raqamli qurilmalarning sintezi dasturlashdan farq qiladi. Ammo, modelni olish, bir tomondan, uni sezilarli darajada o'zgartirishni istamaydi, boshqa tomondan, allaqachon mavjud bo'lgan dasturlash nazariyasi va amaliyotini e'tiborsiz qoldirib bo'lmaydi.

Keyinchalik, biz har doim bunday jarayonlarga duch keladigan avtomatlarga asoslangan dasturlarni loyihalash uchun SWITCH texnologiyasini ko'rib chiqamiz. Bir tomondan, u davlat mashinasi modelini shunday o'zgartirdiki, u aslida uni avtomat nazariyasi doirasidan tashqariga olib chiqdi. Boshqa tomondan, u dasturlashda dasturchilar uchun idrok etish qiyin bo'lgan va ba'zan ortiqcha bo'lgan tushunchalarni kiritadi. dastur nazariyasi va dasturlash amaliyotidan ko'proq tanish analoglar mavjud.

Avtomatik dasturlash muammolarini muhokama qilish uchun asos sifatida yaqinda A.A.Shalytoning ma'ruzasini olaylik. va avtomat dasturlash paradigmasining ta'rifiga bag'ishlangan "dasturiy" maqolalari.

Ushbu o'quv qo'llanmalar, siz dasturlashni yangi boshlaysizmi yoki boshqa tillarda katta dasturlash tajribasiga ega bo'lsangiz ham, hamma uchun! Ushbu material C / C ++ tillarini asoslaridan tortib eng murakkab tuzilmalarigacha o'rganishni istaganlar uchundir.

C ++ - bu dasturlash tili, bu dasturlash tilini bilish kompyuteringizni eng yuqori darajada boshqarish imkonini beradi. Ideal holda, siz kompyuterni xohlagan narsani qilishingiz mumkin. Saytimiz C++ dasturlash tilini o'zlashtirishda sizga yordam beradi.

O'rnatish / IDE

C++ tilini o'rganishni boshlashdan oldin qilishingiz kerak bo'lgan birinchi narsa, sizda IDE - integratsiyalashgan ishlab chiqish muhiti (dastur tuzadigan dastur) mavjudligiga ishonch hosil qilishdir. Agar sizda IDE bo'lmasa, bu siz uchun joy. IDE-ga qaror qilganingizdan so'ng, uni o'rnating va oddiy loyihalarni yaratishda mashq qiling.

C++ tiliga kirish

C ++ - bu kompyuterga nima qilish kerakligini aytadigan buyruqlar to'plami. Ushbu buyruqlar to'plami odatda manba kodi yoki oddiy kod deb ataladi. Buyruqlar "funktsiyalar" yoki "kalit so'zlar" dir. Kalit so'zlar (C / C ++ ajratilgan so'zlar) tilning asosiy qurilish bloklari hisoblanadi. Funktsiyalar murakkab qurilish bloklaridir, chunki ular oddiyroq funktsiyalar nuqtai nazaridan yozilgan - buni quyida ko'rsatilgan bizning birinchi dasturimizda ko'rasiz. Funktsiyalarning bu tuzilishi kitob mazmuniga o'xshaydi. Mundarija kitobning boblarini ko'rsatishi mumkin, kitobning har bir bobida paragraflardan iborat o'z mazmuni bo'lishi mumkin, har bir paragrafda o'z kichik bandlari bo'lishi mumkin. Garchi C ++ siz ishlatishingiz mumkin bo'lgan ko'plab umumiy funktsiyalar va ajratilgan so'zlarni taqdim etsa ham, o'z funktsiyalaringizni yozishga ehtiyoj bor.

Dasturning boshlanishi qayerda? C++ tilidagi har bir dastur bitta funktsiyaga ega, u asosiy yoki asosiy-funksiya deb ataladi, dasturning bajarilishi shu funksiyadan boshlanadi. Asosiy funksiyadan boshqa istalgan funksiyalarni ham chaqirishingiz mumkin, ular biz tomonimizdan yozilganmi yoki avval aytib o‘tganimizdek, kompilyator tomonidan taqdim etilganmi, farqi yo‘q.

Xo'sh, ushbu standart funksiyalarga qanday kirishingiz mumkin? Kompilyator bilan birga keladigan standart funksiyalarga kirish uchun siz preprotsessor direktivasi yordamida sarlavha faylini kiritishingiz kerak - #include. Nima uchun samarali? Keling, ishchi dasturning misolini ko'rib chiqaylik:

#o'z ichiga oladi << "Моя первая программа на С++\n"; cin.get(); }

Keling, dasturning elementlarini batafsil ko'rib chiqaylik. #include - bu preprotsessor direktivasi bo'lib, kompilyatorga bajariladigan faylni yaratishdan oldin iostream sarlavhasi faylidagi kodni dasturimizga qo'yishni aytadi. Sarlavha faylini dasturga ulash orqali siz dasturingizda foydalanishingiz mumkin bo'lgan ko'plab turli funktsiyalarga kirish huquqiga ega bo'lasiz. Masalan, cout operatori iostreamni talab qiladi. std nom maydonidan foydalanadigan qator; kompilyatorga std standart kutubxonasining bir qismi bo'lgan funktsiyalar guruhidan foydalanishni aytadi. Bu qator dasturga cout kabi iboralardan ham foydalanish imkonini beradi. Nuqtali vergul C ++ sintaksisining bir qismidir. Bu kompilyatorga buyruqning oxiri ekanligini aytadi. Keyinchalik C++ da koʻpgina buyruqlarni bajarish uchun nuqtali vergul qoʻllanilishini koʻrasiz.

Dasturning keyingi muhim qatori int main (). Bu satr kompilyatorga main nomli funksiya mavjudligini va funksiya int tipidagi butun sonni qaytarishini bildiradi. Jingalak qavslar (va) funksiyaning boshlanishini (va tugashini) bildiradi. Jingalak qavslar kodning boshqa bloklarida qo'llaniladi, lekin ular har doim bir xil narsani anglatadi - mos ravishda blokning boshi va oxiri.

C++ tilida cout obyekti matnni ko‘rsatish uchun ishlatiladi (C out deb talaffuz qilinadi). U belgilardan foydalanadi<< , известные как «оператор сдвига», чтобы указать, что отправляется к выводу на экран. Результатом вызова функции cout << является отображение текста на экране. Последовательность \n фактически рассматривается как единый символ, который обозначает новую строку (мы поговорим об этом позже более подробно). Символ \n перемещает курсор на экране на следующую строку. Опять же, обратите внимание на точку с запятой, её добавляют в конец, после каждого оператора С++.

Keyingi buyruq cin.get (). Bu kirish ma'lumotlar oqimidan ma'lumotlarni o'qiydi va ENTER tugmasi bosilishini kutuvchi boshqa funktsiya chaqiruvidir. Bu buyruq konsol oynasini ENTER tugmasi bosilmaguncha yopilishidan saqlaydi. Bu sizga dastur natijasini ko'rish uchun vaqt beradi.

Asosiy funksiya (jingalak qavsni yopish) tugagach, dasturimiz operatsion tizim uchun 0 ni qaytaradi. Bu qaytarish qiymati juda muhim, chunki uni tahlil qilib, OS dasturimiz muvaffaqiyatli yakunlangan yoki bajarilmaganligini aniqlashi mumkin. Qaytish qiymati 0 muvaffaqiyat degan ma'noni anglatadi va avtomatik ravishda qaytariladi (lekin faqat int ma'lumotlar turi uchun boshqa funktsiyalar sizdan qiymatni qo'lda qaytarishingizni talab qiladi), lekin agar biz boshqa narsani, masalan, 1ni qaytarmoqchi bo'lsak, buni qilishimiz kerak edi. qo'lda.

#o'z ichiga oladi std nom maydonidan foydalanish; int main () (cout<<"Моя первая программа на С++\n"; cin.get(); return 1; }

Materialni birlashtirish uchun IDE-ga dastur kodini kiriting va uni ishga tushiring. Dastur boshlangandan so'ng va siz natijalarni ko'rganingizdan so'ng, cout bayonoti bilan biroz tajriba qiling. Bu sizga tilga ko'nikishingizga yordam beradi.

Dasturlaringiz haqida fikr bildirishni unutmang!

Kodga sharhlar qo'shing, bu nafaqat o'zingiz, balki boshqalar uchun ham tushunarli. Kompilyator kodni bajarishda izohlarni e'tiborsiz qoldiradi, bu esa haqiqiy kodni tavsiflash uchun istalgan miqdordagi sharhlardan foydalanishga imkon beradi. Sharh yaratish uchun kompilyatorga satrning qolgan qismi izoh ekanligini bildiruvchi // yoki / *, keyin esa * / dan foydalaning. Dasturlashni o'rganganingizda, dastur ishining natijasi qanday o'zgarishini ko'rish uchun kodning ma'lum bo'limlari bo'yicha izoh berish foydali bo'ladi. Siz sharhlash texnikasi haqida batafsil o'qishingiz mumkin.

Ushbu turdagi o'zgaruvchilar bilan nima qilish kerak?

Ba'zida o'zgaruvchilarning bir nechta turlari keraksiz bo'lib tuyulganda, bir nechta turdagi o'zgaruvchilarga ega bo'lish chalkash bo'lishi mumkin. To'g'ri o'zgaruvchilar turidan foydalanish juda muhim, chunki ba'zi o'zgaruvchilar boshqalarga qaraganda ko'proq xotira talab qiladi. Bundan tashqari, ular xotirada saqlanish usuli, suzuvchi nuqta raqamlari tufayli float va double ma'lumotlar turlari "noaniq" bo'lib, aniq butun qiymatni saqlash kerak bo'lganda foydalanilmasligi kerak.

C ++ da o'zgaruvchilarni e'lon qilish

O'zgaruvchini e'lon qilish uchun sintaksis turidan foydalaning<имя>; ... O'zgaruvchilar deklaratsiyasiga ba'zi misollar:

Int raqami; belgi belgisi; float num_float;

Bir qatorda bir xil turdagi bir nechta o'zgaruvchilarni e'lon qilishga ruxsat beriladi, buning uchun ularning har biri vergul bilan ajratilishi kerak.

Int x, y, z, d;

Agar siz diqqat bilan qaragan bo'lsangiz, o'zgaruvchi deklaratsiyasidan keyin doimo nuqta-vergul qo'yilishini ko'rgan bo'lishingiz mumkin. Konventsiya haqida ko'proq o'qishingiz mumkin - "o'zgaruvchilarni nomlash haqida".

C ++ da o'zgaruvchilarni e'lon qilishda keng tarqalgan xatolar

Agar siz e'lon qilmagan o'zgaruvchidan foydalanmoqchi bo'lsangiz, dasturingiz kompilyatsiya qilinmaydi va siz xato xabarini olasiz. C ++ da barcha til kalit so'zlari, barcha funktsiyalar va barcha o'zgaruvchilar katta-kichik harflarga sezgir.

O'zgaruvchilardan foydalanish

Endi siz o'zgaruvchini qanday e'lon qilishni bilasiz. Mana o'zgaruvchidan foydalanishni ko'rsatadigan namunaviy dastur:

#o'z ichiga oladi std nom maydonidan foydalanish; int main () (int raqami; cout<< "Введите число: "; cin >> raqam; cin.ignore (); cout<< "Вы ввели: "<< number <<"\n"; cin.get(); }

Keling, ushbu dasturni ko'rib chiqamiz va uning kodini satr satr bilan ko'rib chiqamiz. int kalit so'zi bu raqam butun son ekanligini aytadi. cin >> funksiyasi qiymatni raqamga o'qiydi, foydalanuvchi kiritilgan raqamdan keyin Enter tugmasini bosishi kerak. cin.ignore () - bu belgini o'qiydi va unga e'tibor bermaydi. Biz dasturga kiritishimizni tashkil qildik, raqamni kiritgandan so'ng ENTER tugmasini bosamiz, u ham kirish oqimiga o'tkaziladi. Bizga bu kerak emas, shuning uchun uni tashlab yuboramiz. Yodda tutingki, o'zgaruvchi butun son turida e'lon qilingan, agar foydalanuvchi o'nlik sonni kiritishga harakat qilsa, u qisqartiriladi (ya'ni sonning o'nlik qismi e'tiborga olinmaydi). O'nlik son yoki belgilar ketma-ketligini kiritishga harakat qiling, namunaviy dasturni ishga tushirganingizda, javob kiritilgan qiymatga bog'liq bo'ladi.

E'tibor bering, o'zgaruvchidan chop etishda tirnoq ishlatilmaydi. Qo'shtirnoqlarning yo'qligi kompilyatorga o'zgaruvchining mavjudligini va shuning uchun dastur o'zgaruvchining nomini ish vaqtida uning qiymati bilan almashtirish uchun uning qiymatini tekshirishi kerakligini aytadi. Xuddi shu qatorda bir nechta siljish operatorlari yaxshi va chiqish bir xil tartibda amalga oshiriladi. Siz har biriga boshqa siljish operatorini berib, satr harflari (tirnoqli satrlar) va o'zgaruvchilarni ajratishingiz kerak<< . Попытка поставить две переменные вместе с одним оператором сдвига << выдаст сообщение об ошибке . Не забудьте поставить точку с запятой. Если вы забыли про точку с запятой, компилятор выдаст вам сообщение об ошибке при попытке скомпилировать программу.

Qiymatlarni o'zgartirish va taqqoslash

Albatta, qaysi turdagi ma'lumotlardan foydalanmasligingizdan qat'i nazar, o'zgaruvchilar qiymatini o'zgartirish imkoniyatisiz unchalik qiziq emas. Quyida o'zgaruvchilar bilan birgalikda ishlatiladigan operatorlarning ba'zilari keltirilgan:

  • * ko'paytirish,
  • - ayirish,
  • + qo'shimcha,
  • / bo'lim,
  • = topshiriq,
  • == tenglik,
  • > ko'proq,
  • < меньше.
  • = teng emas
  • > = kattaroq yoki teng
  • <= меньше или равно

Natijani chap tarafdagi o'zgaruvchiga belgilash uchun matematik funktsiyalarni bajaradigan operatorlar tayinlash belgisining o'ng tomonida ishlatilishi kerak.

Mana bir nechta misollar:

A = 4 * 6; // qatorli izoh va nuqtali verguldan foydalaning, a 24 a = a + 5 ga teng; // asl qiymat yig'indisiga teng va besh a == 5 // besh belgilanmagan, 5 yoki yo'qligi tekshiriladi

Ko'pincha shartlar va tsikllar kabi konstruktsiyalarda == dan foydalanasiz.

A< 5 // Проверка, a менее пяти? a >5 // a ning beshdan katta ekanligini tekshiringmi? a == 5 // a ning besh ekanligini tekshiringmi? a!= 5 // Tekshiring, lekin beshga teng emasmi? a> = 5 // a ning beshdan katta yoki teng ekanligini tekshiring? a<= 5 // Проверка, a меньше или равно пяти?

Ushbu misollar taqqoslash belgilaridan foydalanish haqida juda aniq emas, lekin biz tanlash operatorlarini o'rganishni boshlaganimizda, bu nima uchun kerakligini tushunasiz.

C ++ (C-plus-plus o'qiydi) kompilyatsiya qilingan, statik tarzda terilgan umumiy maqsadli dasturlash tili bo'lib, unda har qanday murakkablikdagi dasturlarni yaratishingiz mumkin.
20 yildan ortiq vaqt davomida ushbu til eng ommabop va talab qilinadigan dasturlash tillari uchligidan joy oldi. (Siz buni TIOBE veb-saytiga tashrif buyurib tekshirishingiz mumkin).
Til 1980-yillarning boshlarida, Bell Labs xodimi Byorn Stroustrup oʻz ehtiyojlarini qondirish uchun C tiliga bir qator yaxshilanishlarni taklif qilganda paydo boʻlgan.

Bjarne Stroustrup - C ++ tilini yaratuvchisi

Stroustrup C tilini Simula tilining imkoniyatlari bilan to'ldirishga qaror qildi. S, Bell kompyuterlari ishlaydigan UNIX tizimining tayanch tili sifatida tez, boy funksiyalarga ega va portativdir. Stroustrup unga sinflar va ob'ektlar bilan ishlash qobiliyatini qo'shdi. Natijada, amaliy modellashtirish masalalari ishlab chiqish vaqti (Simulaga o'xshash sinflardan foydalanish tufayli) va hisoblash vaqti (C tezligi tufayli) bo'yicha echish uchun mavjud bo'lib chiqdi.
Tilni ishlab chiquvchining o'zi bu haqda shunday deydi:



1998 yilda standartlashtirish qo'mitasi tomonidan C ++ 98 deb nomlanuvchi birinchi til standarti nashr etildi. C ++ zamonaviy talablarga javob berish uchun rivojlanishda davom etmoqda. C ++ tilini rivojlantiruvchi va uni takomillashtirish bo'yicha takliflarni C ++ standartlashtirish qo'mitasiga yuboradigan guruhlardan biri Boost, boshqa narsalar qatori, unga metadasturlash xususiyatlarini qo'shish orqali tilning imkoniyatlarini yaxshilash bilan shug'ullanadi. Oxirgi standart 2017 yilda chiqarilgan va deyiladi C ++ 17... Keyingi standart uzoq kutilmaydi va 2020 yilda kutilganidek paydo bo'ladi.
Hech kim C ++ tiliga huquqlarga ega emas, u bepul. 2016 yil mart oyida Rossiyada WG21 C++ ishchi guruhi tuzildi. Guruh C++ standarti boʻyicha takliflarni toʻplash, ularni qoʻmitaga yuborish va Xalqaro standartlashtirish tashkilotining umumiy yigʻilishlarida himoya qilish uchun tashkil etilgan.
C ++ ko'p paradigmali til (paradigma so'zidan - kompyuter dasturlarini yozish uslubi), dasturlashning turli uslublari va texnologiyalarini o'z ichiga oladi. U ko'pincha ob'ektga yo'naltirilgan til deb ataladi, ammo qat'iy aytganda, unday emas. Ish jarayonida ishlab chiquvchi vositalarni tanlashda mutlaq erkinlikka ega bo'lib, u yoki bu yondashuv yordamida hal qilingan muammoni iloji boricha samarali hal qiladi. Boshqacha qilib aytganda, C ++ dasturchini dastur ishlab chiqishning faqat bitta uslubiga (masalan, ob'ektga yo'naltirilgan) yopishib olishga majburlamaydi.
C ++ keng tarqalgan konteynerlar va algoritmlarni, kiritish-chiqarishni, muntazam ifodalarni, ko'p tarmoqli qo'llab-quvvatlashni va boshqalarni o'z ichiga olgan boy standart kutubxonaga ega. C ++ ko'plab dasturlash tillariga ta'sir ko'rsatdi, jumladan: Java, C #, D. C ++ C tilining sintaksisi asosidagi tillar oilasiga tegishli bo'lganligi sababli, siz ushbu oilaning boshqa dasturlash tillarini osongina o'zlashtirishingiz mumkin. : JavaScript, PHP, Perl, Objective-C va boshqalar. ... boshqalar, shu jumladan ona tilining o'zi - C. ()
Mavjud bo'lgan davrda C ++ tili osongina inkor etilishi mumkin bo'lgan barqaror afsonalarga ega (qarang: 1-qism va 2-qism).

Tilning tarixi va standartlarning chiqarilishi

1983

Tilning yaratuvchisi - Byorn Stroustrup, Bell Labs xodimi C++ ning dastlabki versiyasini (“C with Classes”) taqdim etdi.

1985

C++ ning birinchi tijorat relizi, bu til o'zining zamonaviy nomini oldi

1986

C ++ dasturlash tilining birinchi nashri, Byorn Stroustrup tomonidan yozilgan C ++ bo'yicha kitob

1998

C++ tili uchun xalqaro standart ratifikatsiya qilingan: ISO / IEC 14882: 1998 "C++ dasturlash tili uchun standart"

2003
2005

Kutubxonaning texnik hisoboti 1 (TR1) chiqarildi. Rasmiy ravishda standartning bir qismi bo'lmasa-da, hisobotda C ++ tilining keyingi versiyasiga kiritilishi kerak bo'lgan standart kutubxona kengaytmalari tasvirlangan.

2011

Yangi standartning chiqarilishi - C ++ 11 yoki ISO / IEC 14882: 2011; yangi standart tilning asosiy qismiga qo'shimchalar va standart kutubxonaning kengaytmasini, shu jumladan TR1 ning ko'p qismini o'z ichiga oladi

2014

C++ 14 standartining chiqarilishi (“Xalqaro standart ISO / IEC 14882: 2014 (E) C++ dasturlash tili”); C ++ 14 ni C ++ 11 ga nisbatan kichik kengaytma sifatida ko'rish mumkin, u asosan xatolarni tuzatish va kichik yaxshilanishlarni o'z ichiga oladi.

2017

Yangi standart chiqarildi - C ++ 1z (C ++ 17). Ushbu standart ko'plab o'zgartirish va qo'shimchalarni kiritdi. Masalan, STD C11 standartidagi kutubxonalarni, boost :: fayl tizimiga asoslangan fayl tizimini, eksperimental TS I kutubxonasining ko'p qismini o'z ichiga oladi.

2020

C ++ 20 - C ++ dasturlash tili uchun ISO / IEC standartining norasmiy nomi, C ++ 17 dan keyin kutilmoqda. N4800 standarti loyihasi.

C ++ falsafasi

Björne Stroustrup "C++ ning dizayni va evolyutsiyasi" (2007) asarida C ++ (qisqartirilgan) dizaynida amal qilgan tamoyillarni tasvirlaydi:

  • Statik ma'lumotlar turlari, C tilining samaradorligi va portativligi bilan umumiy tilni oling.
  • Ko'p dasturlash uslublarini to'g'ridan-to'g'ri va har tomonlama qo'llab-quvvatlang.
  • Dasturchiga tanlash erkinligini bering, garchi u noto'g'ri tanlash imkoniyatini bersa ham.
  • Iloji boricha C bilan moslikni saqlang, shu bilan C dasturlashdan oson o'tishga imkon bering.
  • C va C ++ o'rtasidagi chalkashlikdan saqlaning: ikkala tilda ruxsat etilgan har qanday konstruktsiya ularning har birida bir xil ma'noga ega bo'lishi va bir xil dastur xatti-harakatlariga olib kelishi kerak.
  • Platformaga bog'liq yoki umumiy bo'lmagan xususiyatlardan saqlaning.
  • Foydalanilmayotgan narsa uchun pul to'lamang - hech qanday til vositasi uni ishlatmaydigan dasturlarning ish faoliyatini yomonlashtirmasligi kerak.
  • Haddan tashqari murakkab dasturlash muhitini talab qilmang.

C va C ++

C ++ sintaksisi C tilidan meros bo'lib o'tgan.Garchi rasmiy ravishda C ++ tamoyillaridan biri C tili bilan moslikni saqlash bo'lib qolsa-da, aslida bu tillarni standartlashtirish guruhlari mavjud emas. o'zaro ta'sir qiladi va ular amalga oshiradigan o'zgarishlar nafaqat o'zaro bog'liqlik qilmaydi, balki ko'pincha mafkuraviy jihatdan bir-biriga tubdan zid keladi. Masalan, yangi C standartlari yadroga qo'shadigan elementlar C ++ standartidagi standart kutubxonaning elementlari bo'lib, yadroda butunlay yo'q, masalan, dinamik massivlar, belgilangan chegaralari bo'lgan massivlar, parallel ishlov berish moslamalari. Ikki tilni rivojlantirishni birlashtirish juda foydali bo'lardi, dedi Stroustrup, lekin buning siyosiy jihatdan amalga oshishi dargumon. Shunday qilib, C va C ++ o'rtasidagi amaliy muvofiqlik asta-sekin yo'qoladi.
Ushbu misolda, ishlatilgan kompilyatorga qarab, u "C ++" yoki "C" ni chiqaradi:

Dastur 9.1

#o'z ichiga oladi int main () (printf ("% s \ n", (sizeof ("a") == sizeof (char))? "C ++": "C"); qaytish 0;)

Buning sababi, S dagi belgilar konstantalari int tipidagi, C ++ da esa char tipidagi, lekin bu tiplarning o'lchamlari har xil.

Ilovaning hayot aylanishi modellari

Hayot sikli dasturiy ta'minot - bu dasturiy mahsulotni yaratish zarurati to'g'risida qaror qabul qilingan paytdan boshlab boshlanib, uning to'liq foydalanishdan chiqishi bilan tugaydigan vaqt davri. Bu tsikl dasturiy ta'minotni (dasturiy ta'minotni) yaratish va ishlab chiqish jarayonidir. Hayotiy tsiklning bir nechta modellari mavjud.
Kaskad modeli hayot aylanishi (inglizcha sharshara modeli) 1970 yilda Uinston Roys tomonidan taklif qilingan. U qat'iy belgilangan tartibda loyihaning barcha bosqichlarini ketma-ket bajarishni ta'minlaydi. Keyingi bosqichga o'tish oldingi bosqichdagi ishning to'liq bajarilishini anglatadi. Talablarni shakllantirish bosqichida aniqlangan talablar texnik shartlar shaklida qat'iy hujjatlashtiriladi va loyihani ishlab chiqishning butun davri uchun belgilanadi. Har bir bosqich boshqa ishlab chiqish guruhi tomonidan davom ettirish uchun ishlab chiqish uchun etarli bo'lgan to'liq hujjatlar to'plamini chiqarish bilan yakunlanadi.
Sharshara modeli bo'yicha loyiha bosqichlari:

  1. Talablarni shakllantirish;
  2. Dizayn;
  3. Amalga oshirish;
  4. Sinov;
  5. Amalga oshirish;
  6. Foydalanish va texnik xizmat ko'rsatish.

Sharshara modelida loyihaning bir bosqichidan ikkinchisiga o'tish oldingi bosqich natijasining to'liq to'g'riligini nazarda tutadi. Katta loyihalarda bunga erishish deyarli mumkin emas. Shuning uchun, bu model faqat kichik loyihani ishlab chiqish uchun javob beradi. (V.Roysning o'zi bu modelga amal qilmadi va iterativ modeldan foydalangan).
Iterativ model
Sharshara modeliga alternativa 70-yillarda T. Gilbdan olingan iterativ va inkremental rivojlanish (IID) modelidir. evolyutsion modelning nomi. IID modeli loyihaning hayot aylanishini bir qator iteratsiyalarga ajratishni nazarda tutadi, ularning har biri "mini-loyiha" ga o'xshaydi, shu jumladan butun loyihaga nisbatan kichikroq funksional qismlarni yaratishda qo'llaniladigan barcha ishlab chiqish jarayonlari. Har bir iteratsiyaning maqsadi barcha oldingi va joriy iteratsiyalarning integratsiyalangan mazmuni bilan aniqlangan funksionallikni o'z ichiga olgan dasturiy ta'minot tizimining ishchi versiyasini olishdir. Yakuniy iteratsiya natijasi mahsulotning barcha kerakli funksiyalarini o'z ichiga oladi. Shunday qilib, har bir iteratsiyaning tugashi bilan mahsulot o'z imkoniyatlariga o'sish - o'sish oladi, shuning uchun ular evolyutsion tarzda rivojlanadi.


Ko'pgina zamonaviy rivojlanish metodologiyalarida iterativ yondashuvning turli xil versiyalari qo'llaniladi:

Rivojlanish jarayoni - Ratsional Unified Process (RUP)

Ratsional birlashtirilgan jarayon (RUP)(Lean Unified Process) - bu Rational Software (IBM) tomonidan qo'llab-quvvatlanadigan dasturiy ta'minotni ishlab chiqish metodologiyasi. Metodologiya rivojlanishning barcha bosqichlari uchun tavsiyalar beradi: biznesni modellashtirishdan tortib, tayyor dasturni sinovdan o'tkazish va ishga tushirishgacha. Modellashtirish tili sifatida UML (Uniified Modeling Language) ishlatiladi.
Mahsulotni ishlab chiqishning to'liq hayot aylanishi to'rt bosqichdan iborat bo'lib, ularning har biri bir yoki bir nechta iteratsiyani o'z ichiga oladi.

  • Dastlabki bosqich (boshlang'ich)
  • Loyihaning hajmini va zarur resurslar miqdorini aniqlang. Mahsulotning asosiy talablari, cheklovlari va asosiy funksionalligi aniqlanadi. Xavflar baholanadi. Harakatlarni rejalashtirish. Dastlabki bosqich oxirida manfaatdor tomonlar o'rtasida loyihani davom ettirish to'g'risida kelishuvni nazarda tutuvchi "Hayot tsikli" maqsadining muhim bosqichiga erishish baholanadi.

  • Ishlab chiqish
  • Hujjatlashtirish talablari. Bajariladigan arxitekturani loyihalash, amalga oshirish va sinovdan o'tkazish. Shartlar va xarajatlarni aniqlashtirish. Katta xavflarni kamaytirish. Rivojlanish bosqichini muvaffaqiyatli yakunlash hayot davri arxitekturasining muhim bosqichiga erishishni anglatadi.

  • Qurilish
  • "Yaratish" bosqichida mahsulotning ko'p funktsional imkoniyatlari amalga oshiriladi: ilovaning dizayni tugallandi, manba kodi yoziladi. Qurilish bosqichi tizimning birinchi tashqi chiqarilishi va Dastlabki Operatsion Qobiliyatning muhim bosqichi bilan yakunlanadi.

  • O'tish
  • “Ishga tushirish” bosqichida mahsulotning yakuniy versiyasi yaratiladi va ishlab chiquvchidan mijozga uzatiladi. Bunga beta-sinov dasturi, foydalanuvchilarni o'qitish va mahsulot sifatini aniqlash kiradi. Agar sifat foydalanuvchilarning kutganlariga yoki Boshlash bosqichida belgilangan mezonlarga javob bermasa, Amalga oshirish bosqichi yana takrorlanadi. Barcha maqsadlarga erishish, mahsulotni chiqarish bosqichiga erishish va to'liq ishlab chiqish tsiklini yakunlashni anglatadi.



"Axborot texnologiyalari. Tizim va dasturiy ta'minot muhandisligi. Dasturiy ta'minotning hayot aylanish jarayonlari ”. Ushbu standart Rossiya Federatsiyasi Texnik jihatdan tartibga solish va metrologiya federal agentligi tomonidan qabul qilingan va ISO / IEC 12207: 2008 xalqaro standartiga o'xshaydi. Ushbu standart dasturiy ta'minot sanoatida boshqarilishi mumkin bo'lgan dasturiy ta'minotning hayot aylanish jarayonlari uchun umumiy asosni belgilaydi. Standart hayot aylanishining aniq modelini taklif qilmaydi. Uning qoidalari har qanday hayot tsikli modellari, dasturiy ta'minotni yaratish usullari va texnologiyalari uchun umumiydir. U ushbu jarayonlarga kiritilgan faoliyat va vazifalarni qanday amalga oshirish yoki bajarish kerakligini ko'rsatmasdan, hayot aylanish jarayonlarining tuzilishini tavsiflaydi.

Dars taqdimoti
Xabar mavzulari
  • Free Software Foundation (FSF)
  • Bepul dasturiy ta'minot litsenziyalari
  • Bepul dasturiy ta'minot va ochiq manba
  • Dasturlash tillarining rivojlanish tarixi
  • C. C va C ++ tarixi
  • Hikoya
  • C ++ tanqidi
  • UNIX tarixi
  • Spiral dasturiy ta'minotning hayot aylanishi modeli
  • UML (ingliz yagona modellashtirish tili)
  • Microsoft Solutions Framework
  • Windowsda C / C ++ dasturlash uchun IDE
  • C / C ++ kompilyatorlari
  • Windows da konsol ilovasini yaratish
Savollar
  1. Nima uchun dasturiy ta'minotni ishlab chiqishning sharshara modeli yirik loyihalarda qo'llanilmaydi?
  2. Sharshara va iterativ rivojlanish modellari o'rtasidagi farq nima?
  3. Ratsional Unified Process (RUP) metodologiyasida dasturiy ta'minotni ishlab chiqish bosqichlarini sanab o'ting

C ++ dasturlash tilining asoslari va nozik tomonlarini o'rganish. Amaliy topshiriqlar va testlardan iborat darslik. Dasturlashni o'rganmoqchimisiz? Unda siz to'g'ri joydasiz - bu erda bepul dasturlash treningi. Tajribasizmi yoki yo'qligingiz muhim emas, bu dasturlash darslari C++ dasturlarini turli xil rivojlanish muhitlarida qurish, kompilyatsiya qilish va disk raskadrovka qilishni boshlashingizga yordam beradi: Visual Studio, Code :: Blocks, Xcode yoki Eclipse.

Ko'p misollar va batafsil tushuntirishlar. Yangi boshlanuvchilar (qo'g'irchoqlar) va yanada rivojlanganlar uchun juda mos keladi. Hamma narsa noldan eng tafsilotlarigacha tushuntirilgan. Ushbu darslar (200+) sizga nafaqat C++, balki boshqa dasturlash tillarida ham dasturlashni tushunish uchun yaxshi asos/poydevor beradi. Va bu mutlaqo bepul!

Shuningdek, u C++ tilida oʻyinni bosqichma-bosqich yaratish, SFML grafik kutubxonasi va C++ tilida koʻnikma va bilimlaringizni sinab koʻrish uchun 50 dan ortiq vazifalarni qamrab oladi. Qo'shimcha bonus.

Repost uchun +20 karma va rahmat!

№0 bob. Kirish. Ishning boshlanishi

№1 bob. C ++ asoslari

№2 bob. C ++ da o'zgaruvchilar va asosiy ma'lumotlar turlari

№3 bob. C++ tilidagi operatorlar

№4 bob. C++ tilidagi o‘zgaruvchilar doirasi va boshqa turlari

№5 bob. Dasturda kodni bajarish tartibi. C ++ da halqalar, filiallar