|
дд. Пример. 1. СС тіліні негізігі тсініктері
1. С/С++ тілінің негізігі түсініктері С/С++ тілдеріндегі программа бір немесе бірнеше функциялардан тұрады. Бұл функциялар программа жазуға қажетті негізгі модульдер болып есептеледі және осы фунциялардың біреуі міндетті түрде main () функциясы болуы тиіс. Кез келген программалау тілдеріндегі тәрізді функция тақырыптан және оның денесінен болады. • Чтобы использовать стандартные функции, необходимо сказать транслятору, что есть
функция с таким именем и перечислить тип ее аргументов – тогда он сможет определить,
верно ли мы ее используем. Это значит, что надо включить в программу описание этой
функции. Описания стандартных функций Си находятся в так называемых заголовочных
файлах с расширением *.h (в каталоге C:\Dev-Cpp\include).
• Для подключения заголовочных файлов используется директива (команда) препроцессо-
ра
1
#include, после которой в угловых скобках ставится имя файла. Внутри угловых скобок не должно быть пробелов. Для подключения еще каждого нового заголовочного
файла надо использовать новую команду #include.
• Для вывода информации на экран используется функция printf. В простейшем случае
она принимает единственный аргумент – строку в кавычках, которую надо вывести на эк-
ран.
• Каждый оператор языка Си заканчивается точкой с запятой.
Препроцессор – это специальная программа, которая обрабатывает текст вашей программы раньше транслятора.
Все команды препроцессора начиняются знаком #. Си тілінің компиляторында макроподстановкаларды, шартты компиляциялауды және атауы бар файлдарды қосуды жүзеге асыруға мүмкіндік беретін препоцессор бар. # символынан басталатын жолдар осы препроцессордың командалары болып табылады. Ең көп тараған директивалар: # include және define. Мысалы, #include файлдарды қосу үшін пайдаланылады. Файлдарда кітапханалық стандартты функциялардың прототиптері сақталады. #include немесе #include <iostream.h>
//файлды енгізу-шағыру функциясын хабарлай отырып, оны қосу
#include //консольмен жұмыс істеуді қамтамасыз ететін функция
#include //графикалық функция
#include // математикалық функция
#define // (анықтау) директивасы макро тұрақтыны құрады және оның әрекеті бүкіл файлға тарайды.
С/С++ тілдерінде пайдаланылатын символдар жиынтығын бес топқа бөлуге болады: 1) қызметші сөздер мен идентифакторлар үшін пайдаланалатын символдар тобы; 2) ұлттық орыс және қазақ әріптері мен араб цифрлары; 3) нөмірлеу белгілері мен арнайы символдар; 4) басқару және ажырату (бөлу) символдары; 5) ақпаратты енгізу-шығару функцияларында пайдаланылатын арнайы символдар топтамасы.
1. Қызметші сөздер мен идентифакторлар үшін пайдаланалатын символдар тобы үлкен және кіші ағылшын әріптерінен, сонымен қатар, төменгі сызықша символы жатады. Басқа программалау тілдерінен өзгешелігі - бұл тілде бір әріптің үлкені мен кішісі әртүрлі символдар болып есептеледі, себебі олардың кодтары әртүрлі. Сонымен, тілдің алфавиттері төмендегі кестеде келтірілген.
Латын алфавитінің үлкен әріптері
| A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
| Латын алфавитінің кіші әріптері
| a b c d e f g h i j k l m n o p q r s t u v w x y z
| Төменгі сызықша (нижняяподчеркивания) символы
| _
|
2. Программада түсініктеме, сөз тіркестерін жазу үшін ұлттық орыс және қазақ әріптері мен араб цифрлары пайдаланылады, олар төмендегі кестеде келтірілген.
Ұлттық орыс және қазақ алфавитінің үлкен әріптері
| А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
| Ұлттық орыс және қазақ алфавитінің кіші әріптері
| а б в г д е ж з и к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я
| Араб цифрлары
| 0 1 2 3 4 5 6 7 8 9
|
3. Нөмірлеу белгілері мен арнайы символдар есептеу процесін ұйымдастыру және компиляторға белгілі бір нұсқаулар жиынтығын жеткізіп беру үшін пайдаланылады. Олар төмендегі кестеде көрсетілген.
Символ
| Атау
| Символ
| Атау
| ,
| Үтір
| }
| оң жақтағы жүйелі жақша
| .
| Нүкте
| {
| сол жақтағы жүйелі жақша
| ;
| нүктелі үтір
| <
| Кіші
| :
| қос нүкте
| >
| Үлкен
| ?
| сұрақ белгісі
| <=
| кіші немесе тең
| '
| Апостроф
| >=
| үлкен немесе тең
| !
| леп белгісі
| [
| сол жақтағы тік жақша
|
| тік сызықша
| ]
| оң жақтағы тік жақша
| /
| қиғаш сызық
| #
| номер белгісі
| \
| кері қиғаш сызық
| %
| Бүтін санды бүтін санға бөлгендегі бүтін қалдық белгісі
|
| Тильда
| &
| амперсанд
| *
| Жұлдызша
| “
| қос тырнақша
| +
| Плюс
| =
| теңдік белгісі
| -
| Минус
| = =
| тең (қатынас таңбасы)
| ^
| логикалық «емес» таңбасы
| !=
| тең емес (қатынас таңбасы)
| )
| оң жақтағы жай жақша
| &&
| конъюнкция (ЖӘНЕ)
| (
| сол жақтағы жай жақша
| ││
| дизъюнкция (НЕМЕСЕ)
|
4. Басқару және ажырату символдары. Символдардың бұл тобына: бос орын, табуляциялау символы, жаңа жолға көшіру, жаңа бетке бару және жатады. Бұл символдар пайдаланушылар анықтайтын тұрақтылар мен идентификаторларды бір-бірінен ажыратады. Ажыратқыш символдар тізбегін компилятор бір символ деп есептейді.
5. С/С++ тілдерінде ерекшеленген символдар тобынан басқа ақпаратты енгізу-шығару функцияларында пайдаланылатын арнайы символдар топтамасы жиі пайдаланылады. Басқару тізбегі «\» белгісінен басталатын символдар тізбегінен құралады. Енді С/С++ тілдерінде пайдаланылатын бірқатар басқару тізбегінің түрлері төмендегі кестеде көрсетілген.
Формат
| Атау
| Он алтылық ауыстыру
| / a
| Қоңырау
| 007
| / n
| жаңа жолға көшу
| 00A
| / t
| көлденең табуляция
| 009
| / v
| тік табуляция
| 00B
| / в
| 1 символдаға кері қайту
| 008
| / r
| жолдың басына бару
| 00C
| / f
| форматты ауыстыру
| 00D
| / d
| дыбысық символ
|
| / ddd
| cегіздік ASII
|
| / xhhh
| он алтылық ASII
|
| / ?
| сұрақ белгісі
|
| / “
| тырнақша
| 022
| / ‘
| апостроф
| 027
| / 0
| ноль символы
| 000
| \ \
| кері қиғаш сызық
| 05C
|
\ddd және \хddd түріндегі тізбек ДЭЕМ кодтар жиынынан символды сәйкес сегіздік немесе он алтылық цифр түрінде беруге мүмкіндік туғызады. Мұндағы d цифрды көрсетеді.
\r – жалпы басқару тізбегі
\015 – сегіздік басқару тізбегі
\х00D – он алтылық басқару тізбегі С/С++ тілдеріндегі программаның жалпы құрылымы: <препроцессор директивалары>
<қолданушы типтерін анықтау - typedef>
<функциялар прототиптері>
<ауқымды объектілерді анықтау>
<функциялар> Функциялардың құрылымы
<жады - класы><тип> <функция аты>
( <параметрлерді хабарлау> )
- функцияның басы
{ <жергілікті объектілерді анықтау>
<операциялар мен операторлар>
- функцияның соңы } С/С++ тілдерінде мәліметтердің бірнеше типтері пайдаланылады. Олар:
- char () - символдық тип;
- short - қысқа бүтін типті сан;
- int – бүтін типті сан;
- long – екі еселенген бүтін сан;
- unsigned – таңбасыз бүтін сан;
- float – нақты сан типі, жылжымалы нүктелі сандар;
- double- екі еселенген нақты сандар типі;
- long double –ұзартылған, әрі екі еселенген нақты сан типі.
Типтердің мәндер аралығы төмендегі кестеде келтірілген.
Тип
| Жады көлемі, байтпен
| Мәндер аралығы
| Char
| 1
| от -128 до 127
| Int
| Для IBM XT,AT,SX,DX 2
|
| Short
| 2
| от -32768 до 32767
| Long
| 4
| от -2 147 483 648 до 2 147 483 647
| unsigned сhar
| 1
| oт 0 до 255
| unsigned int
| Для IBM XT,AT,SX,DX 2
|
| unsigned short
| 2
| от 0 до 65535
| unsigned long
| 4
| от 0 до 4 294 967 295
|
Операндалар мен операциялар.Нәтижесі анықталған мән болып табылатын операциялар белгілері мен операндалардың бірігуі өрнек деп аталады.
Операнд – бұл тұрақтылар, литералдар, функцияларды шақыру, индекстік өрнектер, элементті таңдау өрнегі немесе операндалар, операциялар белгілері мен дөңгелек жақшалардың бірігуінен құралған күрделі өрнек.
Операцияларда пайдаланылатын операндалардың мөлшеріне қарай операциялар: унарлық, бинарлық және тернарлық болып бөлінеді.
С/С++ тілдерінде төмендегідей унарлық операциялар бар:
арифметикалық терістеу (терістеу және толықтыру);
Бит бойынша логикалық терістеу (толықтыру);
! логикалық терістеу;
* жанама адрестеу (разадресация);
& адресті есептеу;
+ унарлық қосу;
++ айнымалы мәнін 1-ге арттыру (инкремент);
-- айнымалы мәнін 1-ге азайту (декремент);
sizeof өлшем;
Унарлық операциялар оңнан солға қарай орындалады. Унарлық операциялардан бинарлық операциялардың айырмашылығы солдан оңға қарай орындалады. Олардың тізімі төмендегі кестеде келтірілген.
Операция белгісі
| Операция
| Операциялар тобы
| *
| Көбейту
| Мультипликативті
| /
| Бөлу
| %
| Бөліндінің қалдығы
| +
| Қосу
| Аддитивті
| -
| Азайту
| <<
| Солға жылжу
| Жылжыту операциялары
| >>
| Оңға жылжу
| <
| Кіші
| Қатынас операциялары
| <=
| Кіші немесе тең
| >=
| Үлкен немесе тең
| ==
| Тең
| !=
| Тең емес
| &
| Разрядты және
| Разрядты операциялар
| |
| Разрядты немесе
| ^
| Разрядты шығарып тастайтын немесе
| &&
| Логикалық және
| Логикалық операциялар
| ||
| Логикалық немесе
| ,
| Ретімен есептеу
| Ретімен есептеу
| =
| Меншіктеу
| Меншіктеу операциялары
| *=
| Меншіктеуі бар көбейту
| /=
| Меншіктеуі бар бөлу
| %=
| Меншіктеуі бар бөлінді қалдығы
| -=
| Меншіктеуі бар азайту
| +=
| Меншіктеуі бар қосу
| <<=
| Меншіктеуі бар солға жылжу
| >>=
| Меншіктеуі бар оңға жылжу
| &=
| Меншіктеуі бар разрядты және
| |=
| Меншіктеуі бар разрядты немесе
| ^=
| Меншіктеуі бар шығарып тастайтын немесе
| Қарапайым меншіктеу.Қарапайым меншіктеу операциясы сол жақтағы операнданың мәнін оң жақтағы операнданың мәнімен алмастыру үшін пайдаланылады.
Мысалы,
int t;
char f;
long z;
t=f+z;
f айнымалысының мәні long типіне түрленіп, f+z есептеледі, нәтиже int типіне түрленіп, t айнымалысына меншіктеледі.
С/С++ тілдерінде басымдығы жоғары операциялар бірінші орындалады. Операциялардың басымдықтары мен есептеулер реті төмендегі кестеде келтірілген.
Басымдық
| Операция белгісі
| Операциялар типтері
| Орындалу реті
| 2
| () [] . ->
| өрнек
| Солдан оңға
| 1
| - ! * & ++ -- sizeof типтерді түрлендіру
| Унарлық
| Оңнан солға
| 3
| * / %
| Мультипликативті
| Солдан оңға
| 4
| + -
| Аддитивті
| 5
| << >>
| жылжу
| 6
| < > <= >=
| қатынас
| 7
| == !=
| Қатынас (теңдік)
| 8
| &
| Разрядты және
| 9
| ^
| Разрядты шығарып тастайтын немесе
| 10
| |
| Разрядты немесе
| 11
| &&
| Логикалық және
| 12
| ||
| Логикалық немесе
| 13
| ? :
| Шартты
| 14
| = *= /= %= += -= &= |= >>= <<= ^=
| Қарапайым және құрама меншіктеу
| Оңнан солға
| 15
| ,
| Ретімен есептеу
| Солдан оңға
|
Шығару операторы. модулі арқылы орындалатын Printf функциясы монитор экранына хабарламалар мен айнымалылардың мәндерін шығаруды жүзеге асырады. Printf функциясының алғашқы параметрі шығарылатын мәтін мен шығарылатын айнымалының форматын анықтайтын шығару жолы болып табылады. Олардың атаулары функцияның қалған параметрлері ретінде көрсетіледі. Айнымалының мәндерін шығару форматы түрлендіру спецификаторының көмегімен беріледі, ол % символынан басталатын символдар тізбегі. Сандық мәндерді шығаруда төмендегідей спецификаторлар пайдаланылады:
%і – таңбасы бар бүтін сандарды шығару;
%u – таңбасыз бүтін сандарды шығару;
%f – жылжымалы үтірлі сандар түріндегі нақты сандарды шығару;
%n.mf – нақты сандарды форматымен шығару;
N – бүтін бөліктің цифрларының саны;
M – бөлшек бөліктің цифрларының саны;
\n – жаңа жол;
\t- табуляция;
\” – қос тырнақша;
\\- түсіндірме жазу;
Printf функциясымен қатар экранға хабарламалар шығару үшін puts функциясын пайдалануға болады, мәтінді шығарғаннан кейін курсорды автоматты түрде жаңа жолға көшіреді. Программа жұмысы аяқталғаннан кейін бірден автоматты түрде басқа тереземен жабылмас үшін программа соңына төмендегідей құрылымды қоюға болады:
Printf(“жұмысты аяқтау үшін клавишын басыңыз);
Getch();
модулі арқылы орындалатын шығару операторының бірі - cout. Бұл шығару операторының жазылу форматы: сout<1<2<<…<n; Мұндағы a1, a2,..., an айнымалылар тізімі.
Егер айнымалының мәні шығарылатын болса, онда << символдарынан кейін айнымалы аты жазылады. Ал, егер экранға мәтін шығарылатын болса, онда << символдарынан кейін тырнақшаға алынып жазылады. Мысалы,
Cout<< “экранға шығарылатын мәтін”
Егер келесі жолдан басталып жазылатын басқару тізбегінің символдарын көрсету үшін де << символдары жазылады. Мысалы, cout<<"Тік төртбұрыштың қабырғаларын енгіз"<<'\n'; Енгізу операторлары. Енгізу функциясы scanf. Бастапқы берілгендерді клавиатурадан енгізу үшін модулі арқылы орындалатын scanf функциясы пайдаланылады. Бұл функцияның бастапқы параметрі басқару жолы болып табылады, ал қалған параметрлер – мәндері енгізілетін айнымалылардың адресі. Енгізілетін мәліметтердің алдына & символы қойылады. Ал, басқару жолы дегеніміз – қос тырнақшаға алынған спецификаторлар тізімі:
%і – таңбасы бар бүтін сандарды енгізу;
%u – таңбасыз бүтін сандарды енгізу;
%f – жылжымалы үтірлі сандар түріндегі нақты сандарды енгізу;
%с – символды енгізу;
%s – жолды енгізу.
Мысалы,
scanf(“%f%f”, &a, &b); // типі нақты a және b айнымалыларын енгізу.
Енгізу функциясы cin. модулі арқылы орындалатын енгізу функциясы сin деп аталады. Бұл енгізу функциясының жазылу форматы: cin>>a1>>a2>>…>>an; Мұндағы a1, a2,..., an айнымалылар тізімі.
С/С++ тілдерінде программа мәтінін енгізіп болғаннан кейін программаны орындау үшін CTRL+F9, ал программаның орындалу нәтижесін көру үшін ALT+F5 клавиштар комбинациясы басылады. Dev C++программасында тек Ғ9 клавишы ғана басылады. clrscr () операторын сүйемелдейтін модуль қандай соны ашып жазу қажет. Бұл программалар мысалы қандай ортаға арналған Borland C++ программасының қай нұсқасы. Void қызметін ашып жазу керек. getch() фунциясының қызметін қосу керек.
Си тілінде математикалық функциялардың жазылуы төмендегі кестеде келтірілген.
Математикалық функциялар
| Си тілі функциялары
| ex
| exp(x)
| sin x
| sin(x)
| cos x
| cos(x)
| tg x
| sin(x)/cos(x)
| Ctgx
| cos(x)/sin(x)
| Arcsinx
| asin(x) –1 < x < 1
| arccos(x)
| acos(x) –1 < x < 1
| Arctgx
| atan(x) –1 < x < 1
| arctg(x/y)
| atan2(x,y)
| sh(x)=1/2 (ex-e-x)
| sinh(x)
| ch(x)=1/2 (ex+e-x)
| cosh(x)
| | x |
| fabs(x)
| ln x
| log(x) x > 0
| lg x
| log10(x) x > 0
| √x
| sqrt(x) x > 0
| xy
| pow(x,y)
| 10n
| pow10(n)
| x бүтін бөлігі
| floor(x)
| кездейсоқ сан алу
| rand()
| бүтін санды бүтін санға бөлгендегі бүтін қалдық
| %
|
1-мысал. Қабырғаларының мәндері бойынша тік төртбұрыштың ауданы мен периметрін есептейтін программа құрайық.
#include
#include
main()
{float a,b,p,s;
cout<<"tik tortb kabyr engiz"<<'\n';
//scanf("%f%f",&a,&b);
cin>>a>>b;
p=2*(a+b);
s=a*b;
cout<<"perimetr="<
return 0;}
Бақылау сұрақтары 1. С/С++ тіліндегі программаның құрылымы қандай?
2. Препоцессордың атқаратын қызметі не?
3. С/С++ тілінде пайдаланылатын символдар жиынтығын атаңыз.
4. , функцияларының атқаратын қызметі қандай?
5. С/С++ тілінде мәліметтердің типтерін атаңыз.
6. Операндалар мен операциялар дегеніміз не?
7. С/С++ тілінің меншіктеу операторының жазылуын көрсетіңіз және оның атқаратын қызметінін айтыңыз.
8. С/С++ тілінің енгізу операторының жазылуын көрсетіңіз және оның атқаратын қызметінін айтыңыз.
9. С/С++ тілінің шығару операторының жазылуын көрсетіңіз және оның атқаратын қызметінін айтыңыз. |
|
|