- •2.1. Си тілінің қарапайым элементтері
- •2.2.1 Пайдаланылатын символдар си тілінің символдарын бес топқа бөлуге болады.
- •2.2.2 Тілдің қарапайым объектілері
- •Volatile continue enum short while
- •Int t0, tn, step;
- •2.3. Ситіліндегімәліметтертиптері
- •2.4. Бүтін сан түріндегі мәліметтерді сипаттау
- •2.4.1. Int бүтін сандар типі
- •2.4.2. Char типі
- •2.4.3. Float және double жылжымалы нүктелі нақты сандар типтері
- •2.5 Символдық тіркестер (жолдар, қатарлар)
- •2.6. Printf және scanf функциялары
- •Бақылау сұрақтары
- •3. Си тілінде қолданылатын негізгі операторлар
- •3.1. Меншіктеу операторы
- •3.2. Типтерді түрлендіру
- •Int I; float fl;
- •3.3. Программа жұмысын басқару операторлары
2.5 Символдық тіркестер (жолдар, қатарлар)
Си тілінде символдық тіркестерді сипаттау үшін арнайы тип жоқ, олар көбінесе char типтегі элементтерден тұратын жиым (массив) ретінде қарастырылады. Жолдық немесе тіркестік символдар ЭЕМ жадында көршілес ұяшықтарда сақталады да, олардың соңында ‘\o’ символы тұрады. Символдартіркесінің ұзындығынанықтауүшінstrlen()функциясықолданылады.
#define – символдардынемесесолардантұратынконстанталардыанықтаумақсатындақолданылады. Мысалы:
#defineNULL ‘/o’
#defineVNAME “КазГУ”
2.6. Printf және scanf функциялары
Си тілінде сыртқы ортамен мәліметтер алмасу <stdio.h>енгізу-шығару функциялары кітапханасын пайдалану арқылы орындалады. Ол тақырып файлы ретінде былай жазылады:
#include <stdio.h>
printf() функциясы мәліметтерді экранға шығару үшін қолданылады. Оның жалпы жазылу түрі:
printf(<формат тіркесі>,<аргументтер тізімі>);
(<формат тіркесі> – қостырнақшамен (”) шектеліп, аргументтердің қалай бейнеленетінін көрсетіп тұрады, экранға (баспаға) шығару алдында барлық аргументтер формат спецификациясына сәйкес түрлендіріледі, спецификация % символымен басталады және мәліметтер типін, оларды түрлендіру тәсілін көрсететін бір әріп жазылады. Объектілер ретінде айнымалылар, константалар, өрнектер қолданылуы мүмкін. Мысалы:
printf (“ Пи санының мәні = %f\n”, pi);
Формат тіркесінде мыналар болады:
мәтін ретінде шығарылатын символдар тіркесі;
түрлендіру спецификациялары;
басқару символдары.
Әрбір аргументке өз спецификациясы сәйкес келуі тиіс, олар:
%d – бүтін ондық сан шығарылуы тиіс,
%i – бүтін ондық сан шығарылуы тиіс,
%f – жылжымалы нүктелі нақты ондық сан ([-]dddd.dddd ) жазылып шығады,
%e – жылжымалы нүктелі экспоненциалды сан ([-]d.ddddedd) шығарылады,
%E – жоғарыдағы сияқты, тек е орнына Е ([-]d.ddddEdd) шығарылады,
%c – бір символ шығарылуытиіс,
%s – символдартіркесі (қатары) шығарылуытиіс,
%g – нақты сан, сан ұзындығынақарай %e немесе %f қолданылаалады,
%u – таңбасызондықбүтін сан жазылыпшығады,
%o – таңбасызбүтінсегіздік сан шығады,
%x – таңбасызбүтін он алтылық сан шығады.
\n – келесі жаңа жолға көшуді атқаратын басқару символы.
Мысалы:
%9i – бүтін сан ені 9 цифрдан тұрады, сан ені аз болса, оның сол жағында бос орындар орналасады.
%9.3f – нақты сан ені 9 цифрдан тұрады, оның 3 таңбасы бөлшекке беріледі, сан ені аз болса, оның сол жағында бос орындар орналасады.
Әрбір спецификация % символынан басталып, түрлендіру символымен аяқталады. Ол екеуінің ортасында мыналар тұруы мүмкін:
- минус таңбасы, аргумент мәні сол жақ шетке ығыстырылып жазылады.
- цифрлар, бүтін санның жалпы орналасу енін анықтайды. Сан осы енге немесе одан артық болып шығарылады. Егер аргумент ені көрсетілген еннен аз болса, онда ол бос орындармен толтырылып жазылады.
- нүктеге дейін санның жалпы ені, нүктеден соң бөлшек сандар ені көрсетіледі.
- L модификаторы, сәйкес аргумент мәні INT емес LONG екенін білдіреді.
scanf()енгізу функциясы жоғарыда қарастырылған түрлендіру спецификациясының көбін пайдаланады.
scanf (<формат тіркесі>,<аргументтер тізімі>);
Аргументтер ретінде адрес нұсқауыштары пайдаланылады. Мысалы:
scanf("%d%f", &x,&y);
Кейбірайырмашылықтарынатапөтейік.
%е және %f спецификацияларыенгізукезіндебірдейболыптабылады;
shortтиптібүтінсандыенгізукезінде %h спецификациясықолданылады.
ЕСКЕРТУ. Айнымалыадресін беру үшінадрестердіжазғанда, айнымалыадресінанықтауүшін& символы қолданылады. Алтіркестік (жолдық) айнымалыныенгізгенде, & символы жазылмайды.
Ендісанның дәрежесін есептейтін программа құрайық.
/* Санды дәрежелеу */
#include <conio.h>
#include <stdio.h>
#include <math.h>
main()
{
floatx,y,s;
clrscr();
printf("\n х-ті және оның дәрежесін-у енгізіңіз :\n");
scanf("%f%f",&x,&y);
s=pow(x,y);
printf("\nНәтижесі s=%9.2f",s);
}
