ОББН лекция 2. Си программалау тіліне кіріспе Жоспар
Скачать 128.11 Kb.
|
, ++, --, + (унарлық), -(унарлық), sizeof (өлшем)Си++ программалау тіліне кіріспе Жоспар 1.Айнымалылар және тұрақтылар. 2.Арифметикалық операторлар. 3.Қатыстық операторлар. 4.Логикалық амалдар. 5.Математикалық функциялар. 6.Инкременанд.Декременанд. 7.Биттік операторлар. 8. Жалпы операторлардың орындалу реті Си++ қазіргі заманғы негізгі программалау тілдерінің бірі болып табылады. Программалау тілдері жалпы мынандай: Екілік кодта. Ассемблер тілінде. Cи тілінде. Жоғарғы дәрежелі тілдерде (Pascal, Fortran, Basic). түрлерге бөлінеді. Си++ программалау тілінің көмегімен жүйелік программаларды, компиляторларды құруға және сонымен бірге кәделі программалар жасауға болады. Си++ программалау тілінде әртүрлі берілгендердің түрімен жұмыс атқаруға болады. Негізгі базалық тип рет литерлік тип болып табылады. Сонымен бірге программалау тілінде бүтін және нақты мәндер де қолданылады. Бұдан басқа типтерді: көрсеткіштер, массивтер, құрылымдар, т.б сипаттап қолдануға болады. Си++ программалау тілінде өрнек операторлар мен операндтардан құрылады. Барлық жоғарғы дәрежелі тілдерге ұқсас негізгі конструкциялары бар: қайталау операторы, шартты операторы, таңдау операторы. Си++-де жол, жиын, тізім, массивтерді тікелей орындайтын операциялар жоқ. Есте сақтау бөлігін тікелей таратып бөлуге болмайды. Файлдар мен енгізу, шығаруды орындайтын операциялар өзінде жоқ. Си++ программалау тілінде осы мәліметтерді өңдеу үшін функциялар шақырылып, сәйкес операциялар орындалады. Белгілі бір уақыт өткеннен кейін кез-келген тілді стандарттан өткізіп отырады. Солардың бірі 1983 ANSI осы стандарт бойынша жұмыс атқарады. Жаңа синтаксис бойынша Си++ тілінде қолданылатын жаңа стандартты бекітеді. 1.Айнымалылар және тұрақтылар Turbo Pascal тілінде әрбір қолданылатын тип алдын-ала сипатталуы қажет екенін білеміз. Си++ программалау тілінің алғашқы нұсқаларының ерекшеліктерінің бірі көп жағдайда мәліметтерді сипаттамай пайдалануға болатындығында болды. Бірақ соңғы нұсқаларда мәліметтерді сипаттап кету ұйғарылады. Американдық ANSI стандарты бойынша айнымалы ретінде әріптерден басталатын латын алфавиттінің элементтер жиынын аламыз. Айнымалылардың аттарын берген уақытта үлкен және кіші әріптердің мағыналары әр түрлі болады. Негізінен мынадай ұйғарым бар: кіші әріптермен айнымалылар, ал үлкен әріптермен тұрақтыларды жазу қажет . Ішкі айнымалылардың ұзындығы 31 орыннан аспайды. Арнайы сөздерді if, else т.б айнымалылар ретінде қолдануға болмайды. Негізгі типтер: char (характер) 1 байт орын алады, int бұның ұзындығы машинаға байланысты, float- 1 есе дәлдіктегі, double- 2 есе дәлдіктегі нақты сандар. Негізгі типтермен бірге: short, long- квалификатор (қосымша) қолданылады. 1) қысқа, 2) ұзын дегенді білдіреді. Мысалы: short il; short int il; long a; Бүтін типтердің машинаға байланысты 3 түрі бар: short int, int, long int. Тілде таңбалы және таңбасыз элементтерді қарастыруға болады және олар сәйкесінше:singned ,unsingned деп беріледі. -127 ... +128 , 1 байт орын алады 0 ... 255 , 1 байт орын алады -32767 ... 32768 , 2 байт орын алады 0 ... 65535 , 2 байт орын алады. Негізгі бүтін тұрақтылар integer типті болады. Бүтін тұрақтылардың соңғы жағына l әрпін жазып қолдануға болады. 123446L Егер таңбасыз бүтін тұрақты болса, онда 145UL жазылады. Нақты тұрақтылар нүкте (.) немесе «e» дәрежесі арқылы жазылады. Мысалы: 132.5 немесе fe-5 Нақты сандардың соңғы жағына f әрпін немесе l әрпін жазуға болады. 12.4f (fload), 12.4l (Long). Сөздік тұрақтылар апостропфтың ‘ ’ ішіне алынып жазылады және программада мынадай тізбектерді қолдануға болады. Бұларды ESC тізбектер деп аталады. ESC тізбектер: \a - \b - \f- парақтау; \n- жаңа жол; \r- enter клавишасы; \t- табуляция; \v- вертикаль табуляция; \\- сызықты орналастыру; \?- сұрақ белгісі; \’, \’’, \000- сегіздік кодтағы мәліметтер; \xhh- он алтылық кодтағы мәліметтер; Тұрақты өрнектер алдын-ала сипатталып программада жазылады. Олар компиляция уақытында есептелінеді. Мысалы: MaxLine 1000 тең болсын. #define (анықтау) MAXLINE 1000 char line [MAXLINE+10] // жолдың ұзындығы 1010 Жолдық -“string” тұрақтылар «ИнФ-307», «ПМ-305» Программалау барысында бос string-ті де пайдалануға болады. Си++ программалау тілінде барлық айнымалыларды сипаттау кезінде оларға оларға алғашқы мән беру беруге болады. Мысалы: int і немесе int i= 0 Алғашқы мәндерді беру барысында оларды өрнек түрінде де жазуға болады. Бірақ өрнектің мәні алдын- ала нақты есептелінетін болуы қажет. Мысалы: int i= MAXLINE+2; // i=1012 Сыртқы және статистикалық айнымалылардың мәні әрқашанда 0-ге тең болады. Ал алғашқы мәні анықталмаған айнымалылар, сол анықталмаған күйінде қалады, сондықтан программалау барысында осындай анықталмаған мәндерден өте сақ болу қажет. 2. Арифметикалық операторлар Си++ программалау тілінде мына арифметикалық амалдар :“+”, “-“, “*”, “/” –амалдары бинарлық операция, %- модуль (қалдықпен бөлу) қолданылады. Ескерту!Мұнда екі бүтін санды бөлудің нәтижесі бүтін сан болып табылады. Мысалы: Int i t = i/k t = 5/6 t = 0 модуль “%” амалы float, double типтегі мәндер үшін қолданылмайды. Унарлық операциялар +25, -32, т.б Амалдардың орындалу орны: жақша; унарлық операциялар; көбейту, бөлу, модуль; қосу, алу орындалады. 3. Қатыстық операторлар Си++ программалау тілінде алты қатыстық амал қолданылады. Олар сәйкесінше былай белгіленеді: “>” -үлкен, “=>”- тең немесе үлкен, “<”- кіші, “<=” –кіші немесе тең, “= =” –тең және “!=”- тең емес. Қатыстық амалдар арифметикалық амалдардан кейін орындалады. Ал өздерінің ішінде “тең” және “тең емес” ең соңынан орындалады. Логикалық амалдар &&- және дегенді білдіреді; ||- немесе дегенді білдіреді; 5. Математикалық функциялар Математикалық функциялар Си++ тілінде орналасқан. # include файлдың аты командаға жазылады # include Көптеген функциялардың жазылуы сол күйінде сақталады. Жазылу барысында аргументтер жақшаның ішіне алынып жазылады. Келесі жазуларда x,y –double, n-integer бүтін болсын. sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), sinh(x), cosh(x), tanh(x), epx(x), log(x) x>0, pow(x,y) = xy, sgrt(x), ceil(x)=>x, fload(x)<=x, fabs(x), fmod(x,y). 6.Инкременанд. Декременанд Си++ программалау тілінде +1 санын автоматты түрде қосуға болатын инкременанд ++ операциясы бар. Бірді шегеру үшін декременанд -- қолданылады.. Бұл амалдарды префикс ретінде алдынды, постфикс ретінде соңында қолдануға болады. Мысалы: ++n –алдымен 1 саны n-ға қосылады n++ - 1 саны соңынан қосылады --n - алдымен 1 саны n-нан шегеріледі n-- - 1 саны кейін шегеріледі 7. Биттік операторлар Мына операндтар үшін: char, short, integer, long (таңбалы және таңбасыз) биттік операторларды орындауға болады. Олар &- және, |- немесе, ^- немесенің терістеуі, <<- солға қарата жылжыту, >>- оңға қарата жылжыту, (), [], . !, *, /, % +, - <<, >> = =, != & ^ | && || ?: =, +=, -=, *=, /=, %=, ^=, |=, <<=, >>= , Си++ компиляторы оператордағы операндтардың мәнін есептеу ретін қарастырмайды. Сондықтан программист оларды өзі реттеп отыруы қажет. Мәліметтерді анықтау және сипаттау Жоспар 1. Тұрақтылар. 2. Негізгі мәліметтердің типтері3.Инструкция және блок (нұсқау) 4. Меншіктеу операторы және өрнек 5.Формат бойынша шығару және енгізу 6. Оператор немесе нұсқау 1. ТұрақтыларС немесе С++ тіліндегі программалар main()функциясының орындалуынан басталады. Біз main.cpp файлын құрып, оның мәтінін жазалық: #include intmain() { cout<<“HelloC++\n”; return0; } Программаны компиляциядан өткізіп, орындаңыз экранда: Hello C++ мәтіні шығады. Программаның бірінші жолында #include 2. Негізгі мәліметтердің типтеріНегізгі мәліметтердің типтері үшке бөлінеді: бүтін, нақты және анықталмаған(void). Бүтін типті мәліметтер бүтін сандармен жұмыс атқарады. Нақты типтегі сандардың бөлшек бөлігі болады. Анықталмаған тип мәліметтердің бос жиынына сәйкес келеді. Мәліметтердің негізге типтері: char – бүтін тип, символдар. int –бүтін тип, бүтін цифрлар. short – short int – бүтін тип, мұнда өлшемі int типіне тең немесе одан кіші бүтін цифрлар жатады. long - long int (қысқаша long) бүтін тип, мұнда өлшемі int типіне тең немесе одан үлкен бүтін цифрлар жатады. double – нақты типтегі мәліметтер. float – нақты типтегі мәліметтердің ішіндегі ең кішісі. long double – нақты типтегі мәліметтер, double үлкен. #include int main() { char name[20]; cout << "What is your name: "; cin >> name; cout << "Hello: " << name << endl; return0; } Мұнда char name[20]; жолында char типті 20 эеметтен тұратын name массив сипаттадық. Келесі жолда cin >> name; біз cin стандартты енгізу ағынынан мәліметті name массивіне орналастырамыз, бізде мәлімет клавиатурадан түседі. С++ const қызметші сөзі, тұрақты мәліметтерді сипаттауға қолданылады. Мысалы: const char QUESTION[] = "What is your name: ";мұнда біз char типті QUESTION тұрақтысын сипаттадық, оның мәнін программада әрі қарай өзгертуге болмайды. Программада негізгі есепті бірнеше бөліктерге бөледі. Әдетте функция түрі: Return_typename(param_typeparam) { //функцияденесі; } мұнда Return_type - функция қайтаратын мәннің типі, name – функция атауы, param_type – функцияға берілетін параметрлердің типтері, param – параметр атауы, олар функция ішінде қолданылады.Мысалы, баспаға шығаруды жеке функцияға жүктейік. #include const char QUESTION[] = "What is your name: "; //тұрақтыны сипаттау const char HELLO[] = "Hello: "; // тұрақтыны сипаттау void print_name(char* name) // функцияны сипаттау { cout << HELLO << name << endl; //баспаға шығару} intmain() { char name[20]; // массив cout << QUESTION; //баспаға шығару cin >> name; print_name(name); //print_name функциясын шақыру return0; } Біздің жағдайымызда print_name функциясы ешқандай мән қайтармайды, сондықтан оның қайтаратын мәні void. Параметр ретінде char типті name массиві беріледі. Программа орындалу барысында бізге аралық несеме шығынды мәндерді сақтап отыратын орындар қажет. Мәліметтерді сақтауға компьютердің жадысы қолданылады. Жадының нақты ұясын пайдалануға айнымалылар қолданылады. Айнымалыларды сипаттау С тіліндегі сипаттаумен бірдей . Айнымалыға мән меншіктеуге тең болады белгісі, ал оның мәнін экранға шығаруға cout шығару ағыны қолданылады. Программада айнымалы өзгеретін мәндерді сақтауға қолданылады.. Сақталынатын мәннің типіне байланысты мысалы, бүтін сан, алфавиттің әріпі немесе нақты сан, айнымалылардың типтері әртүрлі болады. Айнымалының типі айнымалыда сақталатын мәннің типін және оған қолданылатын операцияларды анықтайды (мысалы қосу, көбейту т.б.). C++ тіліндегі көптеген программалар төменгі таблицада көрсетілген айнымалылардың типтерін пайдаланады.. Айнымалылардың типтер
Сонымен: Программада айнымалыларды қолдану үшін оларды жариялау қажет: типін және атауын береміз. Айнымалылардың атаулары ерекше және өзге программистерге түсінікті болуы тиіс. Айнымалының атауы әріптен немсе астын сызу символынан басталады. C++ тілінде үлкен, кіші әріптер әртүрлі деп саналады. Айнымалының типі айнымалы алатын мәннің типін анықтайды. Айнымалылардың стандартты типтері char, int, float және long. 3.Инструкция және блок (нұсқау) Си++ программалау тілінде берілген өрнектің соңына ; белгісі қойылса ол нұсқау болып табылады. Яғни бұл нұсқаудың ең соңғы мәні дегенді білдіреді. Ал Turbo Pascal тілінде осы белгі бір операторды екінші оператордан ажырату үшін қолданылады. {…} – фигуралық жақшалар сипаттау мен нұсқауларды біріктіреді және оларды жеке жұмыс бөлігі ретінде қарастырады. Дәл осы қызметті Turbo Pascal тілінде begin... end қызметші сөздерінң атқаратынын білеміз. Соңғы «}» фигуралық жақшадан кейін «;» қойылмайды. 4. Меншіктеу операторы және өрнек Си++ программалау тілінде меншіктеу операторын төмендегідей 2 түрде жазып қолданады: і = i+2; i+=2 ; // і = i+2 дегенді білдіреді Осындай амалдарды (+, -, *, /, %, >>, <<, &, |, ^) орындау барысында өрнектің алатын мәні негізінен сол жақтағы операндтың мәніне сәйкес түрлендіріледі. Яғни, түрлендіру автоматты түрде орындалады. 5.Формат бойынша шығару және енгізу Формат бойынша шығару: Printfө мәліметтерді формат бойынша шығару функциясы. Форматта stringөтипті 2 объекті бар: Оның біріншісі литерөсөз, ал екіншісі мәліметтерді түрлендіріп шығаратын формат. Әрбір түрлендіру «%» белгісінен басталады. Одан кейін белгілер қойылады. Онда мынадай белгілерді қолдануға болады.
Scanfөмәліметтерді ағымнан алып, түрлендірген шамаларды сәйкес аргументтерге меншіктейді. Бірақ аргументтердің барлығын жекеөжеке сілтеме ретінде көрсетуге болады. Кез келген жолда мынадай белгілер болатынын білеміз: бос орын, табуляция, алфавиттегі символдар (%-тен басқа), %, *, h, l, L мәндері болуы мүмкін. Мұндағы литер спецификаторлар h, l, L енгізудің түрлерін реттеп отырады. Мына әріптер d, i, n, o, u, x ө үшін h (short) ал l (long) білдереді. E, f, gө үшін l (double), L (long double) білдіреді.
#include void main(void) { cout<<0.12345; } #include void main(void) { cout<<“JamsaPress”< #include #include void main (void) { cout< 6. Оператор немесе нұсқау Си++ программалау тілінде өрнек беріліп, одан кейін ; қойылса ол нұсқау (оператор) деп аталады. Мысалы: х = 0; i++; Күрделі оператор бірнеше нұсқаудан тұратын болса, оларды {} жақшаға алып, блок ретінде беріледі. Ескерту: Си++ программалау тілінде айнымалыларды кез-келген блоктың ішінде сипаттауға болады. |