С++

КIРIСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 3
1 бөлім. Деректердің негізгі тұрпаты
1.1.Айнымалыларды жариялау ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 5
1.2. Локальды айнымалылар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...8
1.3. Ауқымды айнымалылар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 12
2 бөлім. Динамикалық массивтер
2.1 Динамикалық массивтертерді құру және жою ... ... ... ... ... ... ... ... ... ... ... .14
2.2. Динамикалық тұрақты объектілерді құру және жою ... ... ... ... ... ... ... ... ..17
Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 21
Пайдаланылған әдебиеттер тізімі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 23
Си тiлi В тiлiнiң негiзiнде дамыды. Си тiлiн Bell Laboratories-те 1972 жылы Деннис Ритчи DEC PDP-11 компьютерiнде жасады. Си BCPL және В тiлдерiнiң көптеген маңызды концепцияларын және мәлiмет типтерiн және басқа да қасиеттерiн қолданды. Си тiлi UNIX операциялық жүйесiн өңдеудегi тiл ретiнде кеңiнен танымал болды. Қазiргi таңда барлық операциялық жүйелер Си және Си++ тiлдерiнде жазылған. Соңғы он жылдықта Си тiлi көптеген компьютерлерде қолайлы болды.
Си++ Си тiлiнiң кеңейтiлген түрi. Оны 1980 жылдың басында Бъерн Строустроп Bell Laboratories-сында өңдеп шығарған. Си++ тiлi Си тiлiнiң бiрқатар қасиеттерiн реттеудi қамтамасыз етедi және ең маңыздысы объектi-бағдарланған бағдарламалық мүмкiндiгiн қамтамасыз етедi. Бұл бағдарламамен қамтамасыздандыру әлемiндегi революциялық идея болып табылады.
Басқада бағдарламалық тiлдер көптеген қажеттi эффект бере алмағандықтан, Си++ алғашқыда ең жоғарғы деңгейдегi нақтылы оқиғалар үлгiлерiн өңдеу мақсаты үшiн құрылған тiл болды.
Меншіктеу операторы, барлық тілде пайдаланылатын негізгі оператор. Математикадағы қарапайым теңдеу тәрізді айнымалыларға сандық немесе символдық мән беру бұл жағдайда меншіктеу операторы деп аталады. Ол жазылған өрнектердің мәнін есептеп, оны айнымалыға меншіктеу үшін қолданылады.
Ең жалпы операция меншіктеу болып табылады. Си тілінде меншіктеу операторы V=A деп жазылады, мұндағы V - айнымалы, А - өрнек. Тағы да тізбекті меншіктеуді қолдануға болады, келесі түрдегі мысалдағыдай: sum=a=b.
Меншіктеу операторында оң жағындағы өрнек орындалғаннан кейінгі соңғы нəтиже осы мəн тең болатын айнымалының типіне түрленеді. Бұндай процесс типтің “жоғарылауына” немесе “төмендеуіне” əкеледі (екінші жағдайда шама төмен үстемдіктегі мəліметтер типіне түрленуі мүмкін). Типтің “жоғарылауы”, əдетте, жұмсақ өтеді, ал “төмендетуді” жадыдағы мəліметтерді білу арқылы орындау қажет.
1. Н. Культин , С/С++ в задачах и примерах-БХБ-Петербург; 2002 г
2. Крис Паппас, Уильям Мюррей Программирование на С и С++;-К: изд группа BHV, 2000.-320 с
3. Дэвис , Срефан , Р. С ++ для «чайников», Москва, Киев, 2005
4. Ален И. Голуб Правила программирования на С и С++: Мир,1992
5. Практическое руководство по программированию / Пер. с англ. Б. Мик, П. Хит, Н. Рашби и др.; под ред. Б. Мика, П. Хит, Н. Рашби. — М.: Радио и связь, 1986. — 168 с., ил.
6. Фокс Дж. Программное обеспечение и его разработка / Пер. с англ. — М.: Мир, 1985. - 368 с., ил.
7. Язык компьютера. Пер. с англ, под ред. и с предисл. В. М. Курочки-на. — М.: Мир, 1989. ~ 240 с., ил.
8. Компьютерная технология обучения:словарь-справочник/Под редакцией В. Ю. Гриценко, А. М. Довгялло, А. Я. Савельева-К.: «Накова думка», 1992
9. Нұрғалиева Г. Қ. Электрондық оқулықтар – мұғалім мен оқушы арасындағы әрекетттестікті гуманизациялау құралы// «Информатика негіздері» республикалық журналы, №2, 2002.- 2-3 б.
10. Тажигулова А. И. Конструирование электронных учебников//Научно-практический журнал «Информационные технологии в Казахстане», №1, 2000.- С. 42-43.
        
        Мазмұны
 
КIРIСПЕ.....................................................................
...............................................3
1 бөлім. Деректердің негізгі тұрпаты
1.1.Айнымалыларды жариялау
............................................................................
5
1.2. Локальды
айнымалылар.................................................................
..................8
1.3. Ауқымды
айнымалылар.................................................................
...............12
2 бөлім. Динамикалық массивтер
2.1 Динамикалық массивтертерді құру және
жою.............................................14
2.2. ... ... ... құру ... ... тiлi В тiлiнiң негiзiнде дамыды. Си тiлiн Bell Laboratories-те 1972 жылы
Деннис Ритчи DEC PDP-11 компьютерiнде жасады. Си BCPL және В ... ... ... және мәлiмет типтерiн және басқа ... ... Си тiлi UNIX ... ... ... тiл
ретiнде кеңiнен танымал болды. Қазiргi таңда барлық операциялық жүйелер Си
және Си++ тiлдерiнде жазылған. ... он ... Си тiлi ... ... ... Си ... кеңейтiлген түрi. Оны 1980 жылдың басында Бъерн ... ... ... ... Си++ тiлi Си ... ... ... қамтамасыз етедi және ең маңыздысы объектi-
бағдарланған бағдарламалық мүмкiндiгiн ... ... Бұл ... ... ... идея болып табылады.
Басқада бағдарламалық тiлдер көптеген қажеттi эффект бере алмағандықтан,
Си++ алғашқыда ең ... ... ... оқиғалар үлгiлерiн өңдеу
мақсаты үшiн құрылған тiл болды.
Меншіктеу операторы, ... ... ... ... ... ... теңдеу тәрізді айнымалыларға ... ... мән беру бұл ... ... операторы деп аталады. Ол
жазылған ... ... ... оны ... ... үшін
қолданылады.
Ең жалпы операция меншіктеу болып табылады. Си ... ... ... деп жазылады, мұндағы V - айнымалы, А - өрнек. Тағы да ... ... ... келесі түрдегі мысалдағыдай: sum=a=b.
Меншіктеу операторында оң жағындағы өрнек орындалғаннан кейінгі соңғы
нəтиже осы мəн тең ... ... ... ... ... ... “жоғарылауына” немесе “төмендеуіне” əкеледі (екінші жағдайда ... ... ... ... ... мүмкін). Типтің “жоғарылауы”,
əдетте, жұмсақ өтеді, ал “төмендетуді” жадыдағы мəліметтерді білу арқылы
орындау қажет.
1 ... ... ... ... ... ... есептеуіш машиналарын программалық жабдықтау барысында
негізгі орын программалау жүйелеріне тиесілі. Ал, программалау ... ... ... арналған универсал құрал. Программалардың
көмегімен ... ... , ... ... , ... ... ... сақтау және іздеу т б әрекеттерді жүзеге асыруға
болады.
Өз кезегінде бұл ... өзі ... ... ... программалау тілдерінің өзгеру қарқыны өте жылдам,қазіргі таңда
программалау тілдерінің саны көп және жыл ... жаңа бір ... ... тілі ... ... 70-жылдары басында АҚШ-та Bell Telephon Laboratories
компаниясының қызметкері Дэннис Ритчидің бастауымен дүниеге келді. Бұл
тілдің негізі ... ... Си және ПЛ/1 ... қатар пайда болды.
Си тілінің шығуы UNIX операциялық жүйесінде программалаумен тығыз
байланысты, өйткені бұл жүйе ассемлерде және осы Си ... ... ... Бұл ... жазылған программаны компьютерде орындау кезінде ол
алдымен трансляция сатысынан өтіп (машина тіліне аударылып), объектілік
программа түріне ауысады да, сонан кейін барып ... Осы ... ... екі ... ... біріншісі – Cи тіліндегі алғашқы нұсқасы, ал екіншісі – объектілік
кодтағы машина тілінде жазылған программа. Есептің ... тек ... ... программа арқылы аламыз, ал программаны түзету қажет
болғанда оның алғашқы ... ... оны ... ... ... ... Си ... даму жолына қарасақ:
1. Алгол-60 - 1960-ж. халықаралық комитет жасап шығарды
2. CPL - (Combined ... ... ... және ... 1963 ж. ... ... BCPL - (Basic Combined Programming Language) Кембриджде Мартин
Ричардс 1967 ж. жасап шығарды
4. B - Bell Labs ... Кен ... 1970 ж. ... С - Bell Labs ... ... Ритчи 1972 ж. Жасады
6. Сонымен, 1983 ж. Си тілі стандартын жасау үшін (ANSI C) ... ... ... (ANSI) ... ... программа жеке-жеке жолдардан тұрады. Оларды теру, түзету
арнайы мәтіндік редакторлар арқылы атқарылады. Программа қатарларының
алдындағы азат жол ... бос ... саны өз ... ... қатарға бірнеше командалар немесе операторлар орналаса алады, ... ... ... үтір (;) ... ... ... ... бір жолда
бір ғана оператор тұрғаны дұрыс, әрі ... ... әрі ... ... ... ... оң және мәндері үшін төмендегі функцияны есептеу
y = sqrt(x*x+1)+abs(x), егер x y = 3*x+4, егер x>=0 *
/ #include /* ... ... ... ... #include /* ... ... *
/ #include /* матем. функциялар директивасы*/ main() {
int x; float ... /* ... ... /* қара ... /* ... ... ... ");
scanf("%d",&x);
if (x else y=3*x+4;
printf("Нәтиже=%f\n",y);
printf("Аяқтау үшін Enter басу керек");
getch(); /* ... ... ... */ return 0; ... ... алфавиті
Тілдің алфавиті программаның элементтерін құруда қолдануға болатын
символдар жиынынан тұрады. Оған әріптер, цифрлар және ... ... Тіл ... қарай символдар тобын шартты түрде төмендегі
топтарға жіктеуге болады, олар
• атау ... ... ... ... ( ... және ... ... цифрлар ( 0,1,2,…,9 ) ; айыру белгілері ( , . : ; “ _ ... ... ... ( #, &, ... а) Әріп ... латын алфавитінің бас және кіші әріптері қолданылады,
олар: A B C D E F G H І 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 і j k l m n o p q r s t u v w x y z және ... сызу ... ... саналады;
Бас әріптер мен кіші әріптер бірдей болып саналмайды, мысалы, Х пен х екі
айнымалы ... дәл сол ... ALFA1, aLfA1 және alfa1 де әр ... ... ... ... ... әріптер цифрлармен араласып жазыла
береді, бірақ атаудың алғашқы ... ... ... әріп ... ... VES1, SALMAK2, Baga_5, cena7, T7S25, ART25var8,т.с.с.
Ұлттық әріптер ... ... араб ... атау ... ... ... ... (“) алынған тұрақты сөз тіркестері немесе /* және */
таңбаларымен қоршалған түсініктеме ретінде ғана ... /* ... ... Ондық цифрлар: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 тәрізді сан таңбалары. Он
алтылық цифрлар ондық цифрлардан және A-дан F-қа ... a-дан ... ... ... ... ... пунктуациялау және операциялар (амалдар) белгілері
жатады.
б) Арифметикалық амалдардың белгілері:
❖ + - қосу;
❖ * - көбейту;
❖ – - алу;
❖ / - ... % - ... ... 10 % 3 - нәтижесі 1;
в)Логикалық амалдардың белгілері:
&& - және (екі шарт қатар орындалады A && B);
|| - ... (екі ... бірі ... A || ... - емес ... кері - ... амалы !A);
г) Айыру белгілеріне бос орын, ЕNTER (келесі жолға ... ... ... және үтір, нүктелі үтір таңбалары жатады. Айыру белгілері
атауларды, сандарды, түйінді сөздерді бір-бірінен бөліп тұрады.
Түсініктеме // таңбасынан кейін жол ... ... /* және ... ... ... ... ... соңғысы – бір немесе
бірнеше жолдар-дан тұруы мүмкін. Сонымен, айыру белгілері:
_ (бос орын
) , ... ... (қос ... ... үтір)
' (апостроф)
“ (қостырнақша)
(, ), [ , ] , { , } таңбалары.
д) Қатынас ... ... ... ... = ... (тең емес), (үлкен),
= (кіші емес таңбасының орнына)
Әрбір символдың ... ... ... ... ... коды ... стандарт түрінде бекітілген. Әр елдің стандарттары негізінде
америкалық кодтар ... ... ... Standart Code ... ... - ... ... жұмыс істеу кезеңінде
оларды да білген абзал.
Си тілінің түйінді сөздері – программада алдын ала анықталған белгілі
бір мағынасы бар сөз тіркестері. Си ... ... ... ... ключевые слова) мәліметтер типтері, операторлар мен стандартты
функциялар атаулары, жады кластары, модификаторлар (толықтырғыштар),
т.с.с., олардың ... әр ... ... ... ... ... ... сөздер:
auto double int struct break else long switch register tupedef char
extern return void case float unsigned default for signed union do ... volatile continue enum short while, ... ... түйінді сөздерді айнымалы аттары немесе тұтынушы
қойған бейстандарт атаулар ретінде қолдануға болмайды.
Cи тілінің қарапайым объектілері
Тілдің қарапайым объектілеріне тип, сан, ... ... және ... ... ... кіреді.
Тілдің ары қарай бөлінбейтін ең қарапайым бірлігі лексем (token деп
те айтады) деп аталады.
Лексемнің 5 типі бар:
операциялар (operator),
айыру таңбалары (separator),
идентификаторлар (identifier),
түйінді ... ... және ... ... ... ... ... мүмкіндік беретін объектілерді
қарастырып, программаның жалпы құрылымынан мәліметтер берейік.
Константалар және кез келген айнымалылар бүтін саннан, нақты саннан,
символдан ... сөз ... ... ... типтері. Мұнда мәліметтердің бірнеше негізгі типтері
қолданылады.
Олар: char – символдық, яғни таңбалық тип,
short – ... ... ...... сан ... – екі еселенген бүтін сан,
float – нақты (жылжымалы нүктелі) сан типі,
double – екі еселенген нақты сан типі.
unsigned – таңбасыз ... ... ... ең үлкен ұзындықтары әр түрлі компиляторларда бірдей
болуы қажет емес. Олар компьютерлердің аппараттық мүмкіндіктеріне қарай
тағайындалады.
Бірақ ... ... ... қойылады:
int > =short; short пен int типтерінің ұзындығы >= 16 бит;
Int типін стандарт бекітпеген, ол ... ... ... ... ... 16-разряд-ты процессорде ол 2 байт (32768), ал
32-разрядтысында – 4 байт (2 147 483 647 ... int = short ... > = int; long ... ... >= 32 бит;
(ТурбоСи-дегі long 2 147 483 647 ... және unsigned ... да ... ... әсер ... олар:
unsigned short int – 2 байт, оның диапазоны 0 ..65536;
unsigned long int – 4 ... ... 0..+4 294 ... типі int, long, short түйінді сөздерімен сипатталатын типтердің
модификаторы ретінде қолданылады.
Char типін 0–255 аралығындағы таңбасыз бүтін сан-дарды сипаттауға ... ДК ... ... бір байт орын ... char ... ... ... компьютерде 2 бөліктен – дәреже мен мантисса-дан тұрады. IBM-
РС компьютерлерінде float ... ені – 4 ... оның бір ... – сан
таңбасы, 7 разряды – дәреже, 24 бит – мантисса.
Егер double типі аты алдында long сөзі ... онда оған 10 байт ... ... ... ... ... нүктелі нақты
(аралас) сандар пайдаланылады.
Double типті сандар екі еселенген дәлдікпен 64 бит арқылы өрнектеледі.
Double ... ені – 8 ... 1 бит – ... 11 бит – ... және 52 ... мантисса. Мантисса ені – санның дәлдігін, ал дәреже ені – оның ... Си ... ... ... байт ... анықтау үшін
sizeof стандартты операторы қолданылады.
Мысалы: printf(“Данные типа double ... %d ... ... ... ... ... ... ... |'W', '&', 'Ф' |
| |бір ... | ... ... ... жол \n" |
| ... ... | ... ...... |123, -1999 |
| ... ... | |
| ... | |
| ... — нөлден |0 11, 0177 |
| ... 0 мен 7 ... |
| ... цифрлар |Oxffff |
| ... ... | |
| ... ... | |
| ... (0 – 9 және А - | |
| |F), ... 0X ... Оx| |
| ... | ... ... — |123., 3.14, .99 |
| ... | |
| ...... |
| ... |1.17е6 |
| ... | ... мен ... ... және ... болып екіге бөлінеді. Бүтін сандар:
+4, -100, 15743, 0 , ... ... үшін ... ... ... ... іnteger) бұрын
-32768 бен +32767 аралығында ғана жазылған еді, қазір компьютер типіне
байланысты ол басқаша да бола береді.
Мұнда ... ... және он ... ... ... да ... ... сандардың алдына 0х белгісі қойылады. Мысалы, 0хA12 немесе 0х8B2.
Сегіздік сандар алдына 0 қойылады: 0556, 07012, т.с.с.
Нақты ... ... float) ... ... ... ... ... санның
бүтіні мен бөлшегін нүкте арқылы бөлген күйде жазылады.
Мысалы: 2.65, 0.5, -0.862, -6.0.
Ал өте ... ... өте кіші ... ... көрсеткіші бар экспоненциал
сандар ретінде mЕ±р түрінде жазылады да, олардың диапазоны әлде қайда кең
болады, мұндағы m-санның ... деп ... ... ... ... ал р- дәреженің өз мәні.
Мысалы: 1,25•106 1.25Е+6 0,0005 0.5Е-3
-5,2 • 10-12 - 5.2Е-12 -180000 ... Атау – ... ...... ... ат) программаны
және программадағы тұрақтыларды, айнымалыларды, функцияларды, файлдарды
және тағы басқаларды белгілеп жазу үшін қажет.
Идентификатор – ... ... ... ... ... мен әріптердің
тізбегі. Оның ұзындығын өте үлкен етудің қажеті жоқ, өйткені атауларды теру
және кейіннен ... ... ... ... етеді. Бірақ оларды өте қысқартпай,
мағынасына сәкес атау беру қалыптасқан. Мыса-лы: X, x_2, cymka, bec,
p23ps6, dt54as, ALFA, baga2, salmak, Omega2, т.с.с.
Бас әріп пен кіші әріп ... ... ... ... ... ... деп программаның орындалу барысында мәндері
өзгеріссіз қалатын шамаларды айтады.
Тұрақтыға программа басындағы директива арқылы мән ... те ... ... ... бөлімінде идентификатор түрінде белгілеп алып мән
берсек те болады. Олар сандық, ... және ... (іnt, float, ... ... ... ... және тіркестік (строковый – strіng) мәндер үшін орыс, қазақ
әріптерін және кез ... ... ... ... Олар ... ... жазылады, мысалы: “S=“ , “сумма” , “функцияның мәні”,
“y=“ және т.б.
Тұрақтыларды анықтау мысалдары:
a) Атау арқылы:
const типi ... = ... float ... F=765; // типі int ... char s=‘B’; // символдық тип
const Menіng_atjm = “Ақметов Болат” ;
const C=”Turbo С”;
const float Pi = 3.14159;
const float Pi2 =2 * ... const Pi = 3.14159; ... ... деп ... онда Pi
мәні 3 тең болады
b) Директива арқылы: #define тұрақты мәні
#define pi 3.14159 // ... ... EULER 2.718282 // ... ... ... ... бар ... анықтаушы)
#define макрос_ идентификаторы(аргументері) алмастыратын_мәтін
Макрос идентификаторы мен аргументтер арасында бос орын болмау керек.
Макросты шақыруды келесі өрнекпен орындауға болады:
макрос_идентификаторы(аргументтер)
Мысалы: #define CIRC(x) (3.14159 * (х) * (х)) ... ... ... ... ... ... S = CIRC(4); ... кездессе, онда аргументі
тұрақты болғандықтан (3.14159 * (4) * (4) ) ... мәні ... ... S-ке ... ... ... келесі түрде жазылса
S = CIRC(a + b);
Онда макрос кеңейтілгеннен кейін мәтін түрі:
S = ... (a+b) * (а + b) ) ; ... ... ... болғантықтан өрнек мәні компиляция кезінде
емес программа орындалған уақытта есептеледі.
Егер макросты ... ... ... онда ... ... 3.14159 * а + b * а + b ... қате болады.
Екінші мысал, эллипс ауданын есептеу:
#define Еll(х,у) (3.14159 * (х) * ... ... ... ... ... ... = Ell(Rl, R2);
Есептеулердің алынған нәтижелеріне қарағанда макростар функцияларға
эквивалентті . Мысалы , шеңбер ауданын есептеу функциясын келесі
формаға келтіруге болады :
double circ(double x)
{ return 3.14159 * х * х; ... оны ... ... = circ(a + ... ... ... ... келесі түре болса S = circ(а++);
S = (3.14159 * (а++) * (а++));
онда шеңбер ауданы дұрыс ... ал ... мәні 1 ... 2 ... ... ... 1 ... алып ауданын есептемек болсақ
макросты келесі түре шақырғанда S = circ(++a); макрос келесі түрде
кеңейтіледіде S=(3.14159 ... ... екі рет 1-ге ... ... ... S = (3.14159 * (а + 1) * (а + 2) ) ; ... ... жоғрыда келтірілген функцияны қолдансақ, мұндай
эффекттер болдмайды.
5. Айнымалылар деп программаның орындалу бары-сында әр түрлі
мәндерді қабылдай алатын шамаларды ... ...... ат ... ... Оған мән ... сол ... мәннің
екілік коды жазылады. Айнымалы мәнін қолдану үшін оның атын –
идентификаторын және мән ... ... ... білу керек.
Олар идентификаторлармен белгіленіп, әр уақытта әр түрлі мәнге ие
бола алады. Айнымалылардың белгіленулері: alfa, y, x_3, summa, baga,
a1b8, ... ... ... оның орындайтын міндетіне сәйкес,
түсінікті және қарапайым болғаны жөн. Айнымалыларды сипаттау оларды
пайдалану алдында кез келген жерде орналасады да, ... ... ... ... форматы: , ..., ;
Мысалы: іnt a, b=5, d, D;
float c, alfa=2.15, b4=1.336e2;
char symbol, cc;
string coz, ... ... үшін ... ... тұрақтылар мен мәні
анықталған айнымалыларды қолануға болды: int xl = 1, х2 = 2 * xl;
Айнымалыларды ... ... ... болуы мүмкін немесе ол кейбір
операторлар ішінде істелінеді , мысалы , цикл операторында :
for ( int i = 0; ... ... ... бастапқы мән меншіктеуге болады, оны
айнымалыны инициалдау дейді. Си тілі-нде символдық тіркестерді
сипаттау үшін ... тип жоқ, олар ... char ... ... ... (жиым) ретінде қарастырылады. Жолдық немесе тіркестік
символдар ЭЕМ жадында көршілес ұяшықтарда сақталады да, олардың
соңында ‘\0’ символы тұрады. ... ... ... ... strlen сөзі ... m1[]=”Таңбалар жолы”;
char m[44]=”Только ограничтесь одной строкой”;
Сілемді жариялау үшін ... ... ... квадраттарды жақшаларда
элементтердің саны көрсетіледі.
Мысалы, float mas[20];
Арифметикалық немесе логикалық амалдар таңбасымен біріктірілген
айнымалылар, атаулар, функциялар, жиымдар ... ... ... ... ... ... өрнектер, алгебрадағы
көпмүшеліктер программалау тілінде тек осы өрнек ұғымы арқылы
беріледі.
Программалау тілінің белгілі бір іс-әрекетті орындай алатын
тиянақты ... бар ең ... ... ... деп ... ... ... математикадағы тәрізді стандартты функциялар бар. Олар
жиі кездесетін математикалық және басқа да функцияларды есептеу үшін
қолданылады. Стандартты функцияны жазу үшін міндетті ... ... және ... ішінде аргументі көрсетілуі қажет. Функцияны есептеу
барысында аргумент пен функция типтерінің әр уақытта сәйкес келе
бермейтінін есте сақтаған жөн.
Енді программаларда жиі ... ... ... ретінде
қарастырайық.
||x| |fabs(x) ... ... |
| | ... ... | ... |abs(x) ... ... |
| | ... ... | ... x |tan(x) ... ... |
| | ... | ... x |atan(x) ... ... |
| | ... | ... x |acos(x) ... |нақты |
| | ... | ... x |asin(x) ... ... |
| | ... | ... x |cos(x) ... ... |
| | ... | ... x |sіn(x) ... ... ... |exp(x) ... ... х ... |
| | ... | ... |log(x) ... ... ... |
| | ... | ... x l |og10(x) ... ондық |нақты |
| | ... | ... |M_PI ... мәні | |
| | ... | |
|e |M_E ... мәні | |
| | ... | ... ... ... n дәрежесі |нақты |
| |sqrt(x) ... ... ... |
| | ... | |
| |ceil(x) |х ... ... ... |
| | ... ... | |
| | ... | ... hpp ...... ... ... |
| | ... жоғары | |
| | ... | |
| ... ... ... ... ... |х санын бүтінге |бүтін |
| | ... ... | |
| | ... | |
| ... |randomize | |
| | ... | |
| | ... | |
| | ... | ... |rand |0... 37767 ... |
| | ... | |
| | ... сан | ... ... |0... num-1 ... |
| | ... | |
| | ... сан | ... ... ... ... ... операндалар
саны бойынша операциялар былай бөлінеді: унарлы операциялар,
немесе бір операндты ... ... ... екі операндты операциялар,
тернарлы операциялар, немесе үш операндты (бұл шартты операция Меншіктеу
операциясы да унарлы жөне бинарлы бола ... ... ... ... ... карай жүргізіледі. Бинарлы операциялар солдан оңға карай
талданады
Унарлы операциялар тобы
Мөлшер
|Операция белгісі |Операция ... тобы |
|- ... ... ... және толықтауыш|
|~ ... ... | |
| ... ... | |
|! ... ... | |
| ... алып ... ... алып ... |
| | ... ... |
|* & ... | |
|+ ... плюс ... плюс sizeof |
| | ... ... операциялар топтары
|Операция белгісі |Операция ... тобы |
|* ... ... |
|/ ... | |
|% ... ... қаддық | |
|+ ... ... ... ... ... ... операциясы |
... ... | |
| |Аз ... ... |
|> |Көп | ... ... тең | | ... |Көп ... тен | |
|= |Тең | ... |Тең емес ... ... |
|& ... логикалық ЖӘНЕ | |
| ... | |
|| ... ... | |
| ... Логикалык | ... ... ЖӘНЕ ... | |
| ... | ... ... ... | |
| ... | |
|> ... ... ... |
| | ... есептеу |
| | | ... ... ... ... ... операциясы оң
операнданың мәні сол операндамен берілген жад облысына меншіктелуін айтады.
Сондықтан меншіктеу операциясының сол операндасы немесе меншіктеудің унарлы
өрнегінін ... ... жад ... ... ... ... керек.
Меншіктеу операциялары
Операция белгісі Операция аты
++ Көбею (унарлы инкремент)
-- Азаю (унарлы декремент)
= Қарапайым меншіктеу
*= Меншіктеумен көбейту
/= Меншіктеумен бөлу
%= Меншіктеумен ... ... ... Меншіктеумен косу
-= Меншіктеумен алу
«= Меншіктеумен солға жылжу
»= Меншіктеумен оңға жылжу
&= Меншіктеумен ... ... ... ... ... ... разрядты шығарып тастайтын НЕМЕСЕ
Жад облысына сілтейтін өрнек ... ... деп ... ... деп ... ... ... өрнектер бола алады: берілгендердің бүтін және
жылжымалы типті, сілтемелер типті,|кұрылым және қоспа типті
идентификаторлары; ... ... ... ... ... ... басқа индекстік өрнектер ([ ]); элемент таңдау өрнегі (->
немесе .)> егер таңдалатын элемент жоғарыдағы өрнектердің бірі болса;
адрестеуді алып ... ... ... ... (*), бұнда массив немесе
функцияға сілтейтін өрнек болмауы керек; дөңгелек жакша ішіндегі атайтын
өрнектері (1-мән). Ескерту. const кілтті сөзімен сипатталған объект
меншіктеу операциясының сол ... бола ... ... ... ... ... ... орындалу барысында өрнектер операндаларын бір типке келтіру
немесе қысқа шамаларды бүтін шамалардың өлшеміне дейін кеңейту үшін
типтерді автоматты ... ... ... ... және ... ... операнда типіне байланысты. Көп
операциялар бүтін жөне жылжымалы типтерге ұқсас түрлендірулер орындайды.
Бүл ... ... ... ... келтірілген
арифметикалық түрлендірулер қарапайым арифметикалық түрлендірулер деп
аталады.
Қарапайым арифметикалық түрлендірулер ... ... ... ... float типті операндалар double типті операндаға түрленеді.
2. Егер бір операнд long double типті болса, екінші ... long ... ... Егер бір операнд double типті болса, екінші операнд double типіне
түрленеді.
4. char немесе short типті кез-келген операнда int типіне тұрленеді.
5. unsigned char ... unsigned short ... кез ... ... ... ... түрленеді.
6. Егер бір операнд unsigned long типті, онда екіншісі unsigned ... ... Егер бір ... long ... ... онда ... ... long типіне
түрленеді.
8. Егер бір операнд unsigned int типті, онда екінші операнд unsigned int
типіне түрленеді.
Сонымен, өрнектер есептеу барысында операндалар кай ... ... ... ... ... ... ... сипатталған болса:
double fl;
unsigned char ch;
unsigned long m;
int i;
Онда fl*(i+ch/m) өрнекті ... ... ... ... орындалады. сһ
операндасы әуелі unsigned int типіне түрленеді (5 ереже). Содан соң
unsigned long типіне түрленеді (6 ереже). Осы ереже ... unsigned ... ... ... жакшаға алынған өрі корытындысы unsigned long
типін алады. Сосын ол double ... ... 3 ... және бүкіл өрнек
корытындысы double типін алады Терістеу және толыктауыш операциялары
Арифметикалық терістеу операциясы ("-") өз ... ... ... ... немесе жылжымалы (яғни нақты) шама болуы керек. Орындалу
барысында қарапайым арифметикалық түрлендірулер орындалады.
М ы с а ... ... ... stat является отрицанием 5*/
stat=-12; /* stat присваивается отрицание к 12*/
EMEC ("!") логикалык терістеу операциясы егер операнд ... ... ... онда 0 ... ... және егер операнд жалған болса (0), онда 1 мәнін
алады. Қорытындысы int типті болады. Операнд бүтін немесе I ... ... ... ... ... керек. Мысал: int x=0; !x өрнегінің корытындысы
1-ге тең (акиқат). Екілік толықтау операциясы ("~") өз ... ... ... ... бүтін типті болуы керек. Қарапайым арифметикалық
түрлендірулер жүргізіледі де, ... ... ... ... типін
алады.
М ы с а л:
main () { сhar c='9';
unsigned char cc;
cc=~c;
рrintf("с(символ)=%с\tс(оналтылық) = %x\n",c,c);
рrintf("~с(символ)=%с\t~с(оналтылық) = %x\n",cc,cc); )
Программа орындалу ... ... ... ... ("*") ... ... ы с а л д а р:
int a = 5;
float у = 0.2;
double x, z; х = у * ... ... ("/") ... ... ... ... ... шақырады.
Егер екі бүтін сан бүтін бөлінбесе, нәтиже келесі тәртіп бойынша
анықталады: егер операндтар оң мәнді және unsigned типті болса, нәтиже ең
жақын ... ... ... ... егер операндтардың біреуі теріс
мәнді болса, нөтиже бағыты (нольден немесе нольге) әр компьютерге сәйкес
анықталады (берілген қарастыруда нольге). Нольге бөлу ... қате ... ... () int с = ... cc = ... (%d/%d = %d\n",c,cc,c/(cc));
printf (%d/-%d = %d\n",c,cc,c/(-cc)); }
Программа орындалу корытындысы:
49/10 = 4
49/. 10 = -4
"Бөлуден қалдық" операциясы ("%") ... ... ... ... нәтижесін береді.
Нәтиже таңбасы белгілі компьютерге тәуелді. Берілген қарастыруда нәтиже
таңбасы бірінші операндтың ... ... ... ... ... ... тең ... хабар беріледі.
М ы с а л:
main ( )
{ int с = 49;
int cc = ... ... от ... %d на %d = %d\n",c,cc,c% (cc));
printf ("остаток от ... %d на -%d = ... ... ... от ... -%d на %d = %d\n",c,cc,(-c)% (cc));
printf ("остаток от деления -%d на -%d = ... (-cc)); ... алып ... және ... операциялары
Бұл операциялар сілтеме типті айнымалылармен жұмыс үшін қолданылады. *
адрестеуді алып тастау операциясы адрестелген ... ... ылы ... ... ... Операнд сілтеме болу керек. перация нәтижесі
операнд көрсеткен өлшем болып ... ... типі теме ... ... ... табылады. Егер сілтемеде кате адрес болса, нәтиже анықталмайды.
Сілтемеде кате адрес болғандағы кейбір жалпы ... ... ... ... ... ... нүсқау кезінде белсенді емес жергілікті объект
адресін анықтайтын сілтеме;
printf және scanf функциялары
Си тілінде сыртқы ортамен мәліметтер алмасу ... ... ... арқылы орындалады. Ол тақырып файлы ретінде былай
жазылады:
#include
Printf() ... ... ... ... үшін ... Оның жалпы
жазылу түрі: printf(,);
( – қостырнақшамен (”) шектеліп, аргументтердің қалай бейнеленетінін
көрсетіп тұрады, экранға (баспаға) шығару алдында барлық аргументтер ... ... ... ... % ... және мәліметтер типін, оларды түрлендіру тәсілін көрсететін бір
әріп жазылады. ретінде айнымалылар, константалар, өрнектер қолданылуы
мүмкін.
Мысалы:
printf (“Пи санының мәні = %f\n”, ... ... ... болады:
1) мәтін ретінде шығарылатын символдар тіркесі;
2) түрлендіру спецификациялары;
3) басқару символдары.
2. Спецификациялардың ... ... ... өз ... ... ... %d – ... ондық сан шығарылуы тиіс,
%i – бүтін ондық сан шығарылуы тиіс,
%f – жылжымалы нүктелі нақты ондық ... ) ... ...... ... ... сан
(-d.dddde±dd) шығарылады,
%E – жоғарыдағы сияқты, тек е орнына Е
(-d.ddddE±dd) шығарылады,
%c – бір символ, яғни таңба (char) ... ...... ... ... шығарылуы тиіс,
%g – нақты сан, сан ұзындығына қарай
%e немесе %f қолданыла алады,
%u – ... ... ... сан ... ...... бүтін сегіздік сан шығады,
%x – таңбасыз бүтін он алтылық сан шығады.
\n – ... жаңа ... ... ... ... символы.
Мысалы: %9i – бүтін сан ені 9 цифрдан ... сан ені аз ... оның ... бос ... ... – нақты сан ені 9 цифрдан тұрады, оның 3 таңбасы ... ... ені аз ... оның сол ... бос ... ... ... % символынан басталып, түрлендіру символымен аяқталады.
Ол екеуінің ортасында мыналар тұруы мүмкін:
минус таңбасы, аргумент мәні сол жақ ... ... ... ... ... ... ... енін анықтайды.
Сан осы енге немесе одан артық болып ... Егер ... ... ... аз ... онда ол бос ... толтырылып жазылады.
2) Scanf() енгізу функциясы жоғарыда қарастырылған түрлендіру
спецификациясының көбін пайдаланады.
scanf (,); Аргументтер ретінде адрес нұсқауыштары пайдаланылады.
Мысалы: scanf("%d%f", &x,&y);
Кейбір ... атап ... және %f ... ... кезінде бірдей болып табылады; short
типті бүтін санды енгізу кезінде %h спецификациясы қолданылады.
ЕСКЕРТУ. ... ... беру үшін ... ... айнымалы адресін
анықтау үшін & символы қолданылады. Ал тіркестік (жолдық) айнымалыны
енгізгенде, & символы жазылмайды.
Жол енгізуден бір мысал келтірейік.
/* Жол ... ... ... char name ... ... ... ... является %s\n",name);
}[kgl]
Си тілі операторлары
«Өрнек» немесе меншіктеу операторы
Құрама операторлар
Типтерді түрлендіру
Келтіру операциясы
Логикалық оператор
Таңдау операторлары
«Өрнек» немесе меншіктеу операторы
Кез келген ; ... ... ... ... ... ... Өрнек-тің бір түріне бос оператор жатады, ол жай ; операторы.
Мысалдар: y=1.5e3;
i++; a+=2;
m1: ... ... ... ... жай ... ... және ... жатады. Екеуі де
жүйелі жақшаға алынып жазылады. Блокта жай құрама операторларға қарағанда,
айнымалыларды сипат-тау ... ... n++; жай ... ... ... { int n=0; n++;
бұл блок summa+=n; }
Типтерді түрлендіру
Егер өрнекте әр ... ... ... мен ... қолданылса, онда олар
жалпы бір типке түрлендіріледі. Біз қарастырған барлық негізгі типтер
ішінде төменнен жоғары қарай бағытталған түрлендірілу реттілігі бар. ... ... ... ... ... ... мынадай болып шығады:
char ® short ® int ® long ® float ® double
Оң жақтағылары сол жақтағылардан жоғары дәрежелі ... ... Егер ... short типтері араласса, нәтижесі – chort болады, ал short пен ... ... ... – int ... ... float пен double ... ... double болады.
1. Егер операция екі түрлі типтегі ... үшін ... ... олар осы ... ... ... ... типке кел-
тіріледі.
2. “Жоғары” типтен бастап, “төмен” типке дей-ін реттелген типтер
аттарының тізбегі келесідей түрде көрсетіледі: double float long int
short ... ... оң ... ... ... ... ... оператордың сол жағына жазылған айнымалының типіне келті-ріледі.
Осындай процесс типтің “жоғарысына” немесе “төменіне” келтірілуі мүмкін
Мысалы:
main () { char ch; int ... ... i=%d ... ch=A i=65 fl= 65.00 ... ch=66 ... ... fl=2.0*ch+1;
// fl=2*66+1=133 printf("ch=%c i=%d fl=%6.2f\n",ch,i,fl);
}//ch=B i=197 fl=133.00
Келтіру операциясы
Жоғарыда көрсетілген типтердің түрлендірілуі автоматты ... ... ... ... ... келтіру үшін Си тілінде ар-найы
бір тәсіл бар. Бұл тәсілде типтердің келтірілуі келесідей түрде
қолданылады: айнымалының ал-дында дөңгелек жақшада қажетті типтің аты ... ... ... келтіру операциясы мынадай болып жазылады: (тип)өрнек.
Мысалы:
int m;
float x,y;
y=pow(x,2)+sqrt((double)m);
Логикалық оператор
Қатынас операциялары екі мәнді салыстыру үшін қолданылады: ... ... ... нәтижесі ақиқат болса, шарттық өрнектің мәні 1-ге
тең болып саналады. Егер ол жалған ... ... ... мәні 0-ге ... операциясының приоритеті арифметикалық операцияларға қарағанда,
төмен және меншіктеу операторымен салыстырғанда жоғары болады. Екі немесе
бірнеше шарттық өрнектерді ... үшін ... ... қажет.
Си тілінде келесі логикалық операторлар бар және (&&) операциясы f1
&& f2
немесе | | (or) операциясы f1 || f2
терістеу (not) ... ... ... ... ... ... өте жоғары, одан тек жақша
ішіндегі мәндер-дің приоритеті жоғарылау болады. && операциясының
приоритеті || (or) операциясымен салыс-тырғанда жоғары, ал осы ... ... ... салыстырғанда төмен, меншіктеу
операциясынан жоғары болады.
Таңдау операторлары
Таңдау операторлары – бұлар шартты оператор және ... ... ... ... және ... түрі ... (шарт-өрнек) оператор; //қысқа түрі
Шарт-өрнек ретінде арифметикалық өрнек, ... ... ... ... Егер ... өрнек мәні нөлге тең (яғни ақиқат болса) болмаса,
онда оператор атқарылады.
Мысалы: if (x if ... ... ... түрі else ... шартты өрнек мәні нөлге тең (яғни ақиқат болса) болмаса, онда 1-
оператор атқарылады, ал ол нөлге тең болса, онда 2-оператор
орындалады.
Мысалы: if (d>=0) { ... ... else ... ... операторлары
Шартты операция While цикл операторы FOR цикл операторы Do while цикл
операторы Шартты операция Шартты операция (? :) ... ... ... ... яғни ... ... байланысты әр түрлі мән қабылдайтын
шартты өрнектер құрады. Бұл ... ... ... ... оның ... ... ... ақиқат болса, өрнек мәні екінші
операндқа тең; егер жалған ... онда — ... ... max_ab = a > b? a : b;
While цикл операторы Шарты алдын ала тексерілетін цикл схемасы: Оның
жазылуы: While (шарт-өрнек) { 1 ... 2 ... ...... N ... ... шарт-өрнекке кіретін айнымалы цикл ішінде өзгеріп отырады.
Мысалы: /* y=f(x) ... ... х ... xk-ға ... dx ... ... ... #include #include main () { float x,y,x0,xk,dx;
int k; int n; clrscr();
printf(“x0,xk,dx= ... printf(" x | ... while (x { ... | %6.2f\n",x,y);
x=x+dx;
} printf("----------------------\n");
getch(); }
Мысалы:
/* 1-ден 100-ге дейінгі сандар қосындысы */ #include #include main () ... ... ... 100-ге дейінгі сандар қосындысы\n");
k=1;
while (k { s+=k; k++; } ... ... ... цикл ... ... цикл ... ... сияқты For операторының жазылуы: for(x=x0;x { ;
; . . . ; }
Мұндағы өрнек1: x=x0; – цикл айнымалысының ... ... ... ... /* 1-ден n-ге дейінгі сандар қосындысы */ #include #include
main () { int s=0,k; int n; ... ... ... %d-ге ... ... қосындысы:",n);
for (k=1;k s+=k; printf(" %d",s);
getch(); }
For цикл операторында өрн3 ретінде жалпы дұрыс жазылған кез келген
өрнекті пайдалануға болады.
Мысалы: for (d=0.1;
d ... цикл ... бір ... ... ... жазбауға да болады,
бірақ мұндайда ; символын міндетті түрде өз орындарына жазып отыру
керек,
мысалы: x=2; for(n=4; x x=x*n;
For цикл операторында құрама өрнектер-ді «,» ... ... ... ... ... өрнектер солдан оңға қарай есептеледі.
Мысалы: int x,y; for (x=1,y=9;x ... ... өрн1 ... екі ... ... (x=1,y=9;) және олар x,y
айнымалыларын өзгерту үшін қолданылады. Ал соңында өрн3 орнына да ... ... ... ... */ # include #include main () {int ... ... шығарылатын сан int n;
// көбейткіш int p;
// ... ... сан ... ... ... кестесі\n",m);
for (n=1;n {p=m*n; printf("%ix%i=%i\n",m,n,p);
} getch(); }
Нәтижесі:
5 санының ... ... ... ... #include #include main () { int i,n; long p;
clrscr(); printf("n санын енгіз:");
scanf("%d",&n);
for (i=1,p=1;
i ... long int ... --li ... ... ... ... n-ге ... сандарды көбейту #include
#include main () { int n; clrscr(); printf("n= ");
scanf("%d",&n);
for (float k=1,p=1;
k printf(" %2.0f!= ... басу ... getch(); ... //бақытты билеттер (123 060, 561 750, т.с.с.) #include #include
//аялдауға қажет препроцессор main() { int ... for ... for (b=0; b for ... for (x=0; x for ... for ... if ... {printf("%i%i%i%i%i%i\t",a,b,c,x,y,z);
delay(100);} } g>
Do while цикл операторы
Шарты соңынан ... do … while ... ... түрі: do { 1-оператор; 2-оператор; … … … n-оператор; } while
(өрнек);
Do ... while циклінде шарт ... ... ... оның ... ... бір рет орындалады. Цикл соңында жазылған while(өрнек) өрнек
ақиқат ... ... 0-ге тең ... цикл ... ... ... ... жалған болса (немесе 0-ге тең болса), цикл аяқталады.
Мысалы: // 15 бүтін сандар ішінен олардың максимумын табу #include ... { int a, max, i=1; max = ... ... ең кіші ... тең ... do { printf(“сан енгізіңіз: “);
scanf("%d",&a);
if (a > max) max = a; i++;
} while (i printf(“\n15 санның ең ... ... табу s ... e=10-5 #include #include #define epsilon ... () { int i; float a,s; ... ... ... i++;}
while (a>epsilon);
printf("s=%7.4f",s);
getch(); }
Программаларды жобалаудың негізгі «жоғарыдан төмен» және «төменнен жоғары»
бар.
«төменнен жоғары» технологиясының мағынасы: алдымен ... ... ... (сұрыптау алгаритмдері жүзеге асыру, жолдарды өңдеу ,
мәліметтерді ... ... ... да ... ... ... , ... дайын бөлшектерден құрастыру жасалады.
«жоғарыдан төмен» технологиясының мағынасы: алдымен программа ... ... мен ... ... байланысы) алынады да содан
кейін жеке бөлшектерін жазуға кіріседі.
Көбінесе программа аталған екі ... ... ... ... жиі нашар құрылымдарға ие болады немесе оларда мәліметтер
көрінісі орындалатын ... ... ... олармен жұмыс істеу
қиын.
Мәліметтерді жақсартылған құрылымын таңдау , үйрене алмайтын өзінің
тегіндегі көркемөнері ... ... ... ... ... болу
үшін және мәліметтер құрылымында қандай өзгерістер басқаруды ... ... үшін ... ала ... ... ... жиі жазып отыруға тура келеді.
Break операторы Программа ... ... цикл ... одан ... break ... ... Егер бұл оператор бірінің ішіне бірі
енгізілген қабаттасқан цикл ... ... онда ол ішкі ... ... ... ... ғана жүзеге асырады. Мысалы: Екіөлшемді массивтен –
A[5,5] бірөлшемді массив – B[5] ... ... Оны ... ... осы ... бір ... ... болса, онда B[i]=1, әйтпесе B[i]=0 болуы
тиіс.
for (i=0;i { b[i]=0; for (j=0;j if (a[i][j] { b[i]=1; break; } ... ... ... ... цикл ... одан ... ... аттап өтіп, осы цикл параметрінің келесі мәніне көшу ... ... ... яғни ... ... итерациясына –
қадамына басынан бастап ауысу жүзеге асырылады.
Мысалы: Екіөлшемді массив – A[5,5] берілген. Осы массивтегі ... ... ... және ... ... ... құру
керек.
k=0;
for (i=0;
i for (j=0;
j if (a[i][j]>0 continue;
else { k=k+1;
a[i][j]=pow(a[i][j],2); }
Goto операторы
Басқа тілдердегідей Си тілінде goto операторы көп қолданылмайды, бұл
оператордың жазылуы: goto ; ... ...... ... ... ... яғни ... Бұл оператор бірінің ішіне бірі енгізілген
бірнеше цикл жиынынан (мәліметтер арасында қателер кездессе) бірден сыртқа
шығып кету керек болған ... ... ... break ... ... m5; goto belgi2;
Варианттар:
200-ге дейінгі 3-ке қалдықсыз бөлінетін бүтін сандардың қосындысын табу
керек.
100-ге дейінгі жұп оң сандардың қосындысын табу керек.
200-ге дейінгі тақ оң ... ... табу ... ... ... кіші 3-ке қалдықсыз бөлінетін оң сандардың қосындысын ... ... ... ... ... ... ... e=10-4
дәлдігімен анықтау керек.
Switch ауыстырғыш операторы switch ауыстырғыш операторы программада
кездесетін бірнеше (екіден артық) нұсқаның ... ... алу ... ... ... ... ... жазылуы:
switch ; { case белгі1: операторлар; break; case белгі2: операторлар;
break; ................ case белгіN: операторлар; break; default:
операторлар; }
Оператордың орындалу схемасы: ... switch ... ... ... ... ол ... санды (char типі де) типте болуы тиіс. Сол мән ... ... ... ... мәндерімен салыстырылады. Егер
олардың біріне тең болса, сол жол орындалады, жол ... көшу ... ... ... толық орындалады.
Ал бір жолды орындап болған соң, switch операторынан шығу үшін break
операторы қолданылады. Егер switch ... ... ... мәні ... ... ... онда default ... кейінгі операторлар
атқарылады. Кейде default сөзі болмауы да мүмкін. Егер default ... онда switch ... ... ... жолдар орындала береді.
Switch операторындағы өрнек түрінде нақты типтегі мәліметтерді, сөз
тіркестерін (жолдарды) пайдалануға болмайды.
Нөмірлеріне сәйкес апта күндерінің атауларын ... ... ... сөзі,
2 енгізілсе, сейсенбі сөзі, ..........
7 енгізілсе, жексенбі сөзі шығарылады.
#include #include main() { int i;
printf("\n1-7 арасында бүтін сан енгіз: " );
scanf("%i",&i);
switch(i) { case 1: ... 2: ... 3: ... 4: ... 5: ... 6: ... 7: ... printf(“Сан 1-7 арасында болуы керек");
} getch(); }
Көбейту кестесін шығару программасы:
int i;
printf("\n1-9 арасында бутін сан ... ... ... { case 1: printf("\n%dx1=%d",i,1*i);
case 2: printf("\n%dx2=%d",i,2*i);
case 3: printf("\n%dx3=%d",i,3*i);
case 4: printf("\n%dx4=%d",i,4*i);
case 5: ... 6: ... 7: ... 8: ... 9: ... printf(“Сан 1-9 арасында болуы тиіс"); }
Бұл программаның ... ... ... ... шығарылады
: 1x1=1 1x2=2 1x3=3 … 1x9=9
2 енгізілгенде мыналар ... 2x3=6 … ... ... ... ... 9x9=81
Шығыс күнтізбесі бойынша жыл нөмірінің жануарлар атына ... ... int god; ... год: ");
scanf("%i",&god);
switch (god % 12) { case 0 : printf("год Обезьяны");
break; case 1 : ... ... case 2 : ... Собаки");
break; case 3 : printf("год Свиньи");
break; case 4 : printf("год Крысы");
break; case 5 : ... ... case 6 : ... ... case 7 : ... Зайца");
break; case 8 : printf("год Дракона");
break; case 9 : printf("год Змеи");
break; case 10 : ... ... case 11 : ... ... default: ... целое без знака"); }
ЭЕМ жадының кластары және айнымалылардың қолданылу аймағы
Айнымалылар типтерден бөлек жады ... де ... Осы ... ... ... ... ... ала келісім бойынша
сипатталуына байланысты болды. Айнымалылар компьютер жадында немесе
процессор регистрлері-нің бірінде сақталады. Ол үшін айнымалы кластары
анықталады. ЭЕМ ... ... (storage class) ... ... ... жады немесе регистрлер) және осы айнымалының ЭЕМ жадында сақ-
талу ұзақтығын анықтайды. Жалпы жағдайда айнымалыны немесе функцияны
анықтап сипаттағанда, соған сәйкес ... сөз ... жады ... ... ... ішінде қолданылған айнымалылар локальді болып саналады
және олар осы ... ... ғана ... ... ... ... бірнеше функцияларда қолдану үшін оларды сыртқы айнымалылар
ретінде сипаттау қажет. Функцияның сыртында анықталған айнымалылар сыртқы
айнымалылар болып табылады және олардың қолданылу ... ... ... ... ... бір ... және ... бір класына жатуы тиіс
(жалпы ЭЕМ жад-ында не регистрлерде). Си тілінде ЭЕМ жадының 4 түрлі класы
бар және оларды сипаттау үшін 4 ... сөз ... auto – ... ... үшін ...... класты сипаттау үшін қолданылады,
static¬ – статикалық класты сипаттау үшін ...... ... сипаттау үшін қолданылады.
Автоматтық айнымалылар функция ішінде сипатталған айнымалылар, егер жады
класының ... ... ... болмаса, онда олар auto класына жататын
болып саналады, яғни келісім бойынша функцияның ішінде сипатталған
айнымалы ... ... ... ... ... жағдайларда берілген
айнымалылар тек осы функцияның ішінде ғана сипатталған болса және осында
ғана қолданылса, олар auto түйінді сөзі ... ... ... ... int ... int ... float ... char c;
Автоматтық айнымалыларды осындай етіп міндетті түрде сипаттау қажет емес.
Егер айнымалы бір блок (функция басында) ішінде сипатталатын болса және
оның ... ... ол ... ... автоматтық айнымалы болып
саналады. Автоматтық айнымалылар сол блокта ғана, яғни бір функция ішінде
қолданылып, оның әсер ету аймағы ... ... және осы ... функция шақырылғанда ғана, көрсетілген автоматтық айнымалылар
жұмыс істейді, яғни активтендіріледі (екпінді күйде пайдаланылады).
Функцияның жұмысы аяқталғанда автоматтық айнымалылар жойылады да, ... ... ... ... ... ... үшін қайтадан
қолдануға болады.
2 бөлім. Динамикалық массивтер
2.1 Динамикалық массивтертерді құру және жою
Массив дегеніміз – бір типтегі берілгендер жиыны. Басқаша айтқанда,
Индекс типі ... ... ... ... тип бола ... типі ... ... пайдаланылса, индекс массив элементтерін
белгілеу
Индекс өрнек, айнымалы немесе тұрақты болып берілуі мүмкін. 
Сондықтан да көп жағдайларда массивтерді индексті айнымалылар деп те
Егер ... ... бір ғана ... ... онда ... элементтерін кездейсоқ сандармен де енгізуге болады. Массивтерде
қолданылатын
• массивті толтыру; 
• массив ... ... ... элементтерін өшіру; 
• массивке элементтер қосу; 
• массив элементтерін сұрыптау; 
... ... ... ... ... ... ... мәндерін сақтау
үшін
Паскаль тілінде массивтің номері /индексі/ тік жақшаға алынып, ... ... ... ... қолдану үшін алдымен оларды міндетті
VAR массив аты: ARRAY [бастапқы номері...соңғы номері] OF ... ... ... ... /индексі/ 1-ден басталады, бірақ бұл
TYPE 
STRING: ARRAY [0..255] OF CHAR; 
Массивтің номерінің санына ... ... ... ... ... ... A, B, C: ARRAY [1..25] OF ... А, В, С – массивтерінің мәндері 25 элементтен
A[1], A[2], A[3], … , A[25], 
B[1], B[2], B[3], … , ... C[2], C[3], … , ... ... массивтер арасында «тең», «тең емес» немесе «меншіктеу
VAR 
A, B: ARRAY [1..10] OF REAL; 
Бұған үш ... ... ... ... ... Нәтиже 
А=В Егер әрбір А массиві элементінің мәні сәйкес В
АB Егер А массиві элементінің ең болмағанда бір ... В ... ... барлық мәні сәйкес массиві элементінің
1.2 Массивтермен жұмыс 
Массив (array) бір классқа жататын объектілер тобын құрайды, ... ... ... ... Ең қарапайым жағдайды
қарастырайық, бес
Сонан соң сіз олардың әрқайсысына бір ... ... ... әрине, өте қиын емес, бірақ егер гимнасттар саны
Бұл ... ... ... ... гимнасттардың бүкіл тобына атау
Бұл шамамен былай болады: 
Бес ... ... ... Guy атауымен белгілеу 
Индекстің (index) мәнін 1-ден 5-ке дейін қайталау: 
Guy элементіне индекс позициясында жаттығуды орындау. 
Циклдерді оқу ... біз ... ... ... ... мүшелері
Енді бөлек гимнасттарға арналған бағдарлама мен гимнасттар массивіне
арналған
void mainprog() 

athlete Julia, Andrea, Ricardo, Andy, Michael; 
JumpJack(Julia); 
JumpJack(Andrea); 
JumpJack(Ricardo); 
JumpJack(Andy); 
JumpJack(Michael); 

void mainprog() 

athlete Guy[5]; //Бес ... ... ... (int which=0; which

Пән: Информатика
Жұмыс түрі: Курстық жұмыс
Көлемі: 35 бет
Бұл жұмыстың бағасы: 1 600 теңге





Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь