สอนภาษาc2. Outline
• C programming
• ลักษณะของโปรแกรมภาษาซี
• ฟังก์ชันกับภาษาซี
• โครงสร้างของภาษาซี
• Flowchart (การแก้ปัญหา
โปรแกรม)
3. Programming
language
• ภาษาโปรแกรม คือ คำาสั่งที่ผู้เขียน
โปรแกรมเขียนขึ้นเพื่อสั่งให้
คอมพิวเตอร์ปฏิบัติตามคำาสั่ง
• ภาษาที่คอมพิวเตอร์รู้จัก เรียกว่า
ภาษาเครื่อง (machine
language) ซึ่งอยู่ในรูปเลขฐาน 2
–ยากต่อการเขียน, แปลความ
หมาย, ทำาความเข้าใจ
4. Programming
language
• ภาษาโปรแกรมระดับสูง - ภาษา
โปรแกรมที่พัฒนาเพื่อให้ผู้ใช้
สามารถเขียนและทำาความเข้าใจได้
โดยง่าย จากนั้นจึงนำาไปแปลงเป็น
ภาษาเครื่องอีกทีหนึ่ง (ผ่าน
Compiler, Interpreter)
• เป็นภาษาโปรแกรมระดับสูงที่มีการ
ใช้งานแพร่หลาย
5. C Programming
• การสร้างโปรแกรมภาษาซี เริ่มจาก
–ใช้ text editor พิมพ์ source
code ของโปรแกรมที่ถูกต้องตาม
หลักภาษา
–นำา source file ที่เขียนเสร็จแล้ว
มา compile โดยใช้ C
compiler
• ถ้ามีข้อผิดพลาดต้องแก้ไข
source code และ compile
ใหม่จนไม่มีข้อผิดพลาดขึ้นอีก
6. C Programming
–นำา object file มา link กับ
library ของภาษา (เป็นการดึง
เอาชุดคำาสั่งที่เขียนเตรียมไว้
สำาหรับการทำางานของ object
code) ผลลัพธ์ที่ได้เป็น execute
file
–execute file ที่ได้จะเป็นคำาสั่ง
ภาษาเครื่องที่สามารถนำาไปใช้
งาน (run) ได้ทันที โดยไม่ต้อง
7. C Programming
–ปัจจุบัน มี tools ที่รวมเอา text
editor + compiler + linker
เข้าไว้ด้วยกัน เพื่อช่วยเพิ่มความ
สะดวกและรวดเร็วในการพัฒนา
ภาษาซี (และใช้ในการเรียนการ
สอนวิชานี้ด้วย) คือ Turbo C
compiler
8. Source file
(*.c)
Source file
(*.c)
Object file
(*.obj)
Object file
(*.obj)
Execute file
(*.exe)
Execute file
(*.exe)
C
compi
ler
C
linke
r
Library
(header file ,
*.h)
Library
(header file ,
*.h)
Err
or
Text
editor
create
9. ลักษณะของโปรแกรม
ภาษาซี
• Bitwise Control – จัดการข้อมูล
ได้ถึงระดับบิต (bit) ซึ่งเป็นหน่วยที่
เล็กที่สุดในการเก็บข้อมูล
–ทำางานในระดับฮาร์ดแวร์ได้อย่าง
มีประสิทธิภาพ
• Pointer Implementation – มี
ตัวแปรชนิดตัวชี้ (pointer)
–จัดการกับหน่วยความจำาของ
คอมพิวเตอร์ได้โดยตรง
10. ลักษณะของโปรแกรม
ภาษาซี
• Case Sensitive – อักษรตัวใหญ่
กับอักษรตัวเล็กมีความหมายต่างกัน
–ตัวแปร var1 กับตัวแปร Var1
เป็นคนละตัวแปรกัน
–main() กับ Main() เป็นคนละ
ฟังก์ชันกัน
• ปิดท้ายคำาสั่งด้วยเครื่องหมาย ;
(semicolon) – ใช้เครื่องหมาย ;
ในการแยกคำาสั่งแต่ละคำาสั่งออกจาก
11. ลักษณะของโปรแกรม
ภาษาซี
• Structure language – มี
ลักษณะเป็นโครงสร้าง ดังนั้นจึง
สามารถใช้คำาสั่งควบคุมโครงสร้าง
(Control structure) ได้
• Procedural language –
สามารถเขียนโปรแกรมเป็นลักษณะ
module (แบ่งโปรแกรมออกเป็น
ส่วนย่อยๆ ที่ทำางานในส่วนของตัว
มันเอง) ได้ ซึ่งจะเรียกว่า function
13. โครงสร้างของภาษา C
1. ส่วนหัว (Header)
• อยู่ตอนต้นของโปรแกรม โดยอยู่
นอกส่วนฟังก์ชัน
• คำาสั่งที่ใช้กำาหนดค่าหรือกำาหนด
ตัวแปรของโปรแกรม
• แบ่งออกได้เป็น 2 ส่วน
1.1 Preprocessor
statement
1.2 Declaration
statement
14. โครงสร้างของภาษา C
1.1 Preprocessor statement
• คำาสั่งที่จะได้รับการทำาก่อนที่จะมี
การคอมไพล์โปแกรม
• คำาสั่งจะขึ้นต้นด้วยเครื่องหมาย #
• ตัวประมวลผลก่อนที่สำาคัญของ
ภาษาซีแบ่งออกเป็น 2 ประเภท
คือ
• #define และ #include
15. โครงสร้างของภาษา C
1.1.1 #include
• เรียกใช้งานฟังก์ชันมาตรฐานที่ได้
จัดเตรียมไว้ (Library)
• จัดเก็บใน header file (*.h) เช่น
stdio.h, string.h ฯลฯ
• เช่น กลุ่มคำาสั่ง (ฟังก์ชัน) เกี่ยวกับ
การ รับ/แสดง ข้อมูล การคำานวณ
ฯลฯ เช่นคำาสั่ง printf() ซึ่งเป็นคำา
สั่งที่ใช้แสดงข้อความออกทาง
16. โครงสร้างของภาษา C
1.1.1 #include
• printf() เป็นคำาสั่ง (ฟังก์ชัน)
มาตรฐานที่ถูกจัดอยู่ในกลุ่ม
standard input output
• ดังนั้น จึงต้องมีการเรียกคำาสั่ง
#include <stdio.h>
• ชื่อไฟล์ต้องอยู่ภายใต้
เครื่องหมาย < >
17. โครงสร้างของภาษา C
1.1.2 #define
• ใช้กำาหนดค่าคงที่ให้แก่โปรแกรมก่อน
จะนำาไปคอมไพล์
#define pi 3.14159
- กำาหนดให้ idenfier ชื่อ pi แทนที่
ด้วยค่าคงที่ 3.14159
#define pi
“3.14159”
- แทนที่ด้วยค่าคงที่ที่เป็น string
19. โครงสร้างของภาษา C
2. ฟังก์ชัน (Function)
• คือส่วนของคำาสั่งที่บอกให้
คอมพิวเตอร์ทำางานต่าง ๆ
• ในฟังก์ชันประกอบด้วยคำาสั่ง
(statement) ต่าง ๆ
• ภาษาซีประกอบด้วยฟังก์ชันย่อย
หลาย ๆ ฟังก์ชัน
• แต่ต้องมีฟังก์ชันหลักฟังก์ชันหนึ่งที่
ชื่อว่า ฟังก์ชัน main() โดยที่การ
20. โครงสร้างของภาษา C
comment
• ในภาษาซี สามารถใส่คำาอธิบาย
โปรแกรม (comment) บริเวณไหน
ก็ได้
• ขอบเขตของคอมเมนต์จะเริ่มตั้งแต่
เครื่องหมาย /* จนถึง
เครื่องหมาย */
• ข้อความใด ๆ ที่อยู่ระหว่าง
เครื่องหมายดังกล่าวจะไม่ถูกแปล
22. Symbol Meaning
Display /Monitor Symbol
ใช้เมื่อต้องการระบุให้แสดงข้อมูลบนจอภาพ
Document Symbol
ใช้เมื่อต้องการระบุให้แสดงข้อมูลบนเครื่องพิมพ์
Decision Symbol
ใช้ในการเปรียบเทียบเงื่อนไขหรือตัดสินใจ
Keyboard Symbol
ใช้ในการรับข้อมูลจากแป้นพิมพ์
External Subroutine Symbol
ใช้เรียกฟังก์ชันต่าง ๆ ที่ C Compiler สร้างไว้แล้ว
23. Symbol Meaning
Comment Symbol
ใช้แสดงความเห็น คำาอธิบาย หรือข้อสังเกตต่าง ๆ
Flowline Symbol
ใช้เป็นจุดเชื่อมต่อระหว่างสัญลักษณ์
On-page Connector Symbol
ใช้ในการเชื่อมโยงในหน้าเดียวกัน
Off-page Connector Symbol
ใช้ในการเชื่อมโยงไปหน้าอื่น
39. แบบฝึกหัด 2
• จงเขียน flowchart ในการรับตัว
อักษร 1 ตัวจากคีย์บอร์ด ซึ่งผู้ใช้จะ
ป้อนตัวอักษร A, B, C, D, หรือ F ตัว
ใดตัวหนึ่งเข้ามาเท่านั้น แล้วพิมพ์
ข้อความดังต่อไปนี้ออกที่จอภาพ
– ถ้าผู้ใช้ป้อน A เข้ามา ให้แสดง
“Very Good”
– ถ้าผู้ใช้ป้อน B เข้ามา ให้แสดง
“Good”
– ถ้าผู้ใช้ป้อน C เข้ามา ให้แสดง
40. แบบฝึกหัด 3
• จงเขียน flowchart ในการรับ
ค่าจำานวนเต็ม 1 จำานวนจาก
คีย์บอร์ด ซึ่งมีค่าตั้งแต่ 1 ถึง 10
เท่านั้น ถ้าค่าที่รับเข้ามาไม่อยู่
ในพิสัย ให้พิมพ์ข้อความว่า
“Invalid Number !” แล้ว
โปรแกรมจะวนลูบจนกว่าจะได้
ค่าที่ต้องการ โดยนำาไปเก็บไว้ที่
41. แบบฝึกหัด 4
• จงเขียนผังงานให้ผู้ใช้ใส่ข้อมูลส่วน
ตัว 3 อย่าง คือ ชื่อเพศ และปีที่เกิด
จากนั้นโปรแกรมจะแสดงข้อความ
ทักทายผู้ใช้ตามเพศ และบอกอายุ
ของผู้ใช้ออกมา
• ตัวอย่าง
Input name : Suchada
Input sex (Male / Female) : Female
Input year of birth : 2500
-----------------------------
Hello Miss. Suchada
you are 52 years old