introduction to c language - notecyber.com ·...

15
การเขียนโปรแกรมคอมพิวเตอร์ ภาษาซี Introduction To C Language ความร เบื Êองต้นเกี Éยวกับภาษาซี

Upload: others

Post on 12-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction To C Language - notecyber.com · การเขียนโปรแกรมคอมพ ิวเตอร ์ ภาษาซี Introduction To C Language ความรู้เบืองต

การเขียนโปรแกรมคอมพวิเตอร์ ภาษาซี

Introduction To C Language

ความรู้เบอืงต้นเกียวกับภาษาซี

Page 2: Introduction To C Language - notecyber.com · การเขียนโปรแกรมคอมพ ิวเตอร ์ ภาษาซี Introduction To C Language ความรู้เบืองต

ความสาํคัญ

ครูผู้สอน นายวรเทพ วันกาล

ภาษาซีจัดเป็นภาษาระดับกลางทีมีลักษณะเป็นภาษาโครงสร้าง

สามารถประยกุต์ใช้ได้กบังานในลกัษณะตา่งๆ เป็นภาษาทีใกล้เคียงกบัภาษาแอส

แซมบลี ผ้เขียนโปรแกรมจะสามารถเขียนโปรแกรมได้อย่างคล่องตัวโดยไม่มี

ข้อจํากดัในการวางตําแหน่งฟังก์ชใันโปรแกรม ภาษาซีจึงเป็นภาษาทีง่ายต่อการ

เข้าใจและการนําไปใช้งาน การสร้างโปรแกรมภาษาซีจะเริมจากการเขียน

โปรแกรมต้นกําเนิด แล้วนําไปทําการแปลด้วยตวัแปลภาษาซีเกิดเป็นโปรแกรม

ประสงค์ หลงัจากนันจึงนําโปรแกรมประสงค์ไปทําการเชือมโยง เพือให้เกิดเป็น

โปรแกรมทําการทีสามารถทํางานได้อยา่งรวดเร็ว

Page 3: Introduction To C Language - notecyber.com · การเขียนโปรแกรมคอมพ ิวเตอร ์ ภาษาซี Introduction To C Language ความรู้เบืองต

ขนัตอนที 1 เขียนโปรแกรม (SOURCE CODE)ขนัตอนที 2 คอมไพล์โปรแกรม (COMPILE)ขนัตอนที 3 เชือมโยงโปรแกรม (LINK)ขนัตอนที 4 ประมวลผล (RUN)

ขันตอนการพฒันาโปรแกรมภาษาซี

Page 4: Introduction To C Language - notecyber.com · การเขียนโปรแกรมคอมพ ิวเตอร ์ ภาษาซี Introduction To C Language ความรู้เบืองต

ขนัตอนที

1 เขียนโปรแกรม

(SOURC

E CO

DE)

ใช้ Program Editor เขียนโปรแกรมภาษาซี และทาํการบนัทกึไฟล์ให้มีนามสกุลเป็น .c เช่น Test.c

Page 5: Introduction To C Language - notecyber.com · การเขียนโปรแกรมคอมพ ิวเตอร ์ ภาษาซี Introduction To C Language ความรู้เบืองต

ขนัตอนที

2 คอมไพล์โปรแกรม

(COMPILE)

นํา Source Code จากขนัตอนที 1 มาทําการคอมไพล์ เพือแปลภาษาซีทีมนษุย์เข้าใจไปเป็นภาษาเครืองทีคอมพิวเตอร์เข้าใจได้ ขนัตอนนี

คอมไพล์เลอร์จะทําการตรวจสอบ source code วา่เกิดข้อผิดพลาดหรือไม่หากเกิดข้อผิดพลาด จะแจ้งให้ผู้ เขียนโปรแกรมทราบ ผู้ เขียนจะต้อง

กลบัไปแก้ไขโปรแกรม และทําการคอมไพล์โปรแกรมใหมอ่ีกครัง

หากไมพ่บข้อผิดพลาด คอมไพล์เลอร์จะแปลไฟล์ source cod จากภาษาซีไปเป็นภาษาเครือง (ไฟล์นามสกลุ .obj) เชน่ ถ้าไฟล์ source code ชือ test.c จะถกูแปลไปเป็นไฟล์ชือ test.obj ซงึเก็บภาษาเครืองไว้

คอมไพเลอร์ (compiler) เป็นตวัแปลภาษาอีกรูปแบบหนงึ มีหน้าทีหลกัคือการแปลภาษาโปรแกรมทีมนษุย์เขียนไปเป็นภาษาเครือง โดยจะทําการอา่นโปรแกรมภาษาซีทงัหมดตงัแตต่้นจนจบแล้วทําการแปลผลทีเดียว

อินเตอร์พรีเตอร์ (interpreter) ก็เป็นตวัแปลภาษาอีกรูปแบบหนงึเหมือนกนั แต่หลกัการทํางานจะแตกตา่งกนัออกไปคือ อินเตอร์พรีเตอร์จะทําการอา่นและแปลโปรแกรมทีละบนัทดั เมือแปลผลบรรทดัหนงึเสร็จก็จะทําตามคําสงัในบรรทดันนั แล้วจงึทําการแปลผลและทําตามคําสงัในบรรทดัถดัไป

Page 6: Introduction To C Language - notecyber.com · การเขียนโปรแกรมคอมพ ิวเตอร ์ ภาษาซี Introduction To C Language ความรู้เบืองต

ขนัตอนที

3 เชือมโยงโปรแกรม

(LINK)

จากขันตอนท ี2 ยังไม่สามารถนําไปใช้งานได้ แต่ต้องนํามา

เชือมโยง (link) ก่อน ซงึผลจากการเชือมโยงจะทาํให้ได้

executable program (ไฟล์นามสกุล .exe เช่น test.c) ที

สามารถนําไปใช้งานได้

Page 7: Introduction To C Language - notecyber.com · การเขียนโปรแกรมคอมพ ิวเตอร ์ ภาษาซี Introduction To C Language ความรู้เบืองต

ขนัตอนที

4 ประมวลผล (RUN)

เมือนํา executable program จากขันตอนท ี3 มา

ประมวลผลกจ็ะได้ผลลัพธ์ (output) ของโปรแกรมออกมา

Page 8: Introduction To C Language - notecyber.com · การเขียนโปรแกรมคอมพ ิวเตอร ์ ภาษาซี Introduction To C Language ความรู้เบืองต

โครงสร้างของโปรแกรมภาษาซี

แบง่ออกเป็น 3 สว่น คือ

1. สว่นหวัของโปรแกรม

2. สว่นของฟังก์ชนัหลกั

3. สว่นรายละเอียดของโปรแกรม

โครงสร้างของโปรแกรมภาษาซี

#include <stdio.h>main(){printf(“Hello World”);}

Page 9: Introduction To C Language - notecyber.com · การเขียนโปรแกรมคอมพ ิวเตอร ์ ภาษาซี Introduction To C Language ความรู้เบืองต

1.ส่วนหวัของโปรแกรม

ครูผู้สอน นายวรเทพ วันกาล

สว่นหวัโปรแกรม เรียกวา่ Preprocessing  Directive  ให้ระบุเพือบอกให้คอมไพเลอร์กระทําการใดๆ ก่อน #include <stdio.h>

Page 10: Introduction To C Language - notecyber.com · การเขียนโปรแกรมคอมพ ิวเตอร ์ ภาษาซี Introduction To C Language ความรู้เบืองต

2.ส่วนของฟังก์ชันหลัก

ครูผู้สอน นายวรเทพ วันกาล

หงัก์ชนัหลกัของภาษาซี คือ ฟังก์ชนั main()  โปรแกรมภาษาซีทกุโปรแกรมจะต้องมีฟังก์ชันนีเสมอ โดยขอบเขตของฟังก์ชันจะถูกกําหนดด้วย

เครืองหมาย {  และ }  คือการทํางานของฟังก์ชนัจะเริมต้นด้วยทีเครืองหมาย { และสนิสดุทีเครืองหมาย } 

Page 11: Introduction To C Language - notecyber.com · การเขียนโปรแกรมคอมพ ิวเตอร ์ ภาษาซี Introduction To C Language ความรู้เบืองต

3.ส่วนรายละเอียดของโปรแกรม

ครูผู้สอน นายวรเทพ วันกาล

เป็นสว่นของการเขียนคําสงั เพือให้โปรแกรมทํางานตามทีได้ออกแบบไว้

Page 12: Introduction To C Language - notecyber.com · การเขียนโปรแกรมคอมพ ิวเตอร ์ ภาษาซี Introduction To C Language ความรู้เบืองต

คอมเมนต์ในภาษาซี

ครูผู้สอน นายวรเทพ วันกาล

คอมเมนต์ (comment)  คือ สว่นทีเป็นหมายเหตขุองโปรแกรม มีไว้

เพือให้ผู้ เขียนโปรแกรมใสข่้อความอธิบายกํากบัลงไปใน source  code  ซงึคอมไพเลอร์จะข้ามการแปลผลในสว่นทีเป็นคอมเมนต์นี ในภาษาซีมี 2 แบบ คือ

• คอมเมนต์แบบบรรทดัเดียว ใช้เครืองหมาย //

• คอมเมนต์แบบหลายบรรทดั ใช้เครืองหมาย /* และ*/

Page 13: Introduction To C Language - notecyber.com · การเขียนโปรแกรมคอมพ ิวเตอร ์ ภาษาซี Introduction To C Language ความรู้เบืองต

กฏการตงัชือ

ครูผู้สอน นายวรเทพ วันกาล

ภาษาซีมีกฏเกณฑ์ในการตงัชือให้กบั Identifier  ซงึได้แก่ ตวัแปร, ฟังก์ชนั และเลเบล ดงันี

Auto Break Case  Char Const

Default Do Double Else  Enum

Short Signed Sizeof  Extern Float

For Goto If Int Long

Return Register Continue  While Static

Struct Switch  Typedef Unon  Unsigned

Void  volatile

Page 14: Introduction To C Language - notecyber.com · การเขียนโปรแกรมคอมพ ิวเตอร ์ ภาษาซี Introduction To C Language ความรู้เบืองต

กฏการตงัชือ

ครูผู้สอน นายวรเทพ วันกาล

ชือต่างๆ ทีตงัจะเป็นแบบ case‐sensitive  หมายความว่าอกัษร

ใหญ่กบัอกัษรเลก็ ถือวา่เป็นคนละตวักนั เช่น TEST, Test,  test,  tEsT ถือวา่เป็นคนละชือกนั

ชือจะต้องขึนต้นด้วยตวัอกัษรหรือเครืองหมาย underscore  (_) เทา่นนั จะขนึต้นด้วยตวัเลขไม่ได้ แต่ภายในสามารถประกอบด้วยตวัเลข ตวัอกัษร

หรือเครืองหมาย underscore  ได้ เช่น TEST_VALUE,  HELLO123, h1_h2, _Notecyber

Page 15: Introduction To C Language - notecyber.com · การเขียนโปรแกรมคอมพ ิวเตอร ์ ภาษาซี Introduction To C Language ความรู้เบืองต

แบบฝึกหดั

ครูผู้สอน นายวรเทพ วันกาล

1. ขันตอนการพัฒนาโปรแกรมภาษาซี แบ่งออกเป็นกีขันตอน อะไรบ้าง จง

อธิบาย

2. จงบอกความแตกต่างระหว่างคอมไพเลอร์และอินเตอร์พรีเตอร์ ของตัว

แปลภาษาทงัสองชนิดนี

3. หากทําการตงัชือตวัแปรเป็น Variable,  variable,  VARIAble, VariaBLE คิดวา่ตวัแปรเหลา่นีเป็นตวัแปรเดียวกนัหรือไม ่อยา่งไร

4. พิจารณาชือต่อไปนี แล้วบอกว่าแต่ละตวัตงัชือได้ถูกต้องตามกฏการตงัชือ

ของภาษาซีหรือไม ่อยา่งไร

4.1 var_a#1 4.2 _func_1 4.3 var 14.4 FALSE 4.5 _1_2_3 4.6 1var_1