SlideShare a Scribd company logo
1 of 30
บทที่ 3
คำสั่งควบคุมของโปรแกรม
ในบทก่อนหน้า คุณได้เรียนพื้นฐานของภาษา C++ ไป
แล้ว ในบทนี้ คุณจะได้เรียนเกี่ยวกับการควบคุม
โปรแกรมโดยการใช้คาสั่งควบคุม อย่างเช่น if, if else,
switch, for, while, do-while คาสั่งเหล่านี้ใช้เพื่อควบคุม
โปรแกรมเพื่อให้ไปในทิศทางที่เราต้องการ
คาสั่ง If
คาสั่ง if ถูกใช้เพื่อควบคุมโปรแกรมกับเงื่อนไขที่กาหนด โค้ดใน
บล็อกของ คาสั่ง If จะทางานถ้าเงื่อนไขตรงหรือเป็นจริง
int n = 10;
if (n == 10) {
cout << "n is 10";
}ในตัวอย่างนี้ เราได้ใช้if เพื่อตรวจสอบว่าตัวแปร n เท่ากับ 10
หรือไม่ ถ้ามันตรงกับเงื่อนไข โปรแกรมจะทางานในบล็อคของ If
คือ cout << "n is 10".
คาสั่ง If
คาสั่ง if ถูกใช้เพื่อควบคุมโปรแกรมกับเงื่อนไขที่กาหนด โค้ดใน
บล็อกของ คาสั่ง If จะทางานถ้าเงื่อนไขตรงหรือเป็นจริง
int n = 10;
if (n == 10) {
cout << "n is 10";
}ในตัวอย่างนี้ เราได้ใช้if เพื่อตรวจสอบว่าตัวแปร n เท่ากับ 10
หรือไม่ ถ้ามันตรงกับเงื่อนไข โปรแกรมจะทางานในบล็อคของ If
คือ cout << "n is 10".
คาสั่ง If else
คาสั่ง If else นั้นคล้ายกับคาสั่ง if คาสั่ง Else เพื่อทาเงื่อนไขที่นอกเหลือจาก
เงื่อนไขอื่นทั้งหมด และมันจะต้องเริ่มต้นด้วยคาสั่ง if เสมอ
int m = -1;
if (n < 0) {
cout << "Negative number.";
}
else if (n > 0) {
cout << "Positive number.";
}
else {
cout << "Zero number";
}
ในตัวอย่าง คาสั่ง If สามารถมีเงื่อนไขได้หลายอันโดยการใช้ if else () เงื่อนไขสุดท้ายคือ
else ซึ่งมันจะทางานเมื่อไม่ตรงกับเงื่อนไขใดๆ ก่อนหน้า ในโค้ด เรามีตัวแปร m ซึ่งมี
ข้อมูลเป็นแบบ integer โปรแกรมของเรานั้นจะตรวจสอบว่า m เป็นจานวนเต็มบวก เต็ม
ลบ หรือศูนย์
มากไปกว่านั้น expression สามารถมีได้หลายเงื่อนไข โดยการใช้ตัวดาเนินการตรรกะ
int a = 12;
int b = 5;
if (a > 10 && b % 2 == 0) {
cout << "a is greater than 10 and b is even number.";
}
else {
cout << "Other condition";
}
คาสั่ง Switch case
คาสั่ง switch-case นั้นคล้ายกับ คาสั่ง If-else เป้าหมายของมันเพื่อตรวจสอบกับค่าคงที่ นี่
เป็นตัวอย่างการใช้คาสั่ง switch
switch (n) {
case 1:
cout << "n is 1";
break;
case 2:
cout << "n is 2";
break;
default:
cout << "Unknown n";
}
ในตัวอย่าง มันสามารถถูกเขียนโดยการใช้คาสั่ง if-else ได้ดังด้านล่างนี้
#include<iostream>
using namespace std;
int main ()
{
if (n == 1) {
cout << "n is 1";
}
else if (n == 2) {
cout << "n is 2";
}
else {
cout << "Unknown n";
}
return 0;
}
คาสั่ง while loop
ลูปที่ง่ายและพื้นฐานที่สุดในภาษา C++ นั้นคือ while loop ซึ่งมีรูปแบบการ
ใช้งานคือ
while (expression) {
statements
}คาสั่ง while-loop ใช้เพื่อทาสั่งโค้ดของโปรแกรมในขณะที่ expression เป็น
จริง true และมันจะสิ้นสุดการทางานเมื่อ expression ไม่เท็จและออกจาก
while-loop และทาคาสั่งอื่นต่อไป
คาสั่ง do-while loop
ลูปที่คล้ายกับ while-loop คือ do-while ลูป มันมีรูปแบบดังนี้
do
{
statements
} while (condition);
มันทางานเหมือน while loop ยกเว้นในการเปรียบเทียบเงื่อนไขจะทาตอนท้าย
หลังจากสิ้นสุดคาสั่งในลูป นั่นหมายความว่า do-while loop จะต้องทางานอย่าง
น้อยหนึ่งรอบแน่นอน มันมักจะใช้กับโปรแกรมที่จาเป็นต้องรับค่าจากผู้ใช้ก่อนที่
จะทาอย่างอื่นต่อไป มาดูตัวอย่างที่ง่ายๆ
คาสั่ง for loop
for loop เป็นลูปที่มีการวนรอบเป็นจานวนที่แน่นอน รูปแบบของมันคือ
for (initialize; condition; increase) {
statements
}
for loop เป็นลูปที่สามารถวนรอบตามตัวเลขที่กาหนดได้มันทางานเหมือน
while-loop มันจะวนซ้าจนกว่า expressionจะเป็นเท็จ นอกจากนั้น เรายัง
สามารถประกาศตัวแปรเริ่มต้น สร้าง expression เพิ่มและลดค่าก่อนที่ลูปจะ
เริ่ม
ตัวอย่างการนับตัวเลขโดยการใช้for loop
#include <iostream>
using namespace std;
int main ()
{
for (int n = 1; n <= 10; n++) {
cout << n << ",";
}
cout << " end loop";
return 0;
}
คาสั่ง break
คาสั่ง break เพื่อจบลูปในทันที และมันไม่สนใจว่า expression จะเป็นจริงหรือไม่
#include <iostream>
using namespace std;
int main ()
{
for (int n = 1; n <= 10; n++) {
if(n == 5) break;
cout << n << ",";
}
cout << " end loop";
return 0;
}
คาสั่ง continue
ไม่เหมือนคาสั่ง break คาสั่ง continue ถูกใช้เพื่อข้ามการทางานในรอบปัจจุบัน ซึ่งจะไม่
ทาคาสั่งหลังจากมันและไปเริ่มรอบถัดไป
#include <iostream>
using namespace std;
int main ()
{
for (int n = 1; n <= 10; n++) {
if(n % 2 == 0) continue;
cout << n << ",";
}
cout << " end loop";
return 0;
}
ฟังก์ชัน
September 8, 2015
ฟังก์ชันเป็นส่วนหรือกลุ่มของคาสั่งเพื่อทางานบางอย่าง แนวคิดของ
ฟังก์ชันคือการรวบรวมโค้ดที่ใช้บ่อยๆ และซ้าๆ กลับมาใช้ใหม่
เมื่อคุณสร้างฟังก์ชันมันสามารถถูกเรียกใช้ได้จากทุกจุดของโปรแกรม
บางครั้งขึ้นกับขอบเขตของมัน รูปแบบในการเขียนฟังก์ชันในภาษา
C++ คือ:
type name ( parameter1, parameter2, ... ) {
statements
}
 - type เป็นประเภทของฟังก์ชันสาหรับการส่งค่ากลับ ประเภทของฟังก์ชัน
นั้นจะเป็นเหมือนประเภทของัวแปร เช่น integer, floating, double หรือ
แบบอ็อบเจ็ค ประเภทแบบvoidหมายความว่าฟังก์ชันไม่มีค่าที่ต้องส่งกลับ
- name นั้นเป็นชื่อของฟังก์ชันที่เราสร้างขึ้น มันมีวิธีการตั้งคือโดยการใช้
กฏแบบเดียวกันกับการตั้งชื่อตัวแปร มันสามารถประกอบไปด้วยตัวอักษร
ตัวเลข และ underscore (_) แต่ไม่สามารถเริ่มต้นด้วยตัวเลข
- Parameters เป็นเซ็ตของตัวแปรที่ถูกส่งเข้ามายังฟังก์ชัน ฟังก์ชันสามารถมี
หรือไม่มีพารามีเตอร์ก็ได้ขึ้นกับวัตถุประสงค์ของมัน
- Statement คือโค้ดของโปรแกรมที่จะทางานและให้ค่าผลลัพธ์ของฟังก์ชัน
Function parameters
เหมือนที่กล่าวไว้ก่อนหน้า ฟังก์ชันพารามิเตอร์เป็นเซ็ตของตัว
แปรหรืออ็อบเจ็คที่ส่งไปยังฟังก์ชัน ประเภทของพารามิเตอร์นั้น
เป็นตัวแปรหรือออบเจ็ค และฟังก์ชันสามารถมีหรือไม่มี
พารามิเตอร์ก็ได้มาดูตัวอย่างของการใช้ฟังก์ชันพารามิเตอร์
// Function without parameter
float getPI ()
{
return 3.14;
}
// Function with three parameters
int findVolume(float width, float long, float height)
{
float volume = width * long * height;
return volume;
}
Function arguments
ฟังก์ชันอากิวเม้นต์คือเซ็ตของตัวแปรที่ส่งไปยังฟังก์ชัน อากิวเม้นต์จะต้อง
ตรงกันกับฟังก์ชันพารามิเตอร์และเรียงไปตามลาดับที่ได้ประกาศไว้มาดู
สามตัวอย่างเกี่ยวกับฟังก์ชันอากิวเม้นต์
printData("Marcus", 14);
ฟังก์ชัน printData มีสองพารามิเตอร์ และประเภทอากิวเม้นต์ของมันคือ
string และ int ตามลาดับ ในการที่จะส่งอากิวเม้นต์ไปยังฟังก์ชัน อากิว
เม้นต์ตัวแรกจะต้องเป็น string ด้วย และตัวที่สองจะต้องเป็น integer
เช่นกัน
การส่งค่ากลับ return
การส่งค่ากลับจะใช้คาสั่ง return มันเป็นผลลัพธ์ของฟังก์ชันเพื่อที่จะ
ส่งกลับไปยังจุดเรียกเมื่อสิ้นสุดการทางานของฟังก์ชัน ประเภทตัวแปรที่
ส่งกลับจะต้องตรงกันกับประเภทของฟังก์ชัน และบางฟังก์ชันอาจจะไม่มี
การส่งค่ากลับ
อาเรย์
September 8, 2015
อาเรย์เป็นตัวแปรประเภทหนึ่งในภาษา C++ มันสามารถเก็บ
ข้อมูลที่เป็นชุดไว้ในตัวแปรเดียวโดยการใช้ index เพื่อเป็นตัวชี้
ของตาแหน่งข้อมูล ดังนั้นอาเรย์จึงเป็นตัวแปรประเภทหนึ่ง
และมีรูปแบบคือ:
type name[size];
พอยน์เตอร์
September 8, 2015
พอยน์เตอร์ เป็นตัวแปรที่ใช้เก็บตาแหน่งที่อยู่ของตัวแปร การใช้
พอยน์เตอร์ เราสามารถเข้าถึงข้อมูลที่เราต้องการได้โดยตรงโดย
การใช่ชื่อของตัวแปร และมันมีประโยชน์มากในการเขียน
โปรแกรมด้วยภาษาที่สามารถจัดการหน่วยความจาได้ง่าย เช่น
ภาษา C และภาษา C++
มีเครื่องหมายประมาณ 2-3 อันที่คุณจะต้องรู้เกี่ยวกับพอยน์เตอร์:
Address-of operator (&)
Dereference operator (*)
Declaration operator (*)
หน่วยความจาแบบไดนามิก
September 8, 2015
ในบทก่อนหน้าของบทเรียนนี้ คุณได้เห็นแล้วว่าหน่วยความจา
ต้องถูกจองก่อนสาหรับตัวแปร ก่อนที่โปรแกรมจะรัน ในบาง
กรณี เราอาจจะต้องการจองหน่วยความจาแบบไดนามิกส์ในเวลา
ที่โปรแกรมรัน
ในบทนี้ การจองหน่วยความจาแบบไดนามิส์ ในภาษา C++ นั้น
ให้เราสามารถจัดการกับหน่วยความจาได้ในเวลาที่โปรแกรม
ทางาน เช่น การจองหน่วยความจา และการคืนหน่วยความจา
ให้กับระบบ
โครงสร้างข้อมูล
September 8, 2015
Data structures
Data structure เป็นกลุ่มของตัวแปรที่สามารถรวมอยู่ในตัวแปรตัวเดียว
เราเรียกว่า structureตัวแปรที่อยู่ข้างในมันเรียกว่า members members
สามารถมีประเภทแระขนาดต่างๆ ในภาษา C++ เราสามารถสร้าง
โครงสร้างข้อมูลจากรูปแบบตามนี้:
struct struct_name {
member_type1 member_name1;
member_type2 member_name2;
member_type3 member_name3;
.
ประเภทข้อมูลอื่น
September 8, 2015
Type aliases (typedef)
ในภาษา C++ เราสามารถสร้างประเภทตัวแปรขึ้นมาเอง (aliases
type) ได้นั่นหมายความว่าชื่อของประเภทข้อมูลจะเป็นอะไรก็ได้
ตามที่เราต้องการ มีสองวิธีในการที่จะสร้างประเภทตัวแปรที่กาหนด
โดยผู้ใช้โดยการใช้คาสั่ง typedef และ using แต่ในบทเรียนนี้เราจะ
ใช้แค่ typedef และ typedef มีรูปแบบการใช้งานคือ:
typedef data_type identify;typedef เป็นคาสั่งในการ
สร้าง data_type เป็นประเภทข้อมูลเดิมที่มีอยู่เช่น int, float เป็นต้น
และ identify เป็นชื่อของตัวแปรที่มีกฏการตั้งชื่อเหมือนกับตัวแปร
คลาสและออบเจ็ค
September 8, 2015
C++ classes
ในการเขียนโปรแกรมเชิงวัตถุ คลาสเป็น program-code-template สาหรับสร้างออบ
เจ็ค
ในภาษา C++ ให้เราสามารถสร้างคลาสที่มีแนวคิดขยายมากจากโครงสร้างข้อมูล
คลาสสามารถถูกกาหนดโดยการใช้คาสั่ง class และมีรูปแบบดังนี้:
class class_name {
access_specifier_1:
member1;
access_specifier_2:
member2;
...
} object_names;
Type conversions
ในตัวอย่างนี้ เรามี 3 คาสั่ง และแต่ละคาสั่งได้ทีการแปลงข้อมูลแบบ
implicit conversion เราได้สร้างตัวแปร a และ b ในตัวอย่างเราจะได้a เป็น
10 เพราะว่าตัวแปร a นั้นเป็น integer ถึงแม้ว่าเราจะได้กาหนดค่า 10.5 ให้
มัน แต่คอมไพเลอร์จะทาการแปลงข้อมูลอัตโนมัติ นี้เรียกว่า Implicit
conversion
expression int c = a / b; c จะมีค่าเป็น 2 เพราะเกิดจาการทางานของคาสั่ง a
/ bเนื่องจากตัวแปรทั้งสองทั้ง a และ b มีประเภทเป็น (int) ถึงแม้ว่าเราจะ
ใช้คาสั่ง short ในการประกาศตัวแปร b แต่มันมีขนาดเล็กกว่า int และทั้ง
สองประเภทเก็บข้อมูลประเภทเดียวกัน
Exceptions
C++ exceptions
Exceptions เป็นวิธีที่จะจัดการกับโปรแกรมเพื่อให้ไปทาอย่างอื่นเมื่อมี
ข้อผิดพลาดเกิดขึ้น โปรแกรมจะพยายามทาบางอย่างที่เราได้ระบุไว้ถ้ามี
ข้อผิดพลาดเกิดขึ้น โปรแกรมจะย้ายไปทางานอีกส่วนของโปรแกรมที่
เรียกว่าฟังก์ชันตัวจัดการ Exceptions
Preprocessor directives
September 8, 2015
Preprocessor directives เป็นบรรทัดคาสั่งในโปรแกรมที่จะถูกประมวลผล
ก่อนที่คอมไพล์เลอร์จะทางาน มันทางานโดย preprocessor และคาสั่ง
เหล่านี้จะต้องใส่เครื่องหมาย (#) นาหน้า ข้อแตกต่างจากคาสั่งปกติคือมัน
จะไม่มีเซมิโคลอน (;) หลังจากคาสั่ง เพราะว่ามันใช้การขึ้นบรรทัดใหม่
เป็นตัวบ่งบอก แต่ถ้าเราต้องการให้มันอยู่ในบรรทัดเดียวกัน เราสามารถ
ใช้เครื่องหมายขึ้นบนนทัดใหม่ได้(/).
Input/output with files
September 8, 2015
ในบทสุดท้ายของบทเรียนภาษา C++ นี้ คุณจะได้เรียนการ
ดาเนินการพื้นฐานกับไฟล์โดยเราสามารถที่อ่านและเขียนบางอย่าง
ลงไปใน text ไฟล์fstream เป็นไลบรารีมาตรฐานที่ช่วยให้เรา
สามารถดาเนินการบางอย่างกับไฟล์ โดยจะมี 3 steam classes ใน
ไลบรารีที่แสดงในรายการข้างล่างนี้
ofstream: Stream class เพื่อเขียนข้อมูลลงไฟล์
ifstream: Stream class เพื่ออ่านข้อมูลจากไฟล์
fstream: Stream class เพื่ออ่านข้อมูลและเขียนข้อมูลกับไฟล์
อย่างไรก็ตาม ในบทนี้เราจะทางานกับแค่ text ไฟล์เท่านั้น
สมาชิก
นายอภิวัฒน์ จิตนิยม ม.6/3 เลขที่ 12
นายพีรพัฒน์ สงเคราะห์ ม.6/3 เลขที่ 13
นางสาวณิชากร ทองสุข ม.6/3 เลขที่ 19
นางสาวสุภัชชา ก้านเหลือง ม.6/3 เลขที่ 24
นางสาววิลาวัณย์กระจ่างแจ่ม ม.6/3 เลขที่ 26

More Related Content

What's hot

เงื่อนไข การตัดสินใจ
เงื่อนไข การตัดสินใจเงื่อนไข การตัดสินใจ
เงื่อนไข การตัดสินใจOraphan4
 
Php เงื่อนไขต่างๆ
Php เงื่อนไขต่างๆPhp เงื่อนไขต่างๆ
Php เงื่อนไขต่างๆJaemjan Sriarunrasmee
 
Java script 9786169103004_ch02
Java script 9786169103004_ch02Java script 9786169103004_ch02
Java script 9786169103004_ch02palm2816
 
Java Programming [9/12]: Exception Handling
Java Programming [9/12]: Exception HandlingJava Programming [9/12]: Exception Handling
Java Programming [9/12]: Exception HandlingIMC Institute
 
บทที่ 3 คำสั่งควบคุมโปรแกรม
บทที่ 3 คำสั่งควบคุมโปรแกรมบทที่ 3 คำสั่งควบคุมโปรแกรม
บทที่ 3 คำสั่งควบคุมโปรแกรมSutinun Goodour
 
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6Ploy StopDark
 
การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.Ploy StopDark
 
59170259 ผลคุณี
59170259 ผลคุณี59170259 ผลคุณี
59170259 ผลคุณีBeam Suna
 
capture 59170107 group 2
capture 59170107 group 2capture 59170107 group 2
capture 59170107 group 2Thamon Monwan
 
แคปเจอร์ คอม 59170031 group1
แคปเจอร์ คอม 59170031 group1แคปเจอร์ คอม 59170031 group1
แคปเจอร์ คอม 59170031 group1Thamon Monwan
 
โครงสร้างภาษาซี
โครงสร้างภาษาซีโครงสร้างภาษาซี
โครงสร้างภาษาซีPatipat04
 

What's hot (20)

เงื่อนไข การตัดสินใจ
เงื่อนไข การตัดสินใจเงื่อนไข การตัดสินใจ
เงื่อนไข การตัดสินใจ
 
Php เงื่อนไขต่างๆ
Php เงื่อนไขต่างๆPhp เงื่อนไขต่างๆ
Php เงื่อนไขต่างๆ
 
Java script 9786169103004_ch02
Java script 9786169103004_ch02Java script 9786169103004_ch02
Java script 9786169103004_ch02
 
Java Programming [9/12]: Exception Handling
Java Programming [9/12]: Exception HandlingJava Programming [9/12]: Exception Handling
Java Programming [9/12]: Exception Handling
 
Lesson3
Lesson3Lesson3
Lesson3
 
กลุ่ม 6
กลุ่ม 6กลุ่ม 6
กลุ่ม 6
 
งานทำ Blog บทที่ 6
งานทำ Blog บทที่ 6งานทำ Blog บทที่ 6
งานทำ Blog บทที่ 6
 
บทที่ 3 คำสั่งควบคุมโปรแกรม
บทที่ 3 คำสั่งควบคุมโปรแกรมบทที่ 3 คำสั่งควบคุมโปรแกรม
บทที่ 3 คำสั่งควบคุมโปรแกรม
 
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
 
การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.
 
ทบทวนภาษา C(1)
ทบทวนภาษา C(1)ทบทวนภาษา C(1)
ทบทวนภาษา C(1)
 
3.6 ฟังก์ชัน
3.6 ฟังก์ชัน3.6 ฟังก์ชัน
3.6 ฟังก์ชัน
 
4 การเขียนคำสั่งแบบวนซ้ำ
4 การเขียนคำสั่งแบบวนซ้ำ 4 การเขียนคำสั่งแบบวนซ้ำ
4 การเขียนคำสั่งแบบวนซ้ำ
 
59170259 ผลคุณี
59170259 ผลคุณี59170259 ผลคุณี
59170259 ผลคุณี
 
Unit10
Unit10Unit10
Unit10
 
capture 59170107 group 2
capture 59170107 group 2capture 59170107 group 2
capture 59170107 group 2
 
แคปเจอร์ คอม 59170031 group1
แคปเจอร์ คอม 59170031 group1แคปเจอร์ คอม 59170031 group1
แคปเจอร์ คอม 59170031 group1
 
โครงสร้างภาษาซี
โครงสร้างภาษาซีโครงสร้างภาษาซี
โครงสร้างภาษาซี
 
3.5 การแสดงผลและการรับข้อมูล
3.5 การแสดงผลและการรับข้อมูล3.5 การแสดงผลและการรับข้อมูล
3.5 การแสดงผลและการรับข้อมูล
 
Unit7
Unit7Unit7
Unit7
 

Viewers also liked

คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นParn Nichakorn
 
คำสั่งควบคุมโปรแกรม
คำสั่งควบคุมโปรแกรม คำสั่งควบคุมโปรแกรม
คำสั่งควบคุมโปรแกรม BoOm mm
 
คู่มือการใช้ Wordpress ในการสร้างบล็อก
คู่มือการใช้ Wordpress ในการสร้างบล็อกคู่มือการใช้ Wordpress ในการสร้างบล็อก
คู่มือการใช้ Wordpress ในการสร้างบล็อกTeacher Sophonnawit
 
เรื่องระบบปฏิบัติการ
เรื่องระบบปฏิบัติการเรื่องระบบปฏิบัติการ
เรื่องระบบปฏิบัติการพัน พัน
 
เรื่องภาษาซี
เรื่องภาษาซีเรื่องภาษาซี
เรื่องภาษาซีพัน พัน
 

Viewers also liked (6)

คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
คำสั่งควบคุมโปรแกรม
คำสั่งควบคุมโปรแกรม คำสั่งควบคุมโปรแกรม
คำสั่งควบคุมโปรแกรม
 
Is2
Is2Is2
Is2
 
คู่มือการใช้ Wordpress ในการสร้างบล็อก
คู่มือการใช้ Wordpress ในการสร้างบล็อกคู่มือการใช้ Wordpress ในการสร้างบล็อก
คู่มือการใช้ Wordpress ในการสร้างบล็อก
 
เรื่องระบบปฏิบัติการ
เรื่องระบบปฏิบัติการเรื่องระบบปฏิบัติการ
เรื่องระบบปฏิบัติการ
 
เรื่องภาษาซี
เรื่องภาษาซีเรื่องภาษาซี
เรื่องภาษาซี
 

Similar to คำสั่งควบคุมของโปรแกรม

ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1Little Tukta Lita
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานchanamanee Tiya
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานchanamanee Tiya
 
Java Programming [12/12] : Thread
Java Programming [12/12] : ThreadJava Programming [12/12] : Thread
Java Programming [12/12] : ThreadIMC Institute
 
9789740328766
97897403287669789740328766
9789740328766CUPress
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีNattapon
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1prapassonmook
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานPrapatsorn Keawnoun
 

Similar to คำสั่งควบคุมของโปรแกรม (20)

บทที่4
บทที่4บทที่4
บทที่4
 
Know4 3
Know4 3Know4 3
Know4 3
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
 
บทที่ 3 คำสั่งควบคุม ส่วนที่ 1
บทที่ 3 คำสั่งควบคุม ส่วนที่ 1บทที่ 3 คำสั่งควบคุม ส่วนที่ 1
บทที่ 3 คำสั่งควบคุม ส่วนที่ 1
 
C slide
C slideC slide
C slide
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
Presenter1234567
Presenter1234567Presenter1234567
Presenter1234567
 
ฟังก์ชั่น Switch
ฟังก์ชั่น Switchฟังก์ชั่น Switch
ฟังก์ชั่น Switch
 
Unit12
Unit12Unit12
Unit12
 
Java Programming [12/12] : Thread
Java Programming [12/12] : ThreadJava Programming [12/12] : Thread
Java Programming [12/12] : Thread
 
05 Loops
05  Loops05  Loops
05 Loops
 
9789740328766
97897403287669789740328766
9789740328766
 
9789740328766
97897403287669789740328766
9789740328766
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
 
ฟังก์ชั่น break
ฟังก์ชั่น breakฟังก์ชั่น break
ฟังก์ชั่น break
 
งานทำBlog บทที่ 10
งานทำBlog บทที่ 10งานทำBlog บทที่ 10
งานทำBlog บทที่ 10
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 

More from Parn Nichakorn

โดรนพันธุ์ใหม่บินก็ได้ ดำน้ำก็ดี
โดรนพันธุ์ใหม่บินก็ได้ ดำน้ำก็ดีโดรนพันธุ์ใหม่บินก็ได้ ดำน้ำก็ดี
โดรนพันธุ์ใหม่บินก็ได้ ดำน้ำก็ดีParn Nichakorn
 
lithium-oxygen แบตเตอรี่สายพันธุ์ใหม่ จุไฟได้มากกว่าเดิม 5 เท่า
lithium-oxygen แบตเตอรี่สายพันธุ์ใหม่ จุไฟได้มากกว่าเดิม 5 เท่าlithium-oxygen แบตเตอรี่สายพันธุ์ใหม่ จุไฟได้มากกว่าเดิม 5 เท่า
lithium-oxygen แบตเตอรี่สายพันธุ์ใหม่ จุไฟได้มากกว่าเดิม 5 เท่าParn Nichakorn
 
เทรนด์นวัตกรรมเครื่องปรับอากาศ
เทรนด์นวัตกรรมเครื่องปรับอากาศเทรนด์นวัตกรรมเครื่องปรับอากาศ
เทรนด์นวัตกรรมเครื่องปรับอากาศParn Nichakorn
 
การใช้งานโปรแกรม Microsoft Access
การใช้งานโปรแกรม Microsoft Accessการใช้งานโปรแกรม Microsoft Access
การใช้งานโปรแกรม Microsoft AccessParn Nichakorn
 
ฝาชีไฮเทคเทคโนโลยี
ฝาชีไฮเทคเทคโนโลยีฝาชีไฮเทคเทคโนโลยี
ฝาชีไฮเทคเทคโนโลยีParn Nichakorn
 
นาฬิกาปลุกระบบสัมผัส
นาฬิกาปลุกระบบสัมผัสนาฬิกาปลุกระบบสัมผัส
นาฬิกาปลุกระบบสัมผัสParn Nichakorn
 
ปากกาเขียนตามคำบอก
ปากกาเขียนตามคำบอกปากกาเขียนตามคำบอก
ปากกาเขียนตามคำบอกParn Nichakorn
 
ตู้ปลาอัจฉริยะ
ตู้ปลาอัจฉริยะตู้ปลาอัจฉริยะ
ตู้ปลาอัจฉริยะParn Nichakorn
 
หมอนอัจฉริยะ
หมอนอัจฉริยะหมอนอัจฉริยะ
หมอนอัจฉริยะParn Nichakorn
 
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศParn Nichakorn
 
โครงสร้างทางสังคม0
โครงสร้างทางสังคม0โครงสร้างทางสังคม0
โครงสร้างทางสังคม0Parn Nichakorn
 
ปลุกให้ตื่นด้วยกลิ่น
ปลุกให้ตื่นด้วยกลิ่นปลุกให้ตื่นด้วยกลิ่น
ปลุกให้ตื่นด้วยกลิ่นParn Nichakorn
 

More from Parn Nichakorn (13)

โดรนพันธุ์ใหม่บินก็ได้ ดำน้ำก็ดี
โดรนพันธุ์ใหม่บินก็ได้ ดำน้ำก็ดีโดรนพันธุ์ใหม่บินก็ได้ ดำน้ำก็ดี
โดรนพันธุ์ใหม่บินก็ได้ ดำน้ำก็ดี
 
lithium-oxygen แบตเตอรี่สายพันธุ์ใหม่ จุไฟได้มากกว่าเดิม 5 เท่า
lithium-oxygen แบตเตอรี่สายพันธุ์ใหม่ จุไฟได้มากกว่าเดิม 5 เท่าlithium-oxygen แบตเตอรี่สายพันธุ์ใหม่ จุไฟได้มากกว่าเดิม 5 เท่า
lithium-oxygen แบตเตอรี่สายพันธุ์ใหม่ จุไฟได้มากกว่าเดิม 5 เท่า
 
เทรนด์นวัตกรรมเครื่องปรับอากาศ
เทรนด์นวัตกรรมเครื่องปรับอากาศเทรนด์นวัตกรรมเครื่องปรับอากาศ
เทรนด์นวัตกรรมเครื่องปรับอากาศ
 
การใช้งานโปรแกรม Microsoft Access
การใช้งานโปรแกรม Microsoft Accessการใช้งานโปรแกรม Microsoft Access
การใช้งานโปรแกรม Microsoft Access
 
Itnew
ItnewItnew
Itnew
 
ฝาชีไฮเทคเทคโนโลยี
ฝาชีไฮเทคเทคโนโลยีฝาชีไฮเทคเทคโนโลยี
ฝาชีไฮเทคเทคโนโลยี
 
นาฬิกาปลุกระบบสัมผัส
นาฬิกาปลุกระบบสัมผัสนาฬิกาปลุกระบบสัมผัส
นาฬิกาปลุกระบบสัมผัส
 
ปากกาเขียนตามคำบอก
ปากกาเขียนตามคำบอกปากกาเขียนตามคำบอก
ปากกาเขียนตามคำบอก
 
ตู้ปลาอัจฉริยะ
ตู้ปลาอัจฉริยะตู้ปลาอัจฉริยะ
ตู้ปลาอัจฉริยะ
 
หมอนอัจฉริยะ
หมอนอัจฉริยะหมอนอัจฉริยะ
หมอนอัจฉริยะ
 
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
 
โครงสร้างทางสังคม0
โครงสร้างทางสังคม0โครงสร้างทางสังคม0
โครงสร้างทางสังคม0
 
ปลุกให้ตื่นด้วยกลิ่น
ปลุกให้ตื่นด้วยกลิ่นปลุกให้ตื่นด้วยกลิ่น
ปลุกให้ตื่นด้วยกลิ่น
 

คำสั่งควบคุมของโปรแกรม

  • 2. ในบทก่อนหน้า คุณได้เรียนพื้นฐานของภาษา C++ ไป แล้ว ในบทนี้ คุณจะได้เรียนเกี่ยวกับการควบคุม โปรแกรมโดยการใช้คาสั่งควบคุม อย่างเช่น if, if else, switch, for, while, do-while คาสั่งเหล่านี้ใช้เพื่อควบคุม โปรแกรมเพื่อให้ไปในทิศทางที่เราต้องการ
  • 3. คาสั่ง If คาสั่ง if ถูกใช้เพื่อควบคุมโปรแกรมกับเงื่อนไขที่กาหนด โค้ดใน บล็อกของ คาสั่ง If จะทางานถ้าเงื่อนไขตรงหรือเป็นจริง int n = 10; if (n == 10) { cout << "n is 10"; }ในตัวอย่างนี้ เราได้ใช้if เพื่อตรวจสอบว่าตัวแปร n เท่ากับ 10 หรือไม่ ถ้ามันตรงกับเงื่อนไข โปรแกรมจะทางานในบล็อคของ If คือ cout << "n is 10".
  • 4. คาสั่ง If คาสั่ง if ถูกใช้เพื่อควบคุมโปรแกรมกับเงื่อนไขที่กาหนด โค้ดใน บล็อกของ คาสั่ง If จะทางานถ้าเงื่อนไขตรงหรือเป็นจริง int n = 10; if (n == 10) { cout << "n is 10"; }ในตัวอย่างนี้ เราได้ใช้if เพื่อตรวจสอบว่าตัวแปร n เท่ากับ 10 หรือไม่ ถ้ามันตรงกับเงื่อนไข โปรแกรมจะทางานในบล็อคของ If คือ cout << "n is 10".
  • 5. คาสั่ง If else คาสั่ง If else นั้นคล้ายกับคาสั่ง if คาสั่ง Else เพื่อทาเงื่อนไขที่นอกเหลือจาก เงื่อนไขอื่นทั้งหมด และมันจะต้องเริ่มต้นด้วยคาสั่ง if เสมอ int m = -1; if (n < 0) { cout << "Negative number."; } else if (n > 0) { cout << "Positive number."; } else { cout << "Zero number"; }
  • 6. ในตัวอย่าง คาสั่ง If สามารถมีเงื่อนไขได้หลายอันโดยการใช้ if else () เงื่อนไขสุดท้ายคือ else ซึ่งมันจะทางานเมื่อไม่ตรงกับเงื่อนไขใดๆ ก่อนหน้า ในโค้ด เรามีตัวแปร m ซึ่งมี ข้อมูลเป็นแบบ integer โปรแกรมของเรานั้นจะตรวจสอบว่า m เป็นจานวนเต็มบวก เต็ม ลบ หรือศูนย์ มากไปกว่านั้น expression สามารถมีได้หลายเงื่อนไข โดยการใช้ตัวดาเนินการตรรกะ int a = 12; int b = 5; if (a > 10 && b % 2 == 0) { cout << "a is greater than 10 and b is even number."; } else { cout << "Other condition"; }
  • 7. คาสั่ง Switch case คาสั่ง switch-case นั้นคล้ายกับ คาสั่ง If-else เป้าหมายของมันเพื่อตรวจสอบกับค่าคงที่ นี่ เป็นตัวอย่างการใช้คาสั่ง switch switch (n) { case 1: cout << "n is 1"; break; case 2: cout << "n is 2"; break; default: cout << "Unknown n"; }
  • 8. ในตัวอย่าง มันสามารถถูกเขียนโดยการใช้คาสั่ง if-else ได้ดังด้านล่างนี้ #include<iostream> using namespace std; int main () { if (n == 1) { cout << "n is 1"; } else if (n == 2) { cout << "n is 2"; } else { cout << "Unknown n"; } return 0; }
  • 9. คาสั่ง while loop ลูปที่ง่ายและพื้นฐานที่สุดในภาษา C++ นั้นคือ while loop ซึ่งมีรูปแบบการ ใช้งานคือ while (expression) { statements }คาสั่ง while-loop ใช้เพื่อทาสั่งโค้ดของโปรแกรมในขณะที่ expression เป็น จริง true และมันจะสิ้นสุดการทางานเมื่อ expression ไม่เท็จและออกจาก while-loop และทาคาสั่งอื่นต่อไป
  • 10. คาสั่ง do-while loop ลูปที่คล้ายกับ while-loop คือ do-while ลูป มันมีรูปแบบดังนี้ do { statements } while (condition); มันทางานเหมือน while loop ยกเว้นในการเปรียบเทียบเงื่อนไขจะทาตอนท้าย หลังจากสิ้นสุดคาสั่งในลูป นั่นหมายความว่า do-while loop จะต้องทางานอย่าง น้อยหนึ่งรอบแน่นอน มันมักจะใช้กับโปรแกรมที่จาเป็นต้องรับค่าจากผู้ใช้ก่อนที่ จะทาอย่างอื่นต่อไป มาดูตัวอย่างที่ง่ายๆ
  • 11. คาสั่ง for loop for loop เป็นลูปที่มีการวนรอบเป็นจานวนที่แน่นอน รูปแบบของมันคือ for (initialize; condition; increase) { statements } for loop เป็นลูปที่สามารถวนรอบตามตัวเลขที่กาหนดได้มันทางานเหมือน while-loop มันจะวนซ้าจนกว่า expressionจะเป็นเท็จ นอกจากนั้น เรายัง สามารถประกาศตัวแปรเริ่มต้น สร้าง expression เพิ่มและลดค่าก่อนที่ลูปจะ เริ่ม ตัวอย่างการนับตัวเลขโดยการใช้for loop
  • 12. #include <iostream> using namespace std; int main () { for (int n = 1; n <= 10; n++) { cout << n << ","; } cout << " end loop"; return 0; }
  • 13. คาสั่ง break คาสั่ง break เพื่อจบลูปในทันที และมันไม่สนใจว่า expression จะเป็นจริงหรือไม่ #include <iostream> using namespace std; int main () { for (int n = 1; n <= 10; n++) { if(n == 5) break; cout << n << ","; } cout << " end loop"; return 0; }
  • 14. คาสั่ง continue ไม่เหมือนคาสั่ง break คาสั่ง continue ถูกใช้เพื่อข้ามการทางานในรอบปัจจุบัน ซึ่งจะไม่ ทาคาสั่งหลังจากมันและไปเริ่มรอบถัดไป #include <iostream> using namespace std; int main () { for (int n = 1; n <= 10; n++) { if(n % 2 == 0) continue; cout << n << ","; } cout << " end loop"; return 0; }
  • 15. ฟังก์ชัน September 8, 2015 ฟังก์ชันเป็นส่วนหรือกลุ่มของคาสั่งเพื่อทางานบางอย่าง แนวคิดของ ฟังก์ชันคือการรวบรวมโค้ดที่ใช้บ่อยๆ และซ้าๆ กลับมาใช้ใหม่ เมื่อคุณสร้างฟังก์ชันมันสามารถถูกเรียกใช้ได้จากทุกจุดของโปรแกรม บางครั้งขึ้นกับขอบเขตของมัน รูปแบบในการเขียนฟังก์ชันในภาษา C++ คือ: type name ( parameter1, parameter2, ... ) { statements }
  • 16.  - type เป็นประเภทของฟังก์ชันสาหรับการส่งค่ากลับ ประเภทของฟังก์ชัน นั้นจะเป็นเหมือนประเภทของัวแปร เช่น integer, floating, double หรือ แบบอ็อบเจ็ค ประเภทแบบvoidหมายความว่าฟังก์ชันไม่มีค่าที่ต้องส่งกลับ - name นั้นเป็นชื่อของฟังก์ชันที่เราสร้างขึ้น มันมีวิธีการตั้งคือโดยการใช้ กฏแบบเดียวกันกับการตั้งชื่อตัวแปร มันสามารถประกอบไปด้วยตัวอักษร ตัวเลข และ underscore (_) แต่ไม่สามารถเริ่มต้นด้วยตัวเลข - Parameters เป็นเซ็ตของตัวแปรที่ถูกส่งเข้ามายังฟังก์ชัน ฟังก์ชันสามารถมี หรือไม่มีพารามีเตอร์ก็ได้ขึ้นกับวัตถุประสงค์ของมัน - Statement คือโค้ดของโปรแกรมที่จะทางานและให้ค่าผลลัพธ์ของฟังก์ชัน
  • 17. Function parameters เหมือนที่กล่าวไว้ก่อนหน้า ฟังก์ชันพารามิเตอร์เป็นเซ็ตของตัว แปรหรืออ็อบเจ็คที่ส่งไปยังฟังก์ชัน ประเภทของพารามิเตอร์นั้น เป็นตัวแปรหรือออบเจ็ค และฟังก์ชันสามารถมีหรือไม่มี พารามิเตอร์ก็ได้มาดูตัวอย่างของการใช้ฟังก์ชันพารามิเตอร์
  • 18. // Function without parameter float getPI () { return 3.14; } // Function with three parameters int findVolume(float width, float long, float height) { float volume = width * long * height; return volume; }
  • 19. Function arguments ฟังก์ชันอากิวเม้นต์คือเซ็ตของตัวแปรที่ส่งไปยังฟังก์ชัน อากิวเม้นต์จะต้อง ตรงกันกับฟังก์ชันพารามิเตอร์และเรียงไปตามลาดับที่ได้ประกาศไว้มาดู สามตัวอย่างเกี่ยวกับฟังก์ชันอากิวเม้นต์ printData("Marcus", 14); ฟังก์ชัน printData มีสองพารามิเตอร์ และประเภทอากิวเม้นต์ของมันคือ string และ int ตามลาดับ ในการที่จะส่งอากิวเม้นต์ไปยังฟังก์ชัน อากิว เม้นต์ตัวแรกจะต้องเป็น string ด้วย และตัวที่สองจะต้องเป็น integer เช่นกัน การส่งค่ากลับ return การส่งค่ากลับจะใช้คาสั่ง return มันเป็นผลลัพธ์ของฟังก์ชันเพื่อที่จะ ส่งกลับไปยังจุดเรียกเมื่อสิ้นสุดการทางานของฟังก์ชัน ประเภทตัวแปรที่ ส่งกลับจะต้องตรงกันกับประเภทของฟังก์ชัน และบางฟังก์ชันอาจจะไม่มี การส่งค่ากลับ
  • 20. อาเรย์ September 8, 2015 อาเรย์เป็นตัวแปรประเภทหนึ่งในภาษา C++ มันสามารถเก็บ ข้อมูลที่เป็นชุดไว้ในตัวแปรเดียวโดยการใช้ index เพื่อเป็นตัวชี้ ของตาแหน่งข้อมูล ดังนั้นอาเรย์จึงเป็นตัวแปรประเภทหนึ่ง และมีรูปแบบคือ: type name[size];
  • 21. พอยน์เตอร์ September 8, 2015 พอยน์เตอร์ เป็นตัวแปรที่ใช้เก็บตาแหน่งที่อยู่ของตัวแปร การใช้ พอยน์เตอร์ เราสามารถเข้าถึงข้อมูลที่เราต้องการได้โดยตรงโดย การใช่ชื่อของตัวแปร และมันมีประโยชน์มากในการเขียน โปรแกรมด้วยภาษาที่สามารถจัดการหน่วยความจาได้ง่าย เช่น ภาษา C และภาษา C++ มีเครื่องหมายประมาณ 2-3 อันที่คุณจะต้องรู้เกี่ยวกับพอยน์เตอร์: Address-of operator (&) Dereference operator (*) Declaration operator (*)
  • 22. หน่วยความจาแบบไดนามิก September 8, 2015 ในบทก่อนหน้าของบทเรียนนี้ คุณได้เห็นแล้วว่าหน่วยความจา ต้องถูกจองก่อนสาหรับตัวแปร ก่อนที่โปรแกรมจะรัน ในบาง กรณี เราอาจจะต้องการจองหน่วยความจาแบบไดนามิกส์ในเวลา ที่โปรแกรมรัน ในบทนี้ การจองหน่วยความจาแบบไดนามิส์ ในภาษา C++ นั้น ให้เราสามารถจัดการกับหน่วยความจาได้ในเวลาที่โปรแกรม ทางาน เช่น การจองหน่วยความจา และการคืนหน่วยความจา ให้กับระบบ
  • 23. โครงสร้างข้อมูล September 8, 2015 Data structures Data structure เป็นกลุ่มของตัวแปรที่สามารถรวมอยู่ในตัวแปรตัวเดียว เราเรียกว่า structureตัวแปรที่อยู่ข้างในมันเรียกว่า members members สามารถมีประเภทแระขนาดต่างๆ ในภาษา C++ เราสามารถสร้าง โครงสร้างข้อมูลจากรูปแบบตามนี้: struct struct_name { member_type1 member_name1; member_type2 member_name2; member_type3 member_name3; .
  • 24. ประเภทข้อมูลอื่น September 8, 2015 Type aliases (typedef) ในภาษา C++ เราสามารถสร้างประเภทตัวแปรขึ้นมาเอง (aliases type) ได้นั่นหมายความว่าชื่อของประเภทข้อมูลจะเป็นอะไรก็ได้ ตามที่เราต้องการ มีสองวิธีในการที่จะสร้างประเภทตัวแปรที่กาหนด โดยผู้ใช้โดยการใช้คาสั่ง typedef และ using แต่ในบทเรียนนี้เราจะ ใช้แค่ typedef และ typedef มีรูปแบบการใช้งานคือ: typedef data_type identify;typedef เป็นคาสั่งในการ สร้าง data_type เป็นประเภทข้อมูลเดิมที่มีอยู่เช่น int, float เป็นต้น และ identify เป็นชื่อของตัวแปรที่มีกฏการตั้งชื่อเหมือนกับตัวแปร
  • 25. คลาสและออบเจ็ค September 8, 2015 C++ classes ในการเขียนโปรแกรมเชิงวัตถุ คลาสเป็น program-code-template สาหรับสร้างออบ เจ็ค ในภาษา C++ ให้เราสามารถสร้างคลาสที่มีแนวคิดขยายมากจากโครงสร้างข้อมูล คลาสสามารถถูกกาหนดโดยการใช้คาสั่ง class และมีรูปแบบดังนี้: class class_name { access_specifier_1: member1; access_specifier_2: member2; ... } object_names;
  • 26. Type conversions ในตัวอย่างนี้ เรามี 3 คาสั่ง และแต่ละคาสั่งได้ทีการแปลงข้อมูลแบบ implicit conversion เราได้สร้างตัวแปร a และ b ในตัวอย่างเราจะได้a เป็น 10 เพราะว่าตัวแปร a นั้นเป็น integer ถึงแม้ว่าเราจะได้กาหนดค่า 10.5 ให้ มัน แต่คอมไพเลอร์จะทาการแปลงข้อมูลอัตโนมัติ นี้เรียกว่า Implicit conversion expression int c = a / b; c จะมีค่าเป็น 2 เพราะเกิดจาการทางานของคาสั่ง a / bเนื่องจากตัวแปรทั้งสองทั้ง a และ b มีประเภทเป็น (int) ถึงแม้ว่าเราจะ ใช้คาสั่ง short ในการประกาศตัวแปร b แต่มันมีขนาดเล็กกว่า int และทั้ง สองประเภทเก็บข้อมูลประเภทเดียวกัน
  • 27. Exceptions C++ exceptions Exceptions เป็นวิธีที่จะจัดการกับโปรแกรมเพื่อให้ไปทาอย่างอื่นเมื่อมี ข้อผิดพลาดเกิดขึ้น โปรแกรมจะพยายามทาบางอย่างที่เราได้ระบุไว้ถ้ามี ข้อผิดพลาดเกิดขึ้น โปรแกรมจะย้ายไปทางานอีกส่วนของโปรแกรมที่ เรียกว่าฟังก์ชันตัวจัดการ Exceptions
  • 28. Preprocessor directives September 8, 2015 Preprocessor directives เป็นบรรทัดคาสั่งในโปรแกรมที่จะถูกประมวลผล ก่อนที่คอมไพล์เลอร์จะทางาน มันทางานโดย preprocessor และคาสั่ง เหล่านี้จะต้องใส่เครื่องหมาย (#) นาหน้า ข้อแตกต่างจากคาสั่งปกติคือมัน จะไม่มีเซมิโคลอน (;) หลังจากคาสั่ง เพราะว่ามันใช้การขึ้นบรรทัดใหม่ เป็นตัวบ่งบอก แต่ถ้าเราต้องการให้มันอยู่ในบรรทัดเดียวกัน เราสามารถ ใช้เครื่องหมายขึ้นบนนทัดใหม่ได้(/).
  • 29. Input/output with files September 8, 2015 ในบทสุดท้ายของบทเรียนภาษา C++ นี้ คุณจะได้เรียนการ ดาเนินการพื้นฐานกับไฟล์โดยเราสามารถที่อ่านและเขียนบางอย่าง ลงไปใน text ไฟล์fstream เป็นไลบรารีมาตรฐานที่ช่วยให้เรา สามารถดาเนินการบางอย่างกับไฟล์ โดยจะมี 3 steam classes ใน ไลบรารีที่แสดงในรายการข้างล่างนี้ ofstream: Stream class เพื่อเขียนข้อมูลลงไฟล์ ifstream: Stream class เพื่ออ่านข้อมูลจากไฟล์ fstream: Stream class เพื่ออ่านข้อมูลและเขียนข้อมูลกับไฟล์ อย่างไรก็ตาม ในบทนี้เราจะทางานกับแค่ text ไฟล์เท่านั้น
  • 30. สมาชิก นายอภิวัฒน์ จิตนิยม ม.6/3 เลขที่ 12 นายพีรพัฒน์ สงเคราะห์ ม.6/3 เลขที่ 13 นางสาวณิชากร ทองสุข ม.6/3 เลขที่ 19 นางสาวสุภัชชา ก้านเหลือง ม.6/3 เลขที่ 24 นางสาววิลาวัณย์กระจ่างแจ่ม ม.6/3 เลขที่ 26