งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

การเขียนโปรแกรมด้วยภาษา C

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "การเขียนโปรแกรมด้วยภาษา C"— ใบสำเนางานนำเสนอ:

1 การเขียนโปรแกรมด้วยภาษา C
อาจารย์สมเกียรติ ช่อเหมือน สาขาวิชาวิศวกรรมซอฟต์แวร์ คณะวิทยาศาสตร์และเทคโนโลยี

2 เนื้อหาที่สนใจ ภาษาซี (C Language) โครงสร้างภาษาซี การแยกไฟล์ของภาษาซี
Preprocessor Commands & macro definitions ฟังก์ชันและการค่าส่งกลับ (Functions & Return Value) ตัวแปรและค่าคงที่ (Variables & Typed constant) คำสั่งและนิพจน์ (statement & Expressions) การแยกไฟล์ของภาษาซี ตัวแปลภาษาซี เครื่องมือที่รองรับการเขียนภาษาซี (IDEs for C/C++ Programming) ตัวอย่างการเขียนโปรแกรมภาษาซี

3 ภาษา C ภาษาซีเป็นภาษาที่นิยมในการเขียนโปรแกรมพื้นฐาน
สามารถประยุกต์ใช้กับงานต่างๆ ได้แก่ ระบบปฏิบัติการคอมพิวเตอร์ การคำนวณทางคณิตศาสตร์ โปรแกรมทางไฟฟ้า อิเล็กทรอนิกส์และ ไมโครคอนโทรลเลอร์ ภาษาซีที่เป็นรากฐานของภาษาอื่นๆ ภาษาซีเป็นภาษาเชิงคำสั่ง

4 โครงสร้างของโปรแกรมภาษาซี
Preprocessor Commands Functions Variables Statements & Expressions Comments

5 Preprocessor Commands
จัดการค่าเริ่มต้นของโปรแกรมจาก source code ก่อน compile จริง ดึงข้อมูลจากไฟล์อื่นมาใช้แทน เครื่องหมาย # หน้า คําสั่ง preprocessor directives

6 Preprocessor Commands

7 Source file inclusion (#include)
#include การรวมไฟล์อื่นเข้ากับ source program รูปแบบการใช้ดังนี้ #include <filename> หรือ #include “filename” เป็นไฟล์ข้อความ (text file) < > หมายถึง ไฟล์ใน system.s จากโฟลเดอร์ (C:\TC\INCLUDE) “” หมายถึง ไฟล์ใน directory เดียวกับ source code #include <stdio.h> includes stdio.h from include folder #include <iostream> includes cpp class library header iostream #include<my.cpp> includes my.cpp file from include folder #include “my.h” includes my.h file from current working folder #include “myfolder/abc.h” includes abc.h file from the myfolder which is available in current working folder

8 macro definitions (#define, #undef)
การกำหนดค่าคงที่ด้วยสัญลักษณ์ (Symbolic Constant) คือ การตั้งชื่อให้กับข้อมูลที่มีค่าคงที่หรือ แทนคำสั่ง เพื่อสะดวกในการอ้างถึงและแก้ไขข้อมูล มักนิยมใช้เป็นตัวพิมพ์ใหญ่เพื่อให้แตกต่างจากตัวแปร รูปแบบ #define identifier replacement เช่น #define PI #define STR1 .C Programming Language #define PR printf

9 Predefined Macros

10 Conditional inclusions (#ifdef, #ifndef, #if, #endif, #else and #elif)
คำสั่งที่ถูกใช้เพื่อตรวจสอบว่า macro directives ได้ถูกสร้างก่อนหน้านี้แล้วหรือไม่ และไม่สำคัญไม่ว่าค่ามันจะเป็นอะไร

11 Line control (#line) คำสั่งที่อนุญาติให้เราสามารถควบคุมว่าโปรแกรมจะแสดงข้อผิดพลาดอย่างไร

12 Error directive (#error)
Error directive ถูกใช้เพื่อหยุดการคอมไพล์ในบางโอกาส มักจะถูกใช้กับ conditional directives ถ้ามีเงื่อนไขที่ตรง

13 ฟังก์ชัน (Functions) ฟังก์ชันหลัก ค่าเริ่มต้นของโปรแกรมภาษาซี
ฟังก์ชันย่อย ฟังก์ชันพื้นฐาน ฟังก์ชันที่สร้างขึ้นเพื่อใช้งาน ประโยชน์ของฟังก์ชัน นำกลับมาใช้ซ้ำได้ ลดความซ้ำซ้อนในการเขียนโปรแกรม การแยกส่วนประกอบของโปรแกรม

14 ฟังก์ชันหลัก Main() ภาษา C มีฟังก์ชันหลัก ชื่อ main()
ฟังก์ชันหลักทำหน้าที่เป็นจุดเริ่มต้นสำหรับการรันโปรแกรม ควบคุมการทำงานของโปรแกรมด้วยการเรียกไปยังฟังก์ชันอื่น ๆ โปรแกรมมักจะหยุดการทำงานเมื่อสิ้นสุดการทำงานหลัก เมื่อมีการตรวจพบข้อผิดพลาดบางอย่าง อาจบังคับให้โปรแกรมสิ้นสุดลง

15 ฟังก์ชันที่สร้างขึ้นเพื่อใช้งาน
1

16 ค่าส่งกลับ (Return Value)
ฟังก์ชันจะส่งค่ากลับไปให้กับฟังก์ชั่นที่เรียก ผ่านชื่อฟังก์ชัน ผลลัพธ์ของฟังก์ชัน (output) คำสั่ง return ค่าที่ต้องการส่งกลับ ระบุประเภทของผลลัพธ์ที่จะส่งค่ากลับ

17 ฟังก์ชันในภาษา C ฟังก์ชันรับข้อมูลและฟังก์ชันแสดงผลข้อมูล
NetCDF-C Libraries

18 การประกาศตัวแปร (Variables)
ตัวแปรและค่าคงที่ ประเภทของตัวแปร ขอบเขตของตัวแปร เฉพาะส่วน (local variable) ส่วนรวม (global variable) การกำหนดค่าตัวแปร

19 ตัวแปรและค่าคงที่ ค่าคงที่ (constant) ไม่สามารถเปลี่ยนแปลงค่าในภายหลังได้ ตัวแปร (Variables) สามารถเปลี่ยนแปลงค่าได้ ใช้สำหรับเก็บข้อมูลในหน่วยความจำ ใช้ชื่ออ้างถึงข้อมูล (identifier) ตัวแปรถูกใช้เพื่อเก็บค่าของข้อมูลชนิดต่างๆ ได้ สามารถสร้างตัวแปรได้เป็นจำนวนมากโดยมีชื่อที่แตกต่างกัน รูปแบบของการประกาศตัวแปรในภาษา C type identifier; type identifier = value;

20 ชนิดของตัวแปร ตัวแปรที่มีเครื่องหมาย * ไม่ใช่ตัวแปรของภาษา C ตามมาตรฐาน ANSI C

21 ค่าคงที่ (Typed constant)
รูปแบบ  const data_type identifier = value; ประกาศค่าคงที่เหมือนกับตัวแปร แต่มีคำสั่ง const นำหน้า ทีที่สร้าง ค่าของข้อมูลอาจเป็นค่าคงที่หรือตัวแปรก็ได้ int  i ;                     // สร้างตัวแปรชื่อ i สำหรับเก็บข้อมูลจำนวนเต็ม   char  data ;              // สร้่างตัวแปรชื่อ data สำหรับเก็บข้อมูลชนิดตัวอักษร   float  num ;             // สร้างตัวแปรชื่อ num สำหรับเก็บข้อมูลชนิดทศนิยม   int  num = 1 ;          // สร้างตัวแปรชื่อ num สำหรับเก็บข้อมูลจำนวนเต็ม และมีค่าเริ่มต้นเท่ากับ 1   char font = 'A' ;        // สร้างตัวแปรชื่อ font สำหรับเก็บข้อมูลชนิดตัวอักษร และมีค่าเริ่มต้นเป็น ASCII คือ A   int  x = 0xFF ;          // สร้างตัวแปรชื่อ x สำหรับเก็บข้อมูลจำนวนเต็ม และมีค่าเริ่มต้นเป็น 0xFF อยู่ในรูปฐานสิบหก   unsigned int  x,y,z ;  // สร้างตัวแปร 3 ตัว ชื่อ x, y และ z สำหรับเก็บข้อมูลจำนวนเต็ม แบบไม่คิดเครื่องหมาย

22 executable statement & Expressions
เครื่องคอมพิวเตอร์จะทำตามคำสั่ง (Statements) ในโปรแกรมที่สร้างขึ้น โปรแกรมคอมพิวเตอร์ ประกอบไปด้วยคำสั่งต่าง ๆ แต่ละคำสั่งจะเขียนด้วยตัวอักษรพิมพ์เล็ก ใช้เครื่องหมาย ; เพื่อให้รู้ว่าจบคำสั่ง นิพจน์ (Expressions) หมายถึง การนำตัวแปร (variables) หรือค่าคงที่ (constant) มาสัมพันธ์กันด้วยสัญลักษณ์ต่างๆ เช่น เครื่องหมายทางคณิตศาสตร์ (เช่น + - * / ) เครื่องหมายเปรียบเทียบ (เช่น > = <) เครื่องหมายตรรกะ (เช่น OR, NOR)

23 Expression statements

24 คำสั่ง (Statements) Statement คือคำสั่งที่ใช้สั่งให้คอมพิวเตอร์ทำงานต่างๆ ซึ่งแบ่งออกได้เป็น 3 ประเภทคือ Expression Statement (operation) เครื่องหมายทางคณิตศาสตร์ (เช่น + - * / ) เครื่องหมายเปรียบเทียบ (เช่น > = <) เครื่องหมายตรรกะ (เช่น OR, NOR) Compound Statement {} Control Statement (if else, case, while, do while, for)

25 นิพจน์ (Expressions) การแทนค่า หรือการหาค่าของ data เช่น ตัวเลขหรือตัวแปร ประกอบด้วยสมาชิกเพียงตัวเดียว เช่นค่า constant ตัวแปร ประกอบด้วยตัวแปรหลายตัว สัมพันธ์กันด้วยเครื่องหมาย (operator) ตัวดำเนินการแบ่งออกได้เป็นหลายชนิดได้ดังนี้ Arithmetic operator Unary operator Relational and logical operator Assignment operator Condition operator

26 คำอธิบาย (Comments) //แบบบรรทัดเดียว /* แบบหลายบรรทัด */

27 C-Tokens คำที่ภาษาซี สงวนไว้ในการประมวลผล
ไม่สามารถนำไปตั้งชื่อตัวแปรหรือฟังก์ชันได้ ตัวอย่างเช่น

28 การแยกไฟล์ของภาษาซี ไฟล์นามสกุล *.c เริ่มต้นที่ฟังก์ชัน main()
สร้างฟังก์ชันหรือไลบรารีจัดเก็บไว้ในแต่ละไฟล์ได้ จัดเก็บไว้ภายในโฟลเดอร์เดียวกัน เรียกใช้ผ่านการประกาศไว้ก่อนฟังก์ชัน main() เรียกใช้ผ่านชื่อไฟล์ เรียกใช้ผ่านชื่อฟังก์ชัน สามารถรับส่งค่าระหว่างฟังก์ชันได้

29 ตัวอย่างการเขียนโปรแกรม

30 ตัวแปลภาษา ชุดแปลโปรแกรมของกนู (GNU Compiler Collection) หรือ (GCC)
เป็นชุดโปรแกรมแปลโปรแกรมสำหรับแปลภาษาโปรแกรมต่าง ๆ พัฒนาโดยโครงการกนู (GNU) และแจกจ่ายเป็นซอฟต์แวร์เสรี โดยชุด GCC ถือว่าเป็นชุดคอมไพเลอร์มาตรฐานในระบบปฏิบัติการแบบยูนิกซ์ อย่างเช่น ลินุกซ์ หรือ Mac OS X เป็นต้น ชื่อเดิมของ GCC คือ GNU C Compiler เนื่องจากในระยะแรกถูกพัฒนาขึ้นเป็นคอมไพเลอร์ของภาษาซีเท่านั้น

31 เครื่องมือที่รองรับการเขียนภาษาซี
การวิเคราะห์ภาษาที่ใช้จากนามสกุลของไฟล์ แล้วเรียกพรีโพรเซสเซอร์คอมไพเลอร์ แอสเซมเบลอร์ และ ลิงเกอร์ ตามลำดับ 

32 Best IDEs for C/C++ Programming
1. Netbeans for C/C++ Development 2. Code::Blocks 3. Eclipse CDT(C/C++ Development Tooling) 4. CodeLite IDE 5. Bluefish Editor 6. Brackets Code Editor 8. Atom Code Editor 9. Sublime Text Editor 10. JetBrains CLion 11. Microsoft’s Visual Studio Code Editor 12. KDevelop 13. Geany IDE 14. Ajunta DeveStudio 15. The GNAT Programming Studio 16. Qt Creator 17. Emacs Editor 18. VI/VIM Editor

33 ตัวอย่างโปรแกรมที่เขียนด้วยภาษาซี
for( i = 0; i<9 && winner==0; i++){ clrscr(); printf("\n\n"); printf("\t\t\t\t %c | %c | %c\n", board[0][0], board[0][1], board[0][2]); printf("\t\t\t\t \n"); printf("\t\t\t\t %c | %c | %c\n", board[1][0], board[1][1], board[1][2]); printf("\t\t\t\t %c | %c | %c\n", board[2][0], board[2][1], board[2][2]); player = i%2 + 1; do{ printf("\n\t\tPlayer %d, please enter the number [your] %c: ", player,(player==1)?'X':'O'); scanf("%d", &go); row = --go/3; column = go%3; }while(go<0 || go>9 || board[row][column]>'9'); board[row][column] = (player == 1) ? 'X' : 'O'; if((board[0][0] == board[1][1] && board[0][0] == board[2][2]) || (board[0][2] == board[1][1] && board[0][2] == board[2][0])) winner = player; else for(line = 0; line <= 2; line ++){ if((board[line][0] == board[line][1] && board[line][0] == board[line][2])|| (board[0][line] == board[1][line] && board[0][line] == board[2][line])) winner = player; } clrscr(); printf("\n\n"); printf("\t\t\t\t %c | %c | %c\n", board[0][0], board[0][1], board[0][2]); printf("\t\t\t\t \n"); printf("\t\t\t\t %c | %c | %c\n", board[1][0], board[1][1], board[1][2]); printf("\t\t\t\t %c | %c | %c\n", board[2][0], board[2][1], board[2][2]); if(winner == 0) printf("\n\t\t\tHow boring, it is a draw\n"); else printf("\n\t\tCongratulations, player %d, YOU ARE THE WINNER!\n", winner); } #include "stdio.h" #include "conio.h" void main(){ int i = 0; int player = 0; int go = 0; int row = 0; int column = 0; int line = 0; int winner = 0; char board[3][3] = { {'1','2','3'}, {'4','5','6'}, {'7','8','9'} };

34 สรุป การเขียนโปรแกรมด้วยภาษาซี จำเป็นต้องเข้าใจโครงสร้างและองค์ประกอบของโค้ด การแยกและประกอบส่วนของโปรแกรม โดยเขียนแยกแต่ละไฟล์แล้วเรียกใช้งานได้ ภาษาซีถือเป็นภาษาที่มีโครงสร้างชัดเจนและเป็นพื้นฐานในการเขียนโปรแกรมคอมพิวเตอร์ของภาษาต่างๆ


ดาวน์โหลด ppt การเขียนโปรแกรมด้วยภาษา C

งานนำเสนอที่คล้ายกัน


Ads by Google