SlideShare a Scribd company logo
แนะนำกำรเขียนโปรแกรมภำษำ C 
Introduction to C Programming Language 
อ.เรวดี พิพัฒน์สูงเนิน สาขาวิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ มหาวิทยาลัยราชภัฏอุดรธานี
ภาษา C 
•ภาษา C เป็นภาษาระดับสูง (High level language) 
•เป็นภาษาคอมพิวเตอร์ที่ได้รับความนิยมภาษาหนึ่ง เนื่องจาก ทางานได้เร็ว มีความยืดหยุ่น 
•สามารถใช้เขียนโปรแกรมระบบปฏิบัติการ หรือระบบงาน ทั่วไป เช่น งานด้านธุรกิจ หรืองานด้านวิทยาศาสตร์และ วิศวกรรมได้ 
•ภาษา C เหมาะกับการเขียนโปรแกรมแบบโครงสร้าง (Structured programming)
ประวัติของภาษา C 
•ปี ค.ศ. 1972 Dennis Ritchie เป็นผู้ที่คิดค้นภาษาซีขึ้น เป็นครั้งแรก โดยพัฒนามาจากภาษา B และภาษา BCPL 
•ปี ค.ศ. 1978 Brain Kernighan และ Dennis Ritchie พัฒนามาตรฐานภาษา C ขึ้นเรียกว่า K&R (Kernighan & Ritchie) 
•ปี ค.ศ. 1988 Ritchie และ Kernighan ได้ร่วมกับ ANSI (American National Standard Institute) สร้าง มาตรฐานภาษา C ขึ้นเรียกว่า ANSI C เพื่อใช้เป็น ตัวกาหนดมาตรฐานในการสร้างภาษา C รุ่นต่อไป
ประวัติของภาษา Cภาษา BCPLภาษา B 
ภาษา 
C 
บนเครื่อง 
PDP-7 
(UNIX) 
พ.ศ. 2513 
ค.ศ. 1972 พัฒนาโดย 
เดนนิช ริทชี่ 
Basic Combined 
Programming 
Language
ขั้นตอนการพัฒนาโปรแกรมภาษา C
โครงสร้างโปรแกรมภาษา C 
1.ส่วนหัวโปรแกรม 
2.ส่วนของฟังก์ชันหลัก 
3.ส่วนรายละเอียดการทางานของโปรแกรม #include <stdio.h> main() { printf(“Hello world”); } 
1 
2 
3
ส่วนหัวของโปรแกรม 
•เรียกว่า Preprocessing Directives เป็นส่วนที่บอก คอมไพเลอร์(compiler) กระทาการใด ๆ ก่อนการแปล ผลโปรแกรม 
•เช่น #include <stdio.h> เป็นการบอกคอมไพเลอร์ ให้นาเฮดเดอร์ไฟล์(header file)ที่ระบุคือ stdio.h เข้ามาร่วมในการแปลโปรแกรมด้วย 
•การกาหนดส่วน Preprocessing Directives ต้อง ขึ้นต้นด้วยเครื่องหมาย # (pound sign) เสมอ 
1
ส่วนหัวของโปรแกรม 
•การใช้คาสั่งระบุเฮดเดอร์ไฟล์ที่จะนาเข้าร่วมในการ แปลผลโปรแกรม สามารถเขียนได้ 2 รูปแบบดังนี้ 
1 
#include <ชื่อเฮดเดอร์ไฟล์> 
#include ‚ชื่อเฮดเดอร์ไฟล์‛
ส่วนฟังก์ชันหลัก 
•ฟังก์ชันหลักของภาษา C คือ main() ซึ่งจะเป็น ฟังก์ชันที่ขาดไม่ได้ 
•ขอบเขตการทางานของฟังก์ชัน คาสั่งจะอยู่ภายใต้ เครื่องหมาย { ...} 
•ฟังก์ชัน main สามารถเขียนได้ 2 รูปแบบ คือ 
▫main() หรือ void main(void) 
•ฟังก์ชัน main ไม่มีอาร์กิวเมนต์(argument) คือไม่มี การรับค่าใดเข้ามาทางานในฟังก์ชัน 
2
ส่วนรายละเอียดการทางานของโปรแกรม 
•เป็นส่วนของการเขียนคาสั่ง เพื่อให้โปรแกรมทางาน ตามที่ได้ออกแบบไว้ 
3
ประโยคคาสั่ง 
•ใช้เครื่องหมาย ; (semi-colon) เป็นตัว กาหนดการสิ้นสุดแต่ละประโยค
คอมเมนต์ (Comment) 
•คอมเมนต์เป็นส่วนหมายเหตุของโปรแกรม มีไว้ให้ผู้เขียน โปรแกรมใส่ข้อความอธิบายกากับลงใน source code ซึ่งคอมไลเอร์จะข้ามการแปลในส่วนคอมเมนต์ 
•มี 2 ลักษณะ 
▫คอมเมนต์แบบบรรทัดเดียว ใช้เครื่องหมาย // 
▫คอมเมนต์แบบหลายบรรทัด /* ….. */
คอมเมนต์ (Comment) 
•ตัวอย่าง // Program by Rewadee #include <stdio.h> main() { /* printf(“Hello world”); */ }
กฏการตั้งชื่อ 
กฏเกณฑ์ในการตั้งชื่อให้กับ Identifier ได้แก่ ตัวแปร , ฟังก์ชันและ เลเบล 
•ชื่อที่ตั้งต้องไม่ซ้ากับคาสงวน(reserve word) ในภาษา C 
•ชื่อต่างๆที่ตั้ง เป็นแบบ case-sensitive (ตัวอักษรใหญ่- เล็ก แตกต่างกัน) 
•ชื่อขึ้นต้นด้วยตัวอักษรหรือเครื่องหมาย_ (underscore) เท่านั้น แต่ภายในชื่อประกอบด้วยตัวอักษร เครื่องหมาย _ หรือตัวเลขก็ได้ 
•ห้ามเว้นวรรคหรือมีช่องว่างภายในชื่อ 
•ชื่อประกอบด้วยอักขระพิเศษไม่ได้ เช่น $ , @ , # , &
คาสงวนในภาษา C 
asm 
default 
for 
pascal 
switch 
_ds 
auto 
do 
goto 
register 
typedef 
_es 
break 
double 
huge 
return 
union 
_ss 
case 
else 
if 
short 
unsigned 
cdecl 
enum 
int 
signed 
void 
char 
extern 
nterrupt 
sizeof 
volatile 
const 
far 
ong 
static 
while 
continue 
float 
near 
struct 
_cs
ตัวแปรและชนิดข้อมูล (Variable and Data Type) 
•ตัวแปร (Variable) คือ ชื่อที่กาหนดขึ้นเพื่อใช้ในการ เก็บข้อมูล ในหน่วยความจาในการทางานของโปรแกรม 
•ชนิดข้อมูล (Data Type) คือ สิ่งที่ใช้กาหนดลักษณะ และขอบเขตของข้อมูลให้กับตัวแปร โดยชนิดข้อมูลที่ แตกต่างกันจะมีขอบเขตของข้อมูลที่เก็บได้ไม่เท่ากัน
ชนิดข้อมูล (Data Type) 
Data typeVoid type 
Character type 
Integer type 
Float type
Void Type 
•ชนิดข้อมูลแบบนี้จะไม่มีค่า (0 ไบต์) 
•ไม่นาไปใช้ในการกาหนดชนิดข้อมูลให้แก่ตัวแปร 
•แต่จะกาหนดให้กับฟังก์ชันที่ไม่ต้องการรับค่าใด ๆ เข้ามาหรือส่งค่าใด ๆ ออกจากฟังก์ชัน 
•เช่น void main(void)
Character Type 
•คือชนิดข้อมูล char 
•สามารถเก็บข้อมูลได้ 1 ตัวอักษร ต่อ ตัวแปร 
•หากต้องการกาหนดตัวแปรที่สามารถเก็บข้อมูล ประเภทตัวอักษร จานวนหลายตัวอักษร เรียกว่า สตริง(string) จะไม่สามารถกาหนดได้โดยตรง แต่ จะกาหนดในลักษณะอาร์เรย์ของตัวอักษร
Character Type 
•ตัวอย่างการประกาศตัวแปรและกาหนดชนิดข้อมูล แบบ char 
•เช่น 
char ch ; 
char data = ‘A’; 
char msg[10] ; 
char text[10] = ‚Thank you‛ ;
Integer type 
•เป็นชนิดข้อมูลแบบเลขจานวนเต็ม 
•แบ่งเป็น 3 ชนิด ได้แก่ 
▫short int: เลขจานวนเต็มแบบสั้น 
▫int: เลขจานวนเต็มแบบปกติ 
▫long int: เลขจานวนเต็มแบบยาว 
short int 
int 
long int
Floating type 
•เป็นชนิดข้อมูลแบบเลขทศนิยม หรือ เรียกว่า จานวน จริง(real number) 
•แบ่งเป็น 3 ชนิด ได้แก่ 
▫float 
▫double 
▫long double 
short int 
int 
long int
สรุปชนิดและขอบเขตการเก็บข้อมูล 
Name 
Description 
Size* 
Range* 
char 
Character or small integer. 
1byte 
signed: -128 to 127unsigned: 0 to 255 
short int(short) 
Short Integer. 
2bytes 
signed: -32768 to 32767unsigned: 0 to 65535 
int 
Integer. 
4bytes 
signed: -2147483648 to 2147483647unsigned: 0 to 4294967295 
long int(long) 
Long integer. 
4bytes 
signed: -2147483648 to 2147483647unsigned: 0 to 4294967295 
float 
Floating point number. 
4bytes 
+/-3.4e +/-38 (~7 digits) 
double 
Double precision floating point number. 
8bytes 
+/-1.7e +/-308 (~15 digits) 
long double 
Long double precision floating point number. 
8bytes 
+/-1.7e +/-308 (~15 digits) 
wchar_t 
Wide character. 
2 or 4 bytes 
1 wide character
การประกาศตัวแปร 
•รูปแบบ 
ชนิดข้อมูล ชื่อตัวแปร ; 
ชนิดข้อมูล ชื่อตัวแปร1 , ชื่อตัวแปร2 , ชื่อตัวแปร3 ; 
ชนิดข้อมูล ชื่อตัวแปร = ค่าเริ่มต้นที่กาหนดให้ตัวแปร ;
ตัวอย่างการประกาศตัวแปร chardata = ‘A’ ; char grade[2] = ‚F‛; intnum= 10; doublepi = 3.1415926536 ; 
ประกาศตัวแปรและ กาหนดค่าเริ่มต้น 
chardata ; 
float value; 
data = ‘A’; 
value = 3.5f ; 
ประกาศตัวแปรก่อน แล้วกาหนดค่าให้ตัวแปร ทีหลัง
ประเภทของตัวแปร 
•มี 2 ประเภท คือ 
•ตัวแปรแบบโกบอล (Global variable) 
•ตัวแปรแบบโลคอล (Local variable)
ตัวแปรแบบโกบอล (Global variable) 
•เป็นตัวแปรแบบสาธารณะ หมายถึง ไม่มีฟังก์ชัน เป็นเจ้าของตัวแปรนั้น ดังนั้นทุกฟังก์ชันจึงสามารถ ใช้งานตัวแปรนั้นได้ 
•การประกาศตัวแปรแบบโกบอล ต้องประกาศไว้นอก ฟังก์ชันทุกฟังก์ชัน
ตัวแปรแบบโลคอล (Local variable) 
•เป็นตัวแปรที่ประกาศไว้ภายในฟังก์ชันหนึ่ง ๆ ซึ่ง หากประกาศไว้ในฟังก์ชัน หมายถึงฟังก์ชันนั้นเป็น เจ้าของ ฟังก์ชันอื่นไม่สามารถเรียกใช้งานตัวแปร นั้นได้
ตัวแปรโกบอล & ตัวแปรโลคอล #include <stdio.h> int i= 1; int test(int j) { int x= 3; return x+ j; } main() { int y; printf(“Global variable i is %dn” , i); y= test(i); y= y* x; printf(“Local variable y is %dn” , y); } i เป็นตัวแปรแบบโกบอล 
j , x เป็นตัวแปรแบบโลคอลของฟังก์ชัน test 
y เป็นตัวแปรแบบโลคอลของฟังก์ชัน main 
บรรทัดนี้ error เพราะ ไม่สามารถเรียกใช้ตัวแปร x ได้
Storage class 
•Storage class เป็นสิ่งที่ใช้กาหนดขอบเขตการทางาน ของตัวแปรว่า จะให้ใครใช้ตัวแปรได้บ้าง 
•และกาหนดเรื่องเวลาในการเก็บค่าในตัวแปร 
•มี 4 ประเภท ได้แก่ 
▫auto 
▫extern 
▫static 
▫register
Storage class : auto 
•ใช้ในการประกาศ automatic variable หรือตัวแปร แบบโลคอล 
•เช่น inta = 1 ; เหมือนกับ auto inta = 1; 
•โดยปกติจะไม่ประกาศโดยระบุ auto เพราะการประกาศ ตัวแปรก็จะเป็น auto variable อยู่แล้ว 
•ตัวแปรจะถูกทาลายอัตโนมัติ เมื่อจบการทางานของ ฟังก์ชัน
Storage class : extern 
•ใช้ในประกาศ external variable เป็นตัวแปรแบบโก บอลที่ฟังก์ชันทุกฟังก์ชันสามารถมองเห็นและใช้งานได้ 
•แต่เป็นตัวแปรที่ประกาศไว้ในไฟล์อื่น โดยระบุ extern ไว้ด้านหน้าตัวแปร เพื่อให้ทาการอ้างอิงไปยังตัวแปรนั้น ๆ จากไฟล์อื่น
Storage class : static 
•ใช้ในการประกาศ static variable ซึ่งอาจเป็นแบบโก บอลหรือแบบโลคอล ก็ได้ 
•จะถูกทาลายเมื่อ จบการทางานของโปรแกรม ดังนั้นเมื่อ เข้าสู่การทางานของฟังก์ชันหนึ่ง และออกจากฟังก์ชันนั้น ไป เมื่อกลับเข้ามาทางานในฟังก์ชันเดิมอีกครั้ง ค่าของตัว แปรก็ยังคงอยู่
Storage class : register 
•ใช้ในการประกาศ register variable โดยปกติการ ประกาศตัวแปรจะถูกเก็บไว้ในหน่วยความจาเพื่อรอการ เรียกใช้งาน แต่หากเป็น register variable จะถูก เก็บไว้ในรีจิสเตอร์ของ CPU ทาให้ทางานได้เร็วกว่า หน่วยความจา 
•แต่รีจิสเตอร์ไม่มีตาแหน่งอ้างอิง ดังนั้นจึงไม่สามารถ คานวณหาที่อยู่ของตัวแปรแบบนี้ได้
ค่าคงที่ (Constant) 
•ค่าคงที่ แบ่งออกเป็น 3 ประเภท คือ 
▫Literal constant 
▫Defined constant 
▫Memory constant
Literal constant 
•คือค่าคงที่ซึ่งเป็นข้อมูลที่แน่นอน ไม่จาเป็นต้องมีตัวแปร มารองรับ สามารถกาหนดค่าในโปรแกรมได้โดยตรงเลย 
•เช่น printf(“ 2 x 2 = %d” , 4) ; printf(“I love %c languagen” , „C‟); 
Literal constant
Defined constant 
•คือค่าคงที่ซึ่งกาหนดไว้ที่ส่วนหัวของโปรแกรมในลักษณะ ของ Preprocessing Directive 
•เช่น 
#include <stdio.h> 
#defineMAX_VALUE 20; 
main() { 
… 
} 
Defined constant
Memory constant 
•คือการกาหนดค่าคงที่ให้กับแปร ซึ่งเมื่อกาหนดค่าในลักษณะนี้ แล้ว ตัวแปรนั้นจะไม่สามารถกาหนดค่าใหม่ได้อีก ต้องเป็นค่า นั้นตลอดการทางานของโปรแกรม 
•เช่น 
#include <stdio.h> 
main() { 
constfloattax = 7.5f ; 
printf(“Memory constant : define tax is %fn” , tax); 
tax = 8.5 ; 
printf(“Memory constant : define tax is %fn” , tax); 
} 
Memory constant 
บรรทัดนี้ Error เนื่องจากตัวแปร tax เป็น Memory constant ไม่สามารถเปลี่ยนค่าได้
โอเปอเรตอร์ และการดาเนินการต่าง ๆ 
Operator and Operations
•โอเปอเรเตอร์(Operator) คือ ตัวดาเนินการต่าง ๆ เช่น ตัวดาเนินการทางคณิตศาสตร์ ตัวดาเนินการ ตรรกศาสตร์ เป็นต้น 
• โอเปอแรนด์(Operand) คือ ตัวถูกกระทา อาจเป็นค่าคงที่ ตัวแปร นิพจน์ หรือฟังก์ชัน ก็ได้ 
•นิพจน์(Expresion) คือ การนาเอา โอเปอเรเตอร์ และ โอ เปอแรนด์ มาประกอบกันเป็นประโยคคาสั่ง(statement)
x = (a * b ) –(c * d) ; 
โอเปอเรเตอร์ 
โอเปอแรนด์ 
vat = sum * (7 / 100) ; โอเปอเรเตอร์ 
นิพจน์
การดาเนินการทางคณิตศาสตร์ 
•หมายถึง นิพจน์ที่ประกอบด้วยโอเปอแรนด์และโอเปอเรเตอร์ทาง คณิตศาสตร์ (Arithmetic Operator) ในภาษา C แบ่ง ออกเป็น 7 ชนิด ได้แก่ 
▫+: บวก 
▫- : ลบ 
▫* : คูณ 
▫/ : หาร 
▫% : หารเอาเศษ 
▫++: เพิ่มค่าขึ้น 1 
▫--: ลดค่าลง 1
Operator 
ความหมาย 
ตัวอย่าง 
ผลลัพธ์ 
+ 
บวก 
9 + 4 
13 
- 
ลบ 
9 –4 
5 
* 
คูณ 
9 * 4 
36 
/ 
หาร 
9 / 4 
2 (ถ้าชนิดข้อมูลของตัวตั้งและ ตัวหารเป็นจานวนเต็ม จะได้ ผลลัพธ์เป็นจานวนเต็ม โดย ปัดเศษทิ้ง) 
% 
หารเอาเศษ 
(Modulo) 
9 % 4 
1 
การดาเนินการทางคณิตศาสตร์
Operator 
ความหมาย 
ตัวอย่าง 
ผลลัพธ์ 
++ 
เพิ่มค่าขึ้น 1 โดย 
a++ จะนาค่าของ a ไปใช้งานก่อน แล้วจึง เพิ่มค่า a ขึ้นอีก 1 
b = a++ ; 
มีความหมาย เหมือน 
b = a; 
a = a + 1; 
สมมติ a มีค่าเป็น 9 
หลังจากคาสั่ง 
b = a++; 
++aจะเพิ่มค่า 1 ใส่ ตัวแปร a ก่อนแล้วจึง นาไปใช้ 
b = ++a; 
มีความหมาย เหมือน 
a = a + 1; 
b = a; 
สมมติ a มีค่าเป็น 9 
หลังจากคาสั่ง 
b = ++a 
a = 10 , b = 9 
a = 10 , b = 10 
การดาเนินการทางคณิตศาสตร์
Operator 
ความหมาย 
ตัวอย่าง 
ผลลัพธ์ 
-- 
ลดค่าลง 1 โดย 
a-- จะนาค่าของ a ไปใช้งานก่อน แล้วจึง ลดค่า a ลง 1 
b = a--; 
มีความหมาย เหมือน 
b = a; 
a = a -1; 
สมมติ a มีค่าเป็น 9 
หลังจากคาสั่ง 
b = a--; 
--aจะลดค่า 1 ใน ตัวแปร a ก่อนแล้วจึง นาไปใช้ 
b = --a; 
มีความหมาย เหมือน 
a = a -1; 
b = a; 
สมมติ a มีค่าเป็น 9 
หลังจากคาสั่ง 
b = --a 
a = 8 , b = 9 
a = 8 , b = 8 
การดาเนินการทางคณิตศาสตร์
ข้อสังเกต 
•ถ้าเขียนนิพจน์ a++ ; หรือ ++a ; มีความหมาย เหมือนกัน 
•แต่ถ้านาไปร่วมกับนิพจน์อื่น ๆ แล้วลาดับการทางานของ a++ และ ++a จะแตกต่างกัน 
y = x++ ; 
1. y = x ; 
2. x = x+1; 
z = ++x ; 
1. x = x+1; 
2. z = x ;
Operator 
ความหมาย 
ตัวอย่าง 
ผลลัพธ์ 
+= 
บวกแบบลดรูป 
x += 3 
มีความหมาย เหมือน 
x = x + 3; 
สมมติ x มีค่าเป็น 5 
หลังจากคาสั่ง 
x += 3; 
x = 8 
-= 
ลบแบบลดรูป 
x -= 3 
มีความหมาย เหมือน 
x = x -3; 
สมมติ x มีค่าเป็น 5 
หลังจากคาสั่ง 
x -= 3; 
x = 2 
การดาเนินการทางคณิตศาสตร์
Operator 
ความหมาย 
ตัวอย่าง 
ผลลัพธ์ 
*= 
คูณแบบลดรูป 
x *= 3 
มีความหมาย เหมือน 
x = x * 3; 
สมมติ x มีค่าเป็น 5 
หลังจากคาสั่ง 
x *= 3; 
x = 15 
/= 
หารแบบลดรูป 
x /= 3 
มีความหมาย เหมือน 
x = x / 3; 
สมมติ x มีค่าเป็น 5 
หลังจากคาสั่ง 
x /= 3; 
x = 1 
(ถ้าชนิดข้อมูลของตัวตั้งและตัวหาร เป็นจานวนเต็ม จะได้ผลลัพธ์เป็น จานวนเต็ม โดยปัดเศษทิ้ง) 
การดาเนินการทางคณิตศาสตร์
Operator 
ความหมาย 
ตัวอย่าง 
ผลลัพธ์ 
%= 
หารเอาเศษ แบบลดรูป 
x %= 3 
มีความหมาย เหมือน 
x = x % 3; 
สมมติ x มีค่าเป็น 5 
หลังจากคาสั่ง 
x %= 3; 
x = 2 
การดาเนินการทางคณิตศาสตร์
ตัวอย่างโปรแกรม 
จงแสดงผลลัพธ์ของโปรแกรม 
เมื่อ ป้อน x มีค่า 9 
y มีค่า 4
การดาเนินการทางตรรกะ 
•ตรรกะ (Logic)คือ แนวคิดเชิงเหตุและผลที่เกี่ยวข้องกับค่า ความจริง 2 ค่า คือ จริง(true) หรือ เท็จ(false) 
•โอเปอเรเตอร์ทางตรรกะ (Logical operator) คือ ตัว ดาเนินการที่ให้ผลลัพธ์ออกมาเป็นค่าตรรกะ คือ มีค่าจริงหรือเท็จ อย่างใดอย่างหนึ่งเท่านั้น
ตัวดาเนินการทางตรรกะ (Logical operator) 
ตัวดาเนินการ 
ความหมาย 
> 
มากกว่า 
>= 
มากกว่าหรือเท่ากับ 
< 
น้อยกว่า 
<= 
น้อยกว่าหรือเท่ากับ 
== 
เท่ากับ 
!= 
ไม่เท่ากับ 
&& 
และ (AND) 
|| 
หรือ (OR) 
! 
นิเสธ (NOT)
ตัวอย่างการเทียบค่าความจริงของ && , || , ! x 
y 
x && y 
x || y 
!x 
true 
true 
true 
true 
false 
true 
false 
false 
true 
false 
false 
true 
false 
true 
true 
false 
false 
false 
false 
true
การดาเนินการระดับบิต 
•บิต (bit) ย่อมาจาก Binary digit คือ หน่วยจ้อมูลที่ เล็กที่สุดในคอมพิวเตอร์ มีค่าเป็น 0 หรือ 1 
•โอเปอเรเตอร์ระดับบิต (Bitwise operator) คือ ตัวดาเนินการที่นาเอาค่าแต่ละบิตของโอเปอแรนด์มากระทากับ ค่าในระดับบิต
ตัวดาเนินการบิต (bitwise operator) 
ตัวดาเนินการ 
ความหมาย 
& 
Bitwise AND 
| 
Bitwise OR 
^ 
Bitwise XOR (eXclusiveOR) 
~ 
Bitwise NOT 
>> 
เลื่อนบิตไปทางขวา (Shift Right) 
<< 
เลื่อนบิตไปทางซ้าย(Shift Left)
ตัวอย่างการเทียบค่าความจริงของ & , | , ~ , ^ x 
y 
x & y 
x | y 
~x 
x ^ y 
1 
1 
1 
1 
0 
0 
1 
0 
0 
1 
0 
1 
0 
1 
0 
1 
1 
1 
0 
0 
0 
0 
1 
0
ตัวอย่างการทางานของตัวดาเนินการระดับบิต 
•จงหาค่านิพจน์ 10 & 2 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
1 
0 
10 
10 = 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
01 
0 
2 = 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
00 
1 
0 
10&2 = 
10 & 2 = 2
ตัวอย่างการทางานของตัวดาเนินการระดับบิต 
•จงหาค่านิพจน์ 10 | 2 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
1 
0 
10 
10 = 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
01 
0 
2 = 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
10 
1 
0 
10|2 = 
10 | 2 = 10
ตัวอย่างการทางานของตัวดาเนินการระดับบิต 
•จงหาค่านิพจน์ 10 ^ 2 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
1 
0 
10 
10 = 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
01 
0 
2 = 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
10 
0 
0 
10^2 = 
10 ^ 2 = 8
ตัวอย่างการทางานของตัวดาเนินการระดับบิต 
•จงหาค่านิพจน์ ~10 และ~2 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
1 
0 
10 
10 = 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
01 
0 
2 = 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
11 
0 
1 
~2 = 
~2 = -3 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
11 
0 
1 
0 
1 
~10 = 
~10 = -11
ตัวอย่างการทางานของตัวดาเนินการระดับบิต 
•จงหาค่านิพจน์ 10 >> 2 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
1 
0 
10 
10 = 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
1 
01 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
01 
0 
10 >> 2 = 
10 >> 2 = 2 
0 
0
ตัวอย่างการทางานของตัวดาเนินการระดับบิต 
•จงหาค่านิพจน์ 10 << 2 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
1 
0 
10 
10 = 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
1 
01 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
1 
0 
1 
00 
0 
10 << 2 = 
10 >> 2 = 40 
0 
0
การเขียนนิพจน์ในภาษา C 
•นิพจน์ คือ การนาเอาข้อมูลและตัวแปร มาดาเนินการด้วย เครื่องหมายทางคณิตศาสตร์ ตรรกศาสตร์ หรือเครื่องหมาย เปรียบเทียบ เป็นประโยคคาสั่งในการทางาน
การเขียนนิพจน์ในภาษา C 
นิพจน์ทางคณิตศาสตร์ปกติ 
นิพจน์ทางคณิตศาสตร์ในภาษา C 
x2+ 4x + 2 
x * x + 4 * x + 2 
2ab + 4c 
2 * a * b + 4 * c 
X2 
xy+ 2 
x * x / (x * y + 2) 
4z 
4 * z
การเขียนนิพจน์ในภาษา C 
•ตัวอย่างนิพจน์ทางตรรกศาสตร์ 
•กาหนดตัวแปร a มีค่า 25 , b มีค่า -124 และ c มีค่า 0 
นิพจน์ทางตรรกศาสตร์ 
การดาเนินการ 
ผลลัพธ์ 
c && (a <= b) 
F && F 
F 
(b >= c) || (!a) 
F || F 
F 
(a > b) && (c <= a) 
T && T 
T 
(!c) || (a == b) 
T || F 
T 
(a + 5) > (b -100) 
30 > -224 
T
ลาดับความสาคัญของเครื่องหมาย 
ลาดับความสาคัญ 
เครื่องหมาย 
1 
() 
2 
! , ++ , --, (typecast) 
3 
* , / , % 
4 
+ , - 
5 
< , <= , > , >= 
6 
== , != 
7 
&& 
8 
|| 
9 
*= , /= , %= , += , -=
ตัวอย่างการดาเนินการตามลาดับเครื่องหมาย x * y –20 % z 
1 
2 
3
ตัวอย่างการดาเนินการตามลาดับเครื่องหมาย 
(a –b) * 10 / c && d + 5 
1 
2 
3 
4 
5
ตัวอย่างการดาเนินการตามลาดับเครื่องหมาย 
(a +b) * 4 == c % d * (e + 10) 
1 
2 
3 
4 
5 
6
การรับและแสดงผลข้อมูล 
Input / Output
การแสดงผลทางจอภาพ 
•ฟังก์ชันที่ใช้ คือ printf(point , format) มีหน้าที่ แปลงข้อมูลในระบบเลขฐานสองที่คอมพิวเตอร์ประมวลผล ได้ให้อยู่ในรูปแบบที่มนุษย์เข้าใจ 
•ต้องระบุเฮดเดอร์ไฟล์ stdio.hในส่วนหัวโปรแกรม 
•รูปแบบ 
printf(‚string format‛ , data_list) ;
การแสดงผลทางจอภาพ 
•string_formatคือ ข้อความหรือสัญลักษณ์แทนข้อมูล ต่าง ๆ ที่จะถูกแทนที่ด้วยค่าคงที่ , ตัวแปร หรือนิพจน์ใดๆ ที่กาหนดเป็นพารามิเตอร์ในส่วน data_list 
•data_list คือ ข้อมูลที่จะแสดงบนจอภาพ ซึ่งอาจเป็น ค่าคงที่ , ตัวแปร หรือนิพจน์ใดๆ 
printf(‚string format‛ , data_list) ;
รหัสควบคุมรูปแบบในการแสดงผลค่าตัวแปร 
รหัสควบคุมรูปแบบ 
ชนิดข้อมูล 
%c 
char 
%s 
string 
%hd 
short int 
%d 
int 
%u 
unsignedint 
%Ld 
long int 
%Lu 
unsigned long int 
%f 
float 
%Lf 
double , long double
ตัวอย่างการใช้งานฟังก์ชัน printf 
printf(‚Hello world‛); 
string _format 
*** string _format เขียนภายในเครื่องหมาย ‚ ‛ ***
ตัวอย่างการใช้งานฟังก์ชัน printf 
printf(‚1 + 2 = %d‛ , 3); 
string _format 
*** รหัสควบคุมการแสดงผลเขียนภายในเครื่องหมาย ‚ ‛ แต่ ต้องสอดคล้องกับชนิดข้อมูลที่อยู่ใน data_list *** 
data_list
ตัวอย่างการใช้งานฟังก์ชัน printf 
char name[20] = ‚Malinee‛; 
printf(‚My name is %s‛ , name); 
string _format 
data_list
ตัวอย่างการใช้งานฟังก์ชัน printf 
intx = 5; 
inty = 7; 
intsum = x + y; 
printf(‚%d + %d = %d‛ , x , y , sum); 
string _format 
data_list
ตัวอย่างการใช้งานฟังก์ชัน printf 
intx = 3; 
inty = 4; 
char sum[7] = ‚seven‛; 
printf(‚%d + %d = %s‛ , x , y , sum); 
string _format 
data_list
Escape character 
•Escape character คือ รหัสที่ช่วยในการจัดการ แสดงผลข้อความบนจอภาพ
Escape character 
รหัส 
ความหมาย 
n 
ขึ้นบรรทัดใหม่ 
t 
เว้นช่องว่างเป็นระยะ 1 แท็บ (6 ตัวอักษร) 
r 
กาหนดให้เคอร์เซอร์เลื่อนไปอยู่ต้นบรรทัด 
f 
เว้นช่องว่างเป็นระยะ 1 หน้าจอ 
b 
ลบอักขระตัวสุดท้ายออก 
’ 
พิมพ์เครื่องหมาย ’ 
‛ 
พิมพ์เครื่องหมาย ‛ 
 
พิมพ์เครื่องหมาย
ตัวอย่างการจัดการแสดงผลข้อมูล ผลลัพธ์
การควบคุมขนาดพื้นที่แสดงผล 
•หากต้องการกาหนดพื้นที่ในการแสดงผล ให้ใส่ตัวเลขขนาด พื้นที่ที่ต้องการไว้หลังเครื่องหมาย % ในรหัสควบคุมรูปแบบ 
•เช่น 
printf(‚%s‛ , ‚Hello‛); 
printf(‚%10s‛ , ‚Hello‛); 
H 
e 
l 
l 
o 
H 
e 
l 
l 
o
การควบคุมตาแหน่งทศนิยม 
•โดยปกติการแสดงตัวเลขทศนิยม (%f) ถ้าไม่กาหนด รูปแบบจะแสดงทศนิยม 6 ตาแหน่ง 
•ถ้าต้องการกาหนดจานวนตาแหน่งทศนิยม ให้กาหนด ตัวเลขในรหัสควบคุมรูปแบบข้อมูล 
•รูปแบบ ‚%.nf‛ โดย .n หมายถึงจานวนตาแหน่ง ทศนิยม
ตัวอย่างการจัดพื้นที่การแสดงผล 
ผลลัพธ์
คาสั่ง putchar() 
•เป็นฟังก์ชันเฉพาะในการแสดงตัวอักษรหรืออักขระ 
•รูปแบบ putchar(ch); 
•chหมายถึง ตัวอักษรหรืออักขระที่เขียนอยู่ภายใน เครื่องหมาย ‘ ’ หรือตัวแปรชนิด char
ตัวอย่างคาสั่ง putchar() ผลลัพธ์
คาสั่ง puts() 
•เป็นฟังก์ชันเฉพาะในการแสดงข้อความออกทางจอภาพ 
•รูปแบบ puts(string); 
•stringหมายถึง ข้อความที่เขียนอยู่ภายในเครื่องหมาย ‚ ‛ หรือตัวแปรชนิด char[n]
คาสั่ง puts() ผลลัพธ์
การรับข้อมูลทางคีย์บอร์ด 
•ฟังก์ชันที่ใช้ในการรับข้อมูล คือ scanf() 
•ต้องระบุเฮดเดอร์ไฟล์ stdio.hในส่วนหัวโปรแกรม 
•รูปแบบ scanf(‚string format‛ , &variable) ;
การรับข้อมูลทางคีย์บอร์ด 
•string_formatคือ รหัสตัวแทนข้อมูล เช่น %d , %c , %s , %f เป็นต้น 
•variable คือ ตัวแปรที่จะใช้เก็บข้อมูลที่รับเข้ามาจาก คีย์บอร์ด โดยต้องมีเครื่องหมาย & (ampersand) นาหน้า ชื่อตัวแปร scanf(‚string format‛ , &variable) ;
ตัวอย่างการใช้งานฟังก์ชัน scanfintspeed; printf(‚Enter wind speed : ‛); scanf(‚%d‛ , &speed); * รหัสแทนข้อมูลชนิด int 
* รหัสแทนข้อมูลเขียนภายในเครื่องหมาย ‚ ‛ 
**variable 
** variable มีเครื่องหมาย & นาหน้าเสมอ และเรียงลาดับตามข้อมูลใน string_formatในกรณีที่มีหลายตัวแปร
ตัวอย่างการใช้งานฟังก์ชัน scanf 
charanswer; 
printf(‚Do you want exit : ‛); 
scanf(‚%c‛ , &answer); 
รหัสแทนข้อมูลชนิด char 
variable
ตัวอย่างการใช้งานฟังก์ชัน scanf 
charname[20]; 
printf(‚Enter name : ‛); 
scanf(‚%s‛ , &name); 
รหัสแทนข้อมูลชนิด char 
variable
ตัวอย่างการใช้ฟังก์ชัน scanf 
ผลลัพธ์
คาสั่ง getchar() 
•เป็นฟังก์ชันเฉพาะในการรับข้อมูลประเภทตัวอักษรหรือ อักขระ 
•รูปแบบ ch= getchar() ; 
• 
•chหมายถึง ตัวแปรชนิด char เพื่อเก็บข้อมูลประเภท ตัวอักษร
ตัวอย่างคาสั่ง getchar() 
ผลลัพธ์
คาสั่ง gets() 
•เป็นฟังก์ชันเฉพาะในการรับข้อมูลประเภทข้อความ 
•รูปแบบ gets(str) ; 
• 
•strหมายถึง ตัวแปรชนิด char ที่เป็นสตริง เพื่อเก็บ ข้อมูลประเภทข้อความ
ตัวอย่างคาสั่ง gets() 
ผลลัพธ์
คาสั่งเคลียร์ข้อมูลบนจอภาพ 
•คาสั่งที่ใช้เคลียร์ข้อมูลที่แสดงอยู่บนจอภาพ ใช้คาสั่ง system(‚cls‛); 
•ต้องระบุเฮดเดอร์ไฟล์ stdlib.h 
•ตัวอย่าง
แบบฝึกหัด 
•1. จงเขียนโปรแกรมคานวณพื้นที่วงกลมและเส้นรอบวง โดยมีสูตร area = pi * r2 
•circumference = 2 * pi * r 
•โดย pi มีค่า 3.1415926536 (เป็นค่าคงที่) 
• r คือ ค่ารัศมีวงกลม (รับค่าจากผู้ใช้) 
• area คือ พื้นที่วงกลมที่คานวณได้ 
• circumference คือ เส้นรอบวงกลม
แบบฝึกหัด 
•ตัวอย่างหน้าจอ input ข้อมูล 
•ตัวอย่างหน้าจอ output ทั้งหมดของโปรแกรม
แบบฝึกหัด 
•2. จงเขียนโปรแกรมคานวณหาค่าเฉลี่ยจากตัวเลขจานวน เต็ม 3 จานวน โดยรับค่าตัวเลขทั้งสาม จากผู้ใช้ 
•ตัวอย่างหน้าจอ input ข้อมูล 
•ตัวอย่างหน้าจอ output ทั้งหมดของโปรแกรม
แบบฝึกหัด 
•3. จงเขียนโปรแกรมแปลงค่าเงินบาทเป็นเงินดอลล่าร์ 
•โดย จานวนเงินดอลล่าร์ = จานวนเงินบาท / อัตราแลกเปลี่ยน 
•ให้ รับจานวนเงินบาท และ อัตราแลกเปลี่ยน จากผู้ใช้
แบบฝึกหัด 
•ตัวอย่างหน้าจอ input ข้อมูล 
•ตัวอย่างหน้าจอ output ทั้งหมดของโปรแกรม
แบบฝึกหัด 
•4. จงเขียนโปรแกรมคานวณราคาสินค้า ภาษีมูลค่าเพิ่ม และ ราคาสุทธิ 
•โดย รับ ชื่อสินค้า , ราคาสินค้า/หน่วย , จานวนชิ้นที่ซื้อ จากผู้ใช้ 
• กาหนด อัตราภาษีมูลค่าเพิ่ม คือ 7% ของราคาสินค้า รวม 
• ราคาสุทธิ = ราคารวม + ภาษีมูลค่าเพิ่ม
แบบฝึกหัด 
•ตัวอย่างหน้าจอ input ข้อมูล 
•ตัวอย่างหน้าจอ output ทั้งหมดของโปรแกรม

More Related Content

PDF
การเขียนสตอรี่บอร์ด (Storyboard)
PDF
การผลิตสื่อดิจิทัล (DIGITAL MEDIA )
DOC
แบบฟอร์มการเขียนบทความวิชาการ
PDF
อินโฟกราฟิก (Infographic) และหลักการออกแบบ
PDF
Digital Disruption กับการเปลี่ยนแปลงยุค Next Normal
PPT
สื่อการจัดการเรียนการสอนแบบบูรณาการ(65)
PDF
การเขียนบทสำหรับงานวิดีโอ (Script Writing for Video Production)
PDF
ชุดฝึกทักษะสร้างสรรค์การออกแบบ เรื่อง เรียนรู้ Adobe photoshop cs6
การเขียนสตอรี่บอร์ด (Storyboard)
การผลิตสื่อดิจิทัล (DIGITAL MEDIA )
แบบฟอร์มการเขียนบทความวิชาการ
อินโฟกราฟิก (Infographic) และหลักการออกแบบ
Digital Disruption กับการเปลี่ยนแปลงยุค Next Normal
สื่อการจัดการเรียนการสอนแบบบูรณาการ(65)
การเขียนบทสำหรับงานวิดีโอ (Script Writing for Video Production)
ชุดฝึกทักษะสร้างสรรค์การออกแบบ เรื่อง เรียนรู้ Adobe photoshop cs6

What's hot (20)

PDF
บทที่ 5 พาณิชย์อิเล็กทรอนิกส์
PDF
การเขียนสตอรี่บอร์ดภาพกราฟิกเคลื่อนไหว (Storyboard Writing for Motion Graphic)
PDF
อักษร
PDF
การเขียน Storyboard
DOC
กิจกรรมฐาน
PPTX
กฎหมายที่ควรรู้
PDF
การเขียนบทความวิจัยนวัตกรรมเทคโนโลยีดิจิทัลเพื่อการศึกษา (Research Article Wr...
PPTX
รู้เท่าทันสื่อ
PDF
Global issues 220355
PDF
การจัดวางตัวอักษร (Typography)
PDF
การผลิตสื่อวีดิทัศน์สำหรับงานมัลติมีเดีย (Multimedia Video Production)
DOCX
ผังงาน flowchart
PDF
เอกสาร Infographic การทำ Infographic เบื้องต้น
PDF
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพ
PDF
วิทยาการคำนวณ ม.5 - บทที่ 1 ข้อมูลมีคุณค่า
PDF
เปลี่ยนข้อมูลที่ซับซ้อนให้เข้าใจง่ายด้วยอินโฟกราฟิก (Infographic)
PPTX
โรงเรียนและชุมชน
PDF
คำทับศัพท์
PDF
โครงการเยลลี่หวานอมเปรี้ยวเคี้ยวละมุน
PDF
การตลาดผ่านเครื่องมือค้นหา (Search Engine Marketing)
บทที่ 5 พาณิชย์อิเล็กทรอนิกส์
การเขียนสตอรี่บอร์ดภาพกราฟิกเคลื่อนไหว (Storyboard Writing for Motion Graphic)
อักษร
การเขียน Storyboard
กิจกรรมฐาน
กฎหมายที่ควรรู้
การเขียนบทความวิจัยนวัตกรรมเทคโนโลยีดิจิทัลเพื่อการศึกษา (Research Article Wr...
รู้เท่าทันสื่อ
Global issues 220355
การจัดวางตัวอักษร (Typography)
การผลิตสื่อวีดิทัศน์สำหรับงานมัลติมีเดีย (Multimedia Video Production)
ผังงาน flowchart
เอกสาร Infographic การทำ Infographic เบื้องต้น
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพ
วิทยาการคำนวณ ม.5 - บทที่ 1 ข้อมูลมีคุณค่า
เปลี่ยนข้อมูลที่ซับซ้อนให้เข้าใจง่ายด้วยอินโฟกราฟิก (Infographic)
โรงเรียนและชุมชน
คำทับศัพท์
โครงการเยลลี่หวานอมเปรี้ยวเคี้ยวละมุน
การตลาดผ่านเครื่องมือค้นหา (Search Engine Marketing)
Ad

Similar to Intro c (20)

PDF
C lu
PDF
ภาษา C
PDF
งานทำ Blog บทที่ 2
PPT
โครงสร้างของภาษา C
PDF
ใบความรู้ที่ 5
PDF
บทที่ 2 ตัวแปร
PPT
PDF
โครงสร้างของโปรแกรมภาษาซี
PDF
3.3. ชนิดของข้อมูล
PDF
ภาษาซีเบื้องต้น
PPT
1. ประวัติภาษาซี
PPT
C language
PPT
C language
PDF
3.3. ชนิดของข้อมูล
PPTX
งานจารทรงศักดิ์
PPT
C slide
PDF
งานนำเสนอ1
DOC
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
C lu
ภาษา C
งานทำ Blog บทที่ 2
โครงสร้างของภาษา C
ใบความรู้ที่ 5
บทที่ 2 ตัวแปร
โครงสร้างของโปรแกรมภาษาซี
3.3. ชนิดของข้อมูล
ภาษาซีเบื้องต้น
1. ประวัติภาษาซี
C language
C language
3.3. ชนิดของข้อมูล
งานจารทรงศักดิ์
C slide
งานนำเสนอ1
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
Ad

More from Micro4you (20)

PDF
SMC DnS QM - Free Knowledge [Forex Library].pdf
PDF
SMC.pdf
PDF
Order-Flow-Trading-Setups-1.pdf
PDF
10 Backtesting.pdf
PDF
03 Demand Supply_watermark.pdf
DOCX
15.บันทึกการเทรดกัปตัน เทรดดิ้ง.docx
PDF
1.Demand Supply 2023 เพจ กัปตัน เทรดดิ้ง.pdf
PDF
12.Multi Factors เพจ กัปตัน เทรดดิ้ง.pdf
PDF
3.รวม Chart pattern เพจ กัปตัน เทรดดิ้ง.pdf
PDF
14.Read The Market เพจ กัปตัน เทรดดิ้ง.pdf
PDF
8.Price Structure เพจ กัปตัน เทรดดิ้ง.pdf
PDF
13.โครงสร้างตลาด เพจ กัปตัน เทรดดิ้ง.pdf
PDF
6.Divergence เพจ กัปตัน เทรดดิ้ง.pdf
PDF
10.Price_Action เพจ กัปตัน เทรดดิ้ง.pdf
PDF
11.วิธีสร้างระบบเทรด เพจ กัปตัน เทรดดิ้ง.pdf
PDF
7.Harmonic เพจ กัปตัน เทรดดิ้ง.pdf
PDF
2.รวม Basic to Adavance _ให้อ่านเล่มนี้ก่อน_ .pdf
PDF
4.Demand Supply 2021 เพจ กัปตัน เทรดดิ้ง.pdf
PDF
5.Support _ Resistance เพจ กัปตัน เทรดดิ้ง.pdf
PDF
9.Dow Theory เพจ กัปตัน เทรดดิ้ง.pdf
SMC DnS QM - Free Knowledge [Forex Library].pdf
SMC.pdf
Order-Flow-Trading-Setups-1.pdf
10 Backtesting.pdf
03 Demand Supply_watermark.pdf
15.บันทึกการเทรดกัปตัน เทรดดิ้ง.docx
1.Demand Supply 2023 เพจ กัปตัน เทรดดิ้ง.pdf
12.Multi Factors เพจ กัปตัน เทรดดิ้ง.pdf
3.รวม Chart pattern เพจ กัปตัน เทรดดิ้ง.pdf
14.Read The Market เพจ กัปตัน เทรดดิ้ง.pdf
8.Price Structure เพจ กัปตัน เทรดดิ้ง.pdf
13.โครงสร้างตลาด เพจ กัปตัน เทรดดิ้ง.pdf
6.Divergence เพจ กัปตัน เทรดดิ้ง.pdf
10.Price_Action เพจ กัปตัน เทรดดิ้ง.pdf
11.วิธีสร้างระบบเทรด เพจ กัปตัน เทรดดิ้ง.pdf
7.Harmonic เพจ กัปตัน เทรดดิ้ง.pdf
2.รวม Basic to Adavance _ให้อ่านเล่มนี้ก่อน_ .pdf
4.Demand Supply 2021 เพจ กัปตัน เทรดดิ้ง.pdf
5.Support _ Resistance เพจ กัปตัน เทรดดิ้ง.pdf
9.Dow Theory เพจ กัปตัน เทรดดิ้ง.pdf

Intro c