บทที่ 6 โครงสร้างและ...
TRANSCRIPT
![Page 1: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/1.jpg)
บทท 6 โครงสรางและไวยากรณภาษาซ
![Page 2: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/2.jpg)
1. โครงสรางโปรแกรมภาษาซ
2. ประโยคค าสงในภาษาซ
3. ขอมล คาคงทและตวแปร
4. ตวด าเนนการและนพจน
5. ฟงกชนพนฐาน
หนวยท 6 โครงสรางและไวยากรณภาษาซ
สาระการเรยนร
![Page 3: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/3.jpg)
1. อธบายสวนประกอบของโครงสรางภาษาซได
2. จ าแนกค าสงในภาษาซได
3. บอกลกษณะการเขาถงขอมลได
4. ประกาศคาคงทในโปรแกรมในภาษาซได
5. จ าแนกลกษณะขอมลพนฐานได
6. ประกาศตวแปรในโปรแกรมภาษาซได
7. จ าแนกชนดของตวแปรได
8. บอกขอก าหนดในการตงชอตวแปรได
9. บอกวธการเปลยนประเภทตวแปรได
10. จ าแนกประเภทของตวด าเนนการในภาษาซได
11. เขยนนพจนในภาษาซได
12. อธบายการใชฟงกชนพนฐานในภาษาซได
13. เขยนโปรแกรมภาษาซรบขอมลและแสดงผลขอมลได
สมรรถนะการเรยนร
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 4: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/4.jpg)
แผนผงความคด (Mind Mapping) ของหนวยการเรยนร
โครงสรางและไวยากรณภาษาซ
โครงสรางโปรแกรมภาษาซ ไวยากรณภาษาซ
สวนหว
สวนฟงกชนหลก
สวนก าหนดฟงกชนทสรางขน
ประโยคค าสง
ขอมล
ตวแปร
ตวด าเนนการ
นพจน
นพจน ฟงกชนพนฐาน
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 5: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/5.jpg)
โปรแกรมทเขยนดวยภาษาซ มลกษณะโครงสรางแบงออกเปนสวน ๆ ดงน
1.สวนค าสงพร-โพรเซสเซอร (Pre-processor Command)
2.สวนประกาศ (Global Declarations)
3.สวนฟงกชนหลก (Main Function)
4.สวนก าหนดฟงกชนทสรางขน (User Defined Functions)
โครงสรางโปรแกรมภาษาซ
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 6: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/6.jpg)
เปนสวนทอยสวนแรกของโปรแกรม อยกอนฟงกชนหลก (Main
Function) ในสวนยงมองคประกอบทส าคญ ไดแก สวนค าสงพร-
โพรเซสเซอร สวนประกาศตวแปรแบบโกลบอลและประกาศฟงกชนท
สรางขนใชเอง
1. สวนค าสงพร-โพรเซสเซอร (Pre-processor Command)
2. สวนประกาศ (Global Declarations)
สวนหว (Header)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 7: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/7.jpg)
• #include Include text from a file
• #define Define a macro
• #ifdef Test if a symbol is defined
• #ifndef Test if a symbol is not defined
• #if Test if compile-time condition hold
• #elif Same elseif
• #endif End a pre-processor conditional
• #line Give a line number for compile message
• #pragme Implementation dependent directive
• #undef Undefine a macro
ประโยคค าสงพรโพรเซสเซอร
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 8: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/8.jpg)
#include
ใชส าหรบสงใหคอมไพเลอร น าไฟลทระบเขามารวมกบโปรแกรมกอนทจะท าการแปล
โปรแกรม สามารถเขยนได 2 รปแบบ คอ
#include <files.h>
โปรแกรมจะเรมคนหาไฟลจากไดเรกทอรทก าหนด เชน
#include <conio.h>
#include <stdio.h>
#include "files.h"
โปรแกรมจะเรมคนหาไฟลจากไดเรกทอรปจจบนกอน ถาหาไมพบกจะไปคนหาในไดเรกทอรท
ก าหนด เชน
#include "conio.h"
#include "stdio.h"
ตวอยางการใชค าสงพรโพรเซสเซอร
หนวยท 6 โครงสรางและไวยากรณภาษาซ หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 9: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/9.jpg)
#define
ใชส าหรบประกาศและก าหนดคาคงท
รปแบบ
#define ชอคาคงท คาทก าหนด
เชน
#define PI 3.1415926
#define NAME "Nuntchayathorn"
ตวอยางการใชค าสงพรโพเซสเซอร
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 10: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/10.jpg)
อยในสวนหว (Header) ของโปรแกรมทอยถดจากสวนค าสงพร-
โพรเซสเซอร เปนสวนทใชในการประกาศตวแปรแบบโกลบอล (Global Variable)
หรอ ประกาศฟงกชนขนใชเองในโปรแกรม User-Defined Function
– Global Variable Declaration
– User-Defined Function Declaration
สวนประกาศ (Global Declarations)
หนวยท 6 โครงสรางและไวยากรณภาษาซ หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 11: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/11.jpg)
– void function_name();
– void function_name(arguments);
– return_type function_name();
– return_type function_name(arguments);
รปแบบการประกาศฟงกชน
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 12: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/12.jpg)
เปนสวนทก าหนดการท างานหลก เมอสงรนโปรแกรมจะท างานในสวนนทนท สามารถเขยนได 2 รปแบบ คอ
• รปแบบของโปรแกรมหลก
void main( ) {
local variable declaration;
statements;
...
}
• รปแบบของฟงกชนหลก
int main( ) {
local variable declaration;
statements;
...
return 0;
}
สวนฟงกชนหลก (Main Function)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 13: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/13.jpg)
ในภาษาซสามารถเขยนฟงกชน ได 4 รปแบบ
• แบบไมมการรบคาและสงคากลบ
• แบบมการรบคาแตไมมการสงคากลบ
• แบบไมมการรบคาแตมการสงคากลบ
• แบบมการรบคาและสงคากลบ
สวนก าหนดฟงกชนทสรางขน (User Defined Functions)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 14: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/14.jpg)
1. แบบไมมการรบคาและสงคากลบ
void function_name( ) {
local variable declaration;
statements;
}
สวนก าหนดฟงกชนทสรางขน (User Defined Functions)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 15: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/15.jpg)
2. แบบมการรบคาแตไมมการสงคากลบ
void function_name( parameter ) {
local variable declaration;
statements;
}
สวนก าหนดฟงกชนทสรางขน (User Defined Functions)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 16: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/16.jpg)
3. แบบไมมการรบคาแตมการสงคากลบ
return_type function_name( ) {
local variable declaration;
statements;
var = ... ;
return var;
}
หนวยท 6 โครงสรางและไวยากรณภาษาซ หนวยท 6 โครงสรางและไวยากรณภาษาซ
สวนก าหนดฟงกชนทสรางขน (User Defined Functions)
![Page 17: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/17.jpg)
4. แบบมการรบคาและสงคากลบ
return_type function_name( parameter ) {
local variable declaration;
statements;
var = ... ;
return var;
}
หนวยท 6 โครงสรางและไวยากรณภาษาซ
สวนก าหนดฟงกชนทสรางขน (User Defined Functions)
![Page 18: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/18.jpg)
ประโยคค าสงในภาษาซ ม 2 ลกษณะ คอเปนค าสงและฟงกชน ประโยค
ค าสงสามารถใชไดทนท สวนฟงกชนจะตองมการน าไลบรารไฟลทไดนยาม
ฟงกชนตาง ๆ ไว โดยการ include ไฟลเหลานนไวในสวนหวโปรแกรม ประโยค
ค าสง (Statements) ทกค าสงจะพมพดวยอกษรตวเลกทงหมด และตองจบค าสงทก
ค าสงดวยเครองหมาย ; (Semi-colon) เสมอ อาจมขอยกเวน ทไมตองใส
เครองหมาย ; (Semi-colon) เชน กรณทค าสงนน มขอบเขตค าสง { } อาจไมตองจบ
ค าสงดวยเครองหมาย ; กได (จะใส ; หรอไมใสกได)
ประโยคค าสง (Statements) ในภาษาซ
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 19: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/19.jpg)
ค าสงในภาษาซ สามารถแบงเปนกลมค าสงตาง ๆ ไดดงน คอ
• ค าสงประกาศตวแปร (Variables Declaration)
• ค าสงก าหนดคา (Assignments)
• ค าสงเงอนไข และ ค าสงเลอกท า (Condition)
• ค าสงวนรอบการท างาน (Looping)
• ฟงกชนแสดงผล (Output)
• ฟงกชนรบขอมล (Input)
• ฟงกชนการค านวณ ตรวจสอบและแปลงขอมลตาง ๆ
• ฟงกชนเกยวกบสตรง (String functions)
• ฟงกชนเกยวกบวนและเวลา และเกยวกบเสยง
• ฟงกชนเกยวกบการท างานในโหมดกราฟก
• ฟงกชนด าเนนการเกยวกบไฟล
ค าสงในภาษาซ
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 20: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/20.jpg)
รปแบบ type var_list;
เชน
int a,b,c;
float f;
double d,ans;
char ch;
char str[30];
เปนตน
ค าสงประกาศตวแปร (Variables Declaration)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 21: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/21.jpg)
รปแบบ var = Expression;
เชน
a = 0;
b = a;
n= 10;
sum = n*(n+1)/2;
เปนตน
ค าสงก าหนดคา (Assignments)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 22: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/22.jpg)
• if
• if else
• switch/case
ค าสงเงอนไข และ ค าสงเลอกท า (Condition)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 23: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/23.jpg)
• do while
• while
• for
ค าสงวนรอบการท างาน (Looping)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 24: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/24.jpg)
ฟงกชนทถกนยามไวในไฟล conio.h, stdio.h ไดแก
• printf( )
• putchar( )
• puts( )
• cprintf( )
• clrscr( )
• clreol( )
• gotoxy( )
เปนตน
ฟงกชนแสดงผล (Output)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 25: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/25.jpg)
ฟงกชนทถกนยามไวในไฟล conio.h, stdio.h ไดแก
• scanf( )
• getch( )
• getche( )
• getchar( )
• gets( )
เปนตน
ฟงกชนรบขอมล (Input)
หนวยท 6 โครงสรางและไวยากรณภาษาซ หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 26: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/26.jpg)
• abs( )
• atoi( )
• atof( )
• atol( )
• rand( )
• randomize( )
• qsort( )
• max( )
• min( )
• strtod( )
• strtol( )
• stetold( )
• swap( )
• system( )
• time( )
เปนตน
ฟงกชนการค านวณ ตรวจสอบและแปลงขอมลตาง ๆ
ฟงกชนตาง ๆ ทถกนยามในไฟล stdlib.h ไดแก
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 27: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/27.jpg)
• isalnum( )
• isalpha( )
• isdigit( )
• islower( )
• isupper( )
• tolower( )
• toupper( )
เปนตน
ฟงกชนการค านวณ ตรวจสอบและแปลงขอมลตาง ๆ
ฟงกชนตาง ๆ ทถกนยามในไฟล ctype.h ไดแก
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 28: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/28.jpg)
• exp( )
• sqrt( )
• pow( )
• sin( )
• cos( )
• tan( )
• log( )
• log10( )
• ceil( )
• floor( )
• fabs( )
เปนตน
ฟงกชนการค านวณ ตรวจสอบและแปลงขอมลตาง ๆ
ฟงกชนตาง ๆ ทถกนยามในไฟล math.h ไดแก
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 29: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/29.jpg)
• strlen( )
• strcpy( )
• strcat( )
• strcmp( )
เปนตน
ฟงกชนเกยวกบสตรง (String functions)
ฟงกชนตาง ๆ ทถกนยามในไฟล string.h ไดแก
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 30: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/30.jpg)
• gettime( )
• getdate( )
• settime( )
• setdate( )
• sound( )
• delay( )
• nosound( )
เปนตน
ฟงกชนเกยวกบวนและเวลา และเกยวกบเสยง
ฟงกชนตาง ๆ ทถกนยามในไฟล dos.h ไดแก
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 31: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/31.jpg)
arc( )
bar( )
bar3d( )
circle( )
cleardevice( )
closegraph( )
drawpoly( )
ellipse( )
fillellipse( )
fillpoly( )
floodfill( )
getcolor( )
getimage( )
getmaxx( )
getmaxy( )
getx( )
gety( )
imagesize( )
initgraph( )
line( )
linerel( )
lineto( )
moverel( )
moveto( )
outtext( )
outtextxy( )
pieslice( )
putimage( )
putpixel( )
rectangle( )
setbkcolor( )
setcolor( )
setfillpattern( )
setfillstyle( )
settextstyle( )
เปนตน
ฟงกชนเกยวกบการท างานในโหมดกราฟก
ฟงกชนตาง ๆ ทถกนยามในไฟล graphics.h ไดแก
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 32: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/32.jpg)
• fopen( )
• fgetc( )
• fgets( )
• fputs( )
• fputc( )
• fscanf( )
• fprintf( )
• fseek( )
• feof( )
• fclose( )
เปนตน
ฟงกชนด าเนนการเกยวกบไฟล
ฟงกชนตาง ๆ ทถกนยามในไฟล stdio.h ไดแก
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 33: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/33.jpg)
• รปแบบการเขยนหมายเหต บรรทดเดยว (Single-Line Comment)
โดยพมพเครอง Double slash // หนาขอความทท าเปนหมายเหต
รปแบบ
// ค าอธบาย หรอ หมายเหต เขยนไวในบรรทดเดยว
• รปแบบการเขยนหมายเหตแบบหลายบรรทด (Multi-Line Comment)
โดยขนตนดวยเครองหมาย /* และสนสดดวยเครองหมาย */
รปแบบ
/*
ค าอธบาย หรอ หมายเหตตาง ๆ สามารถเขยนไดหลาย ๆ บรรทด
*/
การเขยนหมายเหตในโปรแกรมภาษาซ
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 34: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/34.jpg)
หมายถง สงทเกยวกบปญหา หรอสงทน ามาใชในการเขยนโปรแกรม
เมอน าขอมลเขาสคอมพวเตอร ขอมลจะถกเกบไวในสวนของหนวยความจ าหลก
ในพนททไดจองไวส าหรบเกบขอมล โดยมการก าหนดชอในการเขาถงขอมลนน
ซงชอทใชส าหรบอางองถงขอมล ม 2 ลกษณะ คอ เปนคาคงท และตวแปร
ขอมล (Data)
หนวยท 6 โครงสรางและไวยากรณภาษาซ หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 35: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/35.jpg)
ท าหนาทส าหรบเกบพกขอมล ตามแตละชนดทไดประกาศไว แตเปนคาทไมสามารถเปลยนแปลงไดอก
จดประสงคเพอทจะน าชอคาคงทไปใชในโปรแกรม ในภาษาซ ควรก าหนดชอคาคงทดวยตวพมพใหญ เพอใหแตกตาง
จากตวแปร การก าหนดคาคงท ในภาษาซสามารถท าได 2 รปแบบ คอ
• รปแบบท 1 เปนการก าหนด Macro
#define cont_name value
เชน
#define PI 3.1415926
#define OWNER "Nuntchayathorn"
• รปแบบท 2 เปนการประกาศคาคงท
const type cont_name = value ;
เชน
const float PI = 3.1415926 ;
const char OWNER[ ] = "Nuntchayathorn" ;
คาคงท (Constant)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 36: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/36.jpg)
Literals
คอค าทใชแสดงคาคงท ในภาษาซสามารถแบงเปน 4 ประเภท ดงน
• Integer literal
• Floating-point literal
• Character literal
• String literal
ขอมลพนฐาน (Primitive Data Type)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 37: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/37.jpg)
คาคงทจ านวนเตม
– เลขฐานสบ (Decimal) เปนเลขฐานสบทใชทวไป
– เลขฐานแปด (Octal) สามารถน าไปค านวณได โดยการพมพตวเลขขนตนดวยเลข 0
เชน 071, 032, 0144
– เลขฐานสบหก (Hexadecimal) สามารถน าไปค านวณได โดยการพมพขนตนดวย
0x หรอ 0X เชน 0xff, 0x54, 0XA9
Integer literal
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 38: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/38.jpg)
• ในโปรแกรม Turbo C/C++ V3.0 ม 2 ขนาดคอมขนาด 16 บต กบ 32 บต
แบงเปน 4 ชนด คอ
– int มขนาด 16 บต
เปนแบบคดเครองหมาย มคาอยระหวาง -32768 ถง +32767
– unsigned int มขนาด 16 บต
เปนแบบไมคดเครองหมาย มคาอยระหวาง 0 ถง 65535
– long มขนาด 32 บต
เปนแบบคดเครองหมาย มคาอยระหวาง -2147483648 ถง +2147483647
– unsigned long มขนาด 32 บต
เปนแบบไมคดเครองหมาย มคาอยระหวาง 0 ถง 4294967295
เลขจ านวนเตม
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 39: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/39.jpg)
คอคาคงทเลขทศนยม การพมพหรอแสดงตวเลขทศนยม มอย 2 รปแบบ คอ
– แบบมาตรฐาน เชน 0.123456
– แบบวทยาศาสตร เชน 1.2345e-1 หรอ 1.2345E-1
Floating-point literal
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 40: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/40.jpg)
ในภาษาซ มเลขทศนยมอย 3 ชนด คอ
• แบบ float
มขนาด 32 บต มคาอยระหวาง 3.4 x 10-38 ถง 3.4 x 10+38
แสดงจดทศนยม 6 หลก
• แบบ double
มขนาด 64 บต มคาอยระหวาง 1.7 x 10-308 ถง 1.7 x 10+308
แสดงจดทศนยม 15 หลก
• แบบ long double
มขนาด 80 บต มคาอยระหวาง 3.4 x 10-4932 ถง 1.1 x 10+4932
แสดงจดทศนยม 19 หลก
เลขจ านวนจรง
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 41: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/41.jpg)
คอคาคงทตวอกษร ทมความยาว 1 ตวอกขระ โดยตองเขยนอยใน
เครองหมาย ' ' (Single Quote) ซงแบงออกเปนตวอกษรทมองเหนได กบตวอกษรทใช
ในการควบคมการพมพ
• ตวอกษรปกต
ไดแก ตวอกษรทปรากฏอยแปนพมพ a-z, A-Z, 0-9, และสญลกษณตาง ๆ
บนแปนพมพ
• ตวอกษรทใชในการควบคมการพมพ
ใชแทนการแสดงผลอกขระหรอแปนพมพบางตว เชน แทนคย Enter, Tab,
Backspace เปนตน จะตองแสดงโดยใช Escape Sequences ซงไดแก \\, \',
\", \r, \n, \f, \t, \b, \0
Character literal
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 42: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/42.jpg)
หมายถงขอมลทมตวอกขระตงแต 1 ตวขนไป ตองเขยนอยใน
เครองหมาย " " (Double Quote)
คาคงท String เชน "Hello World", "Samutsongkhram",
"คอมพวเตอร", "1234567890" ทกสตรงจะปดดวยรหส \0 เสมอ
ในการจองพนทในการจดเกบสตรงตองจองเกบรหสปดนเพมอกหนง
ตวอกษร ดงนนในการประกาศตวแปรส าหรบก าหนดขนาดความยาวของขอความ
ตองเผออกหนงต าแหนงส าหรบจดเกบขอมลปดสตรงนเสมอ ในภาษาซ สามารถ
ก าหนดความยาวของขอความไดไมเกน 254 ตว
String literal
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 43: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/43.jpg)
ตวแปรท าหนาทส าหรบเกบพกขอมล ตามแตละชนดทไดประกาศไว
สามารถเปลยนแปลงคาไดตลอดเวลา ดงนนตวแปรจงหมายถง ชอทใชในการ
อางองพนทในหนวยความจ าหลกทจองไวเพอเกบขอมล การจองหนวยความจ าท า
ไดโดยการประกาศตวแปร ซงสามารถอางองถงขอมลไดโดยไมตองรต าแหนงท
เกบจรงของขอมล ซงการจองหนวยความจ าส าหรบตวแปรแตละตวจ าเปนจะตองม
การประกาศตวแปรกอน
ตวแปร (Variable)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 44: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/44.jpg)
• ตวแปรประเภทพนฐาน (Scalar)
เปนตวแปรทใชในการแทนคาขอมลไดเพยงคาเดยว
• ตวแปรประเภทตวแปรชดหรออารเรย (Array)
เปนตวแปรทสามารถเกบขอมลไวไดหลายคาโดยใชชอตวแปรเดยวกน
โดยมตวช (Index) เปนตวระบต าแหนงทเกบคาขอมล
ประเภทของตวแปร
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 45: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/45.jpg)
ชวงของขอมล (Range)
Type Range
char -128 ถง +127
int, short -32,768 to +32,767
long -2,147,483,648 to +2,147,483,647
unsigned char 0-255
unsigned int 0 to 65,535
unsigned long 0 to 4,294,967,295
float -3.4e-38 to +3.4e+38
double -1,7e-308 to +1.7e+308
long double -3.4e-4932 to +1.1e+4932
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 46: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/46.jpg)
• ประกอบดวยอกษรภาษาองกฤษ a ถง z และตวเลข 0 ถง 9 แตตวแรกตอง
เปนตวอกษร A-Z หรอ a-z หรอขดเสนใต _ (Underscore) เทานน
• หามเวนวรรค สามารถใชเครองหมาย _ และ $ ในการตงชอได
• หามใชค าสงวน (Reserved Word) ในการตงชอ
• ในขอบเขตเดยวกน หามตงชอซ ากน
• การพมพชอโดยใชอกษรตวใหญกบตวเลกถอวาเปนคนละตวแปรกน
• ควรตงชอใหสอความหมาย หรอเปนค านาม
• นยมตงชอตวแปรเปนตวเลก ถาเปนคาคงทจะใชตวพมพใหญทงหมด
หลกการตงชอตวแปร
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 47: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/47.jpg)
auto
break
case
char
const
continue
default
do
double
else
enum
extern
float
for
goto
if
int
long
register
return
short
signed
sizeof
static
struct
switch
typedef
union
unsigned
void
volatile
while
ค าสงวน (Reserved Word)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 48: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/48.jpg)
วธการเปลยนประเภทของตวแปรในภาษาซ ท าได 2 วธ คอ
1.การเปลยนประเภทของตวแปรโดยอตโนมต (Implicit type conversion)
2.โดยวธทเรยกวาการ Casting
การเปลยนประเภทของตวแปร
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 49: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/49.jpg)
หมายถง ตวทท าหนาทเชอมโยงคาหรอกระท ากบคาตาง ๆ กบขอมลและ
ตวแปรตามค าสง เพอใหไดผลลพธตามตองการ แบงเปน 6 ประเภท
• ตวด าเนนการทางคณตศาสตร
• ตวด าเนนการทางตรรกะ
• ตวด าเนนการเปรยบเทยบ
• ตวด าเนนการเพมคาและลดคา
• ตวด าเนนการระดบบต
• ตวด าเนนการก าหนดคา
ตวด าเนนการ (Operator)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 50: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/50.jpg)
• + บวก,
• - ลบ,
• * คณ,
• / หาร และ
• % หารเอาเศษ (Remainder) or Modulo
ตวด าเนนการทางคณตศาสตร (Arithmetic or Mathematic Operator)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 51: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/51.jpg)
&& And และ
|| Or หรอ
! Not ไม, ตรงกนขาม
ตวด าเนนการทางตรรกะ (Logical Operator)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 52: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/52.jpg)
< นอยกวา Less than
<= นอยกวาหรอเทากบ Less than or Equal
> มากกวา Greater than
>= มากกวาหรอเทากบ Greater than or Equal
== เทากบ, เทากน Equal
!= ไมเทากบ, ไมเทากน Not equal
ตวด าเนนการเปรยบเทยบ (Relational Operator)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 53: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/53.jpg)
++ เพมคา Increment
-- ลดคา Decrement
ตวด าเนนการเพมคาและลดคา (Increment and Decrement Operator)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 54: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/54.jpg)
& And
| Or
^ Exclusive Or
~ Complement
>> Right Shift
<< Left Shift
ตวด าเนนการระดบบต (Bit-wise Operator)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 55: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/55.jpg)
+=
-=
*=
/=
%=
&=
|=
^=
<<=
>>=
ตวด าเนนการก าหนดคา (Assignment Operator)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 56: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/56.jpg)
1. ( )
2. !, ++, --
3. *, /, %
4. +, -
5. <, <=, >, >=
6. ==, !=
7. &&
8. ||
9. *=, /=, %=, +=, -=
ทศทางการท างาน จากซายไปขวา
ล าดบการท างานของตวด าเนนการ
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 57: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/57.jpg)
หมายถง การน าคาคงท ตวแปร และตวด าเนนการมาประกอบกน เพอ
เขยนเปนค าสงใหตวแปลภาษาคอมพวเตอรเขาใจ และสามารถท างานตามค าสง
ไดผลลพธตามตองการ
นพจน (Expression)
สตร นพจน
k1 = n * (n + 1) / 2;
f1 = a * a + 2 * a * b + b * b;
c = sqrt(a * a + b * b);
K=0.25 * a * a * sqrt(3);
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 58: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/58.jpg)
• clrscr(); - ลางหนาจอในโหมดเทกซ
• clreol(); - ลบขอความจากต าแหนงเคอรเซอรไปจนสดบรรทด
• delline(); - ลบบรรทด
• gotoxy(); - ยายต าแหนงเคอรเซอรไปยงต าแหนงทระบ
• wherex(); - คนคาต าแหนงคอลมนทเคอรเซอรปรากฏ (1-80)
• wherey(); - คนคาต าแหนงบรรทดทเคอรเซอรปรากฏ (1-25)
• textcolor(); - ก าหนดสตวอกษร (0-15)
• textbackground(); - ก าหนดสพน (0-7)
• textmode(); - เขาสโหมดเทกซ (C80)
Basic Function in C Mode Text
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 59: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/59.jpg)
• cprintf(); - แสดงผลขอความหรอคาตวแปรตามสทก าหนด
• printf(); - แสดงผลขอความหรอคาตวแปร
• sprintf(); - แปลงขอมลตวเลขใหเปนขอความ
• puts(); - แสดงผลขอความ
• putch(); - แสดงผลอกขระ
• getch(); - รบคาอกขระจากแปนพมพโดยจะไมแสดงอกขระทปอน
• getche(); - รบคาอกขระจากแปนพมพโดยจะแสดงอกขระทปอน
• gets(); - รบคาขอความจากแปนพมพมาเกบไวในตวแปรสตรงทระบ
• scanf(); - รบคาขอมลจากแปนพมพมาเกบไวในตวแปรทระบ
• window(); - ก าหนดพนทหนาตาง
หนวยท 6 โครงสรางและไวยากรณภาษาซ
Basic Function in C Mode Text (ตอ)
![Page 60: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/60.jpg)
• initgraph(); - เขาสโหมดกราฟก
• closegraph(); - ออกจากโหมดกราฟก
• cleardevice(); - ลางหนาจอในโหมดกราฟก
• setcolor(); - ก าหนดส
• setfillstyle(); - ก าหนดรปแบบการระบาย
• settextstyle(); - ก าหนดรปแบบขอความ
• arc(); - วาดเสนโคง
• bar(); - วาดแทงสเหลยม
• bar3d(); - วาดแทงสเหลยมสามมต
• circle(); - วาดวงกลม
Basic Function Graphics Mode
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 61: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/61.jpg)
• ellipse(); - วาดวงร
• pieslice(); - วาดสวนซกวงกลม
• line(); - วาดเสนตรงจากจดหนงไปยงจดหนงตามทระบพกด
• lineto(); - วาดเสนตรงจากจดเดมไปยงอกจดทระบพกด
• linerel(); - วาดเสนตรงจากจดเดมไปยงจดทอยหางตามระยะหางทก าหนด
• moveto(); - ยายพกดไปทใหมตามทระบ
• moverel(); - ยายพกดไปทใหมหางจากพกดเดมตามระยะหางทก าหนด
• floodfill(); - ระบายสทต าแหนงพกดทก าหนดไปจนจดสนสดตามสทระบ
• outtext(); - แสดงขอความทก าหนดในพกดปจจบน
• outtextxy(); - แสดงขอความทก าหนดตามพกดทก าหนด
หนวยท 6 โครงสรางและไวยากรณภาษาซ
Basic Function Graphics Mode (ตอ)
![Page 62: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/62.jpg)
การแสดงผลบนจอในโหมดขอความ (Text Mode) โปรแกรม Turbo C มขนาด
จอมาตรฐาน 80 x 25 คอม 80 คอลมน และ 25 บรรทด
textmode(C80);
เปนฟงกชนเขาสโหมดเทกซ (Text mode) หนาตางมาตรฐาน 80 x 25, 16 ส
clrscr();
เปนฟงกชนใน TurboC ท าหนาทลางหนาจอ (Clear screen) พรอมน า
เคอรเซอร ไปยงต าแหนงซายบนบรรทดแรกของจอ (คอต าแหนง 1,1) ซงฟงกชนนมใชใน
Turbo C เทานน หากใชกบ C ของคายอน ใหใชค าสง system("cls"); แทนได
clreol();
เปนฟงกชน ลบขอความตงแตต าแหนงทเคอรเซอรปรากฏอยไปจนสดบรรทดนน
ถาเคอรเซอรอยทคอลมนแรก ค าสงนกจะเปนการลบขอความในบรรทดนนทงบรรทด
ฟงกชนเกยวกบการแสดงผลทางจอภาพ
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 63: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/63.jpg)
เปนฟงกชนมาตรฐานในภาษาซทใชในการแสดงผลลพธออกทางจอภาพ ณ ต าแหนงทเคอรเซอรปรากฏอย
รปแบบ
printf("ขอความ");
printf("control_format",exp1 [,exp2[,...expN]]); Control_format อาจประกอบไปดวย ขอความ หรอ อกขระ
ควบคมการแสดงผลลพธ หรอ รหสรปแบบ อยภายในเครองหมายค าพด " " แตรวมความยาวทงหมดไมเกน 254 อกขระ
exp1, exp2, ... expN คอเปนคาขอมล หรอตวแปร หรอนพจนกได
จ านวนของ expression จะตองสมพนธกบชนดและจ านวนรหสรปแบบทอยในเครองหมายค าพด เชน
printf("Hello");
printf("\n");
printf("Welcome to Thailand\n");
printf("\nValue A\t\tValue B\t\tSum\n");
printf("%3d\t\t%3d\t\t%3d\n",a,b,(a+b));
printf("Score = %3d\t\tGrade = %.2f\n",78,3.5);
printf("Score = %3d\t\tGrade = %.2f\n",score,grade);
printf()
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 64: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/64.jpg)
• \a Bell
• \b Backspace
• \f Form feed
• \n New line
• \r Carriage return
• \t Horizontal tab
• \\ back slash
• \' Single quote
• \" Double quote
• \0 Null
อกขระควบคมการแสดงผลลพธ (Escape Control)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 65: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/65.jpg)
หมายถง รหสรปแบบขอมล เพอก าหนดประเภทขอมลทก าหนด โดยตองระบภายใน
เครองหมาย " " (Double Quote)
– %c ใชกบขอมลประเภท char
– %d ใชกบขอมลประเภท int - เลขฐานสบ
– %u ใชกบขอมลประเภท unsigned int
– %l ใชกบขอมลประเภท long
– %lu ใชกบขอมลประเภท unsigned long
– %e ใชกบขอมลประเภท float ในรป e ยกก าลง
– %f ใชกบขอมลประเภท float
– %lf ใชกบขอมลประเภท double
– %g ใชกบขอมลประเภท float
– %h ใชกบขอมลประเภท short int
– %o, %O ใชกบขอมลประเภท - เลขฐานแปด
– %0x,%0X ใชกบขอมลประเภท - เลขฐานสบหก
– %s ใชกบขอมลประเภท ขอความ (String)
– %p ใชกบตวแปรพอยนเตอร (Pointer)
รหสรปแบบขอมล (Format code)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 66: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/66.jpg)
• putchar()
เปนฟงกชนมาตรฐานในภาษาซทใชในการแสดงอกขระออกทางจอภาพ
รปแบบ putchar(ch);
โดย ch เปนตวแปรชนดอกขระ
• puts()
เปนฟงกชนมาตรฐานในภาษาซทใชในการแสดงขอความออกทางจอภาพ
รปแบบ puts(str);
โดย str เปนตวแปรชนดขอความ หรอ สายอกขระ
• gotoxy( )
เปนฟงกชนยายเคอรเซอรไปต าแหนง x และ y
รปแบบ gotoxy(x,y);
x มคาอยระหวาง 1-80
y มคาอยระหวาง 1-25
ฟงกชนเกยวกบการแสดงผลทางจอภาพ (ตอ)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 67: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/67.jpg)
เปนฟงกชนก าหนดขนาดของหนาตางในโหมดเทกซ ซงมคาโดยปรยาย
(Default) = 80 x 25 (80 คอลมน 25 บรรทด)
รปแบบ
window(left, top, right, bottom);
left ขอบหนาตางดานซาย มคาอยระหวาง 1-80
right ขอบหนาตางดานขวา มคาอยระหวาง 1-80 แตตองมากกวา left
top ขอบหนาตางดานบน มคาอยระหวาง 1-25 แตตองนอยกวา bottom
bottom ขอบหนาตางดานลาง มคาอยระหวาง 1-25 แตตองมากกวา top
window()
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 68: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/68.jpg)
• textcolor(fc);
fc = คาสตวอกษร
สามารถก าหนดได 16 ส มคาอยระหวาง 0-15
• textbackground(bc);
bc = คาสพน
สามารถก าหนดได 8 ส มคาอยระหวาง 0-7
• cprintf()
เปนฟงกชนส าหรบพมพขอความทเปนส ใชกบ Turbo C เทานน
การก าหนดสตวอกษรและสพน และค าสงแสดงผล
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 69: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/69.jpg)
// by Nuntchayathorn Chatrsuwun
#include <conio.h>
#include <stdio.h>
void main()
{
clrscr();
for (int i=32; i<=255; i++)
{
if (i == 128) getch();
printf(" %03d(%02X) %c",i,i,i);
}
getch();
}
ตวอยาง โปรแกรมแสดงรหสแอสก (ASCII Code)
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 70: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/70.jpg)
ผลการรนโปรแกรม
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 71: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/71.jpg)
• scanf()
เปนฟงกชนในการรบขอมลจากแปนพมพ (Keyboard) เขาไปเกบไวในตวแปรท
ก าหนด โดยชนดขอมลสามารถก าหนดได ทกประเภท ดงนนฟงกชนนจงเปนฟงกชนทนยมใช
กนมากในการรบขอมล เมอค าสงนท างาน จะปรากฏเคอรเซอร (Cursor) กระพรบรอรบ
การปอนขอมล ใหเราพมพขอมลทตองการแลวกดคย Enter
รปแบบ scanf("format", &var);
"format" : รหสรปแบบขอมล (Format code)
var : ตวแปรทจะท าหนาทเกบคาทรบเขามาจากแปนพมพ
โดยชอตวแปรจะตองน าดวยเครองหมาย & เสมอ
ยกเวนถาเปนตวแปรชนดขอความ อาจจะไมตองใสเครองหมาย & กได
ฟงกชนรบคาขอมลทางแปนพมพ
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 72: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/72.jpg)
scanf("%d", &n);
เปนการรบขอมลตวเลขจ านวนเตมฐานสบจากแปนพมพมาเกบไวทตวแปร n
scanf("%s", str); หรอ
scanf("%s",&str);
เปนการรบขอมลทเปนขอความ มาเกบไวทตวแปร str
scanf("%c", &ch);
เปนการรบขอมลอกขระจากแปนพมพมาเกบไวในตวแปร ch
การรบคาทางแปนพมพใหกบตวแปรเดยว
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 73: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/73.jpg)
• แบบตองกดคย Enter ทกครง
getchar( )
เปนฟงกชนทใชส าหรบรบขอมลประเภทตวอกขระจากแปนพมพ โดยรบขอมลครง
ละ 1 ตวอกขระเทานน ดงนนตวแปรทมารบคา กจะตองประกาศเปนชนด char ดวย เมอปอน
อกขระ 1 ตวแลว ตองกดคย Enter
รปแบบ
var = getchar();
เชน
char ch;
printf("Enter your charactor : ");
ch = getchar();
การรบขอมลชนดอกขระ
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 74: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/74.jpg)
• แบบไมตองกดคย Enter ทกครง
getch();
เปนฟงกชนส าหรบรบขอมลชนดอกขระจากแปนพมพ 1 อกขระ โดยไม
ตองกดคย Enter จะไมแสดงคาอกขระ
getche();
เปนฟงกชนส าหรบรบขอมลชนดอกขระจากแปนพมพ 1 อกขระ โดยไม
ตองกดคย Enter จะแสดงอกขระทกด
การรบขอมลชนดอกขระ
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 75: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/75.jpg)
• gets()
เปนฟงกชนทใชส าหรบรบขอมลชนดขอความจากแปนพมพ และเมอปอนขอมลทเปน
ขอความเสรจแลว ใหกดคย Enter
รปแบบ gets(str);
str คอตวแปรชนดขอความไวส าหรบเกบขอมลชนดขอความทปอนจากแปนพมพ
เชน
char str[30];
printf("Enter your name : ");
fflush(stdin); gets(str);
printf("Your name is %s\n",str);
การรบขอมลชนดขอความ
หนวยท 6 โครงสรางและไวยากรณภาษาซ
![Page 76: บทที่ 6 โครงสร้างและ ...dusithost.dusit.ac.th/~juthawut_cha/download/L6_BCP.pdf · 1. อธิบายส่วนประกอบของโครงสร้างภาษาซีได้](https://reader034.vdocuments.net/reader034/viewer/2022042312/5edb263b210a9a20dc49b46f/html5/thumbnails/76.jpg)
จบการน าเสนอ
บทท 6 โครงสรางและไวยากรณภาษาซ
หนวยท 6 โครงสรางและไวยากรณภาษาซ