SlideShare a Scribd company logo
1 of 14
การเขียนคาสั่งควบคุม
1.ลักษณะการทางานของภาษาซี
ลักษณะการทางานของภาษาซี
ภาษาซีเป็นภาษาที่มีการพัฒนาการมาอย่างต่อเนื่อง ภาษาซีรุ่นแรกทางานภายใต้ระบบปฏิบัติการคอส (cos)
ปัจจุบันทางานภายใต้ระบบปฏิบัติการวินโดวส์ (Windows)
ภาษาซีใช้วิธีแปลรหัสคาสั่งให้เป็นเลขฐานสองเรียกว่า คอมไพเลอร์
การศึกษาภูมิหลังการเป็นมาของภาษาซีและกระบวนการแปลภาษาจะช่วยให้ผู้ใช้ภาษาซีในรุ่นและบริษัทผู้ผ
ลิตแตกต่างกัน สามารถใช้ภาษาได้อย่างเข้าใจมากขึ้น
1.1.ความเป็นมาของภาษาซี
ภาษาซีได้รับการพัฒนาเมื่อปี ค.ศ.1972 โดยนายเดนนิส ริตซี่ ตั้งชื่อว่าซีเพราะพัฒนามาจากภาษา BCLP
และภาษา B ในช่วงแรกใช้ทดลองเขียนคาสั่งควบคุมในห้องปฏิบัติการเบล (Bell Laboratoorics) เท่านั้น
เมื่อปี ค.ศ.1978 นายไบรอัน เคอร์นิกฮัน และ นายเดนนิส ริตซี่
ร่วมกันกาหนดนิยามรายละเอียดของภาษาซี เผยแพร่ความรู้โดยจัดทาหนังสือ The C Programming
Language มีหลายบริษัท ให้ความสนใจนาไปพัฒนาต่อ จนมีภาษาซีหลายรูปแบบและแพร่หลายไปทั่วโลก
แต่ยังไม่มีมาตรฐานคาสั่งเพื่อให้สามารถใช้งานร่วมกันได้ ดังนั้นเมื่อปี ค.ศ.1988 นายริตซี่
ได้ร่วมกับสถาบันกาหนดมาตรฐาน ANSI
สร้างมาตรฐานภาษาซีขึ้นมามีผลให้โปรแกรมคาสั่งที่สร้างด้วยภาษาซีสังกัดบริษัทใดๆก็ตามที่ใช้คาสั่งมาตร
ฐานของภาษาสามารถนามาทางานร่วมกันได้
1.2การทางานของตอมไพเลอร์ภาษาซี
คอมไพเลอร์เป็นโปรแกรมที่ได้รับการพัฒนามาเพื่อแปลลภาษาคอมพิวเตอร์รูปแบบหนึ่งมักใช้กับโปรแกร
มเชิงโครงสร้าง ลักษณะการแปลจะอ่านรหัสคาสั่งทั้งโปรแกรมตั้งแต่บรรทัดคาสั่งแรกถึงบรรทัดสุดท้าย
หากมีข้อผิดพลาดจะรายงานทุกตาแหน่งคาสั่งที่ใช้ผิดกฎไวยากรณ์ของภาษา
กระบวนการคอมไพเลอร์โปรแกรมคาสั่งของภาษาซี มีดังนี้
1.จัดทาโปรแกรมต้นฉบับ (SourceProgram) หลังจากพิมคาสั่งงาน
ตามโครงสร้างภาษาที่สมบูรณ์แล้วทุกส่วนประกอบ ให้บันทึกโดยกาหนดชนิดงานเป็น .c เช่น work.c
2.การแปลรหัสคาสั่งเป็นภาษาเครื่อง (Compile) หรือการบิวด์ (Build) เครื่องจะตรวจสอบคาสั่งทีละคาสั่ง
เพื่อวิเคราะห์ว่าใช้งานได้ถูกต้องตามรูปแบบไวยากรณ์ที่ภาษาซีกาหนดไว้หรือหากมีข้อผิดพลาดจะแจ้งให้ท
ราบ หากไม่มีข้อผิดพลาดจะไปกระบวนการ3
3.การเชื่อมโยงโปรแกรม (Link) ภาษาซีมีฟังก์ชันมาตรฐานให้ใช้งาน เช่น printf()
ซึ่งจัดเก็บไว้ในเฮดเดอร์ไพล์ หรือเรียกว่า ไลบรารี ในตาแหน่งที่กาหนดชื่อแตกต่างกันไป
ผู้ใช้ต้องศึกษาและเรียกใช้เฮดเดอร์ไฟล์กับฟังก์ชันให้สัมพันธ์เรียกว่าเชื่อมโยงกับไลบรารี
กระบวนการนี้ได้ผลลัพธ์เป็นไฟล์ชนิด .exe
2. ส่วนประกอบโครงสร้างภาษาซี
สาหรับโครงสร้างของภาษาซีในเบื้องต้นนี้จะกล่าวถึงเฉพาะรายละเอียดที่นาไปใช้ในการเขียนคาสั่งควบคุม
ระดับพื้นฐาน ผู้สร้างงานโปรแกรมจะใช้งานส่วนประกอบในภาษาซีเพียง ;ส่วน คือ
ส่วนหัวและส่วนฟังก์ชันหลัก ดังนี้
# 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
ข้อควรจา
#include <stdio.h> เก็บฟังก์ชันรับข้อมูลแสดงผลที่ต้องใช้งานทุกโปรแกรมดังนั้น
ส่วนดันทุกโปรแกรมจึงปรากฏคาสั่งนี้
tru5wu
แสดงตาแหน่งไฟล์ stdio.h .o ในไดเรกเทอรี include
2.2 ส่วนฟังก์ชันหลัก (Main Function)
เป็นส่วนเขียนคาสั่งควบคุมการทางานภายในขอบเขตเครื่องหมาย { } ของฟังก์ชันหลักคือ main ( )
ต้องเขียนคาสั่งตามลาดับขั้นตอนจากกระบวนการวิเคราะห์ระบบงานเบื้องต้นและขั้นวางแผนลาดับการทาง
านที่ได้จัดทาล่วงหน้าไว้ เช่น
ลาดับการทางานด้วยแผนผังโปรแกรมเพื่อลดข้อผิดพลาดในขั้นตอนลาดับคาสั่งควบคุมงาน
ในส่วนนี้พึงระมัดระวังเรื่องเดียวคือ ต้องใช้งานคาสั่งตามรูปแบบไวยากรณ์ของภาษาซีที่กาหนดไว้
2.3 การพิมพ์คาสั่งควบคุมงานในโครงสร้างภาษาซี
คาแนะนาในการพิมพ์คาสั่งงาน ซึ่งภาษาซีเรียกว่า ฟังก์ชัน (ต่อไปนี้จะเรียกว่า คาสั่ง ตามที่นิยมทั่วไป)
ในส่วนประกอบภายในโครงสร้างภาษาซีมีแนวทางปฏิบัติดังนี้
1. คาสั่งที่ใช้ควบคุมการประมวลผลตามลาดับที่ได้วิเคราะห์ไว้ ต้องเขียนภายในเครื่องหมาย {}
ที่อยู่ภายใต้การควบคุมของ ฟังก์ชันหลักชิ่อ main ()
2. ปกติคาสั่งควบคุมงานจะเป็นอักษรตัวพิมพ์เล็ก ยกเว้นบางคาสั่งที่ภาษากาหนดว่าต้องเป็น
อักษรตัวพิมพ์ใหญ่ ต้องปฏิบัติตามนั้น เพราะภาษาซีมีความแตกต่างในเรื่องตัวอักษร
3. เมื่อสิ้นสุดคาสั่งงาน ต้องพิมพ์เครื่องหมายเซมิโคลอน (;)
4. ใน 1 บรรทัด พิมพ์ได้มากกว่า 1 คาสั่ง แต่นิยมบรรทัดละ 1คาสั่ง
เพราะว่าอ่านโปรแกรมง่ายเมื่อมีข้อผิดพลาด ย่อมตรวจสอบและค้นหาเพื่อแก้ไขได้เร็ว
5. การพิมพ์คาสั่ง หากมีส่วนย่อย นิยมเคาะเยื้องเข้าไป เพื่ออ่านโปรแกรมได้ง่ายขึ้น
เมื่อมีข้อผิดพลาดย่อมตรวจสอบและค้นหาเพื่อแก้ไขได้รวดเร็ว
trwy65uh
แสดงลักษณะการพิมพ์คาสั่งในโครงสร้างภาษาซี
3.คาสั่งจัดเก็บข้อมูลลงหน่วยความจา
การจัดเก็บข้อมูลลงหน่วยความจาคอมพิวเตอร์ ภาษากาหนดให้ดาเนินการผ่านซื่อ(identifier)
ที่ผู้สร้างงานโปรแกรมเป็นผู้กาหนดเอง ระบบคอมพิวเตอร์จะจัดเก็บชื่อและตาแหน่งที่อยู่ (Address )
ในหน่วยความจา เพื่ออ้างอิงนาข้อมูลที่จัดเก็บนั้นมาใช้งาน
การกาหนดชื่อที่ใช้เก็บข้อมูลต้องทาภายใต้กฎเกณฑ์
และต้องศึกษาวิธีกาหนดลักษณะการจัดเก็บข้อมูลตามที่ภาษากาหนดไว้ ลักษณะการจัดเก็บข้อมูลมี 2
แบบคือ แบบค่าคงที่และแบบตัวแปร ทั้งนี้ก่อนที่จะเขียนคาสั่งกาหนดการจัดเก็บข้อมูล
ควรมีความรู้ในเรื่องชนิดข้อมูลก่อน
3.1 ชนิดข้อมูลแบบพื้นฐาน
การจัดเก็บข้อมูลลงหน่วยความจาทั้งแบค่าคงที่หรือแบบตัวแปร ต้องกาหนดชนิดข้อมูลให้ระบบรับทราบ
ในที่นี้กล่าวถึงชนิดข้อมูลแบบพื้นฐาน 3 กลุ่มหลักเท่านั้น ตารางที่ 2.1 ชนิดข้อมูลแบบพื้นฐาน
ชนิดข้อมูล ขอบเขตของข้อมูล อธิบาย
char -128 ถึง 127 เก็บข้อมูลแบบอักขระ
int -32768ถึง32767 เก็บข้อมูลแบบตัวเลขจานวนเต็ม
float 3.4×10 ถึง 3.4×10 เก็บข้อมูลแบบตัวเลขทศนิยมตัวเลขหลังจุด 6หลัก
ข้อควรจา
ข้อมูลแบบข้อความใช้แบบข้อมูลแบบตัวแปรชุด เช่น char a[20] :
หมายเหตุ
ตารางแสดงชนิดข้อมูลของภาษาซีทุกชนิดแสดงในภาคผนวก
3.2 คาสั่งจัดเก็บข้อมูลแบบค่าคงที่
ประสิทธิภาพคาสั่ง :ลักษณะการจัดเก็บข้อมูลในหน่วยความจาไม่สามารถเปลี่ยนแปลงได้
รูปแบบ Const data_type var =data ;
อธิบาย data_type คือที่ชนิดข้อมูลแบบพื้นฐาน
Var คือชื่อหน่วยความจาที่ผู้ใช้ต้องกาหนดตามกฎการตั้งชื่อ
Data คือข้อมูลที่กาหนดเป็นค่าคงที่
ข้อควรจา
กรณีข้อมูลมี 1อักขระ กาหนดให้อยู่ใน ‘ ‘ (single quotation)
กรณีข้อมูลมีมากกว่า 1อักขระ กาหนดให้อยู่ใน “ ”(double quotation)
กรณีข้อมูลเป็นชนิดตัวเลขใช้ในการคานวณไม่ต้องอยู่ใน ‘’ หรือ “ ”
3.3 คาสั่งจัดเก็บข้อมูลแบบตัวแปร
ประสิทธิภาพคาสั่ง : ลักษณะการจัดเก็บข้อมูลในหน่วยความจาสามารถเปลี่ยนแปลงได้
รูปแบบ 1var_type var_name[,….];
รูปแบบ 2 var_type var_name = data ;
อธิบาย var_type คือหน่วยชนิดข้อมูลแบบพื้นฐาน
var name คือชื่อหน่วยความจา ที่ผู้ใช้ต้องกาหนดตามกฎการตั้งชื่อ
data คือข้อมูลที่กาหนดเป็นค่าเริ่มต้น (อาจมีหรือไม่ก็ได้)
หมายเหตุ หากมีตัวแปรมากกว่า 1ตัว แต่เป็นตัวแปรเก็บข้อมูลประเภทเดียว ใช้คอมม่า (,) คั่น
ตัวอย่างคาสั่ง กาหนดคุณสมบัติให้ตัวแปรในการจัดเก็บข้อมูล
Char ans ;
List salary , bonus ;
Shortvalue = 2;
4.คาสั่งควบคุมการทางานขั้นพื้นฐาน
คาสั่งที่ใช้ควบคุมการทางานขั้นพื้นฐานมี 3 กลุ่มคือ
คาสั่งรับข้อมูลจากแป้นพิมพ์แล้วนาไปจัดเก็บหน่ายความจา (input )
การเขียนสมการคานวณโดยใช้นิพจน์ทางคณิตศาสตร์(Process) และคาสั่งแสดงผลข้อมูล
หรือข้อมูลที่จัดเก็บในหน่วยความจา (Qutput)
4.1 คาสั่งแสดงผล : printf ( )
ประสิทธิภาพคาสั่ง :ใช้แสดงผล สิ่งต่อไปนี้ เช่นข้อความ ข้อมูลจากค่าคงที่ หรือตัวแปรที่จอภาพ
รูปแบบ 1 Printf (“ string_format” , data_list ) ;
รูปแบบ 2 Printf (“string_format” ) ;
อธิบาย string_format คือลักษณะของสิ่งต่อไปนี้ เช่น ข้อความ (text ) รหัสรูปแบบข้อมูล เช่น%d
รหัสควบคุม เช่น n
Data_list คือข้อมูลแสดงผลอาจเป็นค่าคงที่ตัวแปร นิพจน์ หากมีหลายตัวใช้ , คั่น
ตารางที_ 2.2 รหัสรูปแบบข้อมูลระดับพื้นฐาน
รหัส formatcode ความหมาย
%c ใช้กับข้อมูลแบบ char
%d ใช้กับข้อมูลแบบ int เฉพาะฐาน10
%s ใช้กับข้อมูลแบบ string
หมายเหตุ รหัสรูปแบบข้อมูลรูปแบบ แสดงในภาคผนวก
ตัวอย่างคาสั่ง ควบคุมการแสดงผลด้วย 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) ;
5.คาสั่งเเสดงผล-รับข้อมูล เฉพาะอักขระ
ภาษาซีมีคาสั่งแสดงผลและรับข้อมูลเฉพาะข้อมูลประเภท 8 อักขระ (char )ดังนี้
5.1 คาสั่ง putchar ( )
แสดงผลข้อมูลจากหน่วยความจาของตัวแปร ทางจอภาพครั้งละ1อักขระเท่านั้น
รูปแบบ Putchar ( char_argument) ;
อธิบาย putchar_argument คือ ข้อมูลชนิดอักขระ
jhi7t9
ผลทดสอบโปรแกรม
แนวคิดในการเขียนคาสั่งควบคุมการทางาน
1. กาหนดค่า ‘A’ เก็บในตัวแปรประเภท char ชื่อ word1 และกาหนดค่า ‘1’ เก็บในตัวแปรชื่อ word2
ด้วยคาสั่ง char word1=’A’ , word2=’1’
2. เขียนคาสั่งควบคุมการแสดงผลทีละ 1อักขระ โดยไม่ต้องใช้สัญลักษณ์ขึ้นบรรทัดใหม่ด้วยคาสั่ง
putchar(word1);putcar(word2); จึงพิมพ์คาว่า A1 ที่จอภาพ
5.2คาสั่ง getchar ( )
รับข้อมูลจากแป้นพิมพ์ครั้งละ 1อักขระ และแสดงอักขระที่จอภาพ จากนั้นต้องกดแป้นพิมพ์ที่ Enter
เพื่อนาข้อมูลบันทึกลงหน่วยความจาด้วย
รูปแบบ 1 ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร
getchar ( ) ;
รูปแบบ 2นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร
char_var = getchar ( ) ;
อธิบาย char_var คือ ข้อมูลชนิด char
wefd57yr6h
ผลทดสอบโปรแกรม
แนวคิดในการเขียนคาสั่งควบคุมการทางาน
1.เขียนคาสั่งควบคุมการป้อนข้อมูลประเภทอักขระด้วยคาสั่ง
printf ( “Key 1 Character = “) ;
word= getchar ( );
หมายถึงป้อนอักขระ 1 ตัว เช่น a จะแสดงค่า ให้เห็นที่หน้าจอด้วย แล้ว ต้องกดแป้นEnter
เพื่อนาข้อมูลบันทึกลงหน่วยความจาตัวแปรประเภท char ชื่อ word
2 . เขียนคาสั่งควบคุมการแสดงผลจากหน่วยความจา wordจึงเห็นค่า a ( แทนที่ word)
printf ( “You key Character is = %cn”, word) ;
5.3 คาสั่ง getch ( )
รับข้อมูลจากแป้นพิมพ์ครั้งละ 1อักขระ แต่ไม่ปรากฏ อักษรบนจอภาพ และ ไม่ต้องกดแป้น Enter
รูปแบบ 1ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร
getch( ) ;
รูปแบบ 2นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร
char_var = getch 1( ) ;
อธิบาย 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) ;
5.4 คาสั่ง getche( )
รับข้อมูลจากแป้นพิมพ์ครั้งละ 1อักขระ และ แสดง อักษรบนจอภาพ และ ไม่ต้องกดแป้น Enter
รูปแบบ 1ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร getche ( );
รูปแบบ 2นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร char_var =getche ( );
อธิบาย char_var คือ ข้อมูลชนิดอักขระ
fghuhrs
ผลทดสอบโปรแกรม
แนวคิดในการเขียนคาสั่งควบคุมการทางาน
1.เขียนคาสั่งควบคุมการป้อนข้อมูลประเภทอักขระด้วยคาสั่ง
printf ( “Key 1 Character = “) ;
word= getche ( );
หมายถึงป้อนค่าใดทางแป้นพิมพ์เป็นอักขระ 1 ตัว เช่นa จะ แสดง ค่าให้เห็นที่หน้าจอ และไม่ต้อง กดแป้น
Enter เพื่อนาข้อมูลบันทึกลงหน่วยความจาตัวแปรประเภท char ชื่อ word
2.เขียนคาสั่งควบคุมการแสดงผลเพื่อแสดงค่าจากหน่วยความจา wordจึงเห็นค่า a ( แทนทิ่ word )
printf ( “You key Character is = %cn”, word) ;
6.คาสั่งเเสดงผล-รับข้อมูล เฉพาะข้อความ
ภาษาซีมีคาสั่งใช้ในการรับข้อมูลเฉพาะประเภทข้อความ (String) ในภาษาซีคือชนิดข้อมูล char [n]
จัดเก็บในหน่วยความจา และแสดงผลข้อมูลประเภทข้อความเท่านั้น มีรายละเอียดดังนี้
6.1.คาสั่ง puts( )
แสดงผลข้อมูลเฉพาะประเภทข้อความทางจอภาพครั้งละ 1 ข้อความ
รูปแบบputs ( string_argument ) ;
อธิบาย string_argument คือ ข้อมูลชนิดข้อความ
dflrp04
ผลทดสอบโปรแกรม
แนวคิดในการเขียนคาสั่งควบคุมการทางาน
1.เขียนคาสั่งกาหนดค่าข้อความเก็บในตัวแปรชื่อ word
Char word[15] = “*Example *“ ;
2.เขียนคาสั่งควบคุมการแสดงผลในลักษณะข้อความด้วย puts
Puts ( word) ;
Puts (“**************”);
6.2คาสั่ง gets ( )
รับข้อมูล ข้อความ จากแป้นพิมพ์ และต้องกดแป้น Enter
รูปแบบ 1ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร gets ( );
รูปแบบ 2นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร
string_var =gets ( ) ;
อธิบาย string_var คือ ข้อมูลชนิดข้อความ
fgkerptikoi
ผลทดสอบโปรแกรม
แนวคิดในการเขียนคาสั่งควบคมการทางาน
1.เขียนคาสั่งให้รับข้อมูล ชนิดข้อความ จากแป้นพิมพ์ และต้อง กดแป้น Enter
เพื่อนาข้อความบันทึกลงตัวแปรชนิดข้อความ ด้วยคาสั่ง gets (word) ;
2.เขียนคาสั่งควบคุมให้แสดงผลลักษณะข้อความด้วย
printf ( “You name is =%sn”, word) ;

More Related Content

What's hot

บทที่ 2
บทที่  2  บทที่  2
บทที่ 2 1118192239
 
การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++Naowarat Jaikaroon
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานPitchaya Jitbowornwong
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซีmansuang1978
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานVi Vik Viv
 
การเขียนคำสังควบคุมขั้นพื้นฐาน 2
การเขียนคำสังควบคุมขั้นพื้นฐาน 2การเขียนคำสังควบคุมขั้นพื้นฐาน 2
การเขียนคำสังควบคุมขั้นพื้นฐาน 2Tay Atcharawan
 
ตัวแปรในภาษาซี
ตัวแปรในภาษาซีตัวแปรในภาษาซี
ตัวแปรในภาษาซีboky_peaw
 
บทที่ 2 ตัวแปร
บทที่ 2 ตัวแปรบทที่ 2 ตัวแปร
บทที่ 2 ตัวแปรKomkai Pawuttanon
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีchoco336
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานNookky Anapat
 
การใช้สูตรหาพื้นที่ ด้วย Dev++
การใช้สูตรหาพื้นที่ ด้วย Dev++การใช้สูตรหาพื้นที่ ด้วย Dev++
การใช้สูตรหาพื้นที่ ด้วย Dev++Ooy's Patchaya
 

What's hot (20)

บทที่ 2
บทที่  2  บทที่  2
บทที่ 2
 
การเขียนคำสั่งควบคุม
การเขียนคำสั่งควบคุมการเขียนคำสั่งควบคุม
การเขียนคำสั่งควบคุม
 
การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซี
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 
การเขียนคำสังควบคุมขั้นพื้นฐาน 2
การเขียนคำสังควบคุมขั้นพื้นฐาน 2การเขียนคำสังควบคุมขั้นพื้นฐาน 2
การเขียนคำสังควบคุมขั้นพื้นฐาน 2
 
โครงสร้างของภาษา C
โครงสร้างของภาษา Cโครงสร้างของภาษา C
โครงสร้างของภาษา C
 
3.3. ชนิดของข้อมูล
3.3. ชนิดของข้อมูล3.3. ชนิดของข้อมูล
3.3. ชนิดของข้อมูล
 
ตัวแปรในภาษาซี
ตัวแปรในภาษาซีตัวแปรในภาษาซี
ตัวแปรในภาษาซี
 
ภาษาซีเบื้องต้น
ภาษาซีเบื้องต้นภาษาซีเบื้องต้น
ภาษาซีเบื้องต้น
 
บทที่ 2 ตัวแปร
บทที่ 2 ตัวแปรบทที่ 2 ตัวแปร
บทที่ 2 ตัวแปร
 
3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
3.5 การแสดงผลและการรับข้อมูล
3.5 การแสดงผลและการรับข้อมูล3.5 การแสดงผลและการรับข้อมูล
3.5 การแสดงผลและการรับข้อมูล
 
ตัวแปรและคำสงวน
ตัวแปรและคำสงวนตัวแปรและคำสงวน
ตัวแปรและคำสงวน
 
โครงสร้างของภาษา C
โครงสร้างของภาษา Cโครงสร้างของภาษา C
โครงสร้างของภาษา C
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 
การใช้สูตรหาพื้นที่ ด้วย Dev++
การใช้สูตรหาพื้นที่ ด้วย Dev++การใช้สูตรหาพื้นที่ ด้วย Dev++
การใช้สูตรหาพื้นที่ ด้วย Dev++
 
ภาษา C#
ภาษา C#ภาษา C#
ภาษา C#
 

Similar to การเขียนคำสั่งควบคุม

การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานBoOm mm
 
งานนำเสนอ การเขียนคำสั่่งควบคุมขั้นพื้นฐาน
งานนำเสนอ การเขียนคำสั่่งควบคุมขั้นพื้นฐานงานนำเสนอ การเขียนคำสั่่งควบคุมขั้นพื้นฐาน
งานนำเสนอ การเขียนคำสั่่งควบคุมขั้นพื้นฐานNoTe Tumrong
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีchoco336
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีchoco336
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีchoco336
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานKEk YourJust'one
 
โครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซีโครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซีณัฐพล บัวพันธ์
 
ภาษา C
ภาษา Cภาษา C
ภาษา C0872671746
 
หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1SubLt Masu
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาAeew Autaporn
 
น.ส.ศิรพร โมกศิริ เลขที่ 9 ม.4.5
น.ส.ศิรพร   โมกศิริ  เลขที่ 9 ม.4.5น.ส.ศิรพร   โมกศิริ  เลขที่ 9 ม.4.5
น.ส.ศิรพร โมกศิริ เลขที่ 9 ม.4.5Siriporn Narak
 
น.ส.ศิรพร โมกศิริ เลขที่ 9 ม.4.5
น.ส.ศิรพร   โมกศิริ  เลขที่ 9 ม.4.5น.ส.ศิรพร   โมกศิริ  เลขที่ 9 ม.4.5
น.ส.ศิรพร โมกศิริ เลขที่ 9 ม.4.5Siriporn Narak
 

Similar to การเขียนคำสั่งควบคุม (20)

การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 
งานนำเสนอ การเขียนคำสั่่งควบคุมขั้นพื้นฐาน
งานนำเสนอ การเขียนคำสั่่งควบคุมขั้นพื้นฐานงานนำเสนอ การเขียนคำสั่่งควบคุมขั้นพื้นฐาน
งานนำเสนอ การเขียนคำสั่่งควบคุมขั้นพื้นฐาน
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 
โครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซีโครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซี
 
ภาษาซึี
ภาษาซึีภาษาซึี
ภาษาซึี
 
Know 1 1
Know 1 1Know 1 1
Know 1 1
 
ภาษา C
ภาษา Cภาษา C
ภาษา C
 
หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1
 
Chapter1
Chapter1Chapter1
Chapter1
 
C lu
C luC lu
C lu
 
Pbl2
Pbl2Pbl2
Pbl2
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
ภาษาซี
ภาษาซีภาษาซี
ภาษาซี
 
vb.net
vb.netvb.net
vb.net
 
Database
DatabaseDatabase
Database
 
น.ส.ศิรพร โมกศิริ เลขที่ 9 ม.4.5
น.ส.ศิรพร   โมกศิริ  เลขที่ 9 ม.4.5น.ส.ศิรพร   โมกศิริ  เลขที่ 9 ม.4.5
น.ส.ศิรพร โมกศิริ เลขที่ 9 ม.4.5
 
น.ส.ศิรพร โมกศิริ เลขที่ 9 ม.4.5
น.ส.ศิรพร   โมกศิริ  เลขที่ 9 ม.4.5น.ส.ศิรพร   โมกศิริ  เลขที่ 9 ม.4.5
น.ส.ศิรพร โมกศิริ เลขที่ 9 ม.4.5
 

More from Baramee Chomphoo

ละสายตามาหาความรู้
ละสายตามาหาความรู้ละสายตามาหาความรู้
ละสายตามาหาความรู้Baramee Chomphoo
 
ละสายตา มาเสาะหาความรู้
ละสายตา มาเสาะหาความรู้ละสายตา มาเสาะหาความรู้
ละสายตา มาเสาะหาความรู้Baramee Chomphoo
 
ต้นเล็กๆเพื่อโลกใบใหม่
ต้นเล็กๆเพื่อโลกใบใหม่ต้นเล็กๆเพื่อโลกใบใหม่
ต้นเล็กๆเพื่อโลกใบใหม่Baramee Chomphoo
 
บทที่2การเขียนคำสั่งควบคุมขั้นพื้นฐาน
บทที่2การเขียนคำสั่งควบคุมขั้นพื้นฐานบทที่2การเขียนคำสั่งควบคุมขั้นพื้นฐาน
บทที่2การเขียนคำสั่งควบคุมขั้นพื้นฐานBaramee Chomphoo
 

More from Baramee Chomphoo (10)

แผ่นพับIs
แผ่นพับIsแผ่นพับIs
แผ่นพับIs
 
ละสายตามาหาความรู้
ละสายตามาหาความรู้ละสายตามาหาความรู้
ละสายตามาหาความรู้
 
บทที่ 4
บทที่ 4บทที่ 4
บทที่ 4
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5
 
บทที่3
บทที่3บทที่3
บทที่3
 
บทที่2
บทที่2บทที่2
บทที่2
 
บทที่1
บทที่1บทที่1
บทที่1
 
ละสายตา มาเสาะหาความรู้
ละสายตา มาเสาะหาความรู้ละสายตา มาเสาะหาความรู้
ละสายตา มาเสาะหาความรู้
 
ต้นเล็กๆเพื่อโลกใบใหม่
ต้นเล็กๆเพื่อโลกใบใหม่ต้นเล็กๆเพื่อโลกใบใหม่
ต้นเล็กๆเพื่อโลกใบใหม่
 
บทที่2การเขียนคำสั่งควบคุมขั้นพื้นฐาน
บทที่2การเขียนคำสั่งควบคุมขั้นพื้นฐานบทที่2การเขียนคำสั่งควบคุมขั้นพื้นฐาน
บทที่2การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 

การเขียนคำสั่งควบคุม

  • 1. การเขียนคาสั่งควบคุม 1.ลักษณะการทางานของภาษาซี ลักษณะการทางานของภาษาซี ภาษาซีเป็นภาษาที่มีการพัฒนาการมาอย่างต่อเนื่อง ภาษาซีรุ่นแรกทางานภายใต้ระบบปฏิบัติการคอส (cos) ปัจจุบันทางานภายใต้ระบบปฏิบัติการวินโดวส์ (Windows) ภาษาซีใช้วิธีแปลรหัสคาสั่งให้เป็นเลขฐานสองเรียกว่า คอมไพเลอร์ การศึกษาภูมิหลังการเป็นมาของภาษาซีและกระบวนการแปลภาษาจะช่วยให้ผู้ใช้ภาษาซีในรุ่นและบริษัทผู้ผ ลิตแตกต่างกัน สามารถใช้ภาษาได้อย่างเข้าใจมากขึ้น 1.1.ความเป็นมาของภาษาซี ภาษาซีได้รับการพัฒนาเมื่อปี ค.ศ.1972 โดยนายเดนนิส ริตซี่ ตั้งชื่อว่าซีเพราะพัฒนามาจากภาษา BCLP และภาษา B ในช่วงแรกใช้ทดลองเขียนคาสั่งควบคุมในห้องปฏิบัติการเบล (Bell Laboratoorics) เท่านั้น เมื่อปี ค.ศ.1978 นายไบรอัน เคอร์นิกฮัน และ นายเดนนิส ริตซี่ ร่วมกันกาหนดนิยามรายละเอียดของภาษาซี เผยแพร่ความรู้โดยจัดทาหนังสือ The C Programming Language มีหลายบริษัท ให้ความสนใจนาไปพัฒนาต่อ จนมีภาษาซีหลายรูปแบบและแพร่หลายไปทั่วโลก แต่ยังไม่มีมาตรฐานคาสั่งเพื่อให้สามารถใช้งานร่วมกันได้ ดังนั้นเมื่อปี ค.ศ.1988 นายริตซี่ ได้ร่วมกับสถาบันกาหนดมาตรฐาน ANSI สร้างมาตรฐานภาษาซีขึ้นมามีผลให้โปรแกรมคาสั่งที่สร้างด้วยภาษาซีสังกัดบริษัทใดๆก็ตามที่ใช้คาสั่งมาตร ฐานของภาษาสามารถนามาทางานร่วมกันได้ 1.2การทางานของตอมไพเลอร์ภาษาซี คอมไพเลอร์เป็นโปรแกรมที่ได้รับการพัฒนามาเพื่อแปลลภาษาคอมพิวเตอร์รูปแบบหนึ่งมักใช้กับโปรแกร มเชิงโครงสร้าง ลักษณะการแปลจะอ่านรหัสคาสั่งทั้งโปรแกรมตั้งแต่บรรทัดคาสั่งแรกถึงบรรทัดสุดท้าย หากมีข้อผิดพลาดจะรายงานทุกตาแหน่งคาสั่งที่ใช้ผิดกฎไวยากรณ์ของภาษา กระบวนการคอมไพเลอร์โปรแกรมคาสั่งของภาษาซี มีดังนี้
  • 2. 1.จัดทาโปรแกรมต้นฉบับ (SourceProgram) หลังจากพิมคาสั่งงาน ตามโครงสร้างภาษาที่สมบูรณ์แล้วทุกส่วนประกอบ ให้บันทึกโดยกาหนดชนิดงานเป็น .c เช่น work.c 2.การแปลรหัสคาสั่งเป็นภาษาเครื่อง (Compile) หรือการบิวด์ (Build) เครื่องจะตรวจสอบคาสั่งทีละคาสั่ง เพื่อวิเคราะห์ว่าใช้งานได้ถูกต้องตามรูปแบบไวยากรณ์ที่ภาษาซีกาหนดไว้หรือหากมีข้อผิดพลาดจะแจ้งให้ท ราบ หากไม่มีข้อผิดพลาดจะไปกระบวนการ3 3.การเชื่อมโยงโปรแกรม (Link) ภาษาซีมีฟังก์ชันมาตรฐานให้ใช้งาน เช่น printf() ซึ่งจัดเก็บไว้ในเฮดเดอร์ไพล์ หรือเรียกว่า ไลบรารี ในตาแหน่งที่กาหนดชื่อแตกต่างกันไป ผู้ใช้ต้องศึกษาและเรียกใช้เฮดเดอร์ไฟล์กับฟังก์ชันให้สัมพันธ์เรียกว่าเชื่อมโยงกับไลบรารี กระบวนการนี้ได้ผลลัพธ์เป็นไฟล์ชนิด .exe 2. ส่วนประกอบโครงสร้างภาษาซี สาหรับโครงสร้างของภาษาซีในเบื้องต้นนี้จะกล่าวถึงเฉพาะรายละเอียดที่นาไปใช้ในการเขียนคาสั่งควบคุม ระดับพื้นฐาน ผู้สร้างงานโปรแกรมจะใช้งานส่วนประกอบในภาษาซีเพียง ;ส่วน คือ ส่วนหัวและส่วนฟังก์ชันหลัก ดังนี้
  • 3. # 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 ข้อควรจา #include <stdio.h> เก็บฟังก์ชันรับข้อมูลแสดงผลที่ต้องใช้งานทุกโปรแกรมดังนั้น ส่วนดันทุกโปรแกรมจึงปรากฏคาสั่งนี้
  • 4. tru5wu แสดงตาแหน่งไฟล์ stdio.h .o ในไดเรกเทอรี include 2.2 ส่วนฟังก์ชันหลัก (Main Function) เป็นส่วนเขียนคาสั่งควบคุมการทางานภายในขอบเขตเครื่องหมาย { } ของฟังก์ชันหลักคือ main ( ) ต้องเขียนคาสั่งตามลาดับขั้นตอนจากกระบวนการวิเคราะห์ระบบงานเบื้องต้นและขั้นวางแผนลาดับการทาง านที่ได้จัดทาล่วงหน้าไว้ เช่น ลาดับการทางานด้วยแผนผังโปรแกรมเพื่อลดข้อผิดพลาดในขั้นตอนลาดับคาสั่งควบคุมงาน ในส่วนนี้พึงระมัดระวังเรื่องเดียวคือ ต้องใช้งานคาสั่งตามรูปแบบไวยากรณ์ของภาษาซีที่กาหนดไว้ 2.3 การพิมพ์คาสั่งควบคุมงานในโครงสร้างภาษาซี คาแนะนาในการพิมพ์คาสั่งงาน ซึ่งภาษาซีเรียกว่า ฟังก์ชัน (ต่อไปนี้จะเรียกว่า คาสั่ง ตามที่นิยมทั่วไป) ในส่วนประกอบภายในโครงสร้างภาษาซีมีแนวทางปฏิบัติดังนี้ 1. คาสั่งที่ใช้ควบคุมการประมวลผลตามลาดับที่ได้วิเคราะห์ไว้ ต้องเขียนภายในเครื่องหมาย {} ที่อยู่ภายใต้การควบคุมของ ฟังก์ชันหลักชิ่อ main () 2. ปกติคาสั่งควบคุมงานจะเป็นอักษรตัวพิมพ์เล็ก ยกเว้นบางคาสั่งที่ภาษากาหนดว่าต้องเป็น อักษรตัวพิมพ์ใหญ่ ต้องปฏิบัติตามนั้น เพราะภาษาซีมีความแตกต่างในเรื่องตัวอักษร 3. เมื่อสิ้นสุดคาสั่งงาน ต้องพิมพ์เครื่องหมายเซมิโคลอน (;) 4. ใน 1 บรรทัด พิมพ์ได้มากกว่า 1 คาสั่ง แต่นิยมบรรทัดละ 1คาสั่ง เพราะว่าอ่านโปรแกรมง่ายเมื่อมีข้อผิดพลาด ย่อมตรวจสอบและค้นหาเพื่อแก้ไขได้เร็ว
  • 5. 5. การพิมพ์คาสั่ง หากมีส่วนย่อย นิยมเคาะเยื้องเข้าไป เพื่ออ่านโปรแกรมได้ง่ายขึ้น เมื่อมีข้อผิดพลาดย่อมตรวจสอบและค้นหาเพื่อแก้ไขได้รวดเร็ว trwy65uh แสดงลักษณะการพิมพ์คาสั่งในโครงสร้างภาษาซี 3.คาสั่งจัดเก็บข้อมูลลงหน่วยความจา การจัดเก็บข้อมูลลงหน่วยความจาคอมพิวเตอร์ ภาษากาหนดให้ดาเนินการผ่านซื่อ(identifier) ที่ผู้สร้างงานโปรแกรมเป็นผู้กาหนดเอง ระบบคอมพิวเตอร์จะจัดเก็บชื่อและตาแหน่งที่อยู่ (Address ) ในหน่วยความจา เพื่ออ้างอิงนาข้อมูลที่จัดเก็บนั้นมาใช้งาน การกาหนดชื่อที่ใช้เก็บข้อมูลต้องทาภายใต้กฎเกณฑ์ และต้องศึกษาวิธีกาหนดลักษณะการจัดเก็บข้อมูลตามที่ภาษากาหนดไว้ ลักษณะการจัดเก็บข้อมูลมี 2 แบบคือ แบบค่าคงที่และแบบตัวแปร ทั้งนี้ก่อนที่จะเขียนคาสั่งกาหนดการจัดเก็บข้อมูล ควรมีความรู้ในเรื่องชนิดข้อมูลก่อน 3.1 ชนิดข้อมูลแบบพื้นฐาน การจัดเก็บข้อมูลลงหน่วยความจาทั้งแบค่าคงที่หรือแบบตัวแปร ต้องกาหนดชนิดข้อมูลให้ระบบรับทราบ ในที่นี้กล่าวถึงชนิดข้อมูลแบบพื้นฐาน 3 กลุ่มหลักเท่านั้น ตารางที่ 2.1 ชนิดข้อมูลแบบพื้นฐาน ชนิดข้อมูล ขอบเขตของข้อมูล อธิบาย char -128 ถึง 127 เก็บข้อมูลแบบอักขระ int -32768ถึง32767 เก็บข้อมูลแบบตัวเลขจานวนเต็ม float 3.4×10 ถึง 3.4×10 เก็บข้อมูลแบบตัวเลขทศนิยมตัวเลขหลังจุด 6หลัก ข้อควรจา ข้อมูลแบบข้อความใช้แบบข้อมูลแบบตัวแปรชุด เช่น char a[20] :
  • 6. หมายเหตุ ตารางแสดงชนิดข้อมูลของภาษาซีทุกชนิดแสดงในภาคผนวก 3.2 คาสั่งจัดเก็บข้อมูลแบบค่าคงที่ ประสิทธิภาพคาสั่ง :ลักษณะการจัดเก็บข้อมูลในหน่วยความจาไม่สามารถเปลี่ยนแปลงได้ รูปแบบ Const data_type var =data ; อธิบาย data_type คือที่ชนิดข้อมูลแบบพื้นฐาน Var คือชื่อหน่วยความจาที่ผู้ใช้ต้องกาหนดตามกฎการตั้งชื่อ Data คือข้อมูลที่กาหนดเป็นค่าคงที่ ข้อควรจา กรณีข้อมูลมี 1อักขระ กาหนดให้อยู่ใน ‘ ‘ (single quotation) กรณีข้อมูลมีมากกว่า 1อักขระ กาหนดให้อยู่ใน “ ”(double quotation) กรณีข้อมูลเป็นชนิดตัวเลขใช้ในการคานวณไม่ต้องอยู่ใน ‘’ หรือ “ ” 3.3 คาสั่งจัดเก็บข้อมูลแบบตัวแปร ประสิทธิภาพคาสั่ง : ลักษณะการจัดเก็บข้อมูลในหน่วยความจาสามารถเปลี่ยนแปลงได้ รูปแบบ 1var_type var_name[,….]; รูปแบบ 2 var_type var_name = data ; อธิบาย var_type คือหน่วยชนิดข้อมูลแบบพื้นฐาน var name คือชื่อหน่วยความจา ที่ผู้ใช้ต้องกาหนดตามกฎการตั้งชื่อ data คือข้อมูลที่กาหนดเป็นค่าเริ่มต้น (อาจมีหรือไม่ก็ได้)
  • 7. หมายเหตุ หากมีตัวแปรมากกว่า 1ตัว แต่เป็นตัวแปรเก็บข้อมูลประเภทเดียว ใช้คอมม่า (,) คั่น ตัวอย่างคาสั่ง กาหนดคุณสมบัติให้ตัวแปรในการจัดเก็บข้อมูล Char ans ; List salary , bonus ; Shortvalue = 2; 4.คาสั่งควบคุมการทางานขั้นพื้นฐาน คาสั่งที่ใช้ควบคุมการทางานขั้นพื้นฐานมี 3 กลุ่มคือ คาสั่งรับข้อมูลจากแป้นพิมพ์แล้วนาไปจัดเก็บหน่ายความจา (input ) การเขียนสมการคานวณโดยใช้นิพจน์ทางคณิตศาสตร์(Process) และคาสั่งแสดงผลข้อมูล หรือข้อมูลที่จัดเก็บในหน่วยความจา (Qutput) 4.1 คาสั่งแสดงผล : printf ( ) ประสิทธิภาพคาสั่ง :ใช้แสดงผล สิ่งต่อไปนี้ เช่นข้อความ ข้อมูลจากค่าคงที่ หรือตัวแปรที่จอภาพ รูปแบบ 1 Printf (“ string_format” , data_list ) ; รูปแบบ 2 Printf (“string_format” ) ; อธิบาย string_format คือลักษณะของสิ่งต่อไปนี้ เช่น ข้อความ (text ) รหัสรูปแบบข้อมูล เช่น%d รหัสควบคุม เช่น n Data_list คือข้อมูลแสดงผลอาจเป็นค่าคงที่ตัวแปร นิพจน์ หากมีหลายตัวใช้ , คั่น ตารางที_ 2.2 รหัสรูปแบบข้อมูลระดับพื้นฐาน
  • 8. รหัส formatcode ความหมาย %c ใช้กับข้อมูลแบบ char %d ใช้กับข้อมูลแบบ int เฉพาะฐาน10 %s ใช้กับข้อมูลแบบ string หมายเหตุ รหัสรูปแบบข้อมูลรูปแบบ แสดงในภาคผนวก ตัวอย่างคาสั่ง ควบคุมการแสดงผลด้วย 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
  • 9. ประสิทธิภาพคาสั่ง :เขียนคาสั่งแบบนิพจน์เพื่อประมวลผล แล้วนาข้อมูลที่ได้ไปจัดเก็บในหน่วยความจาของตัวแปรที่ต้องกาหนดชื่อและชนิดข้อมูลไว้แล้ว รูปแบบ 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
  • 10. ทั้งนี้คอมพิวเตอร์ประมวลผล โดยยึดหลักลาดับความสาคัญของเครื่องหมายทางคณิตศาสตร์ เช่นคานวณเครื่องหมาย *ก่อนเครื่องหมาย + 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) ; 5.คาสั่งเเสดงผล-รับข้อมูล เฉพาะอักขระ ภาษาซีมีคาสั่งแสดงผลและรับข้อมูลเฉพาะข้อมูลประเภท 8 อักขระ (char )ดังนี้ 5.1 คาสั่ง putchar ( ) แสดงผลข้อมูลจากหน่วยความจาของตัวแปร ทางจอภาพครั้งละ1อักขระเท่านั้น รูปแบบ Putchar ( char_argument) ; อธิบาย putchar_argument คือ ข้อมูลชนิดอักขระ jhi7t9 ผลทดสอบโปรแกรม แนวคิดในการเขียนคาสั่งควบคุมการทางาน 1. กาหนดค่า ‘A’ เก็บในตัวแปรประเภท char ชื่อ word1 และกาหนดค่า ‘1’ เก็บในตัวแปรชื่อ word2 ด้วยคาสั่ง char word1=’A’ , word2=’1’ 2. เขียนคาสั่งควบคุมการแสดงผลทีละ 1อักขระ โดยไม่ต้องใช้สัญลักษณ์ขึ้นบรรทัดใหม่ด้วยคาสั่ง putchar(word1);putcar(word2); จึงพิมพ์คาว่า A1 ที่จอภาพ 5.2คาสั่ง getchar ( )
  • 11. รับข้อมูลจากแป้นพิมพ์ครั้งละ 1อักขระ และแสดงอักขระที่จอภาพ จากนั้นต้องกดแป้นพิมพ์ที่ Enter เพื่อนาข้อมูลบันทึกลงหน่วยความจาด้วย รูปแบบ 1 ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร getchar ( ) ; รูปแบบ 2นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร char_var = getchar ( ) ; อธิบาย char_var คือ ข้อมูลชนิด char wefd57yr6h ผลทดสอบโปรแกรม แนวคิดในการเขียนคาสั่งควบคุมการทางาน 1.เขียนคาสั่งควบคุมการป้อนข้อมูลประเภทอักขระด้วยคาสั่ง printf ( “Key 1 Character = “) ; word= getchar ( ); หมายถึงป้อนอักขระ 1 ตัว เช่น a จะแสดงค่า ให้เห็นที่หน้าจอด้วย แล้ว ต้องกดแป้นEnter เพื่อนาข้อมูลบันทึกลงหน่วยความจาตัวแปรประเภท char ชื่อ word 2 . เขียนคาสั่งควบคุมการแสดงผลจากหน่วยความจา wordจึงเห็นค่า a ( แทนที่ word) printf ( “You key Character is = %cn”, word) ; 5.3 คาสั่ง getch ( ) รับข้อมูลจากแป้นพิมพ์ครั้งละ 1อักขระ แต่ไม่ปรากฏ อักษรบนจอภาพ และ ไม่ต้องกดแป้น Enter รูปแบบ 1ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร
  • 12. getch( ) ; รูปแบบ 2นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร char_var = getch 1( ) ; อธิบาย 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) ; 5.4 คาสั่ง getche( ) รับข้อมูลจากแป้นพิมพ์ครั้งละ 1อักขระ และ แสดง อักษรบนจอภาพ และ ไม่ต้องกดแป้น Enter รูปแบบ 1ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร getche ( ); รูปแบบ 2นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร char_var =getche ( ); อธิบาย char_var คือ ข้อมูลชนิดอักขระ fghuhrs ผลทดสอบโปรแกรม
  • 13. แนวคิดในการเขียนคาสั่งควบคุมการทางาน 1.เขียนคาสั่งควบคุมการป้อนข้อมูลประเภทอักขระด้วยคาสั่ง printf ( “Key 1 Character = “) ; word= getche ( ); หมายถึงป้อนค่าใดทางแป้นพิมพ์เป็นอักขระ 1 ตัว เช่นa จะ แสดง ค่าให้เห็นที่หน้าจอ และไม่ต้อง กดแป้น Enter เพื่อนาข้อมูลบันทึกลงหน่วยความจาตัวแปรประเภท char ชื่อ word 2.เขียนคาสั่งควบคุมการแสดงผลเพื่อแสดงค่าจากหน่วยความจา wordจึงเห็นค่า a ( แทนทิ่ word ) printf ( “You key Character is = %cn”, word) ; 6.คาสั่งเเสดงผล-รับข้อมูล เฉพาะข้อความ ภาษาซีมีคาสั่งใช้ในการรับข้อมูลเฉพาะประเภทข้อความ (String) ในภาษาซีคือชนิดข้อมูล char [n] จัดเก็บในหน่วยความจา และแสดงผลข้อมูลประเภทข้อความเท่านั้น มีรายละเอียดดังนี้ 6.1.คาสั่ง puts( ) แสดงผลข้อมูลเฉพาะประเภทข้อความทางจอภาพครั้งละ 1 ข้อความ รูปแบบputs ( string_argument ) ; อธิบาย string_argument คือ ข้อมูลชนิดข้อความ dflrp04 ผลทดสอบโปรแกรม แนวคิดในการเขียนคาสั่งควบคุมการทางาน 1.เขียนคาสั่งกาหนดค่าข้อความเก็บในตัวแปรชื่อ word Char word[15] = “*Example *“ ; 2.เขียนคาสั่งควบคุมการแสดงผลในลักษณะข้อความด้วย puts Puts ( word) ;
  • 14. Puts (“**************”); 6.2คาสั่ง gets ( ) รับข้อมูล ข้อความ จากแป้นพิมพ์ และต้องกดแป้น Enter รูปแบบ 1ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร gets ( ); รูปแบบ 2นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร string_var =gets ( ) ; อธิบาย string_var คือ ข้อมูลชนิดข้อความ fgkerptikoi ผลทดสอบโปรแกรม แนวคิดในการเขียนคาสั่งควบคมการทางาน 1.เขียนคาสั่งให้รับข้อมูล ชนิดข้อความ จากแป้นพิมพ์ และต้อง กดแป้น Enter เพื่อนาข้อความบันทึกลงตัวแปรชนิดข้อความ ด้วยคาสั่ง gets (word) ; 2.เขียนคาสั่งควบคุมให้แสดงผลลักษณะข้อความด้วย printf ( “You name is =%sn”, word) ;