SlideShare a Scribd company logo
1 of 28
Download to read offline
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี
1
เรื่องที่ 2 ชนิดข้อมูล ตัวแปร และค่าคงที่
ชนิดข้อมูล (Data Types)
ชนิดข้อมูลพื้นฐานมีด้วยกัน 5 ประเภทคือ
1. char (1 ไบต์)
2. int (2 ไบต์)
3. float (4 ไบต์)
4. double (8 ไบต์)
5. void (0 ไบต์)
ให้ทําความเข้าใจกับชนิดข้อมูลพื้นฐานในตารางที่ 2-1
ชนิดข้อมูล ความหมาย ไบต์ (bytes) พิสัย (range)
char อักษรหรืออักขระ 1 -128 ถึง 127
int จํานวนเต็ม 2 -32,768 ถึง 32,767
float จํานวนจริง (เลขทศนิยม) 4 3.4E + 38 (7 ตําแหน่ง)
double จํานวนจริงละเอียด 2 เท่า 8 1.7E + 308 (15 ตําแหน่ง)
void ไม่ให้ค่าใด ๆ 0 ไม่ให้ค่า
ตารางที่ 2-1 : ชนิดข้อมูลพื้นฐานของ C
ชนิดข้อมูลในตารางที่ 2-1 ที่ได้กล่าวแล้ว ตัวแปรจะมี 4 ประเภทเท่านั้นที่สามารถเก็บข้อมูลเหล่านี้
เพื่อความคล่องตัว และสามารถเก็บข้อมูลนอกเหนือจากนี้ได้ในภาษาซีจึงได้สร้างตัวแปรชนิด
ข้อมูลแบบ คิดเครื่องหมาย (signed) ไม่คิดเครื่องหมาย (unsigned), ยาว (long) และสั้น (short)
เพิ่มเติมขึ้นมา และยังนําไปประยุกต์ใช้กับชนิดข้อมูลพื้นฐานได้ดังในตารางที่ 2-2
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี
2
ชนิดข้อมูล ความหมาย ไบต์ (bytes) พิสัย (range)
char คิดเครื่องหมาย 1 -128 ถึง 127
int คิดเครื่องหมาย 2 -32,768 ถึง 32,767
short คิดเครื่องหมาย 2 -32,768 ถึง 32,767
short int คิดเครื่องหมาย 2 -32,768 ถึง 32,767
long คิดเครื่องหมาย 4 -2,147,483,648 ถึง
2,147,483,647
long int คิดเครื่องหมาย 4 -2,147,483,648 ถึง
2,147,483,647
unsigned char ไม่คิดเครื่องหมาย 1 0 ถึง 255
unsigned ไม่คิดเครื่องหมาย 2 0 ถึง 65,535
unsigned int ไม่คิดเครื่องหมาย 2 0 ถึง 65,535
unsigned short ไม่คิดเครื่องหมาย 2 0 ถึง 65,535
unsigned long ไม่คิดเครื่องหมาย 4 0 ถึง 4,294,967,295
signed char คิดเครื่องหมาย 1 -128 ถึง 127
signed คิดเครื่องหมาย 2 -32,768 ถึง 32,767
signed int คิดเครื่องหมาย 2 -32,768 ถึง 32,767
signed short คิดเครื่องหมาย 2 -32,768 ถึง 32,767
signed long คิดเครื่องหมาย 4 -2,147,483,648 ถึง
2,147,483,647
ตารางที่ 2-2 : ชนิดของตัวแปรใน C
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี
3
ตัวแปร (Variables)
ตัวแปร (Variables) คือส่วนที่ว่างในหน่วยความจําของคอมพิวเตอร์ใช้เก็บข้อมูลชนิดต่าง ๆ เช่น
จํานวน (numbers) อักขระ (characters) และสตริงหรือข้อความ (string) เป็นต้น
กฎในการตั้งชื่อ มีดังนี้
1. ประกอบด้วยตัวอักษร ตัวอักษรปนตัวเลข หรือปนเครื่องหมาย underscore ( _ ) ได้
2. ตัวแรกจะต้องเป็นตัวอักษรหรือเครื่องหมาย underscore ( _ ) เท่านั้น
3. สามารถใช้underscore เป็นส่วนของชื่อ ที่อยู่ระหว่างตัวอักษรหรือตัวเลขได้
4. มีความยาวได้ตั้งแต่ 1 ตัวอักขระ ไปจนถึง 32 ตัวอักขระ (เฉพาะเทอร์โบซีแต่บาง
เครื่องอาจได้น้อยหรือมากกกว่านี้ )
5. ห้ามตั้งชื่อซํ้ากับคําสงวน (Reserved word)
6. ชื่อที่ตั้งขึ้นแล้วเขียนเป็นตัวเล็ก ตัวใหญ่หรือตัวใหญ่ปนตัวเล็กจะถือว่าเป็นคนละชื่อ
กันหมด เช่น count COUNT Count จะถือเป็น 3 ชื่อตัวแปรที่แตกต่างกัน
ชื่อตัวแปรที่ถูก ชื่อตัวแปรที่ผิด
Count 1count
Num12 num !
m-mum m…mun
ข้อสังเกต
การกําหนดชนิดของตัวแปร มีสิ่งที่ควรพิจารณาอยู่ 2 ประการคือ ตัวแปรนั้น
จะต้องสามารถรับค่าได้ทุกค่าโดยไม่เกินขอบเขตของข้อมูลชนิดนั้น และตัว
แปรจะต้องไม่ใช่หน่วยความจํามากเกินความจําเป็น เช่น ถ้าข้อมูลไม่เกิน
ขอบเขตของ int ก็ไม่ควรกําหนดตัวแปรให้เป็น float
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี
4
ค่าคงที่ (Constant)
ค่าคงที่ (Constant) คือค่าที่เปลี่ยนแปลงไม่ได้ขณะรันโปรแกรม การกําหนดค่าคงที่ก็เพื่อไม่
ต้องการหรือป้องกันไม่ให้โปรแกรมเปลี่ยนแปลงค่านั้น
รูปแบบการกําหนดคอนสแตนต์เป็นดังนี้
ตัวอย่าง const float Pi = 3.1415;
หมายความว่า Pi เป็นคอนสแตนต์ชนิด float ซึ่งมีค่าเท่ากับ 3.1415
1. คอนสแตนต์ชนิดอินทีเจอร์
คอนสแตนต์ชนิดอินทีเจอร์ (integer constant) เป็นคอนสแตนต์ชนิดตัวเลขซึ่ง
อาจจะเป็นค่าบวก 0 หรือ ค่าลบ คอนสแตนต์ชนิดนี้มี 3 ประเภท คือ คอนสแตนต์อินทีเจอร์ฐาน
สิบ ฐานแปดและฐานสิบหก ซึ่งมีรายละเอียดดังนี้
1.1 คอนสแตนต์อินทีเจอร์ฐานสิบ (decimal integer constant) หมายถึงชุด
ของเลขฐานสิบ ( 0 ถึง 9 ) ซึ่งเลขตัวแรกไม่เป็น 0 ดังตัวอย่างต่อไปนี้
const int price = 1000;
const int WeekDay = 7;
1.2 คอนสแตนต์อินทีเจอร์ฐานแปด (octal integer constant) หมายถึงชุดของ
เลขฐานแปด ( 0 ถึง 7 ) ซึ่งเลขตัวแรกเป็น 0 ดังตัวอย่างต่อไปนี้
const int Oct1 = 01000;
const int Oct2 =03 7;
1.3 คอนสแตนต์อินทีเจอร์ฐานสิบหก (hexadecimal integer constant)
หมายถึงชุดของเลขฐานสิบหก ( 0 ถึง 9 และ A ถึง F) ซึ่งนําหน้าด้วย 0X หรือ 0x ดังตัวอย่าง
ต่อไปนี้
const int Hex1 = 0xF78;
const int Hex2 =0xFF;
const ชนิดของข้อมูล ไอเด็นติฟายเออร์ = ค่า;
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี
5
2. คอนสแตนต์ชนิด float
คอนสแตนต์ชนิด float (floating point constant) เป็นคอนสแตนต์ชนิดตัว
เลขที่มีทศนิยม คอนสแตนต์ชนิดนี้มี 2 รูปแบบดังนี้
2.1 เป็นชุดของตัวเลขที่ประกอบด้วยเลข 0 ถึง 9 และจุดทศนิยม ดังตัวอย่าง
ต่อไปนี้
const float Pi = 3.1415;
const float InterestRate =0.65;
2.1 เป็นเลขยกกําลังซึ่งมีส่วนประกอบ 2 ส่วนคือ ส่วนหนึ่งเป็นอินทีเจอร์หรือ
float อีกส่วนหนึ่งเป็นตัวคูณสิบยกกําลังซึ่งแสดงด้วยอักษร E (หรือ e) ตามด้วยเลขยกกําลังซึ่ง
เป็นอินทีเจอร์บวกหรือลบดังตัวอย่างต่อไปนี้
const float A = 1.0E2; // หมายถึง 1.0 * 102
ซึ่ง = 100.0
const float A = 1E+3; // หมายถึง 1 * 103
ซึ่ง = 1000.0
const float A = 1E-2; // หมายถึง 1 * 10 - 2
ซึ่ง = 0.01
3. คอนสแตนต์ชนิดอักษร
คอนสแตนต์ชนิดอักษร (character constant) เป็นคอนสแตนต์ที่
ประกอบด้วยอักษรหนึ่งตัวอยู่ภายในเครื่องหมาย ( ‘ ‘ ) ดังตัวอย่างต่อไปนี้
const char A = ‘a’;
const char B =’b’;
คอนสแตนต์ชนิดอักษรมีชนิดเป็น char ค่าของคอนสแตนต์จะเป็นตัวเลขซึ่งมีค่า
เท่ากับรหัส ASCII ของอักษรนั้น (ตาราง ASCII อยู่ที่ภาคผนวก ก.) เช่น ‘A’ = 65, ‘B’ = 66
คอนสแตนต์ชนิดอักษรอีกประเภทหนึ่งมีชื่อว่า เอสเคปซีเควนซ์ (escape
sequence) ซึ่งเป็นคอนสแตนต์ที่ประกอบด้วยเครื่องหมาย  และอักษรอยู่ภายในเครื่องหมาย
( ‘ ‘ ) เช่น ‘ n ’ , ‘ t ’ คอนสแตนต์ประเภทนี้มีจํานวนจํากัดและมีความหมายเฉพาะดังแสดงใน
ตารางที่ 2-3
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี
6
เอสเคปซีเควนซ์ ชื่อ ความหมาย
a Alarm bell เตรียมพร้อม (เสียงระฆัง)
b Backspace เลื่อนกลับ
f Formfeed ขึ้นหน้าใหม่
n Newline ขึ้นบรรทัดใหม่
r Return เคอเซอร์กลับไปอยู่ที่ต้นบรรทัด
t Tab เว้นระยะในแนวระดับ
 Backslash การกดเครื่องหมาย 
’ Single quote การกดเครื่องหมาย 
” Double quote การกดเครื่องหมาย “
? Question mark การกดเครื่องหมาย ?
ตารางที่ 2-3 : แสดงคอนสแตนต์แบบต่าง ๆ
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี
7
นิพจน์ และตัวดําเนินการ
นิพจน์ (Expression)
นิพจน์ (Expression) คือการนําตัวแปร ค่าคงที่ มาสัมพันธ์กันโดยใช้เครื่องหมายอย่างใด
อย่างหนึ่งเป็นตัวเชื่อมโดยมีกฎเกณฑ์ทั่ว ๆ ไปในการเขียนนิพจน์ของภาษา C มีดังนี้
1. เขียนตัวอักษรหลายตัวติดกันได้โดยไม่มีเครื่องหมายคั่น เช่น XY ถือเป็น 1 ตัวแปร
2. กรณีนิพจน์มีค่าของตัวแปรหรือค่าคงที่ต่างชนิดกันในนิพจน์เดียวกัน กลไกของภาษา
C จะเปลี่ยนชนิดของข้อมูลที่มีขนาดเล็กให้เป็นชนิดของข้อมูลที่ใหญ่ขึ้น ดังนั้นจึง
ควรระวังในการตั้งตัวแปรเพื่อเก็บผลลัพธ์ที่ได้จากการดําเนินการของนิพจน์มีค่าของ
ตัวแปรหรือค่าคงที่ต่างชนิดกัน ซึ่งตัวแปรที่ตั้งขึ้นควรเป็นชนิดของข้อมูลที่ใหญ่ที่สุด
ในนิพจน์นั้น ดังตัวอย่าง
หากนิพจน์มี int กับ long กลไกของภาษา C จะเปลี่ยนชนิดของข้อมูลเป็น long
หากนิพจน์มีint กับ double กลไกของภาษา C จะเปลี่ยนชนิดของข้อมูลเป็น double
นิพจน์คณิตศาสตร์ นิพจน์ภาษา C
2X2
2*(X*X)
10X + 3XY + 10Y2
10*X-3*X*Y+10*Y*Y
ตารางที่ 3-1 : แสดงตัวอย่างของนิพจน์ในภาษา C
นิพจน์แบ่งออกเป็น
1. นิพจน์คณิตศาสตร์ (Arithmetic Expression)
หมายถึงการนําตัวแปร ค่าคงที่ มาสัมพันธ์กันโดยใช้เครื่องหมายคณิตศาตร์เป็น
ตัวเชื่อมผลที่ได้จากนิพจน์แบบนี้จะเป็นตัวเลข ดังตารางที่ 3-2
นิพจน์คณิตศาสตร์ในภาษา C
3X + 5Y 3*X + 5*Y
X2
- Y2
X*X - Y*Y
ตารางที่ 3-2 : แสดงนิพจน์คณิตศาสตร์
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี
8
2. นิพจน์ตรรก (Logical Expression)
หมายถึง การนําตัวแปร ค่าคงที่ หรือนิพจน์ มาสัมพันธ์กันโดยใช้เครื่องหมาย
เปรียบเทียบและเครื่องหมายตรรกเป็นตัวเชื่อมผลที่ได้จะเป็นจริง หรือเท็จ คือจะให้ค่าเป็น 1 หรือ
0 ออกมาเป็นผลลัพธ์ซึ่งสามารถนําไปคํานวณต่อได้ดังตารางที่ 3-3
โจทย์ ถ้า I มีค่าเป็น 3 J มีค่าเป็น 5 A มีค่าเป็น 3 ถ้าเขียนนิพจน์ดังนี้
I = = J ผลลัพธ์ไม่จริง (0)
I = = A ผลลัพธ์จริง (1)
I > J*5 ผลลัพธ์ไม่จริง (0)
I+3 > J –2 && a*2 > 10 ผลลัพธ์ไม่จริง (0)
ตารางที่ 3-3 : แสดงนิพจน์ตรรก
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี
9
ตัวดําเนินการ (Operator)
ตัวดําเนินการ (Operator) คือการใช้ในการกําหนดค่าให้ตัวแปร มีตัวดําเนินการ 3
ประเภทใหญ่ ๆ ดังนี้
1. ตัวดําเนินการเลขคณิต (arithmetic operators)
2. ตัวดําเนินการเปรียบเทียบและ (relational operators)
3. ตัวดําเนินการตรรกะ ( logical operators)
ตัวดําเนินการเลขคณิต (arithmetic operators)
เป็นตัวดําเนินการทางด้านคณิตศาสตร์ ได้แก่เครื่องหมายที่ใช้ในการบวก ลบ คูณ หาร
ตัวเลข และอื่น ๆ ดังในตารางที่ 3-4
ตัวดําเนินการ ความหมาย ตัวอย่าง
- การลบ X – Y
+ การบวก X + Y
* การคูณ X * Y
/ การหาร X / Y
% การหารจะเอาเฉพาะเศษไว้ 11%3 = 3 เศษ 2 ดังนั้น 2 เป็นผลลัพธ์
- - การลดค่าลงครั้งละ 1 X- -หรือ - -X เหมือนกับ X=X-1
+ + การเพิ่มค่าครั้งละ1 X+ +หรือ + +X เหมือนกับ X=X+1
ตารางที่ 3-4 : แสดงตัวดําเนินการของ C
นอกจากตัวดําเนินการบวก ลบ คูณ หาร ธรรมดาแล้ว ยังมีโมดูลัส (modulas) คือการหาร
เอาเฉพาะเศษดังในตารางที่ 3-4 และใน C มีวิธีการรวบรัดการใช้ตัวดําเนินการเลขคณิตดังนี้
รวมสัญลักษณ์ + และ = เข้าด้วยกันกลายเป็น +=
- และ = เข้าด้วยกันกลายเป็น -= ดังตารางที่ 3-5
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี
10
ตัวอย่าง
. . .
y = x + a ++;
. . .
ขั้นตอนการประมวลผล
1. y = x + a
2. a = a + 1
. . .
y = x + ++ a;
. . .
ขั้นตอนการประมวลผล
1. a = a + 1
2. y = x + a
. . .
y += x ;
. . .
ขั้นตอนการประมวลผล
y = y + x
. . .
y += x ++ ;
. . .
ขั้นตอนการประมวลผล
1. y = y + x
2. x = x + 1
. . .
y -= 9 ;
. . .
ขั้นตอนการประมวลผล
y = y - 9
. . .
y *= 7 * x++ ;
. . .
ขั้นตอนการประมวลผล
1. y = y * 7 * x
2. x = x + 1
. . .
y /= x ;
. . .
ขั้นตอนการประมวลผล
y = y / x
. . .
y %= x ;
. . .
ขั้นตอนการประมวลผล
y = y % x
ตารางที่ 3-5 : แสดงตัวอย่างตัวดําเนินการของ C
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี
11
ขั้นตอนการทํางานของตัวดําเนินการใน C
ในบางครั้งนิพจน์ประกอบด้วยตัวดําเนินการมากมาย ทําให้เกิดความยุ่งยากในการ
พิจารณาขั้นตอนการทํางานของตัวดําเนินการ จึงได้ตั้งกฏเกี่ยวกับลําดับการทํางานก่อนหลังของ
ตัวดําเนินการ (Operator) ดังตารางที่ 3-6
ตัวดําเนินการ ลําดับที่
( ) 1 (สูงสุด)
+ + - - unary 2
* / % 3
+ - 4
+= -= *= = /= %= 5 (ตํ่าสุด)
ตารางที่ 3-6 : แสดงลําดับการทํางานของตัวดําเนินการ
ตัวดําเนินการที่มีความสําคัญอยู่ในระดับเดียวกัน ให้ทํางานตามขั้นตอนจากซ้ายไปขวาเป็นหลัก
ต่อไปนี้ เป็นตัวอย่างพอสังเขป ดังตารางที่ 3- 7
ตัวอย่าง
5 + 6 * 2 ♣ ตัวดําเนินการ * อยู่ลําดับสูงกว่า + จึงต้อง
คูณเลขก่อนแล้วบวกเลข 5 ภายหลัง
2 * 3 – 14 / 7 + 5 ♣ ตัวดําเนินการ * และ / อยู่ลําดับเดียวกันให้
ทําจากซ้ายไปขวา คือ คูณเลข แล้วหารเลข
♣ ตัวดําเนินการ – และ + อยู่ในลําดับเดียวกัน
ทําจากซ้ายมือก่อนคือ ลบเลข แล้วจึงบวก
เลขในภายหลัง
ตารางที่ 3-7 : แสดงลําดับการทํางานของตัวดําเนินการ
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี
12
ตัวดําเนินการเปรียบเทียบ (Relational operators)
หมายถึง เครื่องหมายที่ใช้ในการเปรียบเทียบและตัดสินใจ ผลการเปรียบเทียบจะให้ค่า
เป็น 1 และ เท็จจะให้ค่าเป็น 0 เครื่องหมายที่ใช้มีดังตารางที่ 3-8
เครื่องหมาย ความหมาย ตัวอย่าง
> มากกว่า A > B (A มากกว่า B)
>= มากกว่าหรือเท่ากับ A >= B (A มากกว่าหรือเท่ากับ B)
< น้อยกว่า A < B (A น้อยกว่า B)
<= น้อยกว่าหรือเท่ากับ A <= B (A น้อยกว่าหรือเท่ากับ B)
== เท่ากับ A == B (A เท่ากับ B)
!= ไม่เท่ากับ A != B (A ไม่เท่ากับ B)
ตารางที่ 3-8 : แสดงตัวดําเนินการเปรียบเทียบ
เครื่องหมายตรรกะ (logical operators)
เครื่องหมายตรรกะมีจุดประสงค์ใช้ในการเปรียบเทียบเพื่อตัดสินใจซึ่งผลที่ได้จากการ
เปรียบเทียบจะได้ผลลัพธ์ 2 อย่าง คือ ถ้าได้ผลลัพธ์เป็นจริงจะมีค่าเป็น 1 และถ้าได้ผลลัพธ์เป็นเท็จ
จะมีค่า 0 เป็นเครื่องหมายตรรกะที่ใช้ในภาษา C มีดังนี้
คําสั่ง && (AND) เป็นการนําเงื่อนไข 2 เงื่อนไขมาเปรียบเทียบกันซึ่งผลลัพธ์ที่ได้จะเป็น
ดังนี้
X Y X && Y
0 0 0
0 1 0
1 0 0
1 1 1
คําสั่ง | | (OR) เป็นการนําเงื่อนไข 2 เงื่อนไขมาเปรียบเทียบกันซึ่งผลลัพธ์ที่ได้จะเป็น
ดังนี้
X Y X | | Y
0 0 0
0 1 1
1 0 1
1 1 1
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี
13
คําสั่ง ! (NOT) เป็นการทํานิเสธซึ่งผลลัพธ์ที่ได้จะเป็นดังนี้
X ! X
0 1
1 0
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 14
คําสั่งรับ - แสดงผลและคําสั่งการทํางานแบบมีทางเลือก
ฟังก์ชันในการรับข้อมูลและแสดงผลข้อมูล (Input / Output Function)
1. printf( ) เป็นฟังก์ชันที่ใช้ในการแสดงผลข้อมูลที่อยู่ในตัวแปร ค่าคงที่ นิพจน์
ออกมาทางจอภาพ
Argument list เป็นค่าตัวแปร ค่าคงที่ หรือนิพจน์ที่ต้องการนํามาแสดงผลถ้ามีมากกว่า 1 ค่า
จะแยกกันโดยใช้เครื่องหมายคอมม่า ( , )
Control จะต้องเขียนอยู่ภายใต้เครื่องหมาย “ “ ซึ่งสามารถเขียนได้2 ลักษณะคือ
1. เป็นข้อความที่ต้องการให้แสดงออกมา เช่น
print(“ Sum of X = “);
2. เป็นรหัสรูปแบบ (Format Code) ที่ใช้ในการแสดงผลซึ่งทุกรหัส
รูปแบบจะต้องอยู่ตามหลังเครื่องหมาย % รหัสรูปแบบ ข้อมูลที่นิยม
ใช้ได้แก่
รหัส ความหมาย
% c ใช้กับตัวแปรที่เก็บค่าที่เป็นตัวอักษรเพียงตัวเดียว
% s ใช้กับตัวแปรที่เก็บค่าที่เป็นข้อความที่เก็บในตัวแปรชุด
% d ใช้กับตัวแปรที่เก็บค่าที่เป็นเลขจํานวนเต็ม
% u ใช้กับตัวแปรที่เก็บค่าที่เป็นเลขจํานวนเต็มบวก
% f ใช้กับตัวแปรที่เก็บค่าที่เป็นเลขทศนิยม
% e ใช้กับตัวแปรที่เก็บค่าที่เป็นเลขทศนิยมในรูป e ยกกําลัง
% x ใช้กับตัวแปรที่เก็บค่าที่เป็นค่าเลขฐานสิบหก
% o ใช้กับตัวแปรที่เก็บค่าที่เป็นค่าเลขฐานแปด
% p ใช้กับตัวแปรที่เก็บค่าที่เป็นตัวชีตําแหน่ง (pointer)
รูปแบบ printf (control, argument list);
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 15
ตัวอย่าง แสดงการใช้คําสั่ง printf ที่มีข้อความที่เป็นคําอธิบายอยู่ในรูปคําสั่ง
void main( )
{ int sum = 3;
printf(“ The sum is %d ”,sum);
}
ผลลัพธ์
The sum is 3
ตัวอย่าง แสดงการใช้คําสั่ง printf รหัสรูปแบบ % d และ % u
void main( )
{ int num = -3, tot = 5;
printf(“ num = %d tot = %u ”,num, tot);
}
ผลลัพธ์
Num = -3 tot = 5
ตัวอย่าง แสดงการใช้คําสั่ง printf รหัสรูปแบบ % f และ % e โดยมีทศนิยม 2 ตําแหน่ง
void main( )
{ float num = 22.75;
printf(“ %.2f %.2e ”,num,num);
}
ผลลัพธ์
22.75 2.28e+01
5. ฟังก์ชัน putchar ( ) เป็นฟังก์ชันที่ใช้ในการแสดงผลข้อมูลชนิดตัวอักขระ (char) ให้
เห็นบนหน้าจอภาพ
6. ฟังก์ชัน puts ( ) เป็นฟังก์ชันที่ใช้ในการแสดงผลข้อมูลสตริงหรือข้อความ (string) ให้
เห็นบนหน้าจอภาพ
รูปแบบ putchar ( char );
รูปแบบ puts ( string );
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 16
4. ฟังก์ชัน scanf ( ) เป็นฟังก์ชันที่ใช้ในการรับข้อมูลจากแป้นพิมพ์(key board) เข้ามา
เก็บไว้ในตัวแปร
Argument list เป็นตัวแปรที่จะรับค่าจากแป้นพิมพ์มาเก็บไว้ถ้ามีมากกว่าหนึ่งค่า
จะต้องแยกกันด้วยเครื่องหมายคอมม่า ( , ) และตัวแปรทุกตัวที่ใช้
จะต้องนําหน้าด้วยเครื่องหมาย & ทุกตัว ยกเว้นตัวแปรชุด
Control เป็นรหัสรูปแบบที่ใช้ในการรับข้อมูลซึ่งจะต้องเขียนอยู่ภายใน
เครื่องหมาย “ “ และจะมีรหัสรูปแบบเหมือนกับรหัสรูปแบบที่ใช้
ในคําสั่ง printf
ตัวอย่าง แสดงการใช้คําสั่ง scanf
main( )
{ int num;
scanf( “ %d ” ,&num);
}
หมายความว่า เครื่องจะรอรับค่าที่เป็นจํานวน
เต็มหนึ่งจํานวนที่จะป้อนเข้ามาทางแป้นพิมพ์
มาเก็บไว้ในตัวแปร num
ตัวอย่าง แสดงการใช้คําสั่ง scanf
main( )
{ int num; char ch;
scanf(“ %d %c ” ,&num, &ch);
}
หมายความว่า เครื่องจะรอรับค่าที่เข้ามา 2 ค่า
คือค่าที่หนึ่งเป็นจํานวนเต็มหนึ่งจํานวน และ
ค่าที่สองเป็นอักขระหนึ่งตัวที่จะป้ อนเข้ามาที่
จะป้ อนเข้ามาทางแป้ นพิมพ์แล้วนําไปเก็บไว้
ในตัวแปร num และ ch ตามลําดับ
รูปแบบ scanf (control, argument list);
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 17
5. ฟังก์ชัน getchar ( ) เป็นฟังก์ชันที่ใช้ในการรับข้อมูลจากแป้นพิมพ์ทีละ 1 ตัวอักขระ
โดยต้องกด enter ทุกครังเมื่อสินสุดข้อมูล และข้อมูลที่ป้อนจะปรากฎให้เห็นบนหน้าจอภาพ
6. ฟังก์ชัน getch ( ) เป็นฟังก์ชันที่ใช้ในการรับข้อมูลเป็นตัวอักขระ 1 ตัวอักขระเข้ามา
ทางแป้นพิมพ์โดยเมื่อป้อนข้อมูลเสร็จไม่ต้องกดปุ่ม enter และข้อมูลที่ป้อนจะไม่ปรากฎบน
หน้าจอภาพ
7. ฟังก์ชัน getche ( ) เป็นฟังก์ชันที่ใช้ในการรับข้อมูลเป็นตัวอักขระ 1 ตัวอักขระเข้ามา
ทางแป้นพิมพ์โดยเมื่อป้อนข้อมูลเสร็จไม่ต้องกดปุ่ม enter และข้อมูลที่ป้อนจะปรากฎบน
หน้าจอภาพ
8. ฟังก์ชัน gets ( ) เป็นฟังก์ชันที่ใช้ในการรับข้อมูลสตริงหรือข้อความ (string) เข้ามา
ทางแป้นพิมพ์โดยต้องกด enter ทุกครังเมื่อสินสุดข้อมูล และข้อมูลที่ป้อนจะปรากฏให้เห็นบน
หน้าจอภาพ
ตัวอย่างโปรแกรม การใช้คําสั่งรับ - แสดงผล
#include <stdio.h>
void main()
{
int x_value = 9;
printf("x = %dn",x_value);
}
รูปแบบ char = getchar ( );
รูปแบบ char = getch ( );
รูปแบบ getche ( );
รูปแบบ gets ( string );
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 18
#include <stdio.h>
void main()
{
int x, y, sum;
x = 7; y = 2;
sum = x + y;
printf("Total = %dn",sum);
}
#include <stdio.h>
void main()
{
int x, y;
x = 7; y = 4;
--x; ++y;
printf("x = %dn",x);
printf("y = %dn",y);
}
#include <stdio.h>
void main()
{
int profits, employees;
profits = 9;
employees = 2 ;
printf("Each employee gets %f.", (float) profits/employees);
}
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 19
include <stdio.h>
void main()
{
char any_char;
printf("Please type a character: ");
scanf("c%",&any_char);
printf("Thank you, your character are %c",any_char);
}
#include <stdio.h>
void main(void)
{
printf("n****Using .1f****n");
printf("%.1f%.1f%.1fn", 4.0, 16.5, 589.3);
printf("%.1f%.1f%.1f", 400.0, 1600.5, 58900.3);
printf("nn****Using 8.1f****n");
printf("%8.1f%8.1f%8.1fn", 4.0, 16.5, 589.3);
printf("%8.1f%8.1f%8.1f", 400.0, 1600.5, 58900.3);
printf("nn**** Using -8.1f****n");
printf("%-8.1f%-8.1f%-8.1fn", 4.0, 16.5, 589.3);
printf("%-8.1f%-8.1f%-8.1f", 400.0, 1600.5, 58900.3);
}
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 20
#include <stdio.h>
void main(void)
{
printf("n");
printf("xC9xCDxBBn");
printf("xC8xCDxBCn");
}
#include <stdio.h>
#include <ctype.h>
void main()
{
char any_char;
printf("Please type a lowercase letter:");
scanf("%c", &any_char);
if(any_char >= 'a')
printf("In uppercase: %c n", toupper(any_char));
}
ตัวอย่างโปรแกรม การใช้คําสั่งรับ – แสดงผล ที่มา :: พ.อ.เจนวิทย์ เหลืองอร่ามและปิยวิทย์ เหลืองอร่าม ,
การเขียนโปรแกรม สําหรับ Application ด้วย C/C++, ธรรมสาร จํากัด, 2543
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 21
คําสั่งการทํางานแบบมีทางเลือก
การทํางานแบบมีทางเลือก หมายถึง การกําหนดให้โปรแกรมทํางานอย่างใดอย่างหนึ่ง
เมื่อเงื่อนไขเป็นจริงและทํา (หรือไม่ทํา) งานอีกอย่างหนึ่งเมื่อเงื่อนไขเป็นเท็จ ตัวอย่างการเลือก
ทําที่อาจพบเห็นได้บ่อยเช่น
การเตือนให้เลือกบันทึกข้อความไว้ในดิสก์คือ
Save (Y/N) ถ้าเลือก Y จะบันทึกข้อมูลในดิสก์
ถ้าเลือก N จะไม่บันทึกข้อมูล
การเลือกทํามี 2 แบบคือการเลือกทําแบบ if และการเลือกทําแบบ switch
♦ คําสั่ง if (if statement)
♦ คําสั่ง switch (switch statement)
การเลือกทําแบบ if เริ่มด้วยการทดสอบเงื่อนไข ถ้าเงื่อนไขเป็นจริง สเตตเมนต์ต่อจาก if
จะทํางาน ถ้าเงื่อนไขเป็นเท็จสเตตเมนต์ต่อจาก if จะไม่ทํางานรูปแบบของการเลือกทําแบบ if มี 3
รูปแบบคือ
1. การเลือกทําแบบ if ที่มีสเตตเมนต์เดียว และหลายสเตตเมนต์มีรูปแบบดังนี
การเลือกทําแบบ if
รูปแบบ if (condition) // if ที่มีสเตตเมนต์เดียว
statement - 1;
-- หรือ --
if (condition) // if หลายสเตตเมนต์
{ statement - 1;
statement - 2;
…
}
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 22
2. ทําแบบ if – else ที่มีสเตตเมนต์เดียว และหลายสเตตเมนต์มีรูปแบบดังนี
รูปแบบ if (condition) // if – else ที่มีสเตตเมนต์
เดียว
statement - 1;
else
statement - 2;
-- หรือ --
if (condition) // if – else หลายสเตตเมนต์
{ statement - 1;
…
}
else
{ statement - 2;
…
}
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 23
3. แบบ if – else – if ที่มีสเตตเมนต์เดียว และหลายสเตตเมนต์มีรูปแบบดังนี
รูปแบบ if (condition) // if – else - if ที่มีสเตตเมนต์เดียว
statement - 1;
else if (condition)
statement - 2;
…
else
statement - n;
-- หรือ --
if (condition) // if – else - if หลายสเตตเมนต์
{ statement - 1;
…
}
else if (condition)
{ statement - 2;
…
}
…
else
{ statement - n;
…
}
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 24
ตัวอย่างโปรแกรม การใช้คําสั่งเลือกทําแบบ if
#include <stdio.h>
#include <ctype.h>
void main()
{
char any_char;
printf("Please type a lowercase letter:");
scanf("%c",&any_char);
if(any_char < 'a')
printf("Sorry, I can not capitalize that.n");
else
printf("Thank you. In uppercase : %c.",toupper (any_char));
}
#include <stdio.h>
#include <ctype.h>
void main()
{
char any_char ;
printf("Please type a lowercase letter:");
scanf("%c",&any_char);
if(any_char< 'a')
printf("Sorry,I can not capitalize that./n");
else if (any_char>'z')
printf("Sory, I can not capitalize that./n");
else
printf("Thank you. In uppercase: %c n", toupper (any_char));
}
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 25
#include <stdio.h> // for printf()
#include <conio.h> // for getche()
void main(void)
{
int x, y;
clrscr();
printf("n"); // new line
for (y=1; y<24; y++) // step down the screen
{
for (x=1; x<24; x++) // step across the screen
if ( x == y ) // NW-SE diagonal?
printf("xDB"); // print solid color
else
if ( x == 24 - y ) // SW-NE diagonal?
printf("xDB"); // print solid color
else
printf("xB0"); // print gray
printf("n"); // next line
delay(200);
}
getche();
}
ตัวอย่างโปรแกรม การใช้คําสั่งเลือกทําแบบ if ที่มา :: พ.อ.เจนวิทย์ เหลืองอร่ามและปิยวิทย์ เหลืองอร่าม ,
การเขียนโปรแกรม สําหรับ Application ด้วย C/C++, ธรรมสาร จํากัด, 2543
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 26
คําสั่ง switch ใช้เพื่อเลือกทําคําสั่งใดคําสั่งหนึ่งตามต้องการ โดยมีทางเลือกให้ทําคําสั่ง
หลาย ๆ ทาง ค่าตัวแปรจะทําหน้าที่ควบคุมคําสั่ง switch คําสั่ง switch และคําสั่ง if – else – if
เป็นคําสั่งเลือกทํา เช่นเดียวกัน แต่ต่างกันที่รูปแบบเงื่อนไข ต่อไปนีเป็นรูปแบบของการเลือกทํา
แบบ switch
การเลือกทําแบบ switch มีวิธีเลือกทําโดยการเปรียบเทียบค่าของ switch แวเรียเบิล กับ
ค่าของคอนสแตนต์ในแต่ละ case ถ้ามีค่าเท่ากันสเตตเมนต์ของ case นันจะทํางาน และถ้าค่าของ
switch แวเรียเบิลไม่เท่ากับค่าของคอนสแตนต์ใน case ใด ๆ เลย สเตตเมนต์ของ default จะ
ทํางาน
การเลือกทําแบบ switch
รูปแบบ switch ( แวเรียเบิลชนิด int หรือ char )
{
case คอนสแตนต์ชนิด int หรือ char :
สเตตเมนต์;
สเตตเมนต์;
break;
case คอนสแตนต์ชนิด int หรือ char :
สเตตเมนต์;
สเตตเมนต์;
break;
default :
สเตตเมนต์;
สเตตเมนต์;
}
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 27
ตัวอย่างโปรแกรม การใช้คําสั่งเลือกทําแบบ switch
#include <stdio.h>
void main()
{
int ch; clrscr();
printf(" Menu n");
printf("===================n");
printf(" 1 :Create Data n");
printf(" 2 :Display Data n");
printf(" 3 :Append Data n");
printf(" 4 :Edit Data n");
printf(" 5 :Quit n");
printf("===================n");
printf("Please select <1, 2, 3, 4, 5 > ==> "); scanf("%d", & ch);
switch (ch)
{ case 1: printf("You take choice 1:Create Data n");
break;
case 2: printf("You take chaoice 2:Display Datan");
break;
case 3: printf("You take choice 3:Append Data n");
break;
case 4: printf("You take choice 4: Edit Data n");
break;
case 5: printf("You take choice 5:Quitn");
break;
default: printf("You take choice the other:default");
}
}
ข้อสังเกต
แวเรียเบิลและคอนสแตนต์ที่ใช้สําหรับเปรียบเทียบในการเลือกทําแบบ switch
จะต้องมีชนิดเป็น int และ char เท่านัน
หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 28
#include <stdio.h> // for printf()
void main(void)
{
float Fnum1=1.0, Fnum2=1.0;
char op;
clrscr();
while ( !(Fnum1==0.0 && Fnum2==0.0) )
{ printf("nnEnter number, operator, numbern");
scanf("%f %c %f", &Fnum1, &op, &Fnum2);
switch ( op )
{ case '+' : printf(" = %f", Fnum1 + Fnum2);
break;
case '-' : printf(" = %f", Fnum1 - Fnum2);
break;
case '*' :
case 'x' : printf(" = %f", Fnum1 * Fnum2);
break;
case '/' :
case '': printf(" = %f", Fnum1 / Fnum2);
break;
default : printf("Unknown operator");
} // end switch
} // end while
} // end main()
ตัวอย่างโปรแกรม การใช้คําสั่งเลือกทําแบบ switch :: พ.อ.เจนวิทย์ เหลืองอร่ามและปิยวิทย์ เหลืองอร่าม ,
การเขียนโปรแกรม สําหรับ Application ด้วย C/C++, ธรรมสาร จํากัด, 2543
เ

More Related Content

What's hot

53011213098
5301121309853011213098
53011213098jeabchat
 
การแปลงเลขฐาน
การแปลงเลขฐานการแปลงเลขฐาน
การแปลงเลขฐานพัน พัน
 
53011213098
5301121309853011213098
53011213098jeabchat
 
Microsoft excel 2010 intermediated advanced
Microsoft excel 2010 intermediated advancedMicrosoft excel 2010 intermediated advanced
Microsoft excel 2010 intermediated advancedsmittichai chaiyawong
 
พื้นฐานความรู้เกี่ยวกับฟังก์ชัน Ms excel ทุกเวอร์ชั่น
พื้นฐานความรู้เกี่ยวกับฟังก์ชัน Ms excel ทุกเวอร์ชั่น พื้นฐานความรู้เกี่ยวกับฟังก์ชัน Ms excel ทุกเวอร์ชั่น
พื้นฐานความรู้เกี่ยวกับฟังก์ชัน Ms excel ทุกเวอร์ชั่น Maitree Rimthong
 
ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูลความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูลkruthanyaporn
 
Lecture excel2007
Lecture excel2007Lecture excel2007
Lecture excel20075632010023
 
5632010007,5632010015
5632010007,56320100155632010007,5632010015
5632010007,5632010015Tangmay_ja
 
Ac 5632010002 , 5632010013
Ac 5632010002 , 5632010013Ac 5632010002 , 5632010013
Ac 5632010002 , 5632010013Oil Lovery AS
 
5632010019 5632010020
5632010019   56320100205632010019   5632010020
5632010019 5632010020ponlove2010
 
เรื่องฟังก์ชันค่าสัมบูรณ์
เรื่องฟังก์ชันค่าสัมบูรณ์เรื่องฟังก์ชันค่าสัมบูรณ์
เรื่องฟังก์ชันค่าสัมบูรณ์guestbcc425
 

What's hot (20)

53011213098
5301121309853011213098
53011213098
 
การแปลงเลขฐาน
การแปลงเลขฐานการแปลงเลขฐาน
การแปลงเลขฐาน
 
สูตรคำนวน
สูตรคำนวนสูตรคำนวน
สูตรคำนวน
 
53011213098
5301121309853011213098
53011213098
 
Microsoft excel 2007
Microsoft excel 2007Microsoft excel 2007
Microsoft excel 2007
 
Function
FunctionFunction
Function
 
Lecture excel2007
Lecture excel2007Lecture excel2007
Lecture excel2007
 
Microsoft excel 2010 intermediated advanced
Microsoft excel 2010 intermediated advancedMicrosoft excel 2010 intermediated advanced
Microsoft excel 2010 intermediated advanced
 
พื้นฐานความรู้เกี่ยวกับฟังก์ชัน Ms excel ทุกเวอร์ชั่น
พื้นฐานความรู้เกี่ยวกับฟังก์ชัน Ms excel ทุกเวอร์ชั่น พื้นฐานความรู้เกี่ยวกับฟังก์ชัน Ms excel ทุกเวอร์ชั่น
พื้นฐานความรู้เกี่ยวกับฟังก์ชัน Ms excel ทุกเวอร์ชั่น
 
7 1 dev c++
7 1 dev c++7 1 dev c++
7 1 dev c++
 
ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูลความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
 
Lecture excel2007
Lecture excel2007Lecture excel2007
Lecture excel2007
 
5632010007,5632010015
5632010007,56320100155632010007,5632010015
5632010007,5632010015
 
Ac 5632010002 , 5632010013
Ac 5632010002 , 5632010013Ac 5632010002 , 5632010013
Ac 5632010002 , 5632010013
 
Lecture excel2007
Lecture excel2007Lecture excel2007
Lecture excel2007
 
5632010019 5632010020
5632010019   56320100205632010019   5632010020
5632010019 5632010020
 
Chapter 02 Flowchart
Chapter 02 FlowchartChapter 02 Flowchart
Chapter 02 Flowchart
 
Know1 3
Know1 3Know1 3
Know1 3
 
เรื่องฟังก์ชันค่าสัมบูรณ์
เรื่องฟังก์ชันค่าสัมบูรณ์เรื่องฟังก์ชันค่าสัมบูรณ์
เรื่องฟังก์ชันค่าสัมบูรณ์
 
Week3-44
Week3-44Week3-44
Week3-44
 

Viewers also liked

Introduction to problem_solving
Introduction to problem_solvingIntroduction to problem_solving
Introduction to problem_solvingNunnaphat Chadajit
 
หลักการแก้ปัญหาและการพัฒนาโปรแกรม
หลักการแก้ปัญหาและการพัฒนาโปรแกรมหลักการแก้ปัญหาและการพัฒนาโปรแกรม
หลักการแก้ปัญหาและการพัฒนาโปรแกรมNunnaphat Chadajit
 
ทรัพย์สินทางปัญญา
ทรัพย์สินทางปัญญาทรัพย์สินทางปัญญา
ทรัพย์สินทางปัญญาNunnaphat Chadajit
 
การสมัครใช้งานบล็อกที่ www.wordpress.com
การสมัครใช้งานบล็อกที่ www.wordpress.comการสมัครใช้งานบล็อกที่ www.wordpress.com
การสมัครใช้งานบล็อกที่ www.wordpress.comNunnaphat Chadajit
 
ทรัพย์สินทางปัญญา
ทรัพย์สินทางปัญญาทรัพย์สินทางปัญญา
ทรัพย์สินทางปัญญาNunnaphat Chadajit
 
ตัวอย่างรูปเล่ม โครงงานคอมพิวเตอร์ 5 บท
ตัวอย่างรูปเล่ม โครงงานคอมพิวเตอร์ 5 บทตัวอย่างรูปเล่ม โครงงานคอมพิวเตอร์ 5 บท
ตัวอย่างรูปเล่ม โครงงานคอมพิวเตอร์ 5 บทNunnaphat Chadajit
 

Viewers also liked (16)

Work1
Work1Work1
Work1
 
Import sound in_flash
Import sound in_flashImport sound in_flash
Import sound in_flash
 
Add widget
Add widgetAdd widget
Add widget
 
Introduction to problem_solving
Introduction to problem_solvingIntroduction to problem_solving
Introduction to problem_solving
 
หลักการแก้ปัญหาและการพัฒนาโปรแกรม
หลักการแก้ปัญหาและการพัฒนาโปรแกรมหลักการแก้ปัญหาและการพัฒนาโปรแกรม
หลักการแก้ปัญหาและการพัฒนาโปรแกรม
 
Introduction toc
Introduction tocIntroduction toc
Introduction toc
 
C oho ipst
C oho ipstC oho ipst
C oho ipst
 
Dev cusing (1)
Dev cusing (1)Dev cusing (1)
Dev cusing (1)
 
Mid2 2556
Mid2 2556Mid2 2556
Mid2 2556
 
ทรัพย์สินทางปัญญา
ทรัพย์สินทางปัญญาทรัพย์สินทางปัญญา
ทรัพย์สินทางปัญญา
 
การสมัครใช้งานบล็อกที่ www.wordpress.com
การสมัครใช้งานบล็อกที่ www.wordpress.comการสมัครใช้งานบล็อกที่ www.wordpress.com
การสมัครใช้งานบล็อกที่ www.wordpress.com
 
Score1 57update
Score1 57updateScore1 57update
Score1 57update
 
Grade1-57
Grade1-57Grade1-57
Grade1-57
 
Test flowchart
Test flowchartTest flowchart
Test flowchart
 
ทรัพย์สินทางปัญญา
ทรัพย์สินทางปัญญาทรัพย์สินทางปัญญา
ทรัพย์สินทางปัญญา
 
ตัวอย่างรูปเล่ม โครงงานคอมพิวเตอร์ 5 บท
ตัวอย่างรูปเล่ม โครงงานคอมพิวเตอร์ 5 บทตัวอย่างรูปเล่ม โครงงานคอมพิวเตอร์ 5 บท
ตัวอย่างรูปเล่ม โครงงานคอมพิวเตอร์ 5 บท
 

Similar to Ch2

ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ Areeya Onnom
 
การเขียนคำสั่งควบคุมแบบมีทางเลือก กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทางเลือก กลุ่ม 3การเขียนคำสั่งควบคุมแบบมีทางเลือก กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทางเลือก กลุ่ม 3KEk YourJust'one
 
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระAreeya Onnom
 
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระAreeya Onnom
 
ตัวแปรชุดและตัวแปรอักขระ PPT
ตัวแปรชุดและตัวแปรอักขระ PPTตัวแปรชุดและตัวแปรอักขระ PPT
ตัวแปรชุดและตัวแปรอักขระ PPTAreeya Onnom
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานNookky Anapat
 
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ[w]
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ[w]บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ[w]
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ[w]Mook Sasivimon
 
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระบทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระMook Sasivimon
 
ใบความรู้ที่2
ใบความรู้ที่2ใบความรู้ที่2
ใบความรู้ที่2Orapan Chamnan
 
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขร
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขรบทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขร
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขรMook Sasivimon
 
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1Little Tukta Lita
 

Similar to Ch2 (20)

ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
 
C language
C languageC language
C language
 
C language
C languageC language
C language
 
การเขียนคำสั่งควบคุมแบบมีทางเลือก กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทางเลือก กลุ่ม 3การเขียนคำสั่งควบคุมแบบมีทางเลือก กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทางเลือก กลุ่ม 3
 
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
 
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
 
ตัวแปรชุดและตัวแปรอักขระ PPT
ตัวแปรชุดและตัวแปรอักขระ PPTตัวแปรชุดและตัวแปรอักขระ PPT
ตัวแปรชุดและตัวแปรอักขระ PPT
 
C lab5 2
C lab5 2C lab5 2
C lab5 2
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ[w]
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ[w]บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ[w]
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ[w]
 
C lang
C langC lang
C lang
 
งาน
งานงาน
งาน
 
โครงสร้างการเขียนโปรแกรมภาษาไพธอน
โครงสร้างการเขียนโปรแกรมภาษาไพธอนโครงสร้างการเขียนโปรแกรมภาษาไพธอน
โครงสร้างการเขียนโปรแกรมภาษาไพธอน
 
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระบทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
 
Unit9
Unit9Unit9
Unit9
 
ใบความรู้ที่2
ใบความรู้ที่2ใบความรู้ที่2
ใบความรู้ที่2
 
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขร
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขรบทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขร
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขร
 
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
 
Oe 3
 Oe 3 Oe 3
Oe 3
 
Power point
Power pointPower point
Power point
 

Ch2

  • 1. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 1 เรื่องที่ 2 ชนิดข้อมูล ตัวแปร และค่าคงที่ ชนิดข้อมูล (Data Types) ชนิดข้อมูลพื้นฐานมีด้วยกัน 5 ประเภทคือ 1. char (1 ไบต์) 2. int (2 ไบต์) 3. float (4 ไบต์) 4. double (8 ไบต์) 5. void (0 ไบต์) ให้ทําความเข้าใจกับชนิดข้อมูลพื้นฐานในตารางที่ 2-1 ชนิดข้อมูล ความหมาย ไบต์ (bytes) พิสัย (range) char อักษรหรืออักขระ 1 -128 ถึง 127 int จํานวนเต็ม 2 -32,768 ถึง 32,767 float จํานวนจริง (เลขทศนิยม) 4 3.4E + 38 (7 ตําแหน่ง) double จํานวนจริงละเอียด 2 เท่า 8 1.7E + 308 (15 ตําแหน่ง) void ไม่ให้ค่าใด ๆ 0 ไม่ให้ค่า ตารางที่ 2-1 : ชนิดข้อมูลพื้นฐานของ C ชนิดข้อมูลในตารางที่ 2-1 ที่ได้กล่าวแล้ว ตัวแปรจะมี 4 ประเภทเท่านั้นที่สามารถเก็บข้อมูลเหล่านี้ เพื่อความคล่องตัว และสามารถเก็บข้อมูลนอกเหนือจากนี้ได้ในภาษาซีจึงได้สร้างตัวแปรชนิด ข้อมูลแบบ คิดเครื่องหมาย (signed) ไม่คิดเครื่องหมาย (unsigned), ยาว (long) และสั้น (short) เพิ่มเติมขึ้นมา และยังนําไปประยุกต์ใช้กับชนิดข้อมูลพื้นฐานได้ดังในตารางที่ 2-2
  • 2. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 2 ชนิดข้อมูล ความหมาย ไบต์ (bytes) พิสัย (range) char คิดเครื่องหมาย 1 -128 ถึง 127 int คิดเครื่องหมาย 2 -32,768 ถึง 32,767 short คิดเครื่องหมาย 2 -32,768 ถึง 32,767 short int คิดเครื่องหมาย 2 -32,768 ถึง 32,767 long คิดเครื่องหมาย 4 -2,147,483,648 ถึง 2,147,483,647 long int คิดเครื่องหมาย 4 -2,147,483,648 ถึง 2,147,483,647 unsigned char ไม่คิดเครื่องหมาย 1 0 ถึง 255 unsigned ไม่คิดเครื่องหมาย 2 0 ถึง 65,535 unsigned int ไม่คิดเครื่องหมาย 2 0 ถึง 65,535 unsigned short ไม่คิดเครื่องหมาย 2 0 ถึง 65,535 unsigned long ไม่คิดเครื่องหมาย 4 0 ถึง 4,294,967,295 signed char คิดเครื่องหมาย 1 -128 ถึง 127 signed คิดเครื่องหมาย 2 -32,768 ถึง 32,767 signed int คิดเครื่องหมาย 2 -32,768 ถึง 32,767 signed short คิดเครื่องหมาย 2 -32,768 ถึง 32,767 signed long คิดเครื่องหมาย 4 -2,147,483,648 ถึง 2,147,483,647 ตารางที่ 2-2 : ชนิดของตัวแปรใน C
  • 3. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 3 ตัวแปร (Variables) ตัวแปร (Variables) คือส่วนที่ว่างในหน่วยความจําของคอมพิวเตอร์ใช้เก็บข้อมูลชนิดต่าง ๆ เช่น จํานวน (numbers) อักขระ (characters) และสตริงหรือข้อความ (string) เป็นต้น กฎในการตั้งชื่อ มีดังนี้ 1. ประกอบด้วยตัวอักษร ตัวอักษรปนตัวเลข หรือปนเครื่องหมาย underscore ( _ ) ได้ 2. ตัวแรกจะต้องเป็นตัวอักษรหรือเครื่องหมาย underscore ( _ ) เท่านั้น 3. สามารถใช้underscore เป็นส่วนของชื่อ ที่อยู่ระหว่างตัวอักษรหรือตัวเลขได้ 4. มีความยาวได้ตั้งแต่ 1 ตัวอักขระ ไปจนถึง 32 ตัวอักขระ (เฉพาะเทอร์โบซีแต่บาง เครื่องอาจได้น้อยหรือมากกกว่านี้ ) 5. ห้ามตั้งชื่อซํ้ากับคําสงวน (Reserved word) 6. ชื่อที่ตั้งขึ้นแล้วเขียนเป็นตัวเล็ก ตัวใหญ่หรือตัวใหญ่ปนตัวเล็กจะถือว่าเป็นคนละชื่อ กันหมด เช่น count COUNT Count จะถือเป็น 3 ชื่อตัวแปรที่แตกต่างกัน ชื่อตัวแปรที่ถูก ชื่อตัวแปรที่ผิด Count 1count Num12 num ! m-mum m…mun ข้อสังเกต การกําหนดชนิดของตัวแปร มีสิ่งที่ควรพิจารณาอยู่ 2 ประการคือ ตัวแปรนั้น จะต้องสามารถรับค่าได้ทุกค่าโดยไม่เกินขอบเขตของข้อมูลชนิดนั้น และตัว แปรจะต้องไม่ใช่หน่วยความจํามากเกินความจําเป็น เช่น ถ้าข้อมูลไม่เกิน ขอบเขตของ int ก็ไม่ควรกําหนดตัวแปรให้เป็น float
  • 4. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 4 ค่าคงที่ (Constant) ค่าคงที่ (Constant) คือค่าที่เปลี่ยนแปลงไม่ได้ขณะรันโปรแกรม การกําหนดค่าคงที่ก็เพื่อไม่ ต้องการหรือป้องกันไม่ให้โปรแกรมเปลี่ยนแปลงค่านั้น รูปแบบการกําหนดคอนสแตนต์เป็นดังนี้ ตัวอย่าง const float Pi = 3.1415; หมายความว่า Pi เป็นคอนสแตนต์ชนิด float ซึ่งมีค่าเท่ากับ 3.1415 1. คอนสแตนต์ชนิดอินทีเจอร์ คอนสแตนต์ชนิดอินทีเจอร์ (integer constant) เป็นคอนสแตนต์ชนิดตัวเลขซึ่ง อาจจะเป็นค่าบวก 0 หรือ ค่าลบ คอนสแตนต์ชนิดนี้มี 3 ประเภท คือ คอนสแตนต์อินทีเจอร์ฐาน สิบ ฐานแปดและฐานสิบหก ซึ่งมีรายละเอียดดังนี้ 1.1 คอนสแตนต์อินทีเจอร์ฐานสิบ (decimal integer constant) หมายถึงชุด ของเลขฐานสิบ ( 0 ถึง 9 ) ซึ่งเลขตัวแรกไม่เป็น 0 ดังตัวอย่างต่อไปนี้ const int price = 1000; const int WeekDay = 7; 1.2 คอนสแตนต์อินทีเจอร์ฐานแปด (octal integer constant) หมายถึงชุดของ เลขฐานแปด ( 0 ถึง 7 ) ซึ่งเลขตัวแรกเป็น 0 ดังตัวอย่างต่อไปนี้ const int Oct1 = 01000; const int Oct2 =03 7; 1.3 คอนสแตนต์อินทีเจอร์ฐานสิบหก (hexadecimal integer constant) หมายถึงชุดของเลขฐานสิบหก ( 0 ถึง 9 และ A ถึง F) ซึ่งนําหน้าด้วย 0X หรือ 0x ดังตัวอย่าง ต่อไปนี้ const int Hex1 = 0xF78; const int Hex2 =0xFF; const ชนิดของข้อมูล ไอเด็นติฟายเออร์ = ค่า;
  • 5. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 5 2. คอนสแตนต์ชนิด float คอนสแตนต์ชนิด float (floating point constant) เป็นคอนสแตนต์ชนิดตัว เลขที่มีทศนิยม คอนสแตนต์ชนิดนี้มี 2 รูปแบบดังนี้ 2.1 เป็นชุดของตัวเลขที่ประกอบด้วยเลข 0 ถึง 9 และจุดทศนิยม ดังตัวอย่าง ต่อไปนี้ const float Pi = 3.1415; const float InterestRate =0.65; 2.1 เป็นเลขยกกําลังซึ่งมีส่วนประกอบ 2 ส่วนคือ ส่วนหนึ่งเป็นอินทีเจอร์หรือ float อีกส่วนหนึ่งเป็นตัวคูณสิบยกกําลังซึ่งแสดงด้วยอักษร E (หรือ e) ตามด้วยเลขยกกําลังซึ่ง เป็นอินทีเจอร์บวกหรือลบดังตัวอย่างต่อไปนี้ const float A = 1.0E2; // หมายถึง 1.0 * 102 ซึ่ง = 100.0 const float A = 1E+3; // หมายถึง 1 * 103 ซึ่ง = 1000.0 const float A = 1E-2; // หมายถึง 1 * 10 - 2 ซึ่ง = 0.01 3. คอนสแตนต์ชนิดอักษร คอนสแตนต์ชนิดอักษร (character constant) เป็นคอนสแตนต์ที่ ประกอบด้วยอักษรหนึ่งตัวอยู่ภายในเครื่องหมาย ( ‘ ‘ ) ดังตัวอย่างต่อไปนี้ const char A = ‘a’; const char B =’b’; คอนสแตนต์ชนิดอักษรมีชนิดเป็น char ค่าของคอนสแตนต์จะเป็นตัวเลขซึ่งมีค่า เท่ากับรหัส ASCII ของอักษรนั้น (ตาราง ASCII อยู่ที่ภาคผนวก ก.) เช่น ‘A’ = 65, ‘B’ = 66 คอนสแตนต์ชนิดอักษรอีกประเภทหนึ่งมีชื่อว่า เอสเคปซีเควนซ์ (escape sequence) ซึ่งเป็นคอนสแตนต์ที่ประกอบด้วยเครื่องหมาย และอักษรอยู่ภายในเครื่องหมาย ( ‘ ‘ ) เช่น ‘ n ’ , ‘ t ’ คอนสแตนต์ประเภทนี้มีจํานวนจํากัดและมีความหมายเฉพาะดังแสดงใน ตารางที่ 2-3
  • 6. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 6 เอสเคปซีเควนซ์ ชื่อ ความหมาย a Alarm bell เตรียมพร้อม (เสียงระฆัง) b Backspace เลื่อนกลับ f Formfeed ขึ้นหน้าใหม่ n Newline ขึ้นบรรทัดใหม่ r Return เคอเซอร์กลับไปอยู่ที่ต้นบรรทัด t Tab เว้นระยะในแนวระดับ Backslash การกดเครื่องหมาย ’ Single quote การกดเครื่องหมาย ” Double quote การกดเครื่องหมาย “ ? Question mark การกดเครื่องหมาย ? ตารางที่ 2-3 : แสดงคอนสแตนต์แบบต่าง ๆ
  • 7. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 7 นิพจน์ และตัวดําเนินการ นิพจน์ (Expression) นิพจน์ (Expression) คือการนําตัวแปร ค่าคงที่ มาสัมพันธ์กันโดยใช้เครื่องหมายอย่างใด อย่างหนึ่งเป็นตัวเชื่อมโดยมีกฎเกณฑ์ทั่ว ๆ ไปในการเขียนนิพจน์ของภาษา C มีดังนี้ 1. เขียนตัวอักษรหลายตัวติดกันได้โดยไม่มีเครื่องหมายคั่น เช่น XY ถือเป็น 1 ตัวแปร 2. กรณีนิพจน์มีค่าของตัวแปรหรือค่าคงที่ต่างชนิดกันในนิพจน์เดียวกัน กลไกของภาษา C จะเปลี่ยนชนิดของข้อมูลที่มีขนาดเล็กให้เป็นชนิดของข้อมูลที่ใหญ่ขึ้น ดังนั้นจึง ควรระวังในการตั้งตัวแปรเพื่อเก็บผลลัพธ์ที่ได้จากการดําเนินการของนิพจน์มีค่าของ ตัวแปรหรือค่าคงที่ต่างชนิดกัน ซึ่งตัวแปรที่ตั้งขึ้นควรเป็นชนิดของข้อมูลที่ใหญ่ที่สุด ในนิพจน์นั้น ดังตัวอย่าง หากนิพจน์มี int กับ long กลไกของภาษา C จะเปลี่ยนชนิดของข้อมูลเป็น long หากนิพจน์มีint กับ double กลไกของภาษา C จะเปลี่ยนชนิดของข้อมูลเป็น double นิพจน์คณิตศาสตร์ นิพจน์ภาษา C 2X2 2*(X*X) 10X + 3XY + 10Y2 10*X-3*X*Y+10*Y*Y ตารางที่ 3-1 : แสดงตัวอย่างของนิพจน์ในภาษา C นิพจน์แบ่งออกเป็น 1. นิพจน์คณิตศาสตร์ (Arithmetic Expression) หมายถึงการนําตัวแปร ค่าคงที่ มาสัมพันธ์กันโดยใช้เครื่องหมายคณิตศาตร์เป็น ตัวเชื่อมผลที่ได้จากนิพจน์แบบนี้จะเป็นตัวเลข ดังตารางที่ 3-2 นิพจน์คณิตศาสตร์ในภาษา C 3X + 5Y 3*X + 5*Y X2 - Y2 X*X - Y*Y ตารางที่ 3-2 : แสดงนิพจน์คณิตศาสตร์
  • 8. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 8 2. นิพจน์ตรรก (Logical Expression) หมายถึง การนําตัวแปร ค่าคงที่ หรือนิพจน์ มาสัมพันธ์กันโดยใช้เครื่องหมาย เปรียบเทียบและเครื่องหมายตรรกเป็นตัวเชื่อมผลที่ได้จะเป็นจริง หรือเท็จ คือจะให้ค่าเป็น 1 หรือ 0 ออกมาเป็นผลลัพธ์ซึ่งสามารถนําไปคํานวณต่อได้ดังตารางที่ 3-3 โจทย์ ถ้า I มีค่าเป็น 3 J มีค่าเป็น 5 A มีค่าเป็น 3 ถ้าเขียนนิพจน์ดังนี้ I = = J ผลลัพธ์ไม่จริง (0) I = = A ผลลัพธ์จริง (1) I > J*5 ผลลัพธ์ไม่จริง (0) I+3 > J –2 && a*2 > 10 ผลลัพธ์ไม่จริง (0) ตารางที่ 3-3 : แสดงนิพจน์ตรรก
  • 9. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 9 ตัวดําเนินการ (Operator) ตัวดําเนินการ (Operator) คือการใช้ในการกําหนดค่าให้ตัวแปร มีตัวดําเนินการ 3 ประเภทใหญ่ ๆ ดังนี้ 1. ตัวดําเนินการเลขคณิต (arithmetic operators) 2. ตัวดําเนินการเปรียบเทียบและ (relational operators) 3. ตัวดําเนินการตรรกะ ( logical operators) ตัวดําเนินการเลขคณิต (arithmetic operators) เป็นตัวดําเนินการทางด้านคณิตศาสตร์ ได้แก่เครื่องหมายที่ใช้ในการบวก ลบ คูณ หาร ตัวเลข และอื่น ๆ ดังในตารางที่ 3-4 ตัวดําเนินการ ความหมาย ตัวอย่าง - การลบ X – Y + การบวก X + Y * การคูณ X * Y / การหาร X / Y % การหารจะเอาเฉพาะเศษไว้ 11%3 = 3 เศษ 2 ดังนั้น 2 เป็นผลลัพธ์ - - การลดค่าลงครั้งละ 1 X- -หรือ - -X เหมือนกับ X=X-1 + + การเพิ่มค่าครั้งละ1 X+ +หรือ + +X เหมือนกับ X=X+1 ตารางที่ 3-4 : แสดงตัวดําเนินการของ C นอกจากตัวดําเนินการบวก ลบ คูณ หาร ธรรมดาแล้ว ยังมีโมดูลัส (modulas) คือการหาร เอาเฉพาะเศษดังในตารางที่ 3-4 และใน C มีวิธีการรวบรัดการใช้ตัวดําเนินการเลขคณิตดังนี้ รวมสัญลักษณ์ + และ = เข้าด้วยกันกลายเป็น += - และ = เข้าด้วยกันกลายเป็น -= ดังตารางที่ 3-5
  • 10. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 10 ตัวอย่าง . . . y = x + a ++; . . . ขั้นตอนการประมวลผล 1. y = x + a 2. a = a + 1 . . . y = x + ++ a; . . . ขั้นตอนการประมวลผล 1. a = a + 1 2. y = x + a . . . y += x ; . . . ขั้นตอนการประมวลผล y = y + x . . . y += x ++ ; . . . ขั้นตอนการประมวลผล 1. y = y + x 2. x = x + 1 . . . y -= 9 ; . . . ขั้นตอนการประมวลผล y = y - 9 . . . y *= 7 * x++ ; . . . ขั้นตอนการประมวลผล 1. y = y * 7 * x 2. x = x + 1 . . . y /= x ; . . . ขั้นตอนการประมวลผล y = y / x . . . y %= x ; . . . ขั้นตอนการประมวลผล y = y % x ตารางที่ 3-5 : แสดงตัวอย่างตัวดําเนินการของ C
  • 11. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 11 ขั้นตอนการทํางานของตัวดําเนินการใน C ในบางครั้งนิพจน์ประกอบด้วยตัวดําเนินการมากมาย ทําให้เกิดความยุ่งยากในการ พิจารณาขั้นตอนการทํางานของตัวดําเนินการ จึงได้ตั้งกฏเกี่ยวกับลําดับการทํางานก่อนหลังของ ตัวดําเนินการ (Operator) ดังตารางที่ 3-6 ตัวดําเนินการ ลําดับที่ ( ) 1 (สูงสุด) + + - - unary 2 * / % 3 + - 4 += -= *= = /= %= 5 (ตํ่าสุด) ตารางที่ 3-6 : แสดงลําดับการทํางานของตัวดําเนินการ ตัวดําเนินการที่มีความสําคัญอยู่ในระดับเดียวกัน ให้ทํางานตามขั้นตอนจากซ้ายไปขวาเป็นหลัก ต่อไปนี้ เป็นตัวอย่างพอสังเขป ดังตารางที่ 3- 7 ตัวอย่าง 5 + 6 * 2 ♣ ตัวดําเนินการ * อยู่ลําดับสูงกว่า + จึงต้อง คูณเลขก่อนแล้วบวกเลข 5 ภายหลัง 2 * 3 – 14 / 7 + 5 ♣ ตัวดําเนินการ * และ / อยู่ลําดับเดียวกันให้ ทําจากซ้ายไปขวา คือ คูณเลข แล้วหารเลข ♣ ตัวดําเนินการ – และ + อยู่ในลําดับเดียวกัน ทําจากซ้ายมือก่อนคือ ลบเลข แล้วจึงบวก เลขในภายหลัง ตารางที่ 3-7 : แสดงลําดับการทํางานของตัวดําเนินการ
  • 12. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 12 ตัวดําเนินการเปรียบเทียบ (Relational operators) หมายถึง เครื่องหมายที่ใช้ในการเปรียบเทียบและตัดสินใจ ผลการเปรียบเทียบจะให้ค่า เป็น 1 และ เท็จจะให้ค่าเป็น 0 เครื่องหมายที่ใช้มีดังตารางที่ 3-8 เครื่องหมาย ความหมาย ตัวอย่าง > มากกว่า A > B (A มากกว่า B) >= มากกว่าหรือเท่ากับ A >= B (A มากกว่าหรือเท่ากับ B) < น้อยกว่า A < B (A น้อยกว่า B) <= น้อยกว่าหรือเท่ากับ A <= B (A น้อยกว่าหรือเท่ากับ B) == เท่ากับ A == B (A เท่ากับ B) != ไม่เท่ากับ A != B (A ไม่เท่ากับ B) ตารางที่ 3-8 : แสดงตัวดําเนินการเปรียบเทียบ เครื่องหมายตรรกะ (logical operators) เครื่องหมายตรรกะมีจุดประสงค์ใช้ในการเปรียบเทียบเพื่อตัดสินใจซึ่งผลที่ได้จากการ เปรียบเทียบจะได้ผลลัพธ์ 2 อย่าง คือ ถ้าได้ผลลัพธ์เป็นจริงจะมีค่าเป็น 1 และถ้าได้ผลลัพธ์เป็นเท็จ จะมีค่า 0 เป็นเครื่องหมายตรรกะที่ใช้ในภาษา C มีดังนี้ คําสั่ง && (AND) เป็นการนําเงื่อนไข 2 เงื่อนไขมาเปรียบเทียบกันซึ่งผลลัพธ์ที่ได้จะเป็น ดังนี้ X Y X && Y 0 0 0 0 1 0 1 0 0 1 1 1 คําสั่ง | | (OR) เป็นการนําเงื่อนไข 2 เงื่อนไขมาเปรียบเทียบกันซึ่งผลลัพธ์ที่ได้จะเป็น ดังนี้ X Y X | | Y 0 0 0 0 1 1 1 0 1 1 1 1
  • 13. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 13 คําสั่ง ! (NOT) เป็นการทํานิเสธซึ่งผลลัพธ์ที่ได้จะเป็นดังนี้ X ! X 0 1 1 0
  • 14. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 14 คําสั่งรับ - แสดงผลและคําสั่งการทํางานแบบมีทางเลือก ฟังก์ชันในการรับข้อมูลและแสดงผลข้อมูล (Input / Output Function) 1. printf( ) เป็นฟังก์ชันที่ใช้ในการแสดงผลข้อมูลที่อยู่ในตัวแปร ค่าคงที่ นิพจน์ ออกมาทางจอภาพ Argument list เป็นค่าตัวแปร ค่าคงที่ หรือนิพจน์ที่ต้องการนํามาแสดงผลถ้ามีมากกว่า 1 ค่า จะแยกกันโดยใช้เครื่องหมายคอมม่า ( , ) Control จะต้องเขียนอยู่ภายใต้เครื่องหมาย “ “ ซึ่งสามารถเขียนได้2 ลักษณะคือ 1. เป็นข้อความที่ต้องการให้แสดงออกมา เช่น print(“ Sum of X = “); 2. เป็นรหัสรูปแบบ (Format Code) ที่ใช้ในการแสดงผลซึ่งทุกรหัส รูปแบบจะต้องอยู่ตามหลังเครื่องหมาย % รหัสรูปแบบ ข้อมูลที่นิยม ใช้ได้แก่ รหัส ความหมาย % c ใช้กับตัวแปรที่เก็บค่าที่เป็นตัวอักษรเพียงตัวเดียว % s ใช้กับตัวแปรที่เก็บค่าที่เป็นข้อความที่เก็บในตัวแปรชุด % d ใช้กับตัวแปรที่เก็บค่าที่เป็นเลขจํานวนเต็ม % u ใช้กับตัวแปรที่เก็บค่าที่เป็นเลขจํานวนเต็มบวก % f ใช้กับตัวแปรที่เก็บค่าที่เป็นเลขทศนิยม % e ใช้กับตัวแปรที่เก็บค่าที่เป็นเลขทศนิยมในรูป e ยกกําลัง % x ใช้กับตัวแปรที่เก็บค่าที่เป็นค่าเลขฐานสิบหก % o ใช้กับตัวแปรที่เก็บค่าที่เป็นค่าเลขฐานแปด % p ใช้กับตัวแปรที่เก็บค่าที่เป็นตัวชีตําแหน่ง (pointer) รูปแบบ printf (control, argument list);
  • 15. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 15 ตัวอย่าง แสดงการใช้คําสั่ง printf ที่มีข้อความที่เป็นคําอธิบายอยู่ในรูปคําสั่ง void main( ) { int sum = 3; printf(“ The sum is %d ”,sum); } ผลลัพธ์ The sum is 3 ตัวอย่าง แสดงการใช้คําสั่ง printf รหัสรูปแบบ % d และ % u void main( ) { int num = -3, tot = 5; printf(“ num = %d tot = %u ”,num, tot); } ผลลัพธ์ Num = -3 tot = 5 ตัวอย่าง แสดงการใช้คําสั่ง printf รหัสรูปแบบ % f และ % e โดยมีทศนิยม 2 ตําแหน่ง void main( ) { float num = 22.75; printf(“ %.2f %.2e ”,num,num); } ผลลัพธ์ 22.75 2.28e+01 5. ฟังก์ชัน putchar ( ) เป็นฟังก์ชันที่ใช้ในการแสดงผลข้อมูลชนิดตัวอักขระ (char) ให้ เห็นบนหน้าจอภาพ 6. ฟังก์ชัน puts ( ) เป็นฟังก์ชันที่ใช้ในการแสดงผลข้อมูลสตริงหรือข้อความ (string) ให้ เห็นบนหน้าจอภาพ รูปแบบ putchar ( char ); รูปแบบ puts ( string );
  • 16. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 16 4. ฟังก์ชัน scanf ( ) เป็นฟังก์ชันที่ใช้ในการรับข้อมูลจากแป้นพิมพ์(key board) เข้ามา เก็บไว้ในตัวแปร Argument list เป็นตัวแปรที่จะรับค่าจากแป้นพิมพ์มาเก็บไว้ถ้ามีมากกว่าหนึ่งค่า จะต้องแยกกันด้วยเครื่องหมายคอมม่า ( , ) และตัวแปรทุกตัวที่ใช้ จะต้องนําหน้าด้วยเครื่องหมาย & ทุกตัว ยกเว้นตัวแปรชุด Control เป็นรหัสรูปแบบที่ใช้ในการรับข้อมูลซึ่งจะต้องเขียนอยู่ภายใน เครื่องหมาย “ “ และจะมีรหัสรูปแบบเหมือนกับรหัสรูปแบบที่ใช้ ในคําสั่ง printf ตัวอย่าง แสดงการใช้คําสั่ง scanf main( ) { int num; scanf( “ %d ” ,&num); } หมายความว่า เครื่องจะรอรับค่าที่เป็นจํานวน เต็มหนึ่งจํานวนที่จะป้อนเข้ามาทางแป้นพิมพ์ มาเก็บไว้ในตัวแปร num ตัวอย่าง แสดงการใช้คําสั่ง scanf main( ) { int num; char ch; scanf(“ %d %c ” ,&num, &ch); } หมายความว่า เครื่องจะรอรับค่าที่เข้ามา 2 ค่า คือค่าที่หนึ่งเป็นจํานวนเต็มหนึ่งจํานวน และ ค่าที่สองเป็นอักขระหนึ่งตัวที่จะป้ อนเข้ามาที่ จะป้ อนเข้ามาทางแป้ นพิมพ์แล้วนําไปเก็บไว้ ในตัวแปร num และ ch ตามลําดับ รูปแบบ scanf (control, argument list);
  • 17. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 17 5. ฟังก์ชัน getchar ( ) เป็นฟังก์ชันที่ใช้ในการรับข้อมูลจากแป้นพิมพ์ทีละ 1 ตัวอักขระ โดยต้องกด enter ทุกครังเมื่อสินสุดข้อมูล และข้อมูลที่ป้อนจะปรากฎให้เห็นบนหน้าจอภาพ 6. ฟังก์ชัน getch ( ) เป็นฟังก์ชันที่ใช้ในการรับข้อมูลเป็นตัวอักขระ 1 ตัวอักขระเข้ามา ทางแป้นพิมพ์โดยเมื่อป้อนข้อมูลเสร็จไม่ต้องกดปุ่ม enter และข้อมูลที่ป้อนจะไม่ปรากฎบน หน้าจอภาพ 7. ฟังก์ชัน getche ( ) เป็นฟังก์ชันที่ใช้ในการรับข้อมูลเป็นตัวอักขระ 1 ตัวอักขระเข้ามา ทางแป้นพิมพ์โดยเมื่อป้อนข้อมูลเสร็จไม่ต้องกดปุ่ม enter และข้อมูลที่ป้อนจะปรากฎบน หน้าจอภาพ 8. ฟังก์ชัน gets ( ) เป็นฟังก์ชันที่ใช้ในการรับข้อมูลสตริงหรือข้อความ (string) เข้ามา ทางแป้นพิมพ์โดยต้องกด enter ทุกครังเมื่อสินสุดข้อมูล และข้อมูลที่ป้อนจะปรากฏให้เห็นบน หน้าจอภาพ ตัวอย่างโปรแกรม การใช้คําสั่งรับ - แสดงผล #include <stdio.h> void main() { int x_value = 9; printf("x = %dn",x_value); } รูปแบบ char = getchar ( ); รูปแบบ char = getch ( ); รูปแบบ getche ( ); รูปแบบ gets ( string );
  • 18. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 18 #include <stdio.h> void main() { int x, y, sum; x = 7; y = 2; sum = x + y; printf("Total = %dn",sum); } #include <stdio.h> void main() { int x, y; x = 7; y = 4; --x; ++y; printf("x = %dn",x); printf("y = %dn",y); } #include <stdio.h> void main() { int profits, employees; profits = 9; employees = 2 ; printf("Each employee gets %f.", (float) profits/employees); }
  • 19. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 19 include <stdio.h> void main() { char any_char; printf("Please type a character: "); scanf("c%",&any_char); printf("Thank you, your character are %c",any_char); } #include <stdio.h> void main(void) { printf("n****Using .1f****n"); printf("%.1f%.1f%.1fn", 4.0, 16.5, 589.3); printf("%.1f%.1f%.1f", 400.0, 1600.5, 58900.3); printf("nn****Using 8.1f****n"); printf("%8.1f%8.1f%8.1fn", 4.0, 16.5, 589.3); printf("%8.1f%8.1f%8.1f", 400.0, 1600.5, 58900.3); printf("nn**** Using -8.1f****n"); printf("%-8.1f%-8.1f%-8.1fn", 4.0, 16.5, 589.3); printf("%-8.1f%-8.1f%-8.1f", 400.0, 1600.5, 58900.3); }
  • 20. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 20 #include <stdio.h> void main(void) { printf("n"); printf("xC9xCDxBBn"); printf("xC8xCDxBCn"); } #include <stdio.h> #include <ctype.h> void main() { char any_char; printf("Please type a lowercase letter:"); scanf("%c", &any_char); if(any_char >= 'a') printf("In uppercase: %c n", toupper(any_char)); } ตัวอย่างโปรแกรม การใช้คําสั่งรับ – แสดงผล ที่มา :: พ.อ.เจนวิทย์ เหลืองอร่ามและปิยวิทย์ เหลืองอร่าม , การเขียนโปรแกรม สําหรับ Application ด้วย C/C++, ธรรมสาร จํากัด, 2543
  • 21. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 21 คําสั่งการทํางานแบบมีทางเลือก การทํางานแบบมีทางเลือก หมายถึง การกําหนดให้โปรแกรมทํางานอย่างใดอย่างหนึ่ง เมื่อเงื่อนไขเป็นจริงและทํา (หรือไม่ทํา) งานอีกอย่างหนึ่งเมื่อเงื่อนไขเป็นเท็จ ตัวอย่างการเลือก ทําที่อาจพบเห็นได้บ่อยเช่น การเตือนให้เลือกบันทึกข้อความไว้ในดิสก์คือ Save (Y/N) ถ้าเลือก Y จะบันทึกข้อมูลในดิสก์ ถ้าเลือก N จะไม่บันทึกข้อมูล การเลือกทํามี 2 แบบคือการเลือกทําแบบ if และการเลือกทําแบบ switch ♦ คําสั่ง if (if statement) ♦ คําสั่ง switch (switch statement) การเลือกทําแบบ if เริ่มด้วยการทดสอบเงื่อนไข ถ้าเงื่อนไขเป็นจริง สเตตเมนต์ต่อจาก if จะทํางาน ถ้าเงื่อนไขเป็นเท็จสเตตเมนต์ต่อจาก if จะไม่ทํางานรูปแบบของการเลือกทําแบบ if มี 3 รูปแบบคือ 1. การเลือกทําแบบ if ที่มีสเตตเมนต์เดียว และหลายสเตตเมนต์มีรูปแบบดังนี การเลือกทําแบบ if รูปแบบ if (condition) // if ที่มีสเตตเมนต์เดียว statement - 1; -- หรือ -- if (condition) // if หลายสเตตเมนต์ { statement - 1; statement - 2; … }
  • 22. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 22 2. ทําแบบ if – else ที่มีสเตตเมนต์เดียว และหลายสเตตเมนต์มีรูปแบบดังนี รูปแบบ if (condition) // if – else ที่มีสเตตเมนต์ เดียว statement - 1; else statement - 2; -- หรือ -- if (condition) // if – else หลายสเตตเมนต์ { statement - 1; … } else { statement - 2; … }
  • 23. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 23 3. แบบ if – else – if ที่มีสเตตเมนต์เดียว และหลายสเตตเมนต์มีรูปแบบดังนี รูปแบบ if (condition) // if – else - if ที่มีสเตตเมนต์เดียว statement - 1; else if (condition) statement - 2; … else statement - n; -- หรือ -- if (condition) // if – else - if หลายสเตตเมนต์ { statement - 1; … } else if (condition) { statement - 2; … } … else { statement - n; … }
  • 24. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 24 ตัวอย่างโปรแกรม การใช้คําสั่งเลือกทําแบบ if #include <stdio.h> #include <ctype.h> void main() { char any_char; printf("Please type a lowercase letter:"); scanf("%c",&any_char); if(any_char < 'a') printf("Sorry, I can not capitalize that.n"); else printf("Thank you. In uppercase : %c.",toupper (any_char)); } #include <stdio.h> #include <ctype.h> void main() { char any_char ; printf("Please type a lowercase letter:"); scanf("%c",&any_char); if(any_char< 'a') printf("Sorry,I can not capitalize that./n"); else if (any_char>'z') printf("Sory, I can not capitalize that./n"); else printf("Thank you. In uppercase: %c n", toupper (any_char)); }
  • 25. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 25 #include <stdio.h> // for printf() #include <conio.h> // for getche() void main(void) { int x, y; clrscr(); printf("n"); // new line for (y=1; y<24; y++) // step down the screen { for (x=1; x<24; x++) // step across the screen if ( x == y ) // NW-SE diagonal? printf("xDB"); // print solid color else if ( x == 24 - y ) // SW-NE diagonal? printf("xDB"); // print solid color else printf("xB0"); // print gray printf("n"); // next line delay(200); } getche(); } ตัวอย่างโปรแกรม การใช้คําสั่งเลือกทําแบบ if ที่มา :: พ.อ.เจนวิทย์ เหลืองอร่ามและปิยวิทย์ เหลืองอร่าม , การเขียนโปรแกรม สําหรับ Application ด้วย C/C++, ธรรมสาร จํากัด, 2543
  • 26. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 26 คําสั่ง switch ใช้เพื่อเลือกทําคําสั่งใดคําสั่งหนึ่งตามต้องการ โดยมีทางเลือกให้ทําคําสั่ง หลาย ๆ ทาง ค่าตัวแปรจะทําหน้าที่ควบคุมคําสั่ง switch คําสั่ง switch และคําสั่ง if – else – if เป็นคําสั่งเลือกทํา เช่นเดียวกัน แต่ต่างกันที่รูปแบบเงื่อนไข ต่อไปนีเป็นรูปแบบของการเลือกทํา แบบ switch การเลือกทําแบบ switch มีวิธีเลือกทําโดยการเปรียบเทียบค่าของ switch แวเรียเบิล กับ ค่าของคอนสแตนต์ในแต่ละ case ถ้ามีค่าเท่ากันสเตตเมนต์ของ case นันจะทํางาน และถ้าค่าของ switch แวเรียเบิลไม่เท่ากับค่าของคอนสแตนต์ใน case ใด ๆ เลย สเตตเมนต์ของ default จะ ทํางาน การเลือกทําแบบ switch รูปแบบ switch ( แวเรียเบิลชนิด int หรือ char ) { case คอนสแตนต์ชนิด int หรือ char : สเตตเมนต์; สเตตเมนต์; break; case คอนสแตนต์ชนิด int หรือ char : สเตตเมนต์; สเตตเมนต์; break; default : สเตตเมนต์; สเตตเมนต์; }
  • 27. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 27 ตัวอย่างโปรแกรม การใช้คําสั่งเลือกทําแบบ switch #include <stdio.h> void main() { int ch; clrscr(); printf(" Menu n"); printf("===================n"); printf(" 1 :Create Data n"); printf(" 2 :Display Data n"); printf(" 3 :Append Data n"); printf(" 4 :Edit Data n"); printf(" 5 :Quit n"); printf("===================n"); printf("Please select <1, 2, 3, 4, 5 > ==> "); scanf("%d", & ch); switch (ch) { case 1: printf("You take choice 1:Create Data n"); break; case 2: printf("You take chaoice 2:Display Datan"); break; case 3: printf("You take choice 3:Append Data n"); break; case 4: printf("You take choice 4: Edit Data n"); break; case 5: printf("You take choice 5:Quitn"); break; default: printf("You take choice the other:default"); } } ข้อสังเกต แวเรียเบิลและคอนสแตนต์ที่ใช้สําหรับเปรียบเทียบในการเลือกทําแบบ switch จะต้องมีชนิดเป็น int และ char เท่านัน
  • 28. หลักการแก้ปัญหาและการโปรแกรม [ง 40102] สาขาวิชาคอมพิวเตอร์ และเทคโนโลยี 28 #include <stdio.h> // for printf() void main(void) { float Fnum1=1.0, Fnum2=1.0; char op; clrscr(); while ( !(Fnum1==0.0 && Fnum2==0.0) ) { printf("nnEnter number, operator, numbern"); scanf("%f %c %f", &Fnum1, &op, &Fnum2); switch ( op ) { case '+' : printf(" = %f", Fnum1 + Fnum2); break; case '-' : printf(" = %f", Fnum1 - Fnum2); break; case '*' : case 'x' : printf(" = %f", Fnum1 * Fnum2); break; case '/' : case '': printf(" = %f", Fnum1 / Fnum2); break; default : printf("Unknown operator"); } // end switch } // end while } // end main() ตัวอย่างโปรแกรม การใช้คําสั่งเลือกทําแบบ switch :: พ.อ.เจนวิทย์ เหลืองอร่ามและปิยวิทย์ เหลืองอร่าม , การเขียนโปรแกรม สําหรับ Application ด้วย C/C++, ธรรมสาร จํากัด, 2543 เ