Ақпараттық технологияның қарқынды дамуна байланысты соңғы кездері программалауға деген қызығушылықтың арта түскені белгілі. Дк қолданудың ең негізгі облыстарының бірі бағдарламалау болып табылады


Float және double жылжымалы нүктелі нақты сандар типтері



бет42/71
Дата04.10.2022
өлшемі1.36 Mb.
#461923
түріПрограмма
1   ...   38   39   40   41   42   43   44   45   ...   71
С тілінде программалау УМКД

Float және double жылжымалы нүктелі нақты сандар типтері


Нақты сандар компьютерде 2 бөліктен – дәреже мен мантиссадан тұрады. IBM-РС компьютерлерінде float типінің ені – 4 байт, оның бір разряды – сан таңбасы, 7 разряды – дәреже, 24 бит3 – мантисса.
Егер double типі аты алдында long сөзі тұрса, онда оған 10 байт орын беріледі.
Программалау практикасында көбінесе жылжымалы нүктелі нақты (аралас) сандар пайдаланылады.
Double типті сандар екі еселенген дәлдікпен 64 бит арқылы өрнектеледі.
Double типінің ені – 8 байт, 1 бит – таңба, 11 бит – дәреже және 52 разряд –мантисса. Мантисса ені санның дәлдігін, ал дәреже ені оның диапазонын анықтайды.
Кейбір компьютерлерде мантисса үшін қосымша 32 бит беріледі де, санның дәлдігі артады. Ал кейде санның таңбасы мен дәрежесі үшін 32 бит беріліп, ол санның кескінделу диапазонын арттырады.
Мысалдар:
float s1, s2; float sum=1.5;
С тілінде объектілердің мәндерін байт арқылы анықтау үшін sizeof стандартты операторы қолданылады. Мысалы:
printf("double типіндегі мәліметтер ені %d байт\n", sizeof((double));


Символдық тіркестер (жолдар, қатарлар)


С тілінде символдық тіркестерді сипаттау үшін арнайы тип жоқ, олар көбінесе char типтегі элементтерден тұратын жиым (массив) ретінде қарастырылады.
Жолдық немесе тіркестік символдар компьютер жадында көршілес ұяшықтарда сақталады да, олардың соңында ‗\o‘ символы тұрады. Символдар тіркесінің ұзындығын анықтау үшін strlen() функциясы қолданылады.
#define – символдарды немесе солардан тұратын константаларды анықтау мақсатында қолданылады. Мысалы:
#define NULL „/0‟ #define VNAME "КазҰУ"


Void типі


Негізгі типтерге void типі де жатады. Оның мәндері жиыны – бос деген ұғымды білдіреді.


Енгізу-шығару операторлары


С тілінде сыртқы ортамен мәліметтер алмасу енгізу-шығару функциялары кітапханасын пайдалану арқылы орындалады. Ол тақырып файлы ретінде былай жазылады:
#include
printf() //функциясы мәліметтерді экранға шығару үшін қолданылады. Оның жалпы жазылу түрі:
printf(); – формат спецификаторларынан, бос орыннан және әртүрлі символдардан тұрады. Ол қостырнақшамен (“”) шектеліп, аргументтердің қалай бейнеленетінін көрсетіп тұрады, экранға (баспаға) шығару алдында барлық аргументтер формат спецификациясына сәйкес түрлендіріледі, спецификация % символымен басталады және мәліметтер типін, оларды түрлендіру тәсілін көрсететін бір әріп – спецификация коды жазылады. Объектілер ретінде айнымалылар, константалар, өрнектер қолданылуы мүмкін. Мысалы:
printf (" Пи санының мәні = %f\n", pi);
Бұл жолдың нәтижесі : Пи санының мәні = 3.14159
Формат соңында тұрған \n тіркесі сан шығарылған соң, курсордың келесі жолға көшетінін білдіреді.
Формат тіркесінде мыналар болады:

  1. мәтін ретінде шығарылатын символдар тіркесі;

  2. түрлендіру спецификациялары;

  3. басқару символдары.

Әрбір аргументке өз спецификациясы сәйкес келуі тиіс, олар:
%d – бүтін ондық сан шығарылуы тиіс;
%i – бүтін ондық сан шығарылуы тиіс;
%f – жылжымалы нүктелі нақты ондық сан ([-]dddd.dddd ) жазылып шығады; dd) шығарылады;
%e – жылжымалы нүктелі экспоненциалды сан ([-]d.dddde dd) шығарылады;
%E – жоғарыдағы сияқты, тек е орнына Е ([-]d.ddddE
%c – бір символ шығарылуы тиіс;
%s – символдар тіркесі (қатары) шығарылуы тиіс;
%g – нақты сан, сан ұзындығына қарай %e немесе %f қолданыла алады;
%u – таңбасыз ондық бүтін сан жазылып шығады;
%o – таңбасыз бүтін сегіздік сан шығады;
%x – таңбасыз бүтін он алтылық сан шығады;
\n – келесі жаңа жолға көшуді атқаратын басқару символы. Мысалы:
printf("%d%f", x, y); экранға бір бүтін (%d) – х және бір нақты сан (%f)
– у шығару функциясы.
Форматтарда санның ені де көрсетілуі мүмкін. Ол былай жазылады:
%9i – бүтін сан ені 9 цифрдан тұрады, сан ені аз болса, оның сол жағында бос орындар орналасады. %9.3f – нақты сан ені 9 цифрдан тұрады, оның 3 таңбасы бөлшекке беріледі, сан ені аз болса, оның сол жағында бос орындар орналасады.
Әрбір спецификация % символынан басталып, түрлендіру символымен аяқталады. Ол екеуінің ортасында мыналар тұруы мүмкін:

  • минус таңбасы, аргумент мәні сол жақ шетке ығыстырылып жазылады.

  • цифрлар, бүтін санның жалпы орналасу енін анықтайды. Сан осы енге немесе одан артық болып шығарылады. Егер аргумент ені көрсетілген еннен аз болса, онда ол бос орындармен толтырылып жазылады.

  • нүктеге дейін санның жалпы ені, нүктеден соң бөлшек цифрлар ені көрсетіледі.

  • L модификаторы, сәйкес аргумент мәні int емес long екенін білдіреді. Scanf() пернелерден мәлімет енгізу функциясы жоғарыда қарастырылған түрлендіру спецификациясының көбін пайдаланады.

Жазылу ережесі:
scanf (,); Аргументтер ретінде адрес нұсқауыштары – айнымалылар адрестері пайдаланылады. Мысалы: scanf("%d%f", &x,&y);
мұндағы &x,&y – х және у айнымалыларының компьютер жадындағы адрестері. Бұл функция пернелерден бос орын немесе Enter пернесін басу арқылы бір бүтін және бір нақты сан енгізуді талап етеді. Әдетте scanf функциясы алдына қандай мән енгізілетіні жайлы мәтін шығарылады. Мысалы:
printf("х, у енгізіңіз:"); scanf("%f%f",&x,&y);
х және у мәндері 3,5 пен -2,5 болуы тиіс болса, экрандағы көрініс мынадай болады:
х, у енгізіңіз: 3.5 -2.5 –
мұндағы Enter пернесін басу белгісі.
Scanf() және printf()функцияларының кейбір айырмашылықтарын атап өтейік:

  1. %е және %f спецификациялары енгізу кезінде бірдей болып табылады;

  2. short типті бүтін санды енгізу кезінде %h спецификациясы қолданылады.

Енді енгізу/шығару функцияларын пайдаланатын бір мысал келтірейік.
#include main()
{
int i; clrscr();
printf("\n Бүтін сан енгізіңіз:"); scanf("%d",&i);
printf("\nСіз %d санын енгіздіңіз.",i);
}

Бұл программаның алғашқы жолы – препроцессор директивасы, ол енгізу/ шығару операцияларын орындауды қамтамасыз етеді. main() функциясының бірінші жолы бүтін типтегі i айнымалысын сипаттап тұр, одан кейін тұрған printf() функциясы жаңа жолға көшіп (\n) экранға Бүтін сан енгізіңіз: деген сөздерді шығарады. scanf() функциясы пернеден


енгізілген санды і айнымалысына меншіктейді (& таңбасы адрес алу операциясын көрсетеді). Келесі жол көрсетілген сөз тіркесін ондағы спецификаторды i санының мәніне алмастыра отырып экранға шығарады.
Программа нәтижесі экранда мынадай түрде бейнеленеді: Бүтін сан енгізіңіз: 1256
Сіз 1256 санын енгіздіңіз.




Достарыңызбен бөлісу:
1   ...   38   39   40   41   42   43   44   45   ...   71




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет