Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
30
Добавлен:
20.02.2017
Размер:
38.38 Кб
Скачать

Scanf() функциясын қолдану.

Scanf() функциясының жалпы түрі:

Scanf(<формат жолы>, <адрес>, <адрес>,…)

Scanf() функциясы да prіntf() функциясы сияқты ауыстыру

11

спецификациясының символдар жиынын қолданады. Scanf() функциясының

негізгі ерекшеліктері келесідей:

1. %g спецификациясы жоқ.

2. %f және %e спецификациялары эквивалентті.

3. Short типті бүтін сандарды оқу үшін %h спецификациясы

қолданылады.

1. Адресті жазу кезінде айнымалылардың адресін беру үшін операция

адресі (&) қолданылатынын;

2. Жолдық айнымалынының мәнін енгізген кезде & символы

жазылмайды.

Мысалы:

Maіn()

{

char name[30];

prіntf(“Автор есімін енгізіңіз”);

scanf(“%S”, name);

prіntf(“Программаның авторы - %S\n”, name);

}

Name символдық массив болғандықтан, name мәні массивтің өзінің

адресі болып табылады. Сондықтан name алдында адрестік оператор &

қолданылмайды.

Си тіліндегі негізгі операциялар.

Ең жалпы операция меншіктеу болып табылады. Си тілінде меншіктеу

операторы V=A деп жазылады, мұндағы V - айнымалы, А - өрнек. Тағы да

тізбекті меншіктеуді қолдануға болады, келесі түрдегі мысалдағыдай:

sum=a=b.

Меншіктеу оңнан солға қарай жүреді, яғни b a-ға меншіктеледі, және

осы sum-ға меншіктеледі де, үш айнымалы да бірдей мән қабылдайды (яғни

бастапқы b айнымалысының мәніне).

Си тілі қарапайым арифметикалық операциялар жиынтығын қолдайды:

* - көбейту, / - бөлу, модуль бойынша бөлу - %, + - қосу, - - азайту.

Модуль бойынша бөлу бүтін сандық арифметикада қолданылады.

Оның нәтижесі бүтін сандарды бөлген кездегі қалдық болып саналады.

Мысалы: 20%3=2

+ және - операцияларының үстемдігі *, / және % операцияларының

үстемдігінен төмендеу, және өз кезегінде олардың үстемдігі унарлық минус

үстемдігінен төмен.

Мысал қарастырайық:

Maіn()

{

іnt m1, m2;

m1=m2=-(15+3)*5+(11+9*(8+3))-266%16;

(* m1=m2=10; (операция оңнан солға дейін орындалады *)

prіntf ("m1=%d\n", m1);

12

prіntf ("%d\n", m2/3); }

Арттыру және азайту операциялары: ++ және - -. Бұл операциялар

кез келген операторға 1-ді қосуға немесе азайтуға мүмкіндік береді.

Көрсетілген операциялардың екі формасын ажыратады, постфикстік және

префикстік. Олар өз арасында тек қай кезде арттыру немесе азайту

болатынына байланысты ажыратылады. Арттыру және азайту операциялары

өрнектің ортасындада орындалуы мүмкін, және де осы операциялар өрнек

есептелгеннен кейін де, есептелмей тұрып та орындалуы мүмкін. Мысал

қарастырайық:

Мысал: L=10 болсын;

онда, х=L++; x айнымалысына 10 мәнін меншіктеу болады.

х=++b; x айнымалысына 11 мәнін меншіктеу.

Екі жағдайда да L 11-ге тең болады.

2-мысал:

Sum=a+b++;

Sum=a+ ++b;

b++ - постфикстік түр: b айнымалысы оның мәні қолданылғаннан кейін

өзгереді.

++b - префикстік түр: b айнымалысы оның мәні қолданылмай тұрып өзгереді.

Бірінші жағдайда: “a және b-ны қосу, нәтижесін sum-ға меншіктеу және b

айнымалысын бірге арттыру”.

Екінші жағдайда: “b айнымалысын бірге арттыру, a және b-ны қосу, және

нәтижесін sum-ға меншіктеу”.

3-мысал:

{ maіn()

іnt a, b, s=0;

a=b=g;

s=a+b++;

prіntf("%d %d\n", s, b)

s=a+ ++b;

prіntf("%d %d\n", s, b)

}

Азайту және арттыру операциялары жоғарғы үстемдікке ие, тек

домалақ жақшалардың үстемдігі жоғарырақ.