บทที่ 3 โครงสร้าง ...€¦ · บทที่ 3...
Transcript of บทที่ 3 โครงสร้าง ...€¦ · บทที่ 3...
![Page 1: บทที่ 3 โครงสร้าง ...€¦ · บทที่ 3 โครงสร้างภาษาซีเบื้องต้น รายวิชา สธ113](https://reader033.fdocument.pub/reader033/viewer/2022042312/5edb25b2210a9a20dc49b369/html5/thumbnails/1.jpg)
บทท 3 โครงสรางภาษาซเบองตนรายวชา สธ 113 การออกแบบโปรแกรมทางธรกจเบองตน
อ.อภพงศ ปงยศ
![Page 2: บทที่ 3 โครงสร้าง ...€¦ · บทที่ 3 โครงสร้างภาษาซีเบื้องต้น รายวิชา สธ113](https://reader033.fdocument.pub/reader033/viewer/2022042312/5edb25b2210a9a20dc49b369/html5/thumbnails/2.jpg)
Overview
โครงสรางโปรแกรม
ตวแปร
การเกบขอมลของตวแปร
2
![Page 3: บทที่ 3 โครงสร้าง ...€¦ · บทที่ 3 โครงสร้างภาษาซีเบื้องต้น รายวิชา สธ113](https://reader033.fdocument.pub/reader033/viewer/2022042312/5edb25b2210a9a20dc49b369/html5/thumbnails/3.jpg)
โครงสรางโปรแกรม
โครงสรางการเขยนโปรแกรมดวยภาษา C/C++ ม 5 สวน ดงน
1. พรโพรเซสเซอรไดเรกทฟ (Preprocessor directives)
2. สวนประกาศ (Global declarations)
3. สวนฟงกชนหลก (The main() function)
4. การสรางฟงกชนและการใชฟงกชน
5. สวนอธบายโปรแกรม (Program comments)
3
![Page 4: บทที่ 3 โครงสร้าง ...€¦ · บทที่ 3 โครงสร้างภาษาซีเบื้องต้น รายวิชา สธ113](https://reader033.fdocument.pub/reader033/viewer/2022042312/5edb25b2210a9a20dc49b369/html5/thumbnails/4.jpg)
ตวอยางโครงสรางโปรแกรม
4
![Page 5: บทที่ 3 โครงสร้าง ...€¦ · บทที่ 3 โครงสร้างภาษาซีเบื้องต้น รายวิชา สธ113](https://reader033.fdocument.pub/reader033/viewer/2022042312/5edb25b2210a9a20dc49b369/html5/thumbnails/5.jpg)
โครงสรางโปรแกรม:1. พรโพรเซสเซอรไดเรกทฟ (Preprocessor directives)
ใชส าหรบเรยกไฟลทโปรแกรมตองการใชงาน หรอก าหนดคาตางๆกอนเปนอนดบแรก เรยกอกอยางวาเปนสวนหวของโปรแกรมหรอ Header
เรมตนดวยการใชเครองหมายไดเรกทฟ “#” และตามดวยชอโปรแกรมหรอชอตวแปรทตองการใช
ไดเรกทฟทใชบอยๆไดแก #include <ชอไฟล> เปนการน าไฟลอนเขามาคอมไพลรวมดวย
#define NAME VALUE เปนการก าหนดคาใหกบตวแปร (ปกตจะใชกบคาคงท)
5
![Page 6: บทที่ 3 โครงสร้าง ...€¦ · บทที่ 3 โครงสร้างภาษาซีเบื้องต้น รายวิชา สธ113](https://reader033.fdocument.pub/reader033/viewer/2022042312/5edb25b2210a9a20dc49b369/html5/thumbnails/6.jpg)
โครงสรางโปรแกรม:2. สวนประกาศ (Global declarations)
ตอจากสวนไดเรกทฟ จ าเปนตองวางไวนอกฟงกชนตางๆ
ใชประกาศตวแปรตวแปรหรอฟงกชนทตองใชในโปรแกรม โดยทกสวนในโปรแกรมสามารถเรยกใชขอมลทประกาศไวในสวนนได
บางโปรแกรมอาจไมตองมกได ขนอยกบรปแบบของโปรแกรม
6
![Page 7: บทที่ 3 โครงสร้าง ...€¦ · บทที่ 3 โครงสร้างภาษาซีเบื้องต้น รายวิชา สธ113](https://reader033.fdocument.pub/reader033/viewer/2022042312/5edb25b2210a9a20dc49b369/html5/thumbnails/7.jpg)
โครงสรางโปรแกรม:3. สวนฟงกชนหลก (The main() function)
เปนสวนททกโปรแกรมจ าเปนตองม ประกอบไปดวยค าสงตางๆทจะใหโปรแกรมท างาน
แตละโปรแกรมจะตองมฟงกชนหลกเพยงฟงกชนเดยวเทานน
คอมไพเลอรจะคอมไพลทฟงกชนนเปนหลก หากฟงกชนหลกมการเชอมโยงไปหาฟงกชนอนๆอก คอมไพเลอรจงจะไปคอมไพลฟงกชนทถกอางนนตอไป (รายละเอยดจะอยในเรองฟงกชน)
7
![Page 8: บทที่ 3 โครงสร้าง ...€¦ · บทที่ 3 โครงสร้างภาษาซีเบื้องต้น รายวิชา สธ113](https://reader033.fdocument.pub/reader033/viewer/2022042312/5edb25b2210a9a20dc49b369/html5/thumbnails/8.jpg)
โครงสรางโปรแกรม:4. การสรางฟงกชนและการใชฟงกชน
เปนการเขยนฟงกชนยอยๆขนมาใชในโปรแกรม โดยฟงกชนเหลานจ าเปนตองถกเรยกใชงานผานฟงกชนหลก (main() function)
8
![Page 9: บทที่ 3 โครงสร้าง ...€¦ · บทที่ 3 โครงสร้างภาษาซีเบื้องต้น รายวิชา สธ113](https://reader033.fdocument.pub/reader033/viewer/2022042312/5edb25b2210a9a20dc49b369/html5/thumbnails/9.jpg)
โครงสรางโปรแกรม:5. สวนอธบายโปรแกรม (Program comments)
ใชเขยนคอมเมนตโปรแกรม เพออธบายการท างานตางๆ ท าใหผศกษาโปรแกรมในภายหลงท าความเขาใจโปรแกรมไดงายขน
เมอคอมไพลโปรแกรม สวนคอมเมนตจะถกขามไป
การใชคอมเมนตม 2 วธคอ
// ใชคอมเมนตขอความสนๆ ไมเกนหนงบรรทด
/* ใชคอมเมนตขอความยาวๆ หลายบรรทด และตองปดทายดวย */ เสมอ
9
![Page 10: บทที่ 3 โครงสร้าง ...€¦ · บทที่ 3 โครงสร้างภาษาซีเบื้องต้น รายวิชา สธ113](https://reader033.fdocument.pub/reader033/viewer/2022042312/5edb25b2210a9a20dc49b369/html5/thumbnails/10.jpg)
ตวอยางโปรแกรมภาษาซเบองตน
10
0
![Page 11: บทที่ 3 โครงสร้าง ...€¦ · บทที่ 3 โครงสร้างภาษาซีเบื้องต้น รายวิชา สธ113](https://reader033.fdocument.pub/reader033/viewer/2022042312/5edb25b2210a9a20dc49b369/html5/thumbnails/11.jpg)
ตวแปร (Variables)
หากตองการใหโปรแกรมรบขอมลจากผใชมาเกบไว หรอมการค านวณและเกบผลลพธ จะตองสรางตวแปรส าหรบเกบขอมลทเปนผลลพธนน
พจารณาตวอยางตอไปน
11
#include <stdio.h>int feet, inch;void main(){
feet = 6;inch = feet * 12;printf (“Height in inch is %d”, inch);
}
การประกาศตวแปร feet และ inch แบบ Global เปนชนดจ านวนเตม
(Integer)
![Page 12: บทที่ 3 โครงสร้าง ...€¦ · บทที่ 3 โครงสร้างภาษาซีเบื้องต้น รายวิชา สธ113](https://reader033.fdocument.pub/reader033/viewer/2022042312/5edb25b2210a9a20dc49b369/html5/thumbnails/12.jpg)
ตวแปร (Variables) [ตอ]
จากตวอยางกอหนานจะเหนไดวาการประกาศตวแปรจะตองมการประกาศชนดของตวแปรน าหนาชอตวแปรกอนเสมอ เชน int feet, inch;
ชนดตวแปรในทนเปนชนดจ านวนเตม (Integer)
หากเปนตวแปรชนดเดยวกนสามารถใชเครองหมาย Comma คนได
ค าสง feet = 6 เปนการสงใหน าคา 6 ไปเกบไวในตวแปรชอ feet
ค าสง inch = feet * 12 เปนการน าผลจากการค านวณ feet * 12 ไปเกบไวในตวแปรชอ inch
%d เปนการบอกใหน าคาเลขฐานสบในตวแปร inch ไปแสดงผลทางหนาจอ12
![Page 13: บทที่ 3 โครงสร้าง ...€¦ · บทที่ 3 โครงสร้างภาษาซีเบื้องต้น รายวิชา สธ113](https://reader033.fdocument.pub/reader033/viewer/2022042312/5edb25b2210a9a20dc49b369/html5/thumbnails/13.jpg)
การเกบขอมลของตวแปร
ในการประกาศตวแปรใหกบโปรแกรม คาในตวแปรตางๆจะถกน าไปเกบในหนวยความจ าเสมอ
คาในตวแปรและหนวยความจ าอาจมการเปลยนแปลงได โดยคาเกาจะหายไปและถกแทนดวยคาใหม เชน
13
int x = 6;x = 8;printf (“X is %d”, x);
คาสดทายของ x คอ 8
![Page 14: บทที่ 3 โครงสร้าง ...€¦ · บทที่ 3 โครงสร้างภาษาซีเบื้องต้น รายวิชา สธ113](https://reader033.fdocument.pub/reader033/viewer/2022042312/5edb25b2210a9a20dc49b369/html5/thumbnails/14.jpg)
การเกบขอมลของตวแปร [ตอ]
เราสามารถน าคาในตวแปรใสใหกบอกตวแปรหนงได โดยใชเครองหมายเทากบ “=” เชนเดยวกบการก าหนดคาใหตวแปรตามปกต เชน
14
int num1 = 5;int num2 = 14;num1 = num2;printf (“num1 is %d \n”,num1);printf (“num2 is %d \n”,num2 );
แสดงผลเปนnum1 is 14num2 is 14
![Page 15: บทที่ 3 โครงสร้าง ...€¦ · บทที่ 3 โครงสร้างภาษาซีเบื้องต้น รายวิชา สธ113](https://reader033.fdocument.pub/reader033/viewer/2022042312/5edb25b2210a9a20dc49b369/html5/thumbnails/15.jpg)
การเกบขอมลของตวแปร [ตอ]
ในการก าหนดคาใหตวแปร เราสามารถน าคาตวแปรเดมมากระท าการทางคณตศาสตรได โดยตวแปรทางซายของเครองหมายเทากบ “=” จะเปลยนไปตามการกระท าทางขวามอ เชน
15
count = count + 1 //เปนการเพมคาตวแปร count ขนหนงคาsum = sum + x //น าคา sum บวกกบ x โดยคาใน x จะไมเปลยนnum = num * 3 //น าคา num คณกบ 3 แลวเกบคาไวใน num เชนเดม