49
โโโโโโโโโ โโโโโโโโโโโโ โโโ โโโโโโโโโโ Turbo C+ + Version 3.0

โครงสร้างภาษาซีเบื้องต้น

Embed Size (px)

Citation preview

Page 1: โครงสร้างภาษาซีเบื้องต้น

โครงสร�างภาษาซี�เบื้��องต้�น

ใช้�ส�าหร�บื้ Turbo C++ Version 3.0

Page 2: โครงสร้างภาษาซีเบื้องต้น

โปรแกรมภาษาโปรแกรมภาษาในการเขี�ยนโปรแกรมคอมพิ�วเตอร� ด้�วยภาษา

ระด้�บต��าหร อระด้�บสู"ง จะต�องเปลี่��ยนภาษาน�&นให�เป'นภาษาเคร �อง เพิ �อให�เคร �องคอมพิ�วเตอร�ทำ�างานได้�

โปรแกรมต�นฉบ�บ (Source Program)โปรแกรมทำ��เคร �องทำ�างานได้� (Executable Program)

การเขี�ยนโปรแกรมด้�วยแอสูเซมบลี่� (ภาษาระด้�บต��า )เป'นภาษาเคร �อง

ขั้��นต้อนการแปลงภาษาแอสเซีมบื้ล�เป�นภาษาเคร� อง

Page 3: โครงสร้างภาษาซีเบื้องต้น

โปรแกรมภาษาโปรแกรมภาษา การเขี�ยนโปรแกรมด้�วยภาษาระด้�บสู"งเป'นภาษา

เคร �อง อ�นเทำอร�พิร�เตอร� (Interpreter)

คอมไพิเลี่อร� (Compiler)

ขั้��นต้อนการแปลภาษาโปรแกรม

interpreter

compiler

Page 4: โครงสร้างภาษาซีเบื้องต้น

การเขี�ยนโปรแกรมคอมพิ�วเตอร�ให�ทำ�างานได้�ตามเราต�องการ ผู้"�เขี�ยนโปรแกรมจะต�องร" �ว-าจะให�โปรแกรมทำ�าอะไร ม�ขี�อม"ลี่อะไร แลี่ะต�องการอะไรจากโปรแกรม รวมทำ�&งร"ปแบบการแสูด้งผู้ลี่ด้�วย โด้ยทำ��วไปจะม�ขี�&นตอนการพิ�ฒนาโปรแกรม ด้�งน�&

การก�าหนด้แลี่ะว�เคราะห�ป/ญหา การเขี�ยนผู้�งงานแลี่ะซ"โด้โค1ด้ การเขี�ยนโปรแกรม การทำด้สูอบแลี่ะแก�ไขีโปรแกรม การทำ�าเอกสูารแลี่ะบ�าร2งร�กษาโปรแกรม

ขั้��นต้อนพั�ฒนาโปรแกรมขั้��นต้อนพั�ฒนาโปรแกรม

Page 5: โครงสร้างภาษาซีเบื้องต้น

ภาษาทำ��เป'นโครงสูร�าง ค�าสู��งประกอบด้�วยพิจน� (term ) ซ3�งจะม�ลี่�กษณะเหม อน

ก�บน�พิจน�ทำางพิ�ชคณ�ต ม�สู-วนขียายเป'นค�าหลี่�ก (keyword ) ในภาษาอ�งกฤษ

เช-น if, else, for, do แลี่ะ while สูามารถใช�งานในระด้�บต��า (low-level ) ได้�

สูามารถใช�ก�บงานด้�านโปรแกรมระบบ (system programming ) เช-น เขี�ยนโปรแกรมระบบปฏิ�บ�ต�การ

(operating system ) หร อใช�ก�บงานทำ��ว ๆ ไป สูามารถย�ายไปทำ�างานในเคร �องอ �นได้�

แนะน�าภาษาซี�แนะน�าภาษาซี�

Page 6: โครงสร้างภาษาซีเบื้องต้น

โครงสร�างโปรแกรมภาษาซี�โครงสร�างโปรแกรมภาษาซี�void main(void)

{

}

Statements ;

Local Declarations

Preprocessor directive

Global Declarations

main function

User define functions

User define functions

int function ()

{

}

Statements ;

Local Declarations

โครงสร�างภาษาซี�ประกอบื้ด้�วย หลายส'วน แต้'ในการเขั้�ยนไม'

จำ�าเป�นจำะต้�องเขั้�ยนทุ+กส'วน

Page 7: โครงสร้างภาษาซีเบื้องต้น

#include#include #define#define #undef #if

#ifdef #ifndef #else #elif

#endif #line #error #pragma

ทำ2กโปรแกรมต�องม� ใช�เร�ยกไฟลี่�ทำ��โปรแกรมใช�ในการทำ�างานร-วมก�น ใช�ก�าหนด้ค-าคงทำ��ให�ก�บโปรแกรม เร��มต�นด้�วยเคร �องหมาย ## ทำ��เราจะใช�ก�นม� 2 directives ค อ

#include ใช�สู�าหร�บเร�ยกไฟลี่�ทำ��โปรแกรมใชในการทำ�างาน

#define ใช�สู�าหร�บก�าหนด้มาโครทำ��ให�ก�บโปรแกรม

การใช้� การใช้� Preprocessor Preprocessor DirectiveDirective

Page 8: โครงสร้างภาษาซีเบื้องต้น

การใช้� การใช้� #include#include

ว�ธี�การใช�งาน

ต�วอย-าง#include <stdio.h> (เป'นการเร�ยกใช�ไฟลี่� stdio.h เขี�ามาในโปรแกรม)#include <mypro.h> (เป'นการเร�ยกใช�ไฟลี่� mypro.h เขี�ามาในโปรแกรม)

#include <<ช �อไฟลี่�>> หร อ #include ““ช �อไฟลี่�””

< >< > จะเร�ยกไฟลี่�ใน directory ทำ��ก�าหนด้โด้ยต�วคอมไพิลี่�เลี่อร�“ ”“ ” จะเร�ยกไฟลี่�ใน directory ทำ�ทำ�างานอย"-ในป/จจ2บ�น

Page 9: โครงสร้างภาษาซีเบื้องต้น

การใช้� การใช้� #define#define

#define ช �อ ค-าทำ��ต�องการว�ธี�การใช�งาน

ต�วอย-าง#define START 10 (ก�าหนด้ค-า START = 10)#define A 3*5/4 (ก�าหนด้ค-า A=3*5/4)#define pi 3.14159 (ก�าหนด้ค-า pi = 3.14159)#define sum(a,b) a+b (ก�าหนด้ค-า sum(ต�วแปรทำ��1, ต�วแปรทำ��2) = ต�วแปรทำ��1+ต�วแปรทำ��2

Page 10: โครงสร้างภาษาซีเบื้องต้น

ส'วนประกาศ ส'วนประกาศ ((Global Global Declarations)Declarations) เป'นการประกาศต�วแปรเพิ �อใช�งานในโปรแกรม โด้ย

ต�วแปรน�&นสูามารถใช�ได้�ในทำ2กทำ��ในโปรแกรม เป'นสู-วนทำ��ใช�ในการประกาศ Function Prototype

ขีองโปรแกรม สู-วนน�&ในบางโปรแกรมอาจจะไม-ม�ก=ได้�

ต�วอย-างint summation(float x, float y) ; (ประกาศ function summation)int x,y ; (ก�าหนด้ต�วแปร x,y เป'นจ�านวนเต=ม)float z=3; (ก�าหนด้ต�วแปร z เป'นจ�านวนจร�ง)

Page 11: โครงสร้างภาษาซีเบื้องต้น

ส'วนประกาศ ส'วนประกาศ ((Global Global Declarations)Declarations)

ต�วอย-าง#include <stdio.h>

int feet,inches;

void main()

{

feet = 6;

inches = feet * 12;

printf("Height in inches is %d",inches);

}

Height in inches is 72Height in inches is 72

ผู้ลี่การทำ�างาน

Page 12: โครงสร้างภาษาซีเบื้องต้น

ฟั.งก/ช้�นหล�กขั้องโปรแกรม ฟั.งก/ช้�นหล�กขั้องโปรแกรม ((Main Function)Main Function) สู-วนน�&ทำ2กโปรแกรมจะต�องม� โด้ยโปรแกรมหลี่�กจะเร��มต�นด้�วย

main() แลี่ะตามด้�วยเคร �องหมายป>กกาเป?ด้ ‘{’ แลี่ะป>กกาป?ด้ ‘}’

ระหว-างป>กกาจะประกอบไปด้�วยค�าสู��ง(Statement ) ต-างๆ ทำ��จะให�โปรแกรมทำ�างาน

แต-ลี่ะค�าสู��งจะต�องจบด้�วยเซม�โคลี่อน ‘;’ (Semicolon)

#include <stdio.h>void main(void){

...Statement ;

}

Page 13: โครงสร้างภาษาซีเบื้องต้น

ฟั.งก/ช้�นหล�กขั้องโปรแกรม ฟั.งก/ช้�นหล�กขั้องโปรแกรม ((Main Function)Main Function)

ต�วอย-าง#include <stdio.h>

int feet,inches;

void main()

{

feet = 6;

inches = feet * 12;

printf("Height in inches is %d",inches);

}

Height in inches is 72Height in inches is 72

ผู้ลี่การทำ�างาน

Page 14: โครงสร้างภาษาซีเบื้องต้น

การสร�างฟั.งก/ช้�นใช้�งานเอง การสร�างฟั.งก/ช้�นใช้�งานเอง ((User Define Function)User Define Function)

#include <stdio.h>int function()void main(void){

...Statement ;

}int function(){

Statement ;...return (int value);

}

สูร�างฟ/งก�ช�นหร อค�าใหม- ขี3&นมาใช�งานตามทำ��เราต�องการ ระหว-างป>กกาจะประกอบด้�วยค�าสู��ง(Statement ) ต-างๆ ทำ��จะให�

ฟ/งก�ช�นทำ�างาน สูามารถเร�ยกใช�ภายในโปรแกรมได้�ทำ2กทำ��

Page 15: โครงสร้างภาษาซีเบื้องต้น

การสร�างฟั.งก/ช้�นใช้�งานเอง การสร�างฟั.งก/ช้�นใช้�งานเอง ((User Define Function)User Define Function)

ต�วอย-าง#include <stdio.h>int Feet2Inch(int);int feet,inches;void main(){ feet = 6; inches = Feet2Inch(feet); printf("Height in inches is %d",inches);}int Feet2Inch(int f){ return f*12;} Height in inches is 72Height in inches is 72

ผู้ลี่การทำ�างาน

Page 16: โครงสร้างภาษาซีเบื้องต้น

การใช้�ค�าอธิ1บื้าย การใช้�ค�าอธิ1บื้าย ((Program Program Comments)Comments)

การเขี�ยนสู-วนอธี�บายโปรแกรม (comments)ทำ�าได้� 2 ว�ธี�ค อ

//// สู�าหร�บค�าอธี�บายไปจนถ3งทำ�ายบรรทำ�ด้แลี่ะ

/*/* ค�าอธี�บาย */*/ ลี่�กษณะการใช�เหม อนวงเลี่=บน�&นเอง

ใช�เขี�ยนสู-วนอธี�บายโปรแกรม (คอมเมนต�) ช-วยให�ผู้"�ศ3กษาโปรแกรมภายหลี่�งเขี�าใจการทำ�างานขีองโปรแกรม

สู-วนขีองค�าอธี�บายจะถ"กขี�ามเม �อคอมไพิลี่�โปรแกรม

Page 17: โครงสร้างภาษาซีเบื้องต้น

การใช้�ค�าอธิ1บื้าย การใช้�ค�าอธิ1บื้าย ((Program Program Comments)Comments)

ต�วอย-าง#include <stdio.h> //// Change Feet to Inches

void main() //// main function

{ //// Start

int feet,inches;

feet = 6; //// feet 6

inches = feet * 12; //// inches feet * 12

printf("Height in inches is %d", inches);

//// write inches

} //// Stop

Height in inches is 72Height in inches is 72

ผู้ลี่การทำ�างาน

Page 18: โครงสร้างภาษาซีเบื้องต้น

การใช้� การใช้� printf()printf()

เป'นค�าสู��งทำ��ใช�ในการแสูด้งผู้ลี่ออกทำางจอภาพิ โด้ยม�ร"ปแบบการใช�งานด้�งน�&printf(““controlcontrol หร�อ format stringformat string””, variable listvariable list

…);

control หร�อ format string เป�นส'วนทุ� ใส'ขั้�อความทุ� จำะแสด้งผล และส'วน

ควบื้ค+มล�กษณะการแสด้งผล รวมทุ��งบื้อกต้�าแหน'งทุ� ต้�วแปรจำะแสด้งผล

variable list เป�นต้�วแปรทุ� ต้�องการจำะแสด้งผล ในกรณ�ทุ� ต้�องการแสด้งขั้�อความ ไม'จำ�าเป�นต้�องม�ส'วนน��

Page 19: โครงสร้างภาษาซีเบื้องต้น

โปรแกรมทุ� 1 สูร�าง folder ช �อ 517111/รห�สูน�กศ3กษา สูร�างไฟลี่� hello.c โด้ยให�พิ�มพิ�ค�าว-า hello world การใช�งาน turbo c

พิ�มพิ�ช �อต�วเองเพิ��มอ�กหน3�งบรรทำ�ด้

F2 SaveAlt+F9 CompileCtrl+F9 Compile & RunAlt+F5 Output

Page 20: โครงสร้างภาษาซีเบื้องต้น

ต้�วอย'างโปรแกรม

#include <stdio.h>

void main() { printf(“Hello world\n\n"); printf(“Welcome to Computer Programming 1"); return ;}

Hello world Welcome to Computer Programming 1

ผู้ลี่การทำ�างาน

โปรแกรมBackslash n n

ขี3&นบรรทำ�ด้ใหม-

Page 21: โครงสร้างภาษาซีเบื้องต้น

ค�าแนะน�า

#include <stdio.h>

main ()

{ clrscr();

….

getch();}

เคลี่�ยร�หน�าจอ

โปรแกรม

รอร�บค-าจากค�ย�บอร�ด้

Page 22: โครงสร้างภาษาซีเบื้องต้น

การใช้� การใช้� ControlControl ด้�วยด้�วย BackslashBackslashจำากต้�วอย'างทุ� 3 จะเห=นได้�ว-าหากต�องการให�แสูด้งผู้ลี่ขี�ามบรรทำ�ด้จะต�องเพิ��ม \n ลี่งไป เร�ยกว-า backslash

นอกจากน�&ย�งม�ต�วอ �นๆ เช-น\n\n ขี3&นบรรทำ�ด้ใหม-\t\t เว�นระยะ 1 tab

\xhh\xhhใสู-ต�วอ�กษร hh เม �อ hh เป'นเลี่ขีฐานสู�บหก เช-น 41 = 'A', 42 = 'B'

\a\a สู-งเสู�ยงป?& บ\\\\ แสูด้ง \\\"" แสูด้ง "

Page 23: โครงสร้างภาษาซีเบื้องต้น

ต้�วอย'างโปรแกรม

#include <stdio.h>

main() { printf("%%dd %%5.2f5.2f %%ss", 12, 20.3, "Example");}

12 20.30 Example

โปรแกรม

ผู้ลี่การทำ�างาน

%%d %%5.2f %%s ค อ รห�สูควบค2ม

Page 24: โครงสร้างภาษาซีเบื้องต้น

รห�สควบื้ค+มล�กษณะรห�สควบื้ค+มล�กษณะ (Format String)(Format String)

%d%d พิ�มพิ�จ�านวนเต=มฐานสู�บ%u%u พิ�มพิ�เลี่ขีไม-ม�เคร �องหมาย%f%f พิ�มพิ�เลี่ขีทำศน�ยม%e%e พิ�มพิ�ในร"ปจ�านวนจร�งยกก�าลี่�ง%c%c พิ�มพิ�ต�วอ�กษรต�วเด้�ยว%s%s พิ�มพิ�ช2ด้ต�วอ�กษร (String)

%%%% พิ�มพิ�เคร �องหมาย %%o%o พิ�มพิ�เลี่ขีฐานแปด้%x%x พิ�มพิ�เลี่ขีฐานสู�บหก

Page 25: โครงสร้างภาษาซีเบื้องต้น

ต้�วอย'างโปรแกรม

#include <stdio.h>#define x 65main() { printf("%%d %%c %%o %%x\n", x, x, x, x); printf(“x = %d”, x);}

65 A 101 41X = 65

โปรแกรม

ผู้ลี่การทำ�างาน

Page 26: โครงสร้างภาษาซีเบื้องต้น

การจำ�ด้การหน�าจำอด้�วยรห�สการจำ�ด้การหน�าจำอด้�วยรห�สควบื้ค+มล�กษณะควบื้ค+มล�กษณะ

ในกรณ�ทำ��ต�องการจ�ด้การหน�าจอแสูด้งผู้ลี่สูามารถใช�ต�วเลี่ขีร-วมก�นก�บรห�สูควบค2มได้� เช-น

%5d หมายถ3ง แสูด้งต�วเลี่ขีจ�านวนเต=ม 5 หลี่�กอย-างต��า

%5.2f หมายถ3ง แสูด้งต�วเลี่ขีจ�านวนจ�านวน 5 หลี่�กอย-างต��า แลี่ะ

ทำศน�ยม 2 ต�าแหน-งค'า %d %5d

12 12 ___12

123 123 __123

1234 1234 _1234

12345 12345 12345

ค'า %f %5.2f

1.2 1.200000 _1.20

1.234 1.234000 _1.23

12.345 12.345000 12.35

123.456 123.456000 123.46

Page 27: โครงสร้างภาษาซีเบื้องต้น

โปรแกรมทุ� 2 สูร�างไฟลี่� print.c โด้ย ก�าหนด้ #define ด้�งต-อไปน�&

จ�านวนเต=ม X ม�ค-า 65 จ�านวนจร�ง Y ม�ค-า 1.23456ต�วอ�กษร CH ม�ค-า ‘C’ ช2ด้ต�วอ�กษร SU ม�ค-า “Silpakorn

university” พิ�มพิ�ค-าต-างๆ ทำ��ก�าหนด้ ให�แสูด้งผู้ลี่ด้�งร"ป

X in decimal = 65 X in octadecimal =

101X in Hexadecimal =

41Y = 1.234Y = 1.23e+00

CH = %CSU = “Sipakorn

university”

Page 28: โครงสร้างภาษาซีเบื้องต้น

การเก=บค-าในภาษา C ทำ�าได้� 2 ลี่�กษณะ ค อ

แบบค-าคงทำ�� (Constant) แบบต�วแปร (Variable)

การสูร�างต�วแปร ต�องร" �ว-าจะใช�ต�วแปรเก=บค-าอะไร ประกาศต�วแปรให�เหมาะสูมก�บค-าทำ��จะเก=บ

ชน�ด้ขีองต�วแปรหลี่�กในภาษา C ต�วแปรทำ��ใช�เก=บอ�กขีระ (Character variable) ต�วแปรทำ��ใช�เก=บเลี่ขีจ�านวนเต=ม (Integer variable) ต�วแปรทำ��ใช�เก=บเลี่ขีจ�านวนจร�ง (Float variable)

Page 29: โครงสร้างภาษาซีเบื้องต้น

การประกาศต้�วแปร

ร"ปแบบขีองการประกาศต�วแปร

int i; ประกาศ i ให�ชน�ด้เป'นinteger

float realnum; ประกาศ realnum ให� ม�ชน�ด้เป'น float

char ch; ประกาศ ch ให�ชน�ด้ เป'น character

ช้น1ด้ต้�วแปร ช้� อต้�วแปร;

Page 30: โครงสร้างภาษาซีเบื้องต้น

ช้น1ด้ขั้องต้�วแปรประเภทุขั้�อม4ล

ค�าอธิ1บื้าย ค'าทุ� เก5บื้ได้� ขั้นาด้ (ไบื้ต้/)

char ต้�วอ�กษร 1 ต้�ว

- 128 ถ3ง 127

1

short ต�วเลี่ขีจ�านวนเต=ม

- 128 ถ3ง 127

1

int ต้�วเลขั้จำ�านวนเต้5ม

-32768 ถ3ง 32767

2

long ต�วเลี่ขีจ�านวนเต=ม -232 ถ3ง 232-1 4

float ต้�วเลขั้ทุศน1ยม

3.4E+/-38 (7 ต�าแหน-ง)

4

double ต�วเลี่ขีทำศน�ยม

1.7E+/-308 (15 ต�าแหน-ง)

8

Page 31: โครงสร้างภาษาซีเบื้องต้น

การประกาศต้�วแปรช้น1ด้เด้�ยวก�น เราสูามารถ ประกาศต้�วแปรหลายๆต้�ว ทุ� ม�ช้น1ด้

เด้�ยวก�น โด้ยใช�เพิ�ยง ประโยค(statement) เด้�ยวได้� โด้ยใช�ร"ปแบบ

1. การประกาศทุ�ละต้�ว เช้'นint i; int j; int k;

2. การประกาศพัร�อมก�นหลายต้�ว เช้'น int i, j, k;

Page 32: โครงสร้างภาษาซีเบื้องต้น

การประกาศต้�วแปรพัร�อมให�ค'าเร1 มต้�น ในภาษา C ประโยค (statement) ขีองการ

ประกาศต�วแปร สูามารถก�าหนด้ค-าเร��มต�นให�ก�บ ต�วแปรได้�ทำ�นทำ�

โด้ยใช�ร"ปแบบ

เช-น int i = 5;

ช้น1ด้ต้�วแปร ช้� อต้�วแปร = ค'าเร1 มต้�น;

นอกจากน�&ย�งสูามารถประกาศ หลี่ายๆ ต�วแปรในบรรทำ�ด้เด้�ยว

ก�นได้�อ�กเช-น int i = 5, k = 3, y;

Page 33: โครงสร้างภาษาซีเบื้องต้น

หล�กการต้��งช้� อ หล�กการต้��งช้� อ ((IdentifierIdentifier))ช้� อ (Identifier)

ไอเด้นต�ฟายเออร� เป'นช �อทำ��ผู้"�ใช�ก�าหนด้ขี3&นในโปรแกรม เช-น ช �อค-าคงทำ�� ช �อต�วแปร ช �อฟ/งก�ช�น เป'นต�น

ต�องขี3&นต�นด้�วยต�วอ�กษรภาษาอ�งกฤษ (ต�วใหญ-หร อเลี่=กก=ได้� )หร อขี�ด้ลี่-าง ‘_’

ตามด้�วยต�วอ�กษรภาษาอ�งกฤษ ต�วเลี่ขี หร อขี�ด้ลี่-าง (Underscore) ‘_’

ไม-ม�ช-องว-างหร อต�วอ�กษรพิ�เศษอ �นๆ เช-น ‘!’, ‘@’, ‘#’, ‘$’, ‘%’, ‘^’ เป'นต�น

ต�วพิ�มพิ�ใหญ-แลี่ะเลี่=กจะเป'นคนลี่ะต�วก�นเช-น NAME, name, Name, NamE

ห�ามซ�&าก�บค�าสูงวน Reserve Words ขีองภาษา C ห�ามต�&งช �อซ�&าก�บ Function ทำ��อย"-ใน Library ขีองภาษา C

Page 34: โครงสร้างภาษาซีเบื้องต้น

ค�าสงวน ค�าสงวน Reserve Words Reserve Words ขั้องภาษา ขั้องภาษา CC

auto double int struct

break else long switch

case enum register typedef

char extern return union

const float short unsigned

continue for signed void

default goto sizeof volatile

do if static While

asm _cs _ds _es

_ss cdecl far huge

interrupt near pascal _export

Page 35: โครงสร้างภาษาซีเบื้องต้น

ว�ธี�การสูร�างต�วแปรแลี่ะก�าหนด้ค-า #include <stdio.h>

void main() { int age;

char sex; float grade;

age = 20; sex = ‘ f ’; grade = 3.14;}

#include <stdio.h>void ()

{ int age = 20;

char sex = ‘ f ’; float grade = 3.14; char name[10] =

“malee” printf(“you are %s\

n”,name); ...}

Page 36: โครงสร้างภาษาซีเบื้องต้น

a + b x = y c = a + b x == y ++i

น1พัจำน/ น1พัจำน/อาจำประกอบื้ด้�วย

ต้�วแปร ค'าคงทุ� การเร�ยกใช้�ฟั.งก/ช้�น หร�อม�ต้�วด้�าเน1นการร'วมอย4'ก5ได้�

Page 37: โครงสร้างภาษาซีเบื้องต้น

ต้�วด้�าเน1นการ

ลี่�าด้�บความสู�าค�ญน�อย

ลี่�าด้�บความสู�าค�ญมาก»̈n¤ ° ª́ εÁ· µ¦� � � � � � � � ª́ εÁ· µ¦� � � � �

ª́ εÁ· µ¦¥¼µ¦¸� � � � � � ¼®µ¦Â̈³®µÁ«¬Á®̈º°� � ª Â̈³̈� � � ª́ εÁ· µ¦Á¦¥̧Á̧¥� � � � � � � � � ª́ εÁ· µ¦Á̧¥Ánµ� � � � � � � �

AND OR ª́ εÁ· µ¦ÁºÉ° Å� � � � � � � � ª́ εÁ· µ¦ ε® nµ� � � � � � � � �

- ++ -- ! sizeof (type) * / %

+ - < <= > >=

== != && || ? :

= += -= *= /= %=

Page 38: โครงสร้างภาษาซีเบื้องต้น

โปรแกรมทุ� 3 สูร�างไฟลี่� triangle.c โด้ยให�

ร�บค-าฐานเป'นเลี่ขีจ�านวนจร�ง ร�บค-าความสู"งเป'นเลี่ขีจ�านวนจร�ง ค�านวนหาค-าพิ &นทำ��ขีองสูามเหลี่��ยม

Area = ½ * ฐาน * สู"ง

Page 39: โครงสร้างภาษาซีเบื้องต้น

การใช้� การใช้� scanf()scanf()

เป'นค�าสู��งทำ��ใช�ในการร�บค-า โด้ยม�ร"ปแบบการใช�งานด้�งน�&scanf(“format string”, address list …);

format string เป�นส'วนทุ� ใช้�ในการใส'ร4ปแบื้บื้ขั้องการร�บื้ขั้�อม4ล

address list เป�นต้�าแหน'งต้�าแหน'งขั้องต้�วแปรทุ� ต้�องการจำะเก5บื้

ขั้�อม4ล

Page 40: โครงสร้างภาษาซีเบื้องต้น

ต้�วอย'างโปรแกรม

#include <stdio.h>

void main() { int x ;

scanf("%%d",&&x); printf("%%d %%c", x, x); return ;}

6666 B

6565 A

โปรแกรม

ผู้ลี่การทำ�างาน

Page 41: โครงสร้างภาษาซีเบื้องต้น

ต้�วอย'างโปรแกรม

#include <stdio.h>

void main() { char s1[80], s2[80] ;

scanf("%%[0-9]%%[a-zA-Z]", s1, s2); printf("%%s %%s", s1, s2); return ;}

1234test1234 test

test1234 test

โปรแกรม

ผู้ลี่การทำ�างาน

Page 42: โครงสร้างภาษาซีเบื้องต้น

ต้�วอย'างโปรแกรม

#include <stdio.h>

void main() { float b,h,area ; printf("Input Base = "); scanf("%%f",&&b); printf("Input Height = "); scanf("%%f",&&h); area = 0.5*b*h ; printf("Area of triangle is %%5.2f",area); return ;}

Input Base = 12.0Input Height = 6.0Area of triangle is 36.00

Input Base = 3.2Input Height = 1.2Area of triangle is 1.92

Page 43: โครงสร้างภาษาซีเบื้องต้น

โปรแกรมทุ� 4 สูร�างไฟลี่� circle.c โด้ยให�

ร�บค-าร�ศม�เป'นเลี่ขีจ�านวนจร�ง ก�าหนด้ค-าคงทำ�� PI ม�ค-า 3.14159 ค�านวนหาค-าพิ &นทำ��ขีองวงกลี่ม

Area = PI* (ร�ศม�)2

Page 44: โครงสร้างภาษาซีเบื้องต้น

ต้�วอย'างโปรแกรม

/* program to calculate area of a circle */#include <stdio.h>#define PI 3.14159main(){

float radius, area;printf(“Input Radius = ?");scanf("%f", &radius);area = PI * radius * radius;printf("Area of circle is %7.2f ", area);

}

Input Radias = 12.0Area of circle is 452.39

Page 45: โครงสร้างภาษาซีเบื้องต้น

โปรแกรมทุ� 5 สูร�างไฟลี่� donut.c โด้ยให�

ร�บค-าร�ศม�ขีองวงกลี่ม 2 วง ก�าหนด้ค-าคงทำ�� PI ม�ค-า 3.14159 ค�านวนหาค-าพิ &นทำ��ขีองวงกลี่มสู-วนสู�เทำา

Page 46: โครงสร้างภาษาซีเบื้องต้น

ต้�วอย'างโปรแกรม#include <stdio.h>#define PI 3.14159main() { float radius1,radius2, area1, area2; printf("Input outer radius ="); scanf(%f, &radius1); printf("Input inner radius ="); scanf(%f, &radius2); if (radius2 < radius1) { area1 = PI * radius1 * radius1; area2 = PI * radius2 * radius2; printf("Area of donut is %5.2f", area1-area2); }}

Page 47: โครงสร้างภาษาซีเบื้องต้น

จบโครงสูร�างภาษาซ�เบ &องต�น

Question ?Question ?

Page 48: โครงสร้างภาษาซีเบื้องต้น

ค�าถามเก� ยวก�บื้ ค�าถามเก� ยวก�บื้ printf()printf()

yards = 8;feet = yards * 3;printf(“%d yards is \n”, yards);Printf(“%d feet”, feet);

จากสู-วนขีองโปรแกรม

8 yards is24 feet

ผู้ลี่การทำ�างาน ค อ ?

Page 49: โครงสร้างภาษาซีเบื้องต้น

ต้�วอย'างโปรแกรม

test1234test 1234

1234test 1234

ผู้ลี่การทำ�างาน

#include <stdio.h>

void main() { char s1[80], s2[80] ;

scanf("%%[^0-9]%%[^a-zA-Z\n]", s1, s2); printf("%%s %%s", s1, s2); return ;}

โปรแกรม