20204-2004 หลักการเขียนโปรแกรม

ภาษา C++

ภาษาโปรแกรม

Computer Languages

  1. ภาษาระดับต่ำ

    1. ภาษาเครื่อง (1GL) คำสั่งเป็นตัวเลขล้วน ๆ

    2. ภาษาแอสเซมบลี (2GL) คำสั่งเป็นตัวอักษร อาศัยตัวแปล

  2. ภาษาระดับสูง

    • เขียนชุดคำสั่งด้วยภาษาอังกฤษ (มนุษย์เข้าใจ)

    • คอมไพเลอร์ ทำการแปลชุดคำสั่งเป็น

    • ภาษาเครื่อง เพื่อสั่งการให้คอมพิวเตอร์ทำงานได้

ภาษาระดับต่ำ VS ภาษาระดับสูง

1: MOV eax, 3
MOV ebx, 4
ADD eax, ebx, ecx

แอสเซมบลี

int a,b,c;
a = 3;
b = 4;
c = a+b;

ซีพลัสพลัส

คอมพิวเตอร์

Computer

ภาษาระดับต่ำ

Low-level Language

เช่น ภาษาเครื่อง, ภาษาแอสเซมบลี

คอมไพเลอร์

Compliter / Interpreter

ภาษาระดับสูง

High-level Language

เช่น Pascal, Ruby, Pyhton, C++, ...

ภาษาระดับสูง

High-level Languages

  1. สร้างขึ้นเพื่อช่วยอำนวยความสะดวกในการเขียนโปรแกรม

  2. ลักษณะของคำสั่งจะประกอบด้วยคำต่าง ๆ ในภาษาอังกฤษ

  3. เขียนโปรแกรมง่ายกว่าภาษาระดับต่ำ (ภาษาเครื่อง)

  4. ต้องมีโปรแกรมที่ทำหน้าที่แปลภาษา (Compiler)

  5. เช่น ฟอร์แทรน, เดลฟาย, โคบอล, ซี, ซีพลัสพลัส, พีเอชพี, เบสิค, ไพทอน, จาวา, รูบี้, และ ฯลฯ

C++ (ซีพลัสพลัส)

ภาพรวม

  • เริ่มต้นมาจากภาษีซี (C) พัฒนาจากห้องปฏิบัติการเบลล์ของ AT&T ในปี ค.ศ. 1972

  • เป็นที่นิยมมาในหมู่นักพัฒนาโปรแกรม เพราะภาษาซีรวมเอาคำสั่งจากภาษาระดับต่ำและระดับสูงมารวมไว้ด้วยกัน

  • ทำงานเร็วมาก ..โครงสร้างบางส่วนมาจากภาษาระดับต่ำ

  • จากคอนเซ็ปในการเขียนโปรแกรมเชิงวัตถุ ทำให้เกิดภาษา C++ ที่พัฒนามาจากภาษาซี ในปี ค.ศ. 1983

C++ (ซีพลัสพลัส)

ภาพรวม

  • เป็นภาษาโปรแกรมเชิงพาณิชย์ที่นิยมมากนับตั้งแต่ยุค 90

  • ได้รับการรับรองในปี ค.ศ. 1998 ISO/IEC 14882:1998

  • เวอร์ชันล่าสุดคือ ค.ศ. 2020 รู้จักกันในชื่อ C++20

  • C++ ได้ถูกออกแบบสำหรับการเขียนโปรแกรมทั่วไป สามารถรองรับการเขียนโปรแกรมในระดับภาษาเครื่องได้

  • มาตรฐานของ C++ ออกแบบมาใช้กับทุก ๆ แพลตฟอร์ม

  • C++ รองรับรูปแบบการเขียนโปรแกรมที่หลากหลาย

จัดการสภาพแวดล้อม

เตรียมอุปกรณ์ให้พร้อม

สำหรับฝึกเขียนภาษา C++

คลิ้ก

(ถ้าติดตั้ง C++ บนอุปกรณ์แล้ว ข้ามไปยังสไลด์ต่อไปได้เลย)

โปรแกรมแรก

ภาษา C++

#include <iostream>
using namespace std;

int main() {
  cout << "Hello World!";
  return 0;
}

ผลการรัน

MyFirstProgram.cpp

โปรแกรมแรก

ภาษา C++

  1. #include <iostream>
    คำอธิบาย เป็นคำสั่งระบุรายละเอียดของ header file library ว่าโปรแกรมนี้จะใช้ฟังก์ชั่นการทำงานเกี่ยวกับ input (เช่น รับข้อมูลจากคีย์บอร์ด และ output (เช่น เขียนข้อมูลออกหน้าจอ) ในบรรทัดที่ 5 มีการเขียนข้อมูลออกหน้าจอ

  2. using namespace std;
    คำอธิบาย เราให้มีการใช้ชื่อ std อ้างอิงถึง object และ variable (ตัวแปร) ที่ใช้ในโปรแกรมนี้โดยอัตโนมัติ


  3. คำอธิบาย เป็นบรรทัดว่าง ไม่มีข้อมูล เว้นบรรทัดเพื่อให้ง่ายต่อการ อ่าน-ศึกษา โค้ด

  4. int main() {
    คำอธิบาย ฟังก์ชั่นเริ่มต้นการทำงานของโปรแกรมชื่อ main ทุกโปรแกรมของภาษา C++ เริ่มต้นทำงานที่นี่ เริ่มต้นด้วยสัญญลักษณ์ปีกกา { (เปิด) และ } (ปิด) เสมอ ชุดคำสั่งของฟังก์ชั่นนี้จะถูกเขียนอยู่ในปีกกา {...}

  5.   cout << "Hello World!";
    คำอธิบาย คำสั่งพิมพ์ข้อความออกหน้าจอ โดยข้อความ Hello World!

  6.   return 0;
    คำอธิบาย จุดสิ้นสุด หรือคำสั่งสุดท้ายของการทำงานฟังก์ชั่น main

  7. } # คำอธิบาย อย่าลืมว่ากำหนดสัญญลักษณ์ปีกกา (ปิด) } เพื่อสิ้นสุดขอบเขตการทำงานฟังก์ชั่น main

ทดลองทำดู

#include <iostream>

int main() {
  std::cout << "Hello World!";
  return 0;
}

ผลการรัน

MyFirstProgram.cpp

เปรียบเทียบโค้ด

#include <iostream>
using namespace std;

int main() {
  cout << "Hello World!";
  return 0;
}
#include <iostream>

int main() {
  std::cout << "Hello World!";
  return 0;
}

1

2

คำอธิบายโค้ด | Comments

C++

  • สัญญลักษณ์อธิบายโค้ดได้แก่

    1. // คำอธิบายโค้ดหนึ่งบรรทัด

    2. /* คำอธิบายโค้ดหลายบรรทัด */

#include <iostream>
/*
กฤษณ์ ท.
วท. ศรวีรการ
*/
int main() {
  std::cout << "Hello World!"; // พิมพ์ข้อความ'Hello World!' ออกหน้าจอ
  return 0;
}

โปรแกรมเมอร์ที่ดีและมีความยืดหยุ่นในการเขียนโปรแกรม มักเขียนคำอธิบายโค้ด (comments) กำกับ ไว้ในบริเวณโค้ดของตน เพื่อให้ง่ายต่อการจดจำ และอ้างอิงถึง เมื่อมาดูในภายหลัง

MySecondProgram.cpp

โปรแกรมที่สอง

ให้นักศึกษาเขียนโปรแกรมดังนี้ เมื่อรันโปรแกรม

  1. โปรแกรมถามผู้ใช้งานว่า 'คุณอายุเท่าไร ?'

  2. ผู้ใช้ใส่อายุของตนโดยการพิมพ์ข้อมูลผ่านคีย์บอร์ด

  3. โปรแกรม แสดงข้อความว่า 'ว้าววว, พวกเราอายุเท่ากันเลย! ฉันปีนี้อายุ [แสดงอายุที่พิมพ์เข้ามา] เหมือนกัน! เจ๋งมั้ยล่ะ!'

  4. จบการทำงาน

อัลกอริทึมของโปรแกรมที่สอง

MySecondProgram.cpp

โปรแกรมที่สอง

อัลกอริทึมของโปรแกรมที่สอง

ข้อความที่รับค่าจากผู้ใช้ ทางแป้นพิมพ์ (คีย์บอร์ด)

ข้อความที่รับค่าจากผู้ใช้ นำมาแสดงอีกครั้งในประโยคสุดท้าย

คำสั่ง C++ ที่ต้องใช้

MySecondProgram.cpp

  1. ส่วนหัว มีการประกาศใช้ ฟังก์ชั่นการทำงานในส่วนของ input และ output ของข้อมูล #include <iostream>

  2. ประกาศฟังก์ชั่น main() { ... } เพื่อเริ่มการทำงานของแอพ

  3. สร้างตัวแปร เพื่อเก็บข้อมูลอายุของผู้ใช้งาน int age นำคำสั่งนี้วางไว้ภายในฟังก์ชั่น main() { วางที่นี่ }

  4. มีการเขียนข้อมูลออกหน้าจอ สื่อสารไปยังผู้ใช้งาน คำสั่งที่ใช้ได้แก่ cout << "ข้อความออกหน้าจอ"

  5. มีการรับค่าข้อมูลจากผู้ใช้งาน cin >> ตัวแปรที่เก็บค่า

คำสั่ง C++ ที่ต้องใช้ (ต่อ)

MySecondProgram.cpp

  1. การเขียนข้อมูลออกหน้าจอด้วยข้อความร่วมกับตัวแปร คำสั่งที่ใช้ได้แก่ cout << "ข้อความออกหน้าจอ-1" << ตัวแปร << "ข้อความออกหน้าจอ-2" << std::endl;

  2. คำสั่ง std::endl หมายถึง ให้ขึ้นบรรทัดใหม่
    หมายเหตุ ควรใช้ในลำดับสุดท้ายเพราะต้องปิดด้วยสัญญลักษณ์ ;

  3. นักศึกษาเขียนโค้ดโปรแกรมฉบับเต็มและทดสอบรันจนผ่าน

  4. นำโค้ดดังกล่าวเขียนลงกระดาษและถ่ายรูปส่ง Assignment

โครงสร้างการเขียนโปรแกรมภาษา C++

C++ Structure

  1. Reserved Keywords - คำสงวน
    C++ มีประมาณ 95 คำสงวน เช่น break, int, try, ... ดูเพิ่ม

  2. Operators - ตัวดำเนินการ
    Logical, Mathematical, Relational, Conditional,
    Bitwise, Assignment, และ sizeof

  3. Punctuation - การเว้นวรรค
    เครื่องหมายวรรคตอน วงเล็บต่าง ๆ เช่น [] <> {} และ ฯลฯ

Aj. Krit Th.

https://www.kritth.com

Language C++

By Krit Th.

Language C++

  • 83