บทที่ 3 โครงสร้างภาษาซีเบื้องต้น รายวิชา สธ 113 การออกแบบโปรแกรมทางธุรกิจเบื้องต้น อ.อภิพงศ์ ปิงยศ
บทท 3 โครงสรางภาษาซเบองตนรายวชา สธ 113 การออกแบบโปรแกรมทางธรกจเบองตน
อ.อภพงศ ปงยศ
Overview
โครงสรางโปรแกรม
ตวแปร
การเกบขอมลของตวแปร
2
โครงสรางโปรแกรม
โครงสรางการเขยนโปรแกรมดวยภาษา C/C++ ม 5 สวน ดงน
1. พรโพรเซสเซอรไดเรกทฟ (Preprocessor directives)
2. สวนประกาศ (Global declarations)
3. สวนฟงกชนหลก (The main() function)
4. การสรางฟงกชนและการใชฟงกชน
5. สวนอธบายโปรแกรม (Program comments)
3
ตวอยางโครงสรางโปรแกรม
4
โครงสรางโปรแกรม:1. พรโพรเซสเซอรไดเรกทฟ (Preprocessor directives)
ใชส าหรบเรยกไฟลทโปรแกรมตองการใชงาน หรอก าหนดคาตางๆกอนเปนอนดบแรก เรยกอกอยางวาเปนสวนหวของโปรแกรมหรอ Header
เรมตนดวยการใชเครองหมายไดเรกทฟ “#” และตามดวยชอโปรแกรมหรอชอตวแปรทตองการใช
ไดเรกทฟทใชบอยๆไดแก #include <ชอไฟล> เปนการน าไฟลอนเขามาคอมไพลรวมดวย
#define NAME VALUE เปนการก าหนดคาใหกบตวแปร (ปกตจะใชกบคาคงท)
5
โครงสรางโปรแกรม:2. สวนประกาศ (Global declarations)
ตอจากสวนไดเรกทฟ จ าเปนตองวางไวนอกฟงกชนตางๆ
ใชประกาศตวแปรตวแปรหรอฟงกชนทตองใชในโปรแกรม โดยทกสวนในโปรแกรมสามารถเรยกใชขอมลทประกาศไวในสวนนได
บางโปรแกรมอาจไมตองมกได ขนอยกบรปแบบของโปรแกรม
6
โครงสรางโปรแกรม:3. สวนฟงกชนหลก (The main() function)
เปนสวนททกโปรแกรมจ าเปนตองม ประกอบไปดวยค าสงตางๆทจะใหโปรแกรมท างาน
แตละโปรแกรมจะตองมฟงกชนหลกเพยงฟงกชนเดยวเทานน
คอมไพเลอรจะคอมไพลทฟงกชนนเปนหลก หากฟงกชนหลกมการเชอมโยงไปหาฟงกชนอนๆอก คอมไพเลอรจงจะไปคอมไพลฟงกชนทถกอางนนตอไป (รายละเอยดจะอยในเรองฟงกชน)
7
โครงสรางโปรแกรม:4. การสรางฟงกชนและการใชฟงกชน
เปนการเขยนฟงกชนยอยๆขนมาใชในโปรแกรม โดยฟงกชนเหลานจ าเปนตองถกเรยกใชงานผานฟงกชนหลก (main() function)
8
โครงสรางโปรแกรม:5. สวนอธบายโปรแกรม (Program comments)
ใชเขยนคอมเมนตโปรแกรม เพออธบายการท างานตางๆ ท าใหผศกษาโปรแกรมในภายหลงท าความเขาใจโปรแกรมไดงายขน
เมอคอมไพลโปรแกรม สวนคอมเมนตจะถกขามไป
การใชคอมเมนตม 2 วธคอ
// ใชคอมเมนตขอความสนๆ ไมเกนหนงบรรทด
/* ใชคอมเมนตขอความยาวๆ หลายบรรทด และตองปดทายดวย */ เสมอ
9
ตวอยางโปรแกรมภาษาซเบองตน
10
0
ตวแปร (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)
ตวแปร (Variables) [ตอ]
จากตวอยางกอหนานจะเหนไดวาการประกาศตวแปรจะตองมการประกาศชนดของตวแปรน าหนาชอตวแปรกอนเสมอ เชน int feet, inch;
ชนดตวแปรในทนเปนชนดจ านวนเตม (Integer)
หากเปนตวแปรชนดเดยวกนสามารถใชเครองหมาย Comma คนได
ค าสง feet = 6 เปนการสงใหน าคา 6 ไปเกบไวในตวแปรชอ feet
ค าสง inch = feet * 12 เปนการน าผลจากการค านวณ feet * 12 ไปเกบไวในตวแปรชอ inch
%d เปนการบอกใหน าคาเลขฐานสบในตวแปร inch ไปแสดงผลทางหนาจอ12
การเกบขอมลของตวแปร
ในการประกาศตวแปรใหกบโปรแกรม คาในตวแปรตางๆจะถกน าไปเกบในหนวยความจ าเสมอ
คาในตวแปรและหนวยความจ าอาจมการเปลยนแปลงได โดยคาเกาจะหายไปและถกแทนดวยคาใหม เชน
13
int x = 6;x = 8;printf (“X is %d”, x);
คาสดทายของ x คอ 8
การเกบขอมลของตวแปร [ตอ]
เราสามารถน าคาในตวแปรใสใหกบอกตวแปรหนงได โดยใชเครองหมายเทากบ “=” เชนเดยวกบการก าหนดคาใหตวแปรตามปกต เชน
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
การเกบขอมลของตวแปร [ตอ]
ในการก าหนดคาใหตวแปร เราสามารถน าคาตวแปรเดมมากระท าการทางคณตศาสตรได โดยตวแปรทางซายของเครองหมายเทากบ “=” จะเปลยนไปตามการกระท าทางขวามอ เชน
15
count = count + 1 //เปนการเพมคาตวแปร count ขนหนงคาsum = sum + x //น าคา sum บวกกบ x โดยคาใน x จะไมเปลยนnum = num * 3 //น าคา num คณกบ 3 แลวเกบคาไวใน num เชนเดม