SlideShare a Scribd company logo
1 of 13
ฟังก์ชันมาตรฐาน
ฟังก์ชัน ในภาษาซี มี 2 ชนิด คือ ฟังก์ชันมาตรฐาน(standard
function) กับ ฟังก์ชันที่ผู้เขียนโปรแกรมเขียนขึ้นเอง (user defined
function)
ฟังก์ชันมาตรฐาน เป็นฟังก์ชันที่ผู้ผลิตคอมไพล์เลอร์เขียนขึ้นเพื่อผู้ใช้
นาไปใช้ในการเขียนโปรแกรมเพื่อให้เขียนโปรแกรมได้สะดวกและง่ายขึ้น บางครั้งอาจ
เรียกว่า library functions ปกติฟังก์ชันเหล่านี้จะจัดเก็บไว้ใน header files
ดังนั้นผู้ใช้จะต้องรู้ว่าฟังก์ชันนั้นอยู่ใน header file ใด จึงจะนาไปเรียกใช้ในส่วนต้น
ของโปรแกรม ด้วย #include <header file.h> ได้ เช่น #include
<stdio.h> ฟังก์ชันมีมากมาย อาจจาแนกดังนี้
ฟังก์ชันทางคณิตศาสตร์ เป็นฟังก์ชันที่ใช้ทางการคานวณ ทางคณิตศาสตร์
ปกติอยู่ใน math.h ผลลัพธ์ ที่ได้จากฟังก์ชันกลุ่มนี้เป็นข้อมูลประเภท double
ดังนั้นตัวแปรที่ใช้จึงเป็นพวกที่มีชนิดเป็น double
ฟังก์ชัน sin(x) เป็นฟังก์ชันใช้คานวณหาค่าของ sine โดย x มีค่าของมุมในหน่วย เรเดียน
ฟังก์ชัน cos(x) ใช้หาค่า cosine โดย x มีหน่วยเป็นเรเดียน(radian)
ฟังก์ชัน tan(x) ใช้หาค่า tangent โดย x มีหน่วยเป็นเรเดียน(radian)
ตัวอย่าง /* math1.c */
#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{ float deg , angle, pi = 3.141592654; clrscr();
printf("Please enter value of angle in degree that you want to find
tan cos sin :");
scanf("%f",&deg);
angle = deg * pi / 180; /* เปลี่ยนค่า องศา ให้เป็นเรเดียน */
printf("nvalue of tangent %4.0f degree is %4.2f ",deg,tan(angle));
printf("nvalue of sine %4.0f degree is %4.2f ",deg,sin(angle));
printf("nvalue of cosine %4.0f degree is %4.2f ",deg,cos(angle));
}
ฟังก์ชัน sqrt(x) ใช้หาค่ารากที่สองของ x โดย x เป็นตัวเลขหรือตัวแปรที่
ไม่ติดลบ
ฟังก์ชัน exp(x) ใช้หาค่า ex โดย e มีค่าประมาณ 2.718282
ฟังก์ชัน pow(x,y) ใช้หาค่า x y
ฟังก์ชัน log(x) ใช้หาค่า log ฐาน e เรียกว่า natural logarithm
โดย x เป็นตัวเลขหรือตัวแปรที่ไม่ติดลบ
ฟังก์ชัน log10(x) ใช้หาค่า log ฐาน 10 โดย x เป็นตัวเลขหรือตัวแปรที่
ไม่ติดลบ
ฟังก์ชัน ceil(x) ใช้ในการปัดเศษทศนิยมของ x เมื่อ x เป็นเลขทศนิยม
ฟังก์ชัน floor(x) ใช้ในการตัดเศษทศนิยมของ x ทิ้งเมื่อ x เป็นเลข
ทศนิยม
ฟังก์ชัน fabs(x) ใช้ในการหาค่าสัมบูรณ์ของค่าคงที่หรือตัวแปรที่มีทศนิยม
โดยเป็นบวกหรือลบก็ได้
ตัวอย่าง ให้นักเรียนศึกษาการทางานของโปรแกรม /* math2.c */ แล้วป้อนโปรแกรม
และตรวจสอบการทางานว่าตรงกับที่คาดคะเนหรือไม่
/* math2.c */
#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{
double x = 10.0 , y = 2.0 ,z = 16.0,a = 2.718282 , b = -2.718282 , m=1.0;
clrscr();
printf("npow(x,y) = %4.2f when x=10.0 y=2.0", pow(x,y));
printf("nsqrt(z) = %4.2f when z=16.0", sqrt(z));
printf("nexp(m) = %4.6f when m=1.0",exp(m));
printf("nlog(a) = %4.2f when a=2.718282",log(a));
printf("nlog10(x) = %4.2f when x=10.0",log10(x));
printf("nceil(a) = %4.2f when a=2.718282",ceil(a));
printf("nceil(b) = %4.2f when b=-2.718282",ceil(b));
printf("nfloor(a) = %4.2f when a=2.718282",floor(a));
printf("nfloor(b) = %4.2f when b=-2.718282",floor(b));
printf("nfabs(a) = %4.6f when a=2.718282" ,fabs(a));
printf("nfabs(b) = %4.6f when b=-2.718282" ,fabs(b));
}
ฟังก์ชันที่จัดการเกี่ยวกับตัวอักษร(character functions) เป็น
ฟังก์ชันที่จัดการกับตัวอักษร single char เท่านั้น ตัวอักษรนี้ใช้หน่วยความจาเพียง
1 ไบต์ ฟังก์ชันเหล่านี้อยู่ใน header file ชื่อ ctype.h ก่อนจะทาการเขียน
โปรแกรมจึงต้อง #include <ctype.h> เข้ามาในส่วนต้นของโปรแกรม
ฟังก์ชัน isalnum(cha) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลในตัวแปร(ซึ่ง
คือตัวแปรประเภท char ) เป็นตัวอักขระหรือตัวเลขหรือไม่ ถ้าเป็นตัวอักษรหรือตัวเลข
ฟังก์ชันจะส่งค่าที่ไม่ใช่ 0 มาให้ ถ้าข้อมูลในตัวแปร เป็นอักขระพิเศษอื่นที่ไม่ตัวอักษรหรือ
ตัวเลขจะส่งค่าออกมาเป็น 0
ฟังก์ชัน isalpha(cha) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลในตัวแปร(ซึ่ง
คือตัวแปรประเภท char ) เป็นตัวอักขระหรือไม่ ถ้าเป็นตัวอักษรฟังก์ชันจะให้ค่าที่ไม่ใช่
0 ออกมาถ้าเป็นตัวเลขหรืออักขระพิเศษอื่นฟังก์ชันจะส่งค่า 0 ออกมา
ฟังก์ชัน isdigit(cha) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลในตัวแปร(ซึ่ง
คือตัวแปรประเภท char ) ฟังก์ชัน เป็นตัวเลขหรือไม่ ถ้าเป็นตัวเลขฟังก์ชันจะให้ค่าที่
ไม่ใช่ 0 ออกมา ถ้าเป็นตัวอักษรหรืออักขระพิเศษอื่น ฟังก์ชันจะส่ง 0 ออกมา
ตัวอย่าง /* isalnumPhadigit.c */
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
main()
{
clrscr();
char cha1 = 'B' ,cha2 ='3',cha3= '&';
printf("n %d is return value of isdigit(cha1) of %c",isdigit(cha1),cha1);
printf("n %d is return value of isdigit(cha2) of %c ",isdigit(cha2),cha2);
printf("n %d is return value of isalpha(cha3) of %c ",isalpha(cha3),cha3);
printf("n %d is return value of isalpha(A) of %c ",isalpha('A'),'A');
printf("n %d is return value of isalpha('0') of %c ",isalpha('0'),'0');
printf("n %d is return value of isalpha('$') of %c ",isalpha('$'),'$');
printf("n %d is return value of isalnum(cha1) of %c",isalnum(cha1),cha1);
printf("n %d is return value of isalnum(cha2) of %c ",isalnum(cha2),cha2);
printf("n %d is return value of isalnum(cha3) of %c ",isalnum(cha3),cha3);
printf("n %d is return value of isalnum(A) of %c ",isalnum('A'),'A');
printf("n %d is return value of isalnum('0') of %c ",isalnum('0'),'0');
printf("n %d is return value of isalnum('$') of %c ",isalnum('$'),'$');
}
ฟังก์ชัน islower(cha) ฟังก์ชันที่ใช้ตรวจสอบว่าตัวอักขระในตัวแปร
cha เป็นตัวพิมพ์เล็กหรือไม่ ถ้าเป็นตัวพิมพ์เล็กฟังก์ชันจะส่งค่ากลับเป็นจานวนเต็มที่
ไม่ใช่ 0 แต่ถ้าไม่ใช่ตัวพิมพ์เล็กจะส่งค่ากลับเป็น 0
ฟังก์ชัน isupper(cha) ฟังก์ชันที่ใช้ตรวจสอบว่าตัวอักขระในตัวแปร
cha เป็นตัวพิมพ์ใหญ่หรือไม่ ถ้าเป็นตัวพิมพ์ใหญ่ ฟังก์ชันจะส่งค่ากลับเป็นจานวนเต็มที่
ไม่ใช่ 0 แต่ถ้าไม่ใช่ตัวพิมพ์ใหญ่จะส่งค่ากลับเป็น 0
ฟังก์ชัน tolower(cha) ฟังก์ชันที่ใช้เปลี่ยนตัวพิมพ์ใหญ่ที่เก็บอยู่ในตัว
แปรให้เป็นตัวพิมพ์เล็ก
ฟังก์ชัน toupper(cha) ฟังก์ชันที่ใช้เปลี่ยนตัวพิมพ์เล็กที่เก็บอยู่ในตัว
แปรให้เป็นตัวพิมพ์ใหญ่
ตัวอย่าง /* upperlower.c */
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
main()
{
char cha1 = 'D' , cha2 = 'a' ,cha3 = 'f' , cha4 = 'N' ;
clrscr();
printf("ncheck cha1 = 'D' is uppercase yes or no : %d
",isupper(cha1));
printf("ncheck cha2 = 'a' is lower yes or no : %d ",islower(cha2));
printf("ncheck cha2 = 'a' is upper yes or no : %d ",isupper(cha2));
printf("ncheck 'i' is lower yes or no : %d ",islower('i'));
printf("ncheck 'L' is uppercase yes or no : %d ",isupper('L'));
printf("nchange cha3 = 'f' to uppercase %c : ", toupper(cha3));
printf("nchange cha4 = 'N' to lowercase %c : ", tolower(cha4));
}
ฟังก์ชัน isspace(cha) ฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลในตัวแปร cha เป็น whitespace หรือไม่
whitespace ได้แก่ space ,tab ,vertical tab ,formfeed ,carriage retun ,newline ถ้ามี
whitespace จริง ฟังก์ชันจะส่งค่าไม่เท่ากับ 0 ถ้าไม่จริงจะส่งค่า 0
ฟังก์ชัน isxdigit(cha) ฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลในตัวแปร cha เป็น เลขฐานสิบหก ( คือ 0-9 , A-F , a
– f) หรือไม่ ถ้าจริงส่งค่าตัวเลขที่ไม่ใช่ 0 ถ้าไม่จริงส่งตัวเลข 0
ตัวอย่าง /*isspaceisxdigit.c */
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
main()
{
char cha1 ='r',cha2= 'n',cha3='v' ,cha4 ='A';
clrscr();
printf("n%d is volue return from isspace %c ",isspace(cha1),cha1);
printf("n%d is volue return from isspace %c ",isspace(cha2),cha2);
printf("n%d is volue return from isspace %c ",isspace(cha3),cha3);
printf("n%d is volue return from isxdigit %c ",isxdigit(cha4),cha4);
printf("n%d is volue return from isxdigit %c ",isxdigit('0'),'0');
printf("n%d is volue return from isxdigit %c ",isxdigit('g'),'g');
}
ฟังก์ชัน gotoxy(x,y); เป็นฟังก์ชันอยู่ใน conio.h ใช้สั่งให้เคอร์เซอร์
เคลื่อนที่ไปตามตาแหน่งที่ระบุ โดย x คือ ตาแหน่งของสดมภ์บนจอภาพ (คล้ายค่า x
ของกราฟ)ค่าเพิ่มจากซ้ายไปขวามีค่าตั้งแต่ 1 ถึง 79 ตาแหน่งที่ 80 สงวนไว้ไม่ให้ใช้
ส่วน y คือตาแหน่งแถวบนจอภาพนับจากบนลงล่าง มีค่าได้ตั้งแต่ 1 ถึง 24
ตาแหน่งที่25 สงวนไว้
ฟังก์ชัน clreol(); เป็นฟังก์ชันอยู่ใน conio.h ใช้ลบข้อความตั้งแต่
ตาแหน่งที่เคอร์เซอร์อยู่ไปจนจบบรรทัด
ฟังก์ชัน delline(); เป็นฟังก์ชันอยู่ในconio.h ใช้ลบข้อความทั้ง
บรรทัดที่เคอร์เซอร์อยู่ไปจนจบบรรทัดและเลื่อนข้อความในบรรทัดล่างขึ้นมาแทน
ฟังก์ชัน insline(); เป็นฟังก์ชันอยู่ในconio.h ใช้แทรกบรรทัดว่าง 1
บรรทัดใต้บรรทัดที่เคอร์เซอร์อยู่
ฟังก์ชัน system(“dos command”); เป็นฟังก์ชันอยู่ในstdlib.h
ใช้เรียกคาสั่งของ dos ขึ้นมาทางาน เช่นคาสั่ง cls dir date time
ฟังก์ชัน abort(); ฟังก์ชันที่อยู่ใน <stdlib.h> ใช้ ยกเลิกการทางาน
ของโปรแกรมทันทีไม่ว่าจะทางานสาเร็จหรือไม่ และมีข้อความ Abnomal
program termination แสดงทางจอภาพ
ฟังก์ชัน abs(x); ฟังก์ชันที่อยู่ใน <stdlib.h> ใช้หาค่าสัมบูรณ์ของ x
โดย x ต้องเป็นจานวนเต็ม
ฟังก์ชัน labs(x); ฟังก์ชันที่อยู่ใน <stdlib.h> ใช้หาค่าสัมบูรณ์ของ x
โดย x ต้องเป็นlong integer
ฟังก์ชัน atoi(s); ฟังก์ชันที่อยู่ใน <stdlib.h> ใช้เปลี่ยนข้อความให้
เป็นเลขจานวนเต็ม
ฟังก์ชัน atol(s); ฟังก์ชันที่อยู่ใน <stdlib.h> ใช้เปลี่ยนข้อความให้
เป็น long integer
ฟังก์ชัน atof(s); ฟังก์ชันที่อยู่ใน <stdlib.h> ใช้เปลี่ยนข้อความให้
เป็น floating point
ตัวอย่าง /* atoilf.c */
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
int main(void)
{ char numstring1[10],numstring2[10],numstring3[10];
int in1; float flo1; long lon1; clrscr();
printf("nEnter number as string1 : ");
scanf("%s",numstring1);
printf("nEnter number as string2 : ");
scanf("%s",numstring2);
printf("nEnter number as string3 : ");
scanf("%s",numstring3);
in1 = atoi(numstring1); flo1 = atof(numstring2); lon1=atol(numstring3);
printf("nnumstring1 =%s change to integer %d ",numstring1,in1);
printf("nnumstring2 =%s change to floating point %4.4f ",numstring2,flo1);
printf("nnumstring3 =%s change to long integer %d ",numstring3,lon1);
printf("nsummation of in1,flo1,lon1 is %6.4f ",in1+flo1+lon1);
printf("nsummation of atoi(numstring1),atof(numstring2),atol(numstring2) is
%6.4lf:",atoi(numstring1)+atof(numstring2)+atol(numstring3));
}

More Related Content

What's hot

2การแสดงผลและการรับข้อมูล
2การแสดงผลและการรับข้อมูล2การแสดงผลและการรับข้อมูล
2การแสดงผลและการรับข้อมูลteedee111
 
การเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา Cการเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา CWarawut
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1Little Tukta Lita
 
Reference :: Java :: เต็ม
 Reference :: Java :: เต็ม Reference :: Java :: เต็ม
Reference :: Java :: เต็มJitti Nut
 
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)Visaitus Palasak
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีNattapon
 
ภาษาC & mathlab
ภาษาC & mathlabภาษาC & mathlab
ภาษาC & mathlabMike Suphakron
 
Java Programming: คลาสอินพุตและเอาต์พุต
Java Programming: คลาสอินพุตและเอาต์พุตJava Programming: คลาสอินพุตและเอาต์พุต
Java Programming: คลาสอินพุตและเอาต์พุตThanachart Numnonda
 

What's hot (20)

Presenter1234567
Presenter1234567Presenter1234567
Presenter1234567
 
3.7 การเขียนผังงาน
3.7 การเขียนผังงาน3.7 การเขียนผังงาน
3.7 การเขียนผังงาน
 
2การแสดงผลและการรับข้อมูล
2การแสดงผลและการรับข้อมูล2การแสดงผลและการรับข้อมูล
2การแสดงผลและการรับข้อมูล
 
การเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา Cการเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา C
 
7 2โครงสร้าง
7 2โครงสร้าง7 2โครงสร้าง
7 2โครงสร้าง
 
C language
C languageC language
C language
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
 
Reference :: Java :: เต็ม
 Reference :: Java :: เต็ม Reference :: Java :: เต็ม
Reference :: Java :: เต็ม
 
3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
 
ภาษา C#
ภาษา C#ภาษา C#
ภาษา C#
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน 1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน 1โปรแกรมย่อยและฟังก์ชันมาตรฐาน 1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน 1
 
Intro c
Intro cIntro c
Intro c
 
3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี
 
C slide
C slideC slide
C slide
 
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
 
ภาษาC & mathlab
ภาษาC & mathlabภาษาC & mathlab
ภาษาC & mathlab
 
Java Programming: คลาสอินพุตและเอาต์พุต
Java Programming: คลาสอินพุตและเอาต์พุตJava Programming: คลาสอินพุตและเอาต์พุต
Java Programming: คลาสอินพุตและเอาต์พุต
 
C lang
C langC lang
C lang
 
3.5 การแสดงผลและการรับข้อมูล
3.5 การแสดงผลและการรับข้อมูล3.5 การแสดงผลและการรับข้อมูล
3.5 การแสดงผลและการรับข้อมูล
 

Similar to บทที่ 7

กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐานกลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐานKanchana Theugcharoon
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาSaranporn Rungrueang
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซีmansuang1978
 
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1Little Tukta Lita
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09Jenchoke Tachagomain
 
59170065 พัชริกา
59170065 พัชริกา59170065 พัชริกา
59170065 พัชริกาBeam Suna
 

Similar to บทที่ 7 (20)

Presenter
PresenterPresenter
Presenter
 
C language
C languageC language
C language
 
Chapter1
Chapter1Chapter1
Chapter1
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐานกลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
4 2
4 24 2
4 2
 
Introduction toc
Introduction tocIntroduction toc
Introduction toc
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
207
207207
207
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซี
 
Chapter 05 Loop
Chapter 05 LoopChapter 05 Loop
Chapter 05 Loop
 
Chapter 05 Loop
Chapter 05 LoopChapter 05 Loop
Chapter 05 Loop
 
Python101
Python101Python101
Python101
 
power point.
power point.power point.
power point.
 
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09
 
Pbl2
Pbl2Pbl2
Pbl2
 
59170065 พัชริกา
59170065 พัชริกา59170065 พัชริกา
59170065 พัชริกา
 
ตัวแปรและคำสงวน
ตัวแปรและคำสงวนตัวแปรและคำสงวน
ตัวแปรและคำสงวน
 
ตัวแปรและคำสงวน
ตัวแปรและคำสงวนตัวแปรและคำสงวน
ตัวแปรและคำสงวน
 
3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
 

More from Wittaya Kaewchat

More from Wittaya Kaewchat (7)

บทที่ 6
บทที่ 6บทที่ 6
บทที่ 6
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5
 
บทที่ 4
บทที่ 4บทที่ 4
บทที่ 4
 
บทที่ 3
บทที่ 3บทที่ 3
บทที่ 3
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
ความเป็นมาของภาษาC
ความเป็นมาของภาษาCความเป็นมาของภาษาC
ความเป็นมาของภาษาC
 

บทที่ 7

  • 1.
  • 2. ฟังก์ชันมาตรฐาน ฟังก์ชัน ในภาษาซี มี 2 ชนิด คือ ฟังก์ชันมาตรฐาน(standard function) กับ ฟังก์ชันที่ผู้เขียนโปรแกรมเขียนขึ้นเอง (user defined function) ฟังก์ชันมาตรฐาน เป็นฟังก์ชันที่ผู้ผลิตคอมไพล์เลอร์เขียนขึ้นเพื่อผู้ใช้ นาไปใช้ในการเขียนโปรแกรมเพื่อให้เขียนโปรแกรมได้สะดวกและง่ายขึ้น บางครั้งอาจ เรียกว่า library functions ปกติฟังก์ชันเหล่านี้จะจัดเก็บไว้ใน header files ดังนั้นผู้ใช้จะต้องรู้ว่าฟังก์ชันนั้นอยู่ใน header file ใด จึงจะนาไปเรียกใช้ในส่วนต้น ของโปรแกรม ด้วย #include <header file.h> ได้ เช่น #include <stdio.h> ฟังก์ชันมีมากมาย อาจจาแนกดังนี้ ฟังก์ชันทางคณิตศาสตร์ เป็นฟังก์ชันที่ใช้ทางการคานวณ ทางคณิตศาสตร์ ปกติอยู่ใน math.h ผลลัพธ์ ที่ได้จากฟังก์ชันกลุ่มนี้เป็นข้อมูลประเภท double ดังนั้นตัวแปรที่ใช้จึงเป็นพวกที่มีชนิดเป็น double
  • 3. ฟังก์ชัน sin(x) เป็นฟังก์ชันใช้คานวณหาค่าของ sine โดย x มีค่าของมุมในหน่วย เรเดียน ฟังก์ชัน cos(x) ใช้หาค่า cosine โดย x มีหน่วยเป็นเรเดียน(radian) ฟังก์ชัน tan(x) ใช้หาค่า tangent โดย x มีหน่วยเป็นเรเดียน(radian) ตัวอย่าง /* math1.c */ #include <stdio.h> #include <conio.h> #include <math.h> main() { float deg , angle, pi = 3.141592654; clrscr(); printf("Please enter value of angle in degree that you want to find tan cos sin :"); scanf("%f",&deg); angle = deg * pi / 180; /* เปลี่ยนค่า องศา ให้เป็นเรเดียน */ printf("nvalue of tangent %4.0f degree is %4.2f ",deg,tan(angle)); printf("nvalue of sine %4.0f degree is %4.2f ",deg,sin(angle)); printf("nvalue of cosine %4.0f degree is %4.2f ",deg,cos(angle)); }
  • 4. ฟังก์ชัน sqrt(x) ใช้หาค่ารากที่สองของ x โดย x เป็นตัวเลขหรือตัวแปรที่ ไม่ติดลบ ฟังก์ชัน exp(x) ใช้หาค่า ex โดย e มีค่าประมาณ 2.718282 ฟังก์ชัน pow(x,y) ใช้หาค่า x y ฟังก์ชัน log(x) ใช้หาค่า log ฐาน e เรียกว่า natural logarithm โดย x เป็นตัวเลขหรือตัวแปรที่ไม่ติดลบ ฟังก์ชัน log10(x) ใช้หาค่า log ฐาน 10 โดย x เป็นตัวเลขหรือตัวแปรที่ ไม่ติดลบ ฟังก์ชัน ceil(x) ใช้ในการปัดเศษทศนิยมของ x เมื่อ x เป็นเลขทศนิยม ฟังก์ชัน floor(x) ใช้ในการตัดเศษทศนิยมของ x ทิ้งเมื่อ x เป็นเลข ทศนิยม ฟังก์ชัน fabs(x) ใช้ในการหาค่าสัมบูรณ์ของค่าคงที่หรือตัวแปรที่มีทศนิยม โดยเป็นบวกหรือลบก็ได้
  • 5. ตัวอย่าง ให้นักเรียนศึกษาการทางานของโปรแกรม /* math2.c */ แล้วป้อนโปรแกรม และตรวจสอบการทางานว่าตรงกับที่คาดคะเนหรือไม่ /* math2.c */ #include <stdio.h> #include <conio.h> #include <math.h> main() { double x = 10.0 , y = 2.0 ,z = 16.0,a = 2.718282 , b = -2.718282 , m=1.0; clrscr(); printf("npow(x,y) = %4.2f when x=10.0 y=2.0", pow(x,y)); printf("nsqrt(z) = %4.2f when z=16.0", sqrt(z)); printf("nexp(m) = %4.6f when m=1.0",exp(m)); printf("nlog(a) = %4.2f when a=2.718282",log(a)); printf("nlog10(x) = %4.2f when x=10.0",log10(x)); printf("nceil(a) = %4.2f when a=2.718282",ceil(a)); printf("nceil(b) = %4.2f when b=-2.718282",ceil(b)); printf("nfloor(a) = %4.2f when a=2.718282",floor(a)); printf("nfloor(b) = %4.2f when b=-2.718282",floor(b)); printf("nfabs(a) = %4.6f when a=2.718282" ,fabs(a)); printf("nfabs(b) = %4.6f when b=-2.718282" ,fabs(b)); }
  • 6. ฟังก์ชันที่จัดการเกี่ยวกับตัวอักษร(character functions) เป็น ฟังก์ชันที่จัดการกับตัวอักษร single char เท่านั้น ตัวอักษรนี้ใช้หน่วยความจาเพียง 1 ไบต์ ฟังก์ชันเหล่านี้อยู่ใน header file ชื่อ ctype.h ก่อนจะทาการเขียน โปรแกรมจึงต้อง #include <ctype.h> เข้ามาในส่วนต้นของโปรแกรม ฟังก์ชัน isalnum(cha) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลในตัวแปร(ซึ่ง คือตัวแปรประเภท char ) เป็นตัวอักขระหรือตัวเลขหรือไม่ ถ้าเป็นตัวอักษรหรือตัวเลข ฟังก์ชันจะส่งค่าที่ไม่ใช่ 0 มาให้ ถ้าข้อมูลในตัวแปร เป็นอักขระพิเศษอื่นที่ไม่ตัวอักษรหรือ ตัวเลขจะส่งค่าออกมาเป็น 0 ฟังก์ชัน isalpha(cha) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลในตัวแปร(ซึ่ง คือตัวแปรประเภท char ) เป็นตัวอักขระหรือไม่ ถ้าเป็นตัวอักษรฟังก์ชันจะให้ค่าที่ไม่ใช่ 0 ออกมาถ้าเป็นตัวเลขหรืออักขระพิเศษอื่นฟังก์ชันจะส่งค่า 0 ออกมา ฟังก์ชัน isdigit(cha) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลในตัวแปร(ซึ่ง คือตัวแปรประเภท char ) ฟังก์ชัน เป็นตัวเลขหรือไม่ ถ้าเป็นตัวเลขฟังก์ชันจะให้ค่าที่ ไม่ใช่ 0 ออกมา ถ้าเป็นตัวอักษรหรืออักขระพิเศษอื่น ฟังก์ชันจะส่ง 0 ออกมา
  • 7. ตัวอย่าง /* isalnumPhadigit.c */ #include <stdio.h> #include <ctype.h> #include <conio.h> main() { clrscr(); char cha1 = 'B' ,cha2 ='3',cha3= '&'; printf("n %d is return value of isdigit(cha1) of %c",isdigit(cha1),cha1); printf("n %d is return value of isdigit(cha2) of %c ",isdigit(cha2),cha2); printf("n %d is return value of isalpha(cha3) of %c ",isalpha(cha3),cha3); printf("n %d is return value of isalpha(A) of %c ",isalpha('A'),'A'); printf("n %d is return value of isalpha('0') of %c ",isalpha('0'),'0'); printf("n %d is return value of isalpha('$') of %c ",isalpha('$'),'$'); printf("n %d is return value of isalnum(cha1) of %c",isalnum(cha1),cha1); printf("n %d is return value of isalnum(cha2) of %c ",isalnum(cha2),cha2); printf("n %d is return value of isalnum(cha3) of %c ",isalnum(cha3),cha3); printf("n %d is return value of isalnum(A) of %c ",isalnum('A'),'A'); printf("n %d is return value of isalnum('0') of %c ",isalnum('0'),'0'); printf("n %d is return value of isalnum('$') of %c ",isalnum('$'),'$'); }
  • 8. ฟังก์ชัน islower(cha) ฟังก์ชันที่ใช้ตรวจสอบว่าตัวอักขระในตัวแปร cha เป็นตัวพิมพ์เล็กหรือไม่ ถ้าเป็นตัวพิมพ์เล็กฟังก์ชันจะส่งค่ากลับเป็นจานวนเต็มที่ ไม่ใช่ 0 แต่ถ้าไม่ใช่ตัวพิมพ์เล็กจะส่งค่ากลับเป็น 0 ฟังก์ชัน isupper(cha) ฟังก์ชันที่ใช้ตรวจสอบว่าตัวอักขระในตัวแปร cha เป็นตัวพิมพ์ใหญ่หรือไม่ ถ้าเป็นตัวพิมพ์ใหญ่ ฟังก์ชันจะส่งค่ากลับเป็นจานวนเต็มที่ ไม่ใช่ 0 แต่ถ้าไม่ใช่ตัวพิมพ์ใหญ่จะส่งค่ากลับเป็น 0 ฟังก์ชัน tolower(cha) ฟังก์ชันที่ใช้เปลี่ยนตัวพิมพ์ใหญ่ที่เก็บอยู่ในตัว แปรให้เป็นตัวพิมพ์เล็ก ฟังก์ชัน toupper(cha) ฟังก์ชันที่ใช้เปลี่ยนตัวพิมพ์เล็กที่เก็บอยู่ในตัว แปรให้เป็นตัวพิมพ์ใหญ่
  • 9. ตัวอย่าง /* upperlower.c */ #include <stdio.h> #include <ctype.h> #include <conio.h> main() { char cha1 = 'D' , cha2 = 'a' ,cha3 = 'f' , cha4 = 'N' ; clrscr(); printf("ncheck cha1 = 'D' is uppercase yes or no : %d ",isupper(cha1)); printf("ncheck cha2 = 'a' is lower yes or no : %d ",islower(cha2)); printf("ncheck cha2 = 'a' is upper yes or no : %d ",isupper(cha2)); printf("ncheck 'i' is lower yes or no : %d ",islower('i')); printf("ncheck 'L' is uppercase yes or no : %d ",isupper('L')); printf("nchange cha3 = 'f' to uppercase %c : ", toupper(cha3)); printf("nchange cha4 = 'N' to lowercase %c : ", tolower(cha4)); }
  • 10. ฟังก์ชัน isspace(cha) ฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลในตัวแปร cha เป็น whitespace หรือไม่ whitespace ได้แก่ space ,tab ,vertical tab ,formfeed ,carriage retun ,newline ถ้ามี whitespace จริง ฟังก์ชันจะส่งค่าไม่เท่ากับ 0 ถ้าไม่จริงจะส่งค่า 0 ฟังก์ชัน isxdigit(cha) ฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลในตัวแปร cha เป็น เลขฐานสิบหก ( คือ 0-9 , A-F , a – f) หรือไม่ ถ้าจริงส่งค่าตัวเลขที่ไม่ใช่ 0 ถ้าไม่จริงส่งตัวเลข 0 ตัวอย่าง /*isspaceisxdigit.c */ #include <stdio.h> #include <conio.h> #include <ctype.h> main() { char cha1 ='r',cha2= 'n',cha3='v' ,cha4 ='A'; clrscr(); printf("n%d is volue return from isspace %c ",isspace(cha1),cha1); printf("n%d is volue return from isspace %c ",isspace(cha2),cha2); printf("n%d is volue return from isspace %c ",isspace(cha3),cha3); printf("n%d is volue return from isxdigit %c ",isxdigit(cha4),cha4); printf("n%d is volue return from isxdigit %c ",isxdigit('0'),'0'); printf("n%d is volue return from isxdigit %c ",isxdigit('g'),'g'); }
  • 11. ฟังก์ชัน gotoxy(x,y); เป็นฟังก์ชันอยู่ใน conio.h ใช้สั่งให้เคอร์เซอร์ เคลื่อนที่ไปตามตาแหน่งที่ระบุ โดย x คือ ตาแหน่งของสดมภ์บนจอภาพ (คล้ายค่า x ของกราฟ)ค่าเพิ่มจากซ้ายไปขวามีค่าตั้งแต่ 1 ถึง 79 ตาแหน่งที่ 80 สงวนไว้ไม่ให้ใช้ ส่วน y คือตาแหน่งแถวบนจอภาพนับจากบนลงล่าง มีค่าได้ตั้งแต่ 1 ถึง 24 ตาแหน่งที่25 สงวนไว้ ฟังก์ชัน clreol(); เป็นฟังก์ชันอยู่ใน conio.h ใช้ลบข้อความตั้งแต่ ตาแหน่งที่เคอร์เซอร์อยู่ไปจนจบบรรทัด ฟังก์ชัน delline(); เป็นฟังก์ชันอยู่ในconio.h ใช้ลบข้อความทั้ง บรรทัดที่เคอร์เซอร์อยู่ไปจนจบบรรทัดและเลื่อนข้อความในบรรทัดล่างขึ้นมาแทน ฟังก์ชัน insline(); เป็นฟังก์ชันอยู่ในconio.h ใช้แทรกบรรทัดว่าง 1 บรรทัดใต้บรรทัดที่เคอร์เซอร์อยู่ ฟังก์ชัน system(“dos command”); เป็นฟังก์ชันอยู่ในstdlib.h ใช้เรียกคาสั่งของ dos ขึ้นมาทางาน เช่นคาสั่ง cls dir date time
  • 12. ฟังก์ชัน abort(); ฟังก์ชันที่อยู่ใน <stdlib.h> ใช้ ยกเลิกการทางาน ของโปรแกรมทันทีไม่ว่าจะทางานสาเร็จหรือไม่ และมีข้อความ Abnomal program termination แสดงทางจอภาพ ฟังก์ชัน abs(x); ฟังก์ชันที่อยู่ใน <stdlib.h> ใช้หาค่าสัมบูรณ์ของ x โดย x ต้องเป็นจานวนเต็ม ฟังก์ชัน labs(x); ฟังก์ชันที่อยู่ใน <stdlib.h> ใช้หาค่าสัมบูรณ์ของ x โดย x ต้องเป็นlong integer ฟังก์ชัน atoi(s); ฟังก์ชันที่อยู่ใน <stdlib.h> ใช้เปลี่ยนข้อความให้ เป็นเลขจานวนเต็ม ฟังก์ชัน atol(s); ฟังก์ชันที่อยู่ใน <stdlib.h> ใช้เปลี่ยนข้อความให้ เป็น long integer ฟังก์ชัน atof(s); ฟังก์ชันที่อยู่ใน <stdlib.h> ใช้เปลี่ยนข้อความให้ เป็น floating point
  • 13. ตัวอย่าง /* atoilf.c */ #include <conio.h> #include <stdio.h> #include <stdlib.h> int main(void) { char numstring1[10],numstring2[10],numstring3[10]; int in1; float flo1; long lon1; clrscr(); printf("nEnter number as string1 : "); scanf("%s",numstring1); printf("nEnter number as string2 : "); scanf("%s",numstring2); printf("nEnter number as string3 : "); scanf("%s",numstring3); in1 = atoi(numstring1); flo1 = atof(numstring2); lon1=atol(numstring3); printf("nnumstring1 =%s change to integer %d ",numstring1,in1); printf("nnumstring2 =%s change to floating point %4.4f ",numstring2,flo1); printf("nnumstring3 =%s change to long integer %d ",numstring3,lon1); printf("nsummation of in1,flo1,lon1 is %6.4f ",in1+flo1+lon1); printf("nsummation of atoi(numstring1),atof(numstring2),atol(numstring2) is %6.4lf:",atoi(numstring1)+atof(numstring2)+atol(numstring3)); }