4 2
DESCRIPTION
TRANSCRIPT
แบบฝกทกัษะการเขียนโปรแกรมภาษาซี เลม 4 ฟงกชันนารู
กลุมฟงกชันทางคณิตศาสตร
เปนฟงกชันที่ใชสําหรับการคํานวณทางคณิตศาสตร และกอนที่จะใชฟงกชันประเภทน้ี จะตองใช
คําสั่ง #include <math.h> แทรกอยูตอนตนของโปรแกรม และตัวแปรที่จะใชฟงกชันประเภทน้ีจะตอง
มีชนิด (type) เปน จํานวนจริงเน่ืองจากผลลัพธที่ไดจากฟงกชันประเภทน้ีจะไดคาสงกลบัของขอมลูเปน
จํานวนจรงิ เชนกัน #include <math.h>
ฟงกชัน ประโยชนการใชงาน ตัวอยางการใช คาที่ได
sqrt(x); หารากที่ 2 ของ x sqrt(9.0) 3.0
exp(x); ฟงกชันเอกโปเนนต exp(2.0) 7.389056
log(x); ล็อกการทิมึของ x (base e) log(9) 2.197225
log10(x); ล็อกการทิมึของ x (base 10) log10(10) 1.00000
fabs(x); หาคาสัมบูรณของ x fabs(-5) 5
ceil(x); ปดเศษทศนิยม x ข้ึน ceil(9.852) 10.000
floor(x); ปดทศนิยม x ลง floor(9.852) 9.000
pow(x,y) หาคาของ x ยกกําลัง y pow(3,5) 243.000
11
แบบฝกทกัษะการเขียนโปรแกรมภาษาซี เลม 4 ฟงกชันนารู
ตัวอยางโปรแกรมที ่4.5 โปรแกรมแสดงใชงานฟงกชัน ทางคณิตศาสตร
บรรทดัที ่ คําสั่ง 1 #include <stdio.h>
2 #include <conio.h>
3 #include <math.h>
4 main()
5 {
6 printf("sqrt( . ) =%. f\n",sqrt( . ));
7 printf("exp( . ) =%f\n",exp( . ));
8 printf("log( ) =%f\n",log( ));
9 printf("log ( ) =%. f\n",log ( ));
10 printf("fabs(- ) =%. f\n",fabs(- ));
11 printf("ceil( . ) =%. f\n",ceil( . ));
12 printf("floor( . ) =%. f\n",floor( . ));
13 printf("pow( , ) =%. f\n",pow( , ));
14 getche();
15 }
ผลการรันโปรแกรม
12
แบบฝกทกัษะการเขียนโปรแกรมภาษาซี เลม 4 ฟงกชันนารู
กลุมฟงกชันการแปลงขอมูล
#include <stdlib.h>
ฟงกชัน ประโยชนการใชงาน
atoi แปลงตัวอักษรเปนจํานวนเต็ม
atof แปลงตัวอักษรเปนจํานวนจรงิ
atol แปลงตัวอักษรเปนจํานวนเต็มแบบ long
ตัวอยางโปรแกรมที่ 4.6 ใชฟงกชันแสดงขอมูล
บรรทดัที ่ คําสั่ง 1 #include<stdio.h>
2 #include<stdlib.h>
3 #include<conio.h>
4 main() {
5 char s [ ] = " ";
6 char s [ ] = " . ";
7 char s [ ] = " ";
8 int as ; float fs ; long ls ;
9 as = atoi(s )- ;
10 fs = * atof(s );
11 ls = atol(s );
12 printf("convert BE \" \" to BCE = %d\n",as );
13 printf("FS = %f\n",fs );
14 printf("LS = %ld\n",ls );
15 getch();
16 }
13
แบบฝกทกัษะการเขียนโปรแกรมภาษาซี เลม 4 ฟงกชันนารู
บรรทัดที่ 9 ใชฟงกชัน atoi เปลี่ยนคาขอความใน s1 ใหเปนจํานวนเต็มแลว
ลบดวย 543 เก็บไวในตัวแปร as1
บรรทัดที่ 10 ใชฟงกชัน atof( ) เปลี่ยนคาขอความ s2 ใหเปนตัวเลขทศนิยม
ท่ีสามารถนําไปคํานวณได ซึ่งในคําสั่งน้ีจะใชคูณกับเลข 2 เก็บไว
ท่ีตัวแปร fs2
บรรทัดท่ี 11 ใชฟงกชัน atol( ) เปลี่ยนคาขอความ s3 ใหเปนตัวเลขจํานวน
เต็มชนิด long integer เก็บไวท่ีตัวแปร ls3
บรรทัดที่ 12-14 แสดงคาในตัวแปร
ผลการรันโปรแกรม
14