SlideShare a Scribd company logo
1 of 53
Download to read offline
 ภาษาซีเป็นภาษาที่มีพัฒนาการมาอย่างต่อเนื่อง ภาษาซีรุ่นแรกทางานภายใต้
ระบบปฏิบัติการคอส (cos) ปัจจุบันทางานภายใต้ระบบปฏิบัติการวินโดวส์
(Windows) ภาษาซีใช้วิธีแปลรหัสคาสั่งให้เป็นเลขฐานสองเรียกว่าคอมไพเลอร์
 การศึกษาภูมิหลังการเป็นมาของภาษาซีและกระบวนการแปลภาษาจะช่วย ให้ผู้ใช้
ภาษาซีในรุ่นและบริษัทผู้ผลิตแตกต่างกัน สามารถใช้ภาษาได้อย่างเข้าใจมากขึ้น
1.1 ความเป็นมาของภาษาซี
 ภาษา ซีได้รับการพัฒนาเมื่อปี ค.ศ. 1972 โดยนายเดนนิส ริตซี่ ตั้งชื่อว่าซีเพราะ
พัฒนามาจากภาษา BCLP และภาษา B ในช่วงแรกใช้ทดลองเขียนคาสั่งควบคุมใน
ห้องปฏิบัติการเบล (Bell Laboratoories) เท่านั้น เมื่อปี ค.ศ. 1972 นายไบรอัน
เคอร์นิกฮัน และนายเดนนิส ริตซี่ ร่วมกันกาหนดนิยามรายละเอียดของภาษาซี
เผยแพร่ความรู้โดยจัดทาหนังสือ The CProgramming Language
1.1 ความเป็นมาของภาษาซี
 มีหลายบริษัทให้ความสนใจนาไปพัฒนาต่อ จนมีภาษาซีหลายรูปแบบและแพร่หลาย
ไปทั่วโลก แต่ยังไม่มีมาตรฐานคาสั่งเพื่อให้สามารถใช้งานร่วมกันได้ ดังนั้นเมื่อปี ค.ศ.
1988 นายริตซี่ ได้ร่วมกับสถาบันกาหนดมาตรฐาน ANSI สร้างมาตรฐานภาษาซี
ขึ้นมา มีผลให้ โปรแกรมคาสั่งที่สร้างด้วยภาษาซีสังกัดบริษัทใดๆ ก็ตามที่ใช้คาสั่ง
มาตรฐานของภาษาสามารถนามาทางานร่วมกันได้
1.2 การทางานของคอมไพเลอร์ภาษาซี
 คอมไพเลอร์ (compiler)
 เป็นโปรแกรมที่ได้รับการพัฒนามาเพื่อแปลภาษาคอมพิวเตอร์รูปแบบหนึ่งมักใช้ กับ
โปรแกรมเชิงโครงสร้าง ลักษณะการแปลจะอ่านรหัสคาสั่งทั้งโปรแกรมตั้งแต่บรรทัด
คาสั่งแรกถึงบรรทัด สุดท้าย หากมีข้อผิดพลาดจะรายงานทุกตาแหน่งคาสั่งที่ใช้งาน
ผิดกฎไวยากรณ์ของภาษา กระบวนการคอมไพล์โปรแกรมคาสั่งของภาษาซีดังนี้
รูปแสดงขั้นตอนการทางาน
ของตัวแปลโปรแกรม
 1. จัดทาโปรแกรมต้นฉบับ (Source Program) หลักจากพิมพ์คาสั่งงาน ตาม
โครงสร้างภาษาที่สมบูรณ์แล้วทุกส่วนประกอบ ให้บันทึกโดยกาหนดชนิดงานเป็น
.c เช่น work.c
 2. การแปลรหัสคาสั่งเป็นภาษาเครื่อง (Compile) หรือการบิวด์ (Build) เครื่อง
จะตรวจสอบคาสั่งทีละคาสั่ง เพื่อวิเคราะห์ว่าใช้งานได้ถูกต้องตามรูปแบบไวยากรณ์ที่
ภาษาซีกาหนดไว้หรือ ไม่หากมีข้อผิดพลาดจะแจ้งให้ทราบ หากไม่มีข้อผิดพลาดจะไป
กระบวนการ A
 3. การเชื่อมโยงโปรแกรม( Link) ภาษาซีมีฟังก์ชันมาตรฐานให้ใช้งาน
เช่น printf () ซึ่งจัดเก็บไว้ในเฮดเดอร์ไพล์ หรือเรียกว่า ไลบรารี ในตาแหน่งที่กาหนด
ชื่อแตกต่างกันไป ผู้ใช้ต้องศึกษาและเรียกใช้เฮดเดอร์ไฟล์กับฟังก์ชันให้สัมพันธ์
เรียกว่าเชื่อมโยงกับไลบรารี กระบวนการนี้ได้ผลลัพธ์เป็นไฟล์ชนิด exe
 สาหรับโครงสร้างของภาษาซีในเบื้องต้นนี้จะกล่าวถึงเฉพาะรายละเอียดที่นาไปใช้ใน
การเขียนคาสั่งควบคุมระดับพื้นฐาน ผู้สร้างงานโปรแกรมจะใช้งานส่วนประกอบใน
ภาษาซีเพียง ; ส่วน คือ ส่วนหัวและส่วนฟังก์ชันหลัก ดังนี้
# include < header file > 1
Main ( )
{
Statements ; 2
}
 2.1 ส่วนหัวของโปรแกรม (Header File)
 หรือเรียกว่าฟรีโปรเซสเซอร์ไดเรกทีฟ ใช้ระบุชื่อเฮดเดอร์ไฟล์ ควบคุมการทางาน
ของฟังก์ชันมาตรฐานที่ถูกเรียกใช้งานในส่วนของ main ( ) เฮดเดอร์ไฟล์มีชนิด
เป็น.h จัดเก็บในไลบรารีฟังก์ชัน ผู้เขียนคาสั่งงานต้องศึกษาว่าฟังก์ชันที่ใช้งานนั้นอยู่
ในเฮดเดอร์ไฟล์ชื่ออะไร จึงจะเรียกใช้งานได้ถูกต้อง นิยมใช้รูปแบบคาสั่ง ดังนี้
รูปแบบ # include < header_name>
อธิบาย header_name ชื่อเฮดเดอร์ไฟล์ที่ควบคุมฟังก์ชันมาตรฐาน เช่น
ฟังก์ชัน printf ใช้ควบคุมการแสดงผล จัดเก็บในไลบรารีชื่อ #include <stdio.h>
ตัวอย่างคาสั่ง ประกาศฟรีโปรเซสเซอร์ไดเรกทีฟ ที่ใช้ควบคุมฟังก์ชันมาตรฐานภาษาซี
# include <stdio.h>
อธิบาย ให้คอมไพเลอร์ค้นหาไลบรารีไฟล์ชื่อ stdio.h จากไดเรกเทอรี include
 2.2 ส่วนฟังก์ชันหลัก (Main Function)
 เป็นส่วนเขียนคาสั่งควบคุมการทางานภายในขอบเขตเครื่องหมาย { } ของฟังก์ชัน
หลักคือ main ( ) ต้องเขียนคาสั่งตามลาดับขั้นตอนจากกระบวนการวิเคราะห์
ระบบงานเบื้องต้นและขั้นวางแผนลาดับการทางานที่ได้จัดทาล่วงหน้าไว้ เช่น ลาดับ
การทางานด้วยแผนผังโปรแกรมเพื่อลดข้อผิดพลาดในขั้นตอนลาดับคาสั่งควบคุมงาน
ในส่วนนี้พึงระมัดระวังเรื่องเดียวคือ ต้องใช้งานคาสั่งตามรูปแบบไวยากรณ์ของ
ภาษาซีที่กาหนดไว้
 2.3 การพิมพ์คาสั่งควบคุมงานในโครงสร้างภาษาซี
การพิมพ์คาสั่งงาน ซึ่งภาษาซีเรียกว่า ฟังก์ชัน ในส่วนประกอบภายในโครงสร้าง
ภาษาซีมีแนวทางปฏิบัติดังนี้
 1. คาสั่งที่ใช้ควบคุมการประมวลผลตามลาดับที่ได้วิเคราะห์ไว้ ต้องเขียนภายใน
เครื่องหมาย {} ที่อยู่ภายใต้การควบคุมของ ฟังก์ชันหลักชิ่อ main ()
 2. ปกติคาสั่งควบคุมงานจะเป็นอักษรตัวพิมพ์เล็ก ยกเว้นบางคาสั่งที่ภาษากาหนดว่า
ต้องเป็น
 อักษรตัวพิมพ์ใหญ่ ต้องปฏิบัติตามนั้น เพราะภาษาซีมีความแตกต่างในเรื่องตัวอักษร
 2.3 การพิมพ์คาสั่งควบคุมงานในโครงสร้างภาษาซี
 3. เมื่อสิ้นสุดคาสั่งงาน ต้องพิมพ์เครื่องหมายเซมิโคลอน (;)
 4. ใน 1 บรรทัด พิมพ์ได้มากกว่า 1 คาสั่ง แต่นิยมบรรทัดละ 1 คาสั่ง เพราะว่าอ่าน
โปรแกรมง่ายเมื่อมีข้อผิดพลาด ย่อมตรวจสอบและค้นหาเพื่อแก้ไขได้เร็ว
 5. การพิมพ์คาสั่ง หากมีส่วนย่อย นิยมเคาะเยื้องเข้าไป เพื่ออ่านโปรแกรมได้ง่ายขึ้น
เมื่อมีข้อผิดพลาดย่อมตรวจสอบและค้นหาเพื่อแก้ไขได้รวดเร็ว
ตัวอย่างการพิมพ์
คาสั่งภาษาซี
 การจัดเก็บข้อมูลลงหน่วยความจาคอมพิวเตอร์ ภาษากาหนดให้ดาเนินการผ่านที่
ผู้สร้างงานโปรแกรมเป็นผู้กาหนดเอง ระบบคอมพิวเตอร์จะจัดเก็บชื่อและตาแหน่ง
ซื่อidentifier ที่อยู่ (Address) ในหน่วยความจา เพื่ออ้างอิงนาข้อมูลที่จัดเก็บนั้นมา
ใช้งาน การกาหนดชื่อที่ใช้เก็บข้อมูลต้องทาภายใต้กฎเกณฑ์ และต้องศึกษาวิธีกาหนด
ลักษณะการจัดเก็บข้อมูลตามที่ภาษากาหนดไว้ ลักษณะการจัดเก็บข้อมูลมี 2 แบบ
คือ แบบค่าคงที่ และแบบตัวแปร
 ทั้งนี้ก่อนที่จะเขียนคาสั่งกาหนดการจัดเก็บข้อมูล ควรมีความรู้ในเรื่องชนิดข้อมูล
ก่อน
 3.1 ชนิดข้อมูลแบบพื้นฐาน
 การจัดเก็บข้อมูลลงหน่วยความจาทั้งแบค่าคงที่หรือแบบตัวแปร ต้องกาหนดชนิด
ข้อมูลให้ระบบรับทราบ
 ในที่นี้กล่าวถึงชนิดข้อมูลแบบพื้นฐาน 3 กลุ่มหลักเท่านั้น ดังตารางที่ 2.1 ชนิดข้อมูล
แบบพื้นฐาน
ตารางที่ 2.1 ชนิดข้อมูลแบบพื้นฐาน
ข้อควรจา : ข้อมูลแบบข้อความใช้แบบข้อมูลแบบตัวแปร
ชุด เช่น char a [20] :
หมายเหตุ : ตารางแสดงชนิดข้อมูลของภาษาซีทุกชนิดแสดงในภาคผนวก
 3.2 คาสั่งจัดเก็บข้อมูลแบบค่าคงที่
 ประสิทธิภาพคาสั่ง : ลักษณะการจัดเก็บข้อมูลในหน่วยความจาไม่สามารถ
เปลี่ยนแปลงได้
รูปแบบ Const data_type var = data ;
อธิบาย data_type คือที่ชนิดข้อมูลแบบพื้นฐาน
Var คือชื่อหน่วยความจาที่ผู้ใช้ต้องกาหนดตามกฎการตั้งชื่อ
Data คือข้อมูลที่กาหนดเป็นค่าคงที่
ข้อควรจา :
กรณีข้อมูลมี 1 อักขระ กาหนดให้อยู่ใน ‘ ‘
(single quotation)
กรณีข้อมูลมีมากกว่า 1 อักขระ กาหนดให้อยู่ใน “ ”
(double quotation)
กรณีข้อมูลเป็นชนิดตัวเลขใช้ในการคานวณไม่ต้องอยู่ใน ‘’ หรือ
“ ”
 3.3 คาสั่งจัดเก็บข้อมูลแบบตัวแปร
 ประสิทธิภาพคาสั่ง : ลักษณะการจัดเก็บข้อมูลในหน่วยความจาสามารถเปลี่ยนแปลง
ได้
รูปแบบ 1 var_type var_name[,….];
รูปแบบ 2 var_type var_name = data ;
อธิบาย var_type คือหน่วยชนิดข้อมูลแบบพื้นฐาน
var name คือชื่อหน่วยความจา ที่ผู้ใช้ต้องกาหนดตามกฎ
การตั้งชื่อ
data คือข้อมูลที่กาหนดเป็นค่าเริ่มต้น (อาจมีหรือไม่ก็ได้)
 หมายเหตุ หากมีตัวแปรมากกว่า 1 ตัว แต่เป็นตัวแปรเก็บข้อมูลประเภทเดียว ใช้
คอมม่า (,) คั่น
 ตัวอย่างคาสั่ง กาหนดคุณสมบัติให้ตัวแปรในการจัดเก็บข้อมูล
Char ans ;
List salary , bonus ;
Short value = 2;
 4.1 คาสั่งแสดงผล : printf ( )
 ประสิทธิภาพคาสั่ง : ใช้แสดงผล สิ่งต่อไปนี้ เช่น ข้อความ ข้อมูลจากค่าคงที่ หรือตัว
แปรที่จอภาพ
รูปแบบ 1 Printf (“ string_format” , data_list ) ;
รูปแบบ 2 Printf (“string_format” ) ;
อธิบาย string_format คือลักษณะของสิ่งต่อไปนี้ เช่น ข้อความ
(text ) รหัสรูปแบบข้อมูล เช่น %d รหัสควบคุม เช่น n
Data_list คือข้อมูลแสดงผลอาจเป็นค่าคงที่ตัวแปร นิพจน์ หากมี
หลายตัวใช้ , คั่น
 ตารางที่ 2.2 รหัสรูปแบบข้อมูลระดับพื้นฐาน
ตัวอย่างคาสั่ง ควบคุมการแสดงผลด้วย printf
Printf ( “ Data is %d n ” , score ) ;
อธิบาย พิมพ์ข้อความคาว่า data is ตามด้วยค่าข้อมูลใน
หน่วยความจาตัวแปรชื่อ score ซึ่งเป็นข้อมูลชนิดจานวนเต็ม
(%) แล้วเลื่อนคอร์เซอร์ไปไว้บรรทัดถัดไป (n)
 4.2 คาสั่งรับข้อมูล : รับข้อมูลจากแป้นพิมพ์ แล้วจัดเก็บลงหน่วยความจาของตัว
แปร
รูปแบบ Scanf ( “ string_format” , &
address_list ) ;
อธิบาย string_format คือรูปแบบการแสดงผลของข้อมูล
เท่านั้น เช่น %d
Address_list คือการระบุตาแหน่งที่อยู่ในหน่วยความจา
ต้องใช้สัญลักษณ์ &(Ampersand) นาหน้าชื่อตัวแปรเสมอ
ข้อควรจา กรณีเป็นตัวแปรข้อความ (String) สามารถยกเว้น
ไม่ต้องใช้ & นาหน้าได้
ตัวอย่างคาสั่ง เขียนคาสั่งควบคุมการรับค่าจากแป้ นพิมพ์ด้วย
scanf
Scanf ( “%d ” , &score ) ;
อธิบาย รับข้อมูลจากแป้ นพิมพ์ นาไปเก็บในหน่วยความจาชื่อ
score เป็นข้อมูลประเภทจานวนเต็ม
 4.3 คาสั่งประมวลผล : expression
 ประสิทธิภาพคาสั่ง : เขียนคาสั่งแบบนิพจน์เพื่อประมวลผล แล้วนาข้อมูลที่ได้ไป
จัดเก็บในหน่วยความจาของตัวแปรที่ต้องกาหนดชื่อและชนิดข้อมูลไว้แล้ว
รูปแบบ Var = expression ;
อธิบาย var คือชื่อหน่วยความจาชนิดตัวแปร
Expression คือสมการนิพจน์ เช่น สูตรคานวณทาง
คณิตศาสตร์
ตัวอย่างคาสั่ง นิพจน์ที่เป็นสูตรคานวณทางคณิตศาสตร์
Sum = a+b ;
อธิบาย ให้นาค่าในหน่วยความจาตัวแปรชื่อ a กับ b มา+กัน
แล้วนาค่าไปเก็บในหน่วยความจาตัวแปรชื่อ sum
 แนวคิดในการเขียนคาสั่งควบคุมการทางาน
 1. ส่วนป้อนข้อมูล ผู้ใช้ระบบงานป้อนค่า ; เก็บในหน่วยความจา x และป้อนค่า A
เก็บในหน่วยความจา y ด้วยคาสั่ง
Printf ( “data x=” ) ; scanf ( “%d ,&x ) ;
Printf ( “data y=” ) ; scanf ( “%d ,&y ) ;
 แนวคิดในการเขียนคาสั่งควบคุมการทางาน
 2.ส่วนประมวลผล ระบบจะนาค่าไปประมวลผลตามนิพจน์คณิตศาสตร์
r = 2 + 3 * 2 ; ได้คาตอบคือ 8
s = (2 + 3 ) * 2; ได้คาตอบคือ 10
t = 2 + 3 * 2-1 ; ได้คาตอบคือ 7
ทั้งนี้คอมพิวเตอร์ประมวลผล โดยยึดหลักลาดับความสาคัญของ
“เครื่องหมายทางคณิตศาสตร์”
เช่นคานวณเครื่องหมาย * ก่อนเครื่องหมาย +
 แนวคิดในการเขียนคาสั่งควบคุมการทางาน
 3.ส่วนแสดงผล คาสั่งควบคุมให้แสดงผลลัพธ์
Printf ( “r = x + y * 2 = %d n” , r ) ;
Printf ( “r = (x + y X* 2 = %d n” , s ) ;
Printf ( “r = x + y * 2-1 = %d n” , t ) ;
 ภาษาซีมีคาสั่งแสดงผลและรับข้อมูลเฉพาะข้อมูลประเภท 8 อักขระ (char )ดังนี้
 5.1 คาสั่ง putchar ( )
 แสดงผลข้อมูลจากหน่วยความจาของตัวแปร ทางจอภาพครั้งละ1อักขระเท่านั้น
รูปแบบ Putchar ( char_argument) ;
อธิบาย putchar_argument คือ ข้อมูลชนิดอักขระ
 แนวคิดในการเขียนคาสั่งควบคุมการทางาน
 1. กาหนดค่า ‘A’ เก็บในตัวแปรประเภท char ชื่อ word1 และกาหนดค่า ‘1’
เก็บในตัวแปรชื่อ word2 ด้วยคาสั่ง char word1=’A’ , word2=’1’
 2. เขียนคาสั่งควบคุมการแสดงผลทีละ 1 อักขระ โดยไม่ต้องใช้สัญลักษณ์ขึ้น
บรรทัดใหม่ด้วยคาสั่ง putchar(word1); putcar(word2); จึงพิมพ์คาว่า A1 ที่
จอภาพ
 ภาษาซีมีคาสั่งแสดงผลและรับข้อมูลเฉพาะข้อมูลประเภท 8 อักขระ (char )ดังนี้
 5.2คาสั่ง getchar ( )
 รับข้อมูลจากแป้นพิมพ์ครั้งละ 1 อักขระ และแสดงอักขระที่จอภาพ จากนั้นต้องกด
แป้นพิมพ์ที่ Enter เพื่อนาข้อมูลบันทึกลงหน่วยความจาด้วย
รูปแบบ 1 ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร
getchar ( ) ;
 5.2คาสั่ง getchar ( )
รูปแบบ 2 นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร
char_var = getchar ( ) ;
อธิบาย char_var คือ ข้อมูลชนิด char
 แนวคิดในการเขียนคาสั่งควบคุมการทางาน
 1.เขียนคาสั่งควบคุมการป้อนข้อมูลประเภทอักขระด้วยคาสั่ง
 printf ( “Key 1 Character = “ ) ;
 word = getchar ( );
 หมายถึงป้อนอักขระ 1 ตัว เช่น a จะแสดงค่า ให้เห็นที่หน้าจอด้วย แล้ว ต้องกดแป้น
Enter เพื่อนาข้อมูลบันทึกลงหน่วยความจาตัวแปรประเภท char ชื่อ word
 2 . เขียนคาสั่งควบคุมการแสดงผลจากหน่วยความจา word จึงเห็นค่า a (
แทนที่ word)
 printf ( “You key Character is = %cn”, word ) ;
 ภาษาซีมีคาสั่งแสดงผลและรับข้อมูลเฉพาะข้อมูลประเภท 8 อักขระ (char )ดังนี้
 5.3 คาสั่ง getch ( )
 รับข้อมูลจากแป้นพิมพ์ครั้งละ 1 อักขระ แต่ ไม่ปรากฏ อักษรบนจอภาพ และ ไม่ต้อง
กดแป้น Enter
รูปแบบ 1 ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร
getch( ) ;
 5.3 คาสั่ง getch ( )
รูปแบบ 2 ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร
getch( ) ;
อธิบาย char_var คือ ข้อมูลชนิดอักขระ
 แนวคิดในการเขียนคาสั่งควบคุมการทางาน
 1.เขียนคาสั่งควบคุมการป้อนข้อมูลประเภทอักขระด้วยคาสั่ง
 printf ( “Key 1 Character = “ ) ;
 word = getch ( );
 หมายถึงป้อนค่าใดทางแป้นพิมพ์เป็นอักขระ 1 ตัว เช่น a จะ ไม่แสดง ค่าให้เห็นที่
หน้าจอไม่ต้อง กดแป้น Enter เพื่อนาข้อมูลบันทึกลงหน่วยความจาตัวแปรประเภท
char ชื่อ word
 2.เขียนคาสั่งควบคุมการแสดงผลจากหน่วยความจา word จึงเห็นค่า a ( แทนที่
word )
 printf ( “You key Character is = %cn”, word ) ;
 ภาษาซีมีคาสั่งแสดงผลและรับข้อมูลเฉพาะข้อมูลประเภท 8 อักขระ (char )ดังนี้
 5.4 คาสั่ง getche( )
 รับข้อมูลจากแป้นพิมพ์ครั้งละ 1 อักขระ และ แสดง อักษรบนจอภาพ และ ไม่ต้อง
กดแป้น Enter
รูปแบบ 1 ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร
getche ( );
 5.4 คาสั่ง getche( )
รูปแบบ 2 นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร
char_var = getche ( );
อธิบาย char_var คือ ข้อมูลชนิดอักขระ
 แนวคิดในการเขียนคาสั่งควบคุมการทางาน
 1.เขียนคาสั่งควบคุมการป้อนข้อมูลประเภทอักขระด้วยคาสั่ง
 printf ( “Key 1 Character = “ ) ;
 word = getche ( );
 หมายถึงป้อนค่าใดทางแป้นพิมพ์เป็นอักขระ 1 ตัว เช่น a จะ แสดง ค่าให้เห็นที่
หน้าจอ และไม่ต้อง กดแป้น Enter เพื่อนาข้อมูลบันทึกลงหน่วยความจาตัวแปร
ประเภท char ชื่อ word
 2.เขียนคาสั่งควบคุมการแสดงผลเพื่อแสดงค่าจากหน่วยความจา word จึงเห็นค่า
a ( แทนทิ่ word )
 printf ( “You key Character is = %cn”, word ) ;
 ภาษาซีมีคาสั่งใช้ในการรับข้อมูลเฉพาะประเภทข้อความ (String) ในภาษาซีคือชนิด
ข้อมูล char [n] จัดเก็บในหน่วยความจา และแสดงผลข้อมูลประเภทข้อความเท่านั้น
มีรายละเอียดดังนี้
 6.1.คาสั่ง puts( )
 แสดงผลข้อมูลเฉพาะประเภทข้อความทางจอภาพครั้งละ 1 ข้อความ
รูปแบบputs ( string_argument ) ;
อธิบาย string_argument คือ ข้อมูลชนิดข้อความ
 แนวคิดในการเขียนคาสั่งควบคุมการทางาน
 1.เขียนคาสั่งกาหนดค่าข้อความเก็บในตัวแปรชื่อ word
Char word [15] = “*Example * “ ;
 2.เขียนคาสั่งควบคุมการแสดงผลในลักษณะข้อความด้วย puts
Puts ( word ) ;
Puts (“**************”);
 6.2คาสั่ง gets ( )
 รับข้อมูล ข้อความ จากแป้นพิมพ์ และต้องกดแป้น Enter
รูปแบบ 1 ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร
gets ( );
รูปแบบ 2 นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร
string_var =gets ( ) ;
อธิบาย string_var คือ ข้อมูลชนิดข้อความ
 แนวคิดในการเขียนคาสั่งควบคุมการทางาน
 1.เขียนคาสั่งให้รับข้อมูล ชนิดข้อความ จากแป้นพิมพ์ และต้อง กดแป้น Enter เพื่อ
นาข้อความบันทึกลงตัวแปรชนิดข้อความ ด้วยคาสั่ง gets (word) ;
 2.เขียนคาสั่งควบคุมให้แสดงผลลักษณะข้อความด้วย
printf ( “You name is = %sn”, word ) ;
 6.1.คาสั่ง puts( )
แสดงผลข้อมูลเฉพาะประเภทข้อความทางจอภาพครั้งละ 1 ข้อความ
รูปแบบ puts ( string_argument ) ;
อธิบาย string_argument คือ ข้อมูลชนิดข้อความ
แนวคิดในการเขียนคาสั่งควบคุมการทางาน
1.เขียนคาสั่งกาหนดค่าข้อความเก็บในตัวแปรชื่อ word
Char word [15] = “*Example * “ ;
2.เขียนคาสั่งควบคุมการแสดงผลในลักษณะข้อความด้วย puts
Puts ( word ) ;
Puts (“**************”);
 6.2คาสั่ง gets ( )
รับข้อมูล ข้อความ จากแป้นพิมพ์ และต้องกดแป้น Enter
รูปแบบ 1 ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร gets ( );
รูปแบบ 2 นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร
string_var =gets ( ) ;
อธิบาย string_var คือ ข้อมูลชนิดข้อความ
แนวคิดในการเขียนคาสั่งควบคมการทางาน
1.เขียนคาสั่งให้รับข้อมูล ชนิดข้อความ จากแป้นพิมพ์ และต้อง กดแป้น Enter เพื่อ
นาข้อความบันทึกลงตัวแปรชนิดข้อความ ด้วยคาสั่ง gets (word) ;
2.เขียนคาสั่งควบคุมให้แสดงผลลักษณะข้อความด้วย
printf ( “You name is = %sn”, word ) ;
นายทยาวีร์ เจียจารูญ และคณะ. 2557.
(ออนไลน์). แหล่งที่มา :
https://sites.google.com/site/pussamon
mlp/krni-suksa-kar-chi-kha-sang-
khwbkhum-kar-thangan-khan-phun-than.
11 มิ.ย. 2557.
จัดทาโดย
นายวิสัยทัศน์ พละศักดิ์
น.ส.ไพลิน จิรวงศ์ไพสิฐ
น.ส.ชนกนันท์ ทองนา
น.ส.นับพร เสดวงชัย
น.ส.พิมพ์นภา สินค้าเจริญ
น.ส.สุพรรณษา ฟักขา
ชั้นมัยธมศึกษาปีที่ 6/1

More Related Content

What's hot

การประเมินการอ่าน คิดวิเคราะห์ และเขียน
การประเมินการอ่าน คิดวิเคราะห์ และเขียนการประเมินการอ่าน คิดวิเคราะห์ และเขียน
การประเมินการอ่าน คิดวิเคราะห์ และเขียน
krupornpana55
 
คำอธิบายรายวิชา การใช้โปรแกรมสำนักงาน
คำอธิบายรายวิชา การใช้โปรแกรมสำนักงานคำอธิบายรายวิชา การใช้โปรแกรมสำนักงาน
คำอธิบายรายวิชา การใช้โปรแกรมสำนักงาน
somdetpittayakom school
 
หนังสือเชิญส่งทีมเข้าร่วมแข่งขันฟุตบอล
หนังสือเชิญส่งทีมเข้าร่วมแข่งขันฟุตบอลหนังสือเชิญส่งทีมเข้าร่วมแข่งขันฟุตบอล
หนังสือเชิญส่งทีมเข้าร่วมแข่งขันฟุตบอล
Nu Boon
 
การสร้างเว็บไซต์คลังความรู้ดิจิทัลด้วย Google Sites
การสร้างเว็บไซต์คลังความรู้ดิจิทัลด้วย Google Sitesการสร้างเว็บไซต์คลังความรู้ดิจิทัลด้วย Google Sites
การสร้างเว็บไซต์คลังความรู้ดิจิทัลด้วย Google Sites
Dr.Kridsanapong Lertbumroongchai
 
ชั้นประถมศึกษาปีที่ 5
ชั้นประถมศึกษาปีที่ 5ชั้นประถมศึกษาปีที่ 5
ชั้นประถมศึกษาปีที่ 5
krunuy5
 
แผนการสอน โปรแกรมคอมพิวเตอร์กราฟิก ม.4
แผนการสอน โปรแกรมคอมพิวเตอร์กราฟิก ม.4แผนการสอน โปรแกรมคอมพิวเตอร์กราฟิก ม.4
แผนการสอน โปรแกรมคอมพิวเตอร์กราฟิก ม.4
พงศธร ภักดี
 
ใบเซ็นชื่อ น 1 และ 2
ใบเซ็นชื่อ น 1 และ 2 ใบเซ็นชื่อ น 1 และ 2
ใบเซ็นชื่อ น 1 และ 2
Somruethai Munkong
 
ข้อสอบปลายภาค50ข้อ โปรแกรมword
ข้อสอบปลายภาค50ข้อ โปรแกรมwordข้อสอบปลายภาค50ข้อ โปรแกรมword
ข้อสอบปลายภาค50ข้อ โปรแกรมword
peter dontoom
 
55100922 0 20110606-163638
55100922 0 20110606-16363855100922 0 20110606-163638
55100922 0 20110606-163638
soawaphat
 

What's hot (20)

อุปกรณ์คอมพิวเตอร์
อุปกรณ์คอมพิวเตอร์อุปกรณ์คอมพิวเตอร์
อุปกรณ์คอมพิวเตอร์
 
การประเมินการอ่าน คิดวิเคราะห์ และเขียน
การประเมินการอ่าน คิดวิเคราะห์ และเขียนการประเมินการอ่าน คิดวิเคราะห์ และเขียน
การประเมินการอ่าน คิดวิเคราะห์ และเขียน
 
แนะนำโรงเรียน.Ppt
แนะนำโรงเรียน.Pptแนะนำโรงเรียน.Ppt
แนะนำโรงเรียน.Ppt
 
คำอธิบายรายวิชา การใช้โปรแกรมสำนักงาน
คำอธิบายรายวิชา การใช้โปรแกรมสำนักงานคำอธิบายรายวิชา การใช้โปรแกรมสำนักงาน
คำอธิบายรายวิชา การใช้โปรแกรมสำนักงาน
 
หลักสูตรการศึกษาขั้นพื้นฐาน 1
หลักสูตรการศึกษาขั้นพื้นฐาน 1หลักสูตรการศึกษาขั้นพื้นฐาน 1
หลักสูตรการศึกษาขั้นพื้นฐาน 1
 
ระบบสารสนเทศและข้อมูลข่าวสาร MIS
ระบบสารสนเทศและข้อมูลข่าวสาร MISระบบสารสนเทศและข้อมูลข่าวสาร MIS
ระบบสารสนเทศและข้อมูลข่าวสาร MIS
 
หนังสือเชิญส่งทีมเข้าร่วมแข่งขันฟุตบอล
หนังสือเชิญส่งทีมเข้าร่วมแข่งขันฟุตบอลหนังสือเชิญส่งทีมเข้าร่วมแข่งขันฟุตบอล
หนังสือเชิญส่งทีมเข้าร่วมแข่งขันฟุตบอล
 
ใบงานที่ 1 เรื่อง รู้จักกับโปรแกรมเพ้นท์
ใบงานที่ 1   เรื่อง รู้จักกับโปรแกรมเพ้นท์ใบงานที่ 1   เรื่อง รู้จักกับโปรแกรมเพ้นท์
ใบงานที่ 1 เรื่อง รู้จักกับโปรแกรมเพ้นท์
 
การสร้างเว็บไซต์คลังความรู้ดิจิทัลด้วย Google Sites
การสร้างเว็บไซต์คลังความรู้ดิจิทัลด้วย Google Sitesการสร้างเว็บไซต์คลังความรู้ดิจิทัลด้วย Google Sites
การสร้างเว็บไซต์คลังความรู้ดิจิทัลด้วย Google Sites
 
ข้อสอบแบบจับคู่
ข้อสอบแบบจับคู่ ข้อสอบแบบจับคู่
ข้อสอบแบบจับคู่
 
ชั้นประถมศึกษาปีที่ 5
ชั้นประถมศึกษาปีที่ 5ชั้นประถมศึกษาปีที่ 5
ชั้นประถมศึกษาปีที่ 5
 
ข้อสอบพลศึกษาป.2
ข้อสอบพลศึกษาป.2ข้อสอบพลศึกษาป.2
ข้อสอบพลศึกษาป.2
 
วิจัยในชั้นเรียน ส่งเสริมทักษะการค้นคว้าความรู้เรื่องไม้ดอกไม้ประดับและพืชผัก...
วิจัยในชั้นเรียน ส่งเสริมทักษะการค้นคว้าความรู้เรื่องไม้ดอกไม้ประดับและพืชผัก...วิจัยในชั้นเรียน ส่งเสริมทักษะการค้นคว้าความรู้เรื่องไม้ดอกไม้ประดับและพืชผัก...
วิจัยในชั้นเรียน ส่งเสริมทักษะการค้นคว้าความรู้เรื่องไม้ดอกไม้ประดับและพืชผัก...
 
Java Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented ConceptJava Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented Concept
 
แผนการสอน โปรแกรมคอมพิวเตอร์กราฟิก ม.4
แผนการสอน โปรแกรมคอมพิวเตอร์กราฟิก ม.4แผนการสอน โปรแกรมคอมพิวเตอร์กราฟิก ม.4
แผนการสอน โปรแกรมคอมพิวเตอร์กราฟิก ม.4
 
ใบเซ็นชื่อ น 1 และ 2
ใบเซ็นชื่อ น 1 และ 2 ใบเซ็นชื่อ น 1 และ 2
ใบเซ็นชื่อ น 1 และ 2
 
ข้อสอบปลายภาค50ข้อ โปรแกรมword
ข้อสอบปลายภาค50ข้อ โปรแกรมwordข้อสอบปลายภาค50ข้อ โปรแกรมword
ข้อสอบปลายภาค50ข้อ โปรแกรมword
 
การศึกษามุ่งผลลัพธ์ (Outcome-based Education : OBE) #1
การศึกษามุ่งผลลัพธ์  (Outcome-based Education : OBE) #1การศึกษามุ่งผลลัพธ์  (Outcome-based Education : OBE) #1
การศึกษามุ่งผลลัพธ์ (Outcome-based Education : OBE) #1
 
การใช้งานแป้นพิมพ์ Keyboard
การใช้งานแป้นพิมพ์ Keyboardการใช้งานแป้นพิมพ์ Keyboard
การใช้งานแป้นพิมพ์ Keyboard
 
55100922 0 20110606-163638
55100922 0 20110606-16363855100922 0 20110606-163638
55100922 0 20110606-163638
 

Similar to การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)

การเขียนคำสังควบคุมขั้นพื้นฐาน 2
การเขียนคำสังควบคุมขั้นพื้นฐาน 2การเขียนคำสังควบคุมขั้นพื้นฐาน 2
การเขียนคำสังควบคุมขั้นพื้นฐาน 2
Tay Atcharawan
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
Ja Phenpitcha
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
Vi Vik Viv
 
การเขียนคำสั่งควบคุม
การเขียนคำสั่งควบคุมการเขียนคำสั่งควบคุม
การเขียนคำสั่งควบคุม
Kashima Seto
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซี
mansuang1978
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
KEk YourJust'one
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
Aeew Autaporn
 

Similar to การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC) (20)

การเขียนคำสังควบคุมขั้นพื้นฐาน 2
การเขียนคำสังควบคุมขั้นพื้นฐาน 2การเขียนคำสังควบคุมขั้นพื้นฐาน 2
การเขียนคำสังควบคุมขั้นพื้นฐาน 2
 
บทที่ 2
บทที่  2  บทที่  2
บทที่ 2
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 
การเขียนคำสั่งควบคุม
การเขียนคำสั่งควบคุมการเขียนคำสั่งควบคุม
การเขียนคำสั่งควบคุม
 
การเขียนคำสั่งควบคุม
การเขียนคำสั่งควบคุมการเขียนคำสั่งควบคุม
การเขียนคำสั่งควบคุม
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 
งานน
งานนงานน
งานน
 
การเขียนคำสั่งควบคุม
การเขียนคำสั่งควบคุมการเขียนคำสั่งควบคุม
การเขียนคำสั่งควบคุม
 
Database
DatabaseDatabase
Database
 
การเขียนคำสั่งข้อมูลขั้นพื้นฐาน
การเขียนคำสั่งข้อมูลขั้นพื้นฐานการเขียนคำสั่งข้อมูลขั้นพื้นฐาน
การเขียนคำสั่งข้อมูลขั้นพื้นฐาน
 
Know1 3
Know1 3Know1 3
Know1 3
 
บทที่4 เมธอด (METHOD)
บทที่4 เมธอด (METHOD)บทที่4 เมธอด (METHOD)
บทที่4 เมธอด (METHOD)
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซี
 
ภาษาซึี
ภาษาซึีภาษาซึี
ภาษาซึี
 
7 1 dev c++
7 1 dev c++7 1 dev c++
7 1 dev c++
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 
Introduction toc
Introduction tocIntroduction toc
Introduction toc
 
ภาษา C#
ภาษา C#ภาษา C#
ภาษา C#
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 

More from Visaitus Palasak (7)

Economic25
Economic25Economic25
Economic25
 
Mindmapmethods
MindmapmethodsMindmapmethods
Mindmapmethods
 
Methods
MethodsMethods
Methods
 
Methods
MethodsMethods
Methods
 
(Mind map)การเขียนคำสั่งขั้นพื้นฐาน
(Mind map)การเขียนคำสั่งขั้นพื้นฐาน(Mind map)การเขียนคำสั่งขั้นพื้นฐาน
(Mind map)การเขียนคำสั่งขั้นพื้นฐาน
 
โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์
 
Mind Map : โครงงานคอมพิวเตอร์
Mind Map : โครงงานคอมพิวเตอร์ Mind Map : โครงงานคอมพิวเตอร์
Mind Map : โครงงานคอมพิวเตอร์
 

การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)

  • 1.
  • 2.  ภาษาซีเป็นภาษาที่มีพัฒนาการมาอย่างต่อเนื่อง ภาษาซีรุ่นแรกทางานภายใต้ ระบบปฏิบัติการคอส (cos) ปัจจุบันทางานภายใต้ระบบปฏิบัติการวินโดวส์ (Windows) ภาษาซีใช้วิธีแปลรหัสคาสั่งให้เป็นเลขฐานสองเรียกว่าคอมไพเลอร์  การศึกษาภูมิหลังการเป็นมาของภาษาซีและกระบวนการแปลภาษาจะช่วย ให้ผู้ใช้ ภาษาซีในรุ่นและบริษัทผู้ผลิตแตกต่างกัน สามารถใช้ภาษาได้อย่างเข้าใจมากขึ้น
  • 3. 1.1 ความเป็นมาของภาษาซี  ภาษา ซีได้รับการพัฒนาเมื่อปี ค.ศ. 1972 โดยนายเดนนิส ริตซี่ ตั้งชื่อว่าซีเพราะ พัฒนามาจากภาษา BCLP และภาษา B ในช่วงแรกใช้ทดลองเขียนคาสั่งควบคุมใน ห้องปฏิบัติการเบล (Bell Laboratoories) เท่านั้น เมื่อปี ค.ศ. 1972 นายไบรอัน เคอร์นิกฮัน และนายเดนนิส ริตซี่ ร่วมกันกาหนดนิยามรายละเอียดของภาษาซี เผยแพร่ความรู้โดยจัดทาหนังสือ The CProgramming Language
  • 4. 1.1 ความเป็นมาของภาษาซี  มีหลายบริษัทให้ความสนใจนาไปพัฒนาต่อ จนมีภาษาซีหลายรูปแบบและแพร่หลาย ไปทั่วโลก แต่ยังไม่มีมาตรฐานคาสั่งเพื่อให้สามารถใช้งานร่วมกันได้ ดังนั้นเมื่อปี ค.ศ. 1988 นายริตซี่ ได้ร่วมกับสถาบันกาหนดมาตรฐาน ANSI สร้างมาตรฐานภาษาซี ขึ้นมา มีผลให้ โปรแกรมคาสั่งที่สร้างด้วยภาษาซีสังกัดบริษัทใดๆ ก็ตามที่ใช้คาสั่ง มาตรฐานของภาษาสามารถนามาทางานร่วมกันได้
  • 5. 1.2 การทางานของคอมไพเลอร์ภาษาซี  คอมไพเลอร์ (compiler)  เป็นโปรแกรมที่ได้รับการพัฒนามาเพื่อแปลภาษาคอมพิวเตอร์รูปแบบหนึ่งมักใช้ กับ โปรแกรมเชิงโครงสร้าง ลักษณะการแปลจะอ่านรหัสคาสั่งทั้งโปรแกรมตั้งแต่บรรทัด คาสั่งแรกถึงบรรทัด สุดท้าย หากมีข้อผิดพลาดจะรายงานทุกตาแหน่งคาสั่งที่ใช้งาน ผิดกฎไวยากรณ์ของภาษา กระบวนการคอมไพล์โปรแกรมคาสั่งของภาษาซีดังนี้
  • 7.  1. จัดทาโปรแกรมต้นฉบับ (Source Program) หลักจากพิมพ์คาสั่งงาน ตาม โครงสร้างภาษาที่สมบูรณ์แล้วทุกส่วนประกอบ ให้บันทึกโดยกาหนดชนิดงานเป็น .c เช่น work.c
  • 8.  2. การแปลรหัสคาสั่งเป็นภาษาเครื่อง (Compile) หรือการบิวด์ (Build) เครื่อง จะตรวจสอบคาสั่งทีละคาสั่ง เพื่อวิเคราะห์ว่าใช้งานได้ถูกต้องตามรูปแบบไวยากรณ์ที่ ภาษาซีกาหนดไว้หรือ ไม่หากมีข้อผิดพลาดจะแจ้งให้ทราบ หากไม่มีข้อผิดพลาดจะไป กระบวนการ A
  • 9.  3. การเชื่อมโยงโปรแกรม( Link) ภาษาซีมีฟังก์ชันมาตรฐานให้ใช้งาน เช่น printf () ซึ่งจัดเก็บไว้ในเฮดเดอร์ไพล์ หรือเรียกว่า ไลบรารี ในตาแหน่งที่กาหนด ชื่อแตกต่างกันไป ผู้ใช้ต้องศึกษาและเรียกใช้เฮดเดอร์ไฟล์กับฟังก์ชันให้สัมพันธ์ เรียกว่าเชื่อมโยงกับไลบรารี กระบวนการนี้ได้ผลลัพธ์เป็นไฟล์ชนิด exe
  • 11.  2.1 ส่วนหัวของโปรแกรม (Header File)  หรือเรียกว่าฟรีโปรเซสเซอร์ไดเรกทีฟ ใช้ระบุชื่อเฮดเดอร์ไฟล์ ควบคุมการทางาน ของฟังก์ชันมาตรฐานที่ถูกเรียกใช้งานในส่วนของ main ( ) เฮดเดอร์ไฟล์มีชนิด เป็น.h จัดเก็บในไลบรารีฟังก์ชัน ผู้เขียนคาสั่งงานต้องศึกษาว่าฟังก์ชันที่ใช้งานนั้นอยู่ ในเฮดเดอร์ไฟล์ชื่ออะไร จึงจะเรียกใช้งานได้ถูกต้อง นิยมใช้รูปแบบคาสั่ง ดังนี้
  • 12. รูปแบบ # include < header_name> อธิบาย header_name ชื่อเฮดเดอร์ไฟล์ที่ควบคุมฟังก์ชันมาตรฐาน เช่น ฟังก์ชัน printf ใช้ควบคุมการแสดงผล จัดเก็บในไลบรารีชื่อ #include <stdio.h> ตัวอย่างคาสั่ง ประกาศฟรีโปรเซสเซอร์ไดเรกทีฟ ที่ใช้ควบคุมฟังก์ชันมาตรฐานภาษาซี # include <stdio.h> อธิบาย ให้คอมไพเลอร์ค้นหาไลบรารีไฟล์ชื่อ stdio.h จากไดเรกเทอรี include
  • 13.  2.2 ส่วนฟังก์ชันหลัก (Main Function)  เป็นส่วนเขียนคาสั่งควบคุมการทางานภายในขอบเขตเครื่องหมาย { } ของฟังก์ชัน หลักคือ main ( ) ต้องเขียนคาสั่งตามลาดับขั้นตอนจากกระบวนการวิเคราะห์ ระบบงานเบื้องต้นและขั้นวางแผนลาดับการทางานที่ได้จัดทาล่วงหน้าไว้ เช่น ลาดับ การทางานด้วยแผนผังโปรแกรมเพื่อลดข้อผิดพลาดในขั้นตอนลาดับคาสั่งควบคุมงาน ในส่วนนี้พึงระมัดระวังเรื่องเดียวคือ ต้องใช้งานคาสั่งตามรูปแบบไวยากรณ์ของ ภาษาซีที่กาหนดไว้
  • 14.
  • 15.  2.3 การพิมพ์คาสั่งควบคุมงานในโครงสร้างภาษาซี การพิมพ์คาสั่งงาน ซึ่งภาษาซีเรียกว่า ฟังก์ชัน ในส่วนประกอบภายในโครงสร้าง ภาษาซีมีแนวทางปฏิบัติดังนี้  1. คาสั่งที่ใช้ควบคุมการประมวลผลตามลาดับที่ได้วิเคราะห์ไว้ ต้องเขียนภายใน เครื่องหมาย {} ที่อยู่ภายใต้การควบคุมของ ฟังก์ชันหลักชิ่อ main ()  2. ปกติคาสั่งควบคุมงานจะเป็นอักษรตัวพิมพ์เล็ก ยกเว้นบางคาสั่งที่ภาษากาหนดว่า ต้องเป็น  อักษรตัวพิมพ์ใหญ่ ต้องปฏิบัติตามนั้น เพราะภาษาซีมีความแตกต่างในเรื่องตัวอักษร
  • 16.  2.3 การพิมพ์คาสั่งควบคุมงานในโครงสร้างภาษาซี  3. เมื่อสิ้นสุดคาสั่งงาน ต้องพิมพ์เครื่องหมายเซมิโคลอน (;)  4. ใน 1 บรรทัด พิมพ์ได้มากกว่า 1 คาสั่ง แต่นิยมบรรทัดละ 1 คาสั่ง เพราะว่าอ่าน โปรแกรมง่ายเมื่อมีข้อผิดพลาด ย่อมตรวจสอบและค้นหาเพื่อแก้ไขได้เร็ว  5. การพิมพ์คาสั่ง หากมีส่วนย่อย นิยมเคาะเยื้องเข้าไป เพื่ออ่านโปรแกรมได้ง่ายขึ้น เมื่อมีข้อผิดพลาดย่อมตรวจสอบและค้นหาเพื่อแก้ไขได้รวดเร็ว
  • 18.  การจัดเก็บข้อมูลลงหน่วยความจาคอมพิวเตอร์ ภาษากาหนดให้ดาเนินการผ่านที่ ผู้สร้างงานโปรแกรมเป็นผู้กาหนดเอง ระบบคอมพิวเตอร์จะจัดเก็บชื่อและตาแหน่ง ซื่อidentifier ที่อยู่ (Address) ในหน่วยความจา เพื่ออ้างอิงนาข้อมูลที่จัดเก็บนั้นมา ใช้งาน การกาหนดชื่อที่ใช้เก็บข้อมูลต้องทาภายใต้กฎเกณฑ์ และต้องศึกษาวิธีกาหนด ลักษณะการจัดเก็บข้อมูลตามที่ภาษากาหนดไว้ ลักษณะการจัดเก็บข้อมูลมี 2 แบบ คือ แบบค่าคงที่ และแบบตัวแปร  ทั้งนี้ก่อนที่จะเขียนคาสั่งกาหนดการจัดเก็บข้อมูล ควรมีความรู้ในเรื่องชนิดข้อมูล ก่อน
  • 19.  3.1 ชนิดข้อมูลแบบพื้นฐาน  การจัดเก็บข้อมูลลงหน่วยความจาทั้งแบค่าคงที่หรือแบบตัวแปร ต้องกาหนดชนิด ข้อมูลให้ระบบรับทราบ  ในที่นี้กล่าวถึงชนิดข้อมูลแบบพื้นฐาน 3 กลุ่มหลักเท่านั้น ดังตารางที่ 2.1 ชนิดข้อมูล แบบพื้นฐาน
  • 20. ตารางที่ 2.1 ชนิดข้อมูลแบบพื้นฐาน ข้อควรจา : ข้อมูลแบบข้อความใช้แบบข้อมูลแบบตัวแปร ชุด เช่น char a [20] : หมายเหตุ : ตารางแสดงชนิดข้อมูลของภาษาซีทุกชนิดแสดงในภาคผนวก
  • 21.  3.2 คาสั่งจัดเก็บข้อมูลแบบค่าคงที่  ประสิทธิภาพคาสั่ง : ลักษณะการจัดเก็บข้อมูลในหน่วยความจาไม่สามารถ เปลี่ยนแปลงได้ รูปแบบ Const data_type var = data ; อธิบาย data_type คือที่ชนิดข้อมูลแบบพื้นฐาน Var คือชื่อหน่วยความจาที่ผู้ใช้ต้องกาหนดตามกฎการตั้งชื่อ Data คือข้อมูลที่กาหนดเป็นค่าคงที่
  • 22. ข้อควรจา : กรณีข้อมูลมี 1 อักขระ กาหนดให้อยู่ใน ‘ ‘ (single quotation) กรณีข้อมูลมีมากกว่า 1 อักขระ กาหนดให้อยู่ใน “ ” (double quotation) กรณีข้อมูลเป็นชนิดตัวเลขใช้ในการคานวณไม่ต้องอยู่ใน ‘’ หรือ “ ”
  • 23.  3.3 คาสั่งจัดเก็บข้อมูลแบบตัวแปร  ประสิทธิภาพคาสั่ง : ลักษณะการจัดเก็บข้อมูลในหน่วยความจาสามารถเปลี่ยนแปลง ได้ รูปแบบ 1 var_type var_name[,….]; รูปแบบ 2 var_type var_name = data ; อธิบาย var_type คือหน่วยชนิดข้อมูลแบบพื้นฐาน var name คือชื่อหน่วยความจา ที่ผู้ใช้ต้องกาหนดตามกฎ การตั้งชื่อ data คือข้อมูลที่กาหนดเป็นค่าเริ่มต้น (อาจมีหรือไม่ก็ได้)
  • 24.  หมายเหตุ หากมีตัวแปรมากกว่า 1 ตัว แต่เป็นตัวแปรเก็บข้อมูลประเภทเดียว ใช้ คอมม่า (,) คั่น  ตัวอย่างคาสั่ง กาหนดคุณสมบัติให้ตัวแปรในการจัดเก็บข้อมูล Char ans ; List salary , bonus ; Short value = 2;
  • 25.  4.1 คาสั่งแสดงผล : printf ( )  ประสิทธิภาพคาสั่ง : ใช้แสดงผล สิ่งต่อไปนี้ เช่น ข้อความ ข้อมูลจากค่าคงที่ หรือตัว แปรที่จอภาพ รูปแบบ 1 Printf (“ string_format” , data_list ) ; รูปแบบ 2 Printf (“string_format” ) ; อธิบาย string_format คือลักษณะของสิ่งต่อไปนี้ เช่น ข้อความ (text ) รหัสรูปแบบข้อมูล เช่น %d รหัสควบคุม เช่น n Data_list คือข้อมูลแสดงผลอาจเป็นค่าคงที่ตัวแปร นิพจน์ หากมี หลายตัวใช้ , คั่น
  • 26.  ตารางที่ 2.2 รหัสรูปแบบข้อมูลระดับพื้นฐาน ตัวอย่างคาสั่ง ควบคุมการแสดงผลด้วย printf Printf ( “ Data is %d n ” , score ) ; อธิบาย พิมพ์ข้อความคาว่า data is ตามด้วยค่าข้อมูลใน หน่วยความจาตัวแปรชื่อ score ซึ่งเป็นข้อมูลชนิดจานวนเต็ม (%) แล้วเลื่อนคอร์เซอร์ไปไว้บรรทัดถัดไป (n)
  • 27.  4.2 คาสั่งรับข้อมูล : รับข้อมูลจากแป้นพิมพ์ แล้วจัดเก็บลงหน่วยความจาของตัว แปร รูปแบบ Scanf ( “ string_format” , & address_list ) ; อธิบาย string_format คือรูปแบบการแสดงผลของข้อมูล เท่านั้น เช่น %d Address_list คือการระบุตาแหน่งที่อยู่ในหน่วยความจา ต้องใช้สัญลักษณ์ &(Ampersand) นาหน้าชื่อตัวแปรเสมอ
  • 28. ข้อควรจา กรณีเป็นตัวแปรข้อความ (String) สามารถยกเว้น ไม่ต้องใช้ & นาหน้าได้ ตัวอย่างคาสั่ง เขียนคาสั่งควบคุมการรับค่าจากแป้ นพิมพ์ด้วย scanf Scanf ( “%d ” , &score ) ; อธิบาย รับข้อมูลจากแป้ นพิมพ์ นาไปเก็บในหน่วยความจาชื่อ score เป็นข้อมูลประเภทจานวนเต็ม
  • 29.  4.3 คาสั่งประมวลผล : expression  ประสิทธิภาพคาสั่ง : เขียนคาสั่งแบบนิพจน์เพื่อประมวลผล แล้วนาข้อมูลที่ได้ไป จัดเก็บในหน่วยความจาของตัวแปรที่ต้องกาหนดชื่อและชนิดข้อมูลไว้แล้ว รูปแบบ Var = expression ; อธิบาย var คือชื่อหน่วยความจาชนิดตัวแปร Expression คือสมการนิพจน์ เช่น สูตรคานวณทาง คณิตศาสตร์
  • 30. ตัวอย่างคาสั่ง นิพจน์ที่เป็นสูตรคานวณทางคณิตศาสตร์ Sum = a+b ; อธิบาย ให้นาค่าในหน่วยความจาตัวแปรชื่อ a กับ b มา+กัน แล้วนาค่าไปเก็บในหน่วยความจาตัวแปรชื่อ sum
  • 31.  แนวคิดในการเขียนคาสั่งควบคุมการทางาน  1. ส่วนป้อนข้อมูล ผู้ใช้ระบบงานป้อนค่า ; เก็บในหน่วยความจา x และป้อนค่า A เก็บในหน่วยความจา y ด้วยคาสั่ง Printf ( “data x=” ) ; scanf ( “%d ,&x ) ; Printf ( “data y=” ) ; scanf ( “%d ,&y ) ;
  • 32.  แนวคิดในการเขียนคาสั่งควบคุมการทางาน  2.ส่วนประมวลผล ระบบจะนาค่าไปประมวลผลตามนิพจน์คณิตศาสตร์ r = 2 + 3 * 2 ; ได้คาตอบคือ 8 s = (2 + 3 ) * 2; ได้คาตอบคือ 10 t = 2 + 3 * 2-1 ; ได้คาตอบคือ 7 ทั้งนี้คอมพิวเตอร์ประมวลผล โดยยึดหลักลาดับความสาคัญของ “เครื่องหมายทางคณิตศาสตร์” เช่นคานวณเครื่องหมาย * ก่อนเครื่องหมาย +
  • 33.  แนวคิดในการเขียนคาสั่งควบคุมการทางาน  3.ส่วนแสดงผล คาสั่งควบคุมให้แสดงผลลัพธ์ Printf ( “r = x + y * 2 = %d n” , r ) ; Printf ( “r = (x + y X* 2 = %d n” , s ) ; Printf ( “r = x + y * 2-1 = %d n” , t ) ;
  • 34.  ภาษาซีมีคาสั่งแสดงผลและรับข้อมูลเฉพาะข้อมูลประเภท 8 อักขระ (char )ดังนี้  5.1 คาสั่ง putchar ( )  แสดงผลข้อมูลจากหน่วยความจาของตัวแปร ทางจอภาพครั้งละ1อักขระเท่านั้น รูปแบบ Putchar ( char_argument) ; อธิบาย putchar_argument คือ ข้อมูลชนิดอักขระ
  • 35.  แนวคิดในการเขียนคาสั่งควบคุมการทางาน  1. กาหนดค่า ‘A’ เก็บในตัวแปรประเภท char ชื่อ word1 และกาหนดค่า ‘1’ เก็บในตัวแปรชื่อ word2 ด้วยคาสั่ง char word1=’A’ , word2=’1’  2. เขียนคาสั่งควบคุมการแสดงผลทีละ 1 อักขระ โดยไม่ต้องใช้สัญลักษณ์ขึ้น บรรทัดใหม่ด้วยคาสั่ง putchar(word1); putcar(word2); จึงพิมพ์คาว่า A1 ที่ จอภาพ
  • 36.  ภาษาซีมีคาสั่งแสดงผลและรับข้อมูลเฉพาะข้อมูลประเภท 8 อักขระ (char )ดังนี้  5.2คาสั่ง getchar ( )  รับข้อมูลจากแป้นพิมพ์ครั้งละ 1 อักขระ และแสดงอักขระที่จอภาพ จากนั้นต้องกด แป้นพิมพ์ที่ Enter เพื่อนาข้อมูลบันทึกลงหน่วยความจาด้วย รูปแบบ 1 ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร getchar ( ) ;
  • 37.  5.2คาสั่ง getchar ( ) รูปแบบ 2 นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร char_var = getchar ( ) ; อธิบาย char_var คือ ข้อมูลชนิด char
  • 38.  แนวคิดในการเขียนคาสั่งควบคุมการทางาน  1.เขียนคาสั่งควบคุมการป้อนข้อมูลประเภทอักขระด้วยคาสั่ง  printf ( “Key 1 Character = “ ) ;  word = getchar ( );  หมายถึงป้อนอักขระ 1 ตัว เช่น a จะแสดงค่า ให้เห็นที่หน้าจอด้วย แล้ว ต้องกดแป้น Enter เพื่อนาข้อมูลบันทึกลงหน่วยความจาตัวแปรประเภท char ชื่อ word  2 . เขียนคาสั่งควบคุมการแสดงผลจากหน่วยความจา word จึงเห็นค่า a ( แทนที่ word)  printf ( “You key Character is = %cn”, word ) ;
  • 39.  ภาษาซีมีคาสั่งแสดงผลและรับข้อมูลเฉพาะข้อมูลประเภท 8 อักขระ (char )ดังนี้  5.3 คาสั่ง getch ( )  รับข้อมูลจากแป้นพิมพ์ครั้งละ 1 อักขระ แต่ ไม่ปรากฏ อักษรบนจอภาพ และ ไม่ต้อง กดแป้น Enter รูปแบบ 1 ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร getch( ) ;
  • 40.  5.3 คาสั่ง getch ( ) รูปแบบ 2 ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร getch( ) ; อธิบาย char_var คือ ข้อมูลชนิดอักขระ
  • 41.  แนวคิดในการเขียนคาสั่งควบคุมการทางาน  1.เขียนคาสั่งควบคุมการป้อนข้อมูลประเภทอักขระด้วยคาสั่ง  printf ( “Key 1 Character = “ ) ;  word = getch ( );  หมายถึงป้อนค่าใดทางแป้นพิมพ์เป็นอักขระ 1 ตัว เช่น a จะ ไม่แสดง ค่าให้เห็นที่ หน้าจอไม่ต้อง กดแป้น Enter เพื่อนาข้อมูลบันทึกลงหน่วยความจาตัวแปรประเภท char ชื่อ word  2.เขียนคาสั่งควบคุมการแสดงผลจากหน่วยความจา word จึงเห็นค่า a ( แทนที่ word )  printf ( “You key Character is = %cn”, word ) ;
  • 42.  ภาษาซีมีคาสั่งแสดงผลและรับข้อมูลเฉพาะข้อมูลประเภท 8 อักขระ (char )ดังนี้  5.4 คาสั่ง getche( )  รับข้อมูลจากแป้นพิมพ์ครั้งละ 1 อักขระ และ แสดง อักษรบนจอภาพ และ ไม่ต้อง กดแป้น Enter รูปแบบ 1 ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร getche ( );
  • 43.  5.4 คาสั่ง getche( ) รูปแบบ 2 นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร char_var = getche ( ); อธิบาย char_var คือ ข้อมูลชนิดอักขระ
  • 44.  แนวคิดในการเขียนคาสั่งควบคุมการทางาน  1.เขียนคาสั่งควบคุมการป้อนข้อมูลประเภทอักขระด้วยคาสั่ง  printf ( “Key 1 Character = “ ) ;  word = getche ( );  หมายถึงป้อนค่าใดทางแป้นพิมพ์เป็นอักขระ 1 ตัว เช่น a จะ แสดง ค่าให้เห็นที่ หน้าจอ และไม่ต้อง กดแป้น Enter เพื่อนาข้อมูลบันทึกลงหน่วยความจาตัวแปร ประเภท char ชื่อ word  2.เขียนคาสั่งควบคุมการแสดงผลเพื่อแสดงค่าจากหน่วยความจา word จึงเห็นค่า a ( แทนทิ่ word )  printf ( “You key Character is = %cn”, word ) ;
  • 45.  ภาษาซีมีคาสั่งใช้ในการรับข้อมูลเฉพาะประเภทข้อความ (String) ในภาษาซีคือชนิด ข้อมูล char [n] จัดเก็บในหน่วยความจา และแสดงผลข้อมูลประเภทข้อความเท่านั้น มีรายละเอียดดังนี้  6.1.คาสั่ง puts( )  แสดงผลข้อมูลเฉพาะประเภทข้อความทางจอภาพครั้งละ 1 ข้อความ รูปแบบputs ( string_argument ) ; อธิบาย string_argument คือ ข้อมูลชนิดข้อความ
  • 46.  แนวคิดในการเขียนคาสั่งควบคุมการทางาน  1.เขียนคาสั่งกาหนดค่าข้อความเก็บในตัวแปรชื่อ word Char word [15] = “*Example * “ ;  2.เขียนคาสั่งควบคุมการแสดงผลในลักษณะข้อความด้วย puts Puts ( word ) ; Puts (“**************”);
  • 47.  6.2คาสั่ง gets ( )  รับข้อมูล ข้อความ จากแป้นพิมพ์ และต้องกดแป้น Enter รูปแบบ 1 ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร gets ( ); รูปแบบ 2 นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร string_var =gets ( ) ; อธิบาย string_var คือ ข้อมูลชนิดข้อความ
  • 48.  แนวคิดในการเขียนคาสั่งควบคุมการทางาน  1.เขียนคาสั่งให้รับข้อมูล ชนิดข้อความ จากแป้นพิมพ์ และต้อง กดแป้น Enter เพื่อ นาข้อความบันทึกลงตัวแปรชนิดข้อความ ด้วยคาสั่ง gets (word) ;  2.เขียนคาสั่งควบคุมให้แสดงผลลักษณะข้อความด้วย printf ( “You name is = %sn”, word ) ;
  • 49.  6.1.คาสั่ง puts( ) แสดงผลข้อมูลเฉพาะประเภทข้อความทางจอภาพครั้งละ 1 ข้อความ รูปแบบ puts ( string_argument ) ; อธิบาย string_argument คือ ข้อมูลชนิดข้อความ แนวคิดในการเขียนคาสั่งควบคุมการทางาน 1.เขียนคาสั่งกาหนดค่าข้อความเก็บในตัวแปรชื่อ word Char word [15] = “*Example * “ ; 2.เขียนคาสั่งควบคุมการแสดงผลในลักษณะข้อความด้วย puts Puts ( word ) ; Puts (“**************”);
  • 50.  6.2คาสั่ง gets ( ) รับข้อมูล ข้อความ จากแป้นพิมพ์ และต้องกดแป้น Enter รูปแบบ 1 ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร gets ( ); รูปแบบ 2 นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร string_var =gets ( ) ; อธิบาย string_var คือ ข้อมูลชนิดข้อความ
  • 51. แนวคิดในการเขียนคาสั่งควบคมการทางาน 1.เขียนคาสั่งให้รับข้อมูล ชนิดข้อความ จากแป้นพิมพ์ และต้อง กดแป้น Enter เพื่อ นาข้อความบันทึกลงตัวแปรชนิดข้อความ ด้วยคาสั่ง gets (word) ; 2.เขียนคาสั่งควบคุมให้แสดงผลลักษณะข้อความด้วย printf ( “You name is = %sn”, word ) ;
  • 52. นายทยาวีร์ เจียจารูญ และคณะ. 2557. (ออนไลน์). แหล่งที่มา : https://sites.google.com/site/pussamon mlp/krni-suksa-kar-chi-kha-sang- khwbkhum-kar-thangan-khan-phun-than. 11 มิ.ย. 2557.
  • 53. จัดทาโดย นายวิสัยทัศน์ พละศักดิ์ น.ส.ไพลิน จิรวงศ์ไพสิฐ น.ส.ชนกนันท์ ทองนา น.ส.นับพร เสดวงชัย น.ส.พิมพ์นภา สินค้าเจริญ น.ส.สุพรรณษา ฟักขา ชั้นมัยธมศึกษาปีที่ 6/1