C Programming By Mr. Sanae Sukprung
รู้จักกับภาษา C ภาษา C เป็นภาษาที่เก่าแก่ ซึ่งถูกพัฒนาเพื่อให้เป็นภาษาสำหรับการสร้างระบบปฏิบัติการ UNIX เพราะของเดิมนั้นเขียนด้วยภาษา Assembly ซึ่งเป็นภาษาที่ยึดติดกับ H/W จึงทำให้ย้ายระบบปฏิบัติการไปทำงานกับเครื่องอื่น ๆ เป็นเรื่องที่เป็นไปไม่ได้ C Programing
ดังนั้น ภาษา C จึงเป็นภาษาที่ไม่ยึดติดกับ H/W และในปัจจุบันยังไม่ยึดติดกับการสร้างระบบปฏิบัติการเท่านั้น แต่ยังนำไปสร้างโปรแกรมเพื่องานทุกประเภทได้ C Programing
จุดเด่นของภาษา C เป็นภาษาที่มีการกำหนดมาตรฐานสำหรับเครื่องคอมพิวเตอร์ทุกรุ่น เป็นภาษาที่ระบบปฏิบัติการทุกตัวยอมรับ เป็นภาษาที่มีโครงสร้างที่ดี และความชัดเจนของเครื่องหมายสำหรับดำเนินการ C Programing
สามารถเขียนคำสั่งภาษา C เพื่อควบคุมการทำงานของอุปกรณ์ H/W บางส่วนได้ มี Function สำเร็จรูป สำหรับงานประเภทต่าง ๆ ให้เลือกใช้มากมาย C Programing
การแบ่งระดับตามลักษณะและการทำงาน 1. ภาษาระดับต่ำ (LOW LEVEL Language) เป็นภาษที่ใกล้เคียงกับภาษาเครื่องมากที่สุด สามารถเขียนคำสั่งเพื่อติดต่อสั่งงานกับอุปกรณ์ H/W ได้โดยตรง ซึ่งได้แก่ ภาษา Assambly ตัวอย่าง ของ Assambly MUL R1, D STO R1, TEMP1 LOD R1 ,B ADD R1,TEMP1 C Programing
การแบ่งระดับตามลักษณะ และการทำงาน (ต่อ) การแบ่งระดับตามลักษณะ และการทำงาน (ต่อ) 2. ภาษาระดับสูง (High Level Language) เป็นภาษาที่ใกล้เคียงกับภาษามนุษย์มากที่สุด คำสั่งต่าง ๆ จึงมักเป็นภาษาอังกฤษ ทำให้จดจำและเขียนได้ง่าย เช่น ภาษา Pascal, Cobol, Fortran หรือ Basic เป็นต้น C Programing
การแบ่งระดับตามลักษณะ (ต่อ) 3. ภาษาระดับกลาง (Middle Level language) ภาษา C ถูกพัฒนาขึ้นโดยเอาข้อดีและข้อเสียของ 2 ระดับมาใช้ คือ คำสั่งของภาษา C เป็นคำสั่งที่มีความหมายใกล้เคียงกับภาษามนุษย์ และยังสามารถติดต่อกับ H/W ได้รวดเร็ว ดังนั้นภาษา C จึงถูกจัดให้เป็นภาษาระดับกลาง C Programing
หลักในการแปลภาษา แบ่งได้ 2 วิธี คือ 1. แปลทีละคำสั่ง แบ่งได้ 2 วิธี คือ 1. แปลทีละคำสั่ง ตัวแปลลักษณะนี้จะเรียกว่า Interpreter โดยจะทำงานแบบเป็นคำสั่งต่อคำสั่ง นั่นคือจะอ่านคำสั่งจากโปรแกรมมา 1 คำสั่ง และทำงานตามคำสั่งนั้นทันที Print “Hello Link \n ”; print “How are you?”; Hello Link Interpreter C Programing
หลักในการแปลภาษา (ต่อ) 2. แปลทีเดียวตั้งแต่ต้นจนจบ ตัวแปลลักษณะนี้จะเรียกว่า Compiler หลักการทำงานเริ่มจากคอมไพล์เลอร์จะทำการตรวจสอบคำสั่งทั้งหมดของโปรแกรม เพื่อดูว่ามีส่วนใดผิดจากหลักการของภาษานั้นหรือไม่ ถ้าไม่พบข้อผิดพลาดคอมไพเลอร์จะทำการแปลคำสั่งทั้งหมดในโปรแกรมให้เป็นภาษาเครื่องแล้วจึงทำงาน Print “Hello Link \n ”; print “How are you?”; Hello Link How are You Compiler C Programing
ภาษา C เบื้องต้น
จะแบ่งออกเป็น 2 ส่วนดังนี้ โครงสร้างของภาษา C จะแบ่งออกเป็น 2 ส่วนดังนี้ ส่วนหัวของโปรแกรมซึ่งเป็นส่วนของ การกำหนดค่าเริ่มต้น และประกาศตัวแปร 1 ส่วนของตัวโปรแกรมซึ่งเริ่มจาก Main() ซึ่งอาจจะมีการเรียกใช้ Function อื่น ๆ ก็ได้ 2 C Programing
ตัวอย่าง การเขียนโปรแกรมภาษา C #include <stdio.h> main() { printf(“Hello World\n”); } Head Body C Programing
ส่วนหัวของโปรแกรม ส่วนหัวของโปรแกรมจะเริ่มต้นตั้งแต่บรรทัดแรกของโปรแกรมจนมาสิ้นสุดที่บรรทัดก่อน Main() จะแบ่งออกเป็น 2 ส่วนดังนี้ 1. คำสั่งพิเศษ (Preprocessor Directive) 2. การประกาศตัวแปร (Declaration) C Programing
#include <stdio.h> int x =4; main() { printf(“Hello World\n”); } 1 2 C Programing
Preprocessor directive เป็นคำสั่งรูปแบบหนึ่งของภาษา C ที่มีความพิเศษ โดยในขั้นตอนการแปลความหมายของโปรแกรม ถ้าตัวแปลภาษา C ตรวจพบว่ามีการใช้ Preprocessor ภายในโปรแกรม ก็จะถูกแปลความหมายเป็นลำดับแรกก่อนคำสั่งอื่น ๆ รูปแบบของการเขียน Preprocessor จะต้องขึ้นต้นเครื่องหมาย # แต่ไม่ต้องลงท้ายด้วยเครื่อง ; เหมือนคำสั่งอื่น ๆ ทั่วไป C Programing
Preprocessor directive (ต่อ) #Include #Define #Error #if #Endfi #Elid #Else #ifdef #ifndef #undef #Line #Pragma C Programing
การประกาศตัวแปร #include <Stdio.h> int a= 5; int b= 10; int c; main() { c= a+b; printf (“sum = %d\n”, c); } ตัวแปรจำนวนเต็ม หาผลบวก แสดงผลบวก C Programing
รูปแบบการเขียนคำสั่งภาษา C ทุกคำสั่งต้องลงท้ายด้วย ; สามารถเขียนคำสั่งได้อย่างอิสระ เช่น int a = 5; int b = 10; printf (Sum = %d\n”, a+b); C Programing
คำบรรยายแทรก (Comment) C Programing
#include <stdio.h> main() { printf (“Hello World\n”); /* Display message Hello world to the Monitor */ } C Programing
ข้อมูลและตัวแปรในภาษา C
ชนิดของข้อมูลในภาษา C ข้อมูลเลขจำนวนเต็ม (Integer) ข้อมูลเลขทศนิยม (Float) ข้อมูลชนิดเลขฐานแปด (Octal) ข้อมูลชนิดเลขฐานสิบหก (Hexadecimal) ข้อมูลชนิดตัวอักขระ (Character) ข้อมูลชนิดข้อความ (String) C Programing
ตัวแปรและหน้าที่ของตัวแปร ตัวแปร (Variable) คือ การจองที่เก็บข้อมูลในหน่วยความจำหลัก (RAM) ของเครื่องคอมพิวเตอร์ พร้อมกับกำหนดชื่อเรียกแทนหน่วยความจำในตำแหน่งนั้น อย่างเช่น ถ้าเราสร้างตัวแปรขึ้นมา 1 ตัวโดยใช้ชื่อ num สำหรับเก็บค่าของตัวเลข 16 เมื่อต้องการนำค่า 16 มาใช้ เราก็เพียงแต่เรียกชื่อ num ซึ่งภาษา C จะแปลความหมายได้ถูกต้องว่ามีค่าเท่ากับ 16 C Programing
ชนิดของตัวแปรในภาษา C สามารถแบ่งได้ 2 ประเภทใหญ่ ๆ คือ 1. ตัวแปรแบบพื้นฐาน (Scalar) ซึ่งหมายถึงที่เก็บข้อมูลได้เพียงค่าเดียวเช่น C Programing
C Programing
รูปแบบการประกาศตัวแปร Type variable; type : ชนิดของตัวแปรที่จะสร้างขึ้น variable : ชื่อของตัวแปรที่ต้องการจะใช้ int num; float y; char c; double salary; ตัวอย่าง C Programing
รูปแบบการประกาศตัวแปร (ต่อ) Type variable = value; long million = 1000000; int oct = 0234; int hex = 0x45; float temp = 15.236; double stat = 1.25e-02; char ch =‘#’; ตัวอย่าง C Programing
Type variable-1, variable-2,... variable-n; รูปแบบการประกาศตัวแปร (ต่อ) Type variable-1, variable-2,... variable-n; type : ชนิดของตัวแปรที่จะสร้างขึ้น variable-1... Variable-n : ชื่อของตัวแปรที่ต้องการจะใช้ int num1,num2,num3; float point1, point2,point3 = 12.00; char a,b = ‘B’, c,d =‘D’; ตัวอย่าง C Programing
หลักการตั้งชื่อตัวแปร ต้องขึ้นต้นด้วยตัวอักษร A-Z หรือ a-z หรือเครื่องหมาย _ เท่านั้น ความยาวต้องไม่เกิน 32 ตัวอักษร ภายในชื่อตัวแปรให้ใช้ตัวอักษร A-Z หรือ a-z หรือ 0-9 หรือ _ ห้ามเว้นช่องว่างภายในตัวแปร หรือใช้สัญลักษณ์นอกเหนือจากข้อ 2 การใช้ตัวอักษรตัวใหญ่ และตัวเล็ก มีความแตกต่างกัน ห้ามตั้งชื่อตัวแปรซ้ำกับคำสงวน (Reserved Word) C Programing
คำสงวน (Reserved Word) auto break case char const continue default do double else if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while C Programing
ตัวอย่างการตั้งชื่อตัวแปร class_room hi-tech 9number _hello123 age# right! last name ถูกต้อง ไม่ถูกต้อง ไม่ถูกต้อง ถูกต้อง ไม่ถูกต้อง ไม่ถูกต้อง ไม่ถูกต้อง C Programing
ตัวแปรสำหรับข้อมูลชนิดข้อความ char variable[n]; n : คือจำนวนของตัวแปรชนิดอักขระ (Char) ที่จะสร้างขึ้น โดยถ้าข้อความมีอักขระทั้งหมด 10 ตัว จะต้องใส่จำนวนเป็น 11 เนื่องจากภาษา C มีข้อกำหนดว่าจะเก็บข้อมูลชนิดข้อความ ตัวสุดท้ายต้องเป็นอักขระว่าง ซึ่งจะเขียนแทนด้วย \0 เพื่อบอกให้รู้ว่าเป็นข้อความ Variable : ชื่อของตัวแปร โดยต้องตั้งชื่อให้ถูกต้องตามหลักการตั้งชื่อ char name [10]; C Programing
คำสั่งที่ใช้ในการแสดงผล และการรับข้อมูล printf() รูปแบบ printf (“ control”,value); C Programing
control : ส่วนที่ใช้ควบคุมการแสดงผล ซึ่งมีอยู่ 3 แบบด้วยกัน คือ ข้อความธรรมดา รหัสควบคุมรูปแบบ (เช่น %d, %f) และอักขระควบคุมการแสดงผล(เช่น \n) โดยส่วนที่ใช้ควบคุมการแสดงผลเหล่านี้จะต้องเขียนไว้ภายใน “ “ value : คือ ค่าของเครื่องหมาย นิพจน์ หรือมาโครที่ต้องการแสดงผล โดยถ้ามีมากกว่าหนึ่งตัวให้ใช้เครื่องหมาย , (comma) คั่นระหว่างแต่ละตัว C Programing
#include <stdio.h> main() { printf (“Nice to meet you!”); } ตัวอย่าง /* Ex1 */ #include <stdio.h> main() { printf (“Nice to meet you!”); } C Programing
#include <stdio.h> int num = 32; main() { printf (num); } ตัวอย่าง /* Ex2 */ #include <stdio.h> int num = 32; main() { printf (num); } C Programing
รหัสรูปแบบ (Format Code) %u สำหรับการแสดงผลตัวเลขจำนวนเต็มบวก %o สำหรับการแสดงผลออกมาในรูปแบบของเลขฐานแปด %x สำหรับการแสดงผลออกมาในรูปแบบของเลขฐานสิบหก %f สำหรับการแสดงผลตัวเลขทศนิยม %e สำหรับการแสดงผลตัวเลขทศนิยมออกมาในรูปแบบ E %c สำหรับแสดงผลอักขระ 1 ตัว %s สำหรับแสดงผลข้อความ %p สำหรับการแสดงผลตัวชี้ตำแหน่ง C Programing
ตัวอย่าง /* EX 3 */ #intclude <Stdio.h> int x1 = 43, x2 = 0x77, x3 = 0573; float y1 = -764.512, y2 = 1.25e02; char z = ‘A’; char name[11] = “Sriwattana” main() { printf (“%d“, x1); printf (“%x %o “,x2, x3); printf (“%f %e “, y1,y2); printf (“%c %s “, z, name); } C Programing
อักขระควบคุมการแสดงผล \n ขึ้นบรรทัดใหม่ \t เว้นช่องว่างเป็นระยะ 1 Tab (6 ตัวอักษร) \r กำหนดให้ Cursor ไปอยู่ต้นบรรทัด \f เว้นช่องว่างเป็นระยะ 1 หน้าจอ \b ลบอักขระตัวท้ายสุดออก 1 ตัว C Programing
#include <stdio.n> #define PUBLISH “infopress” ตัวอย่าง #include <stdio.n> #define PUBLISH “infopress” int x1 =14, x2 = 5; main() { printf (“This is the book from %s\n”, PUBLISH); printf(“Sum of %d + %d =\t%d\n”,x1, x2, x1+x2); } C Programing
รับข้อมูลจาก Keyboard ด้วย scanf() รูปแบบ scanf (“ format “ , &variable); C Programing
format : เป็นการกำหนดรูปแบบ ของข้อมูลที่จะรับเข้ามา โดยจะใช้รหัสรูปแบบเหมือนกับ printf () variable : ตัวแปรที่ใช้สำหรับรับข้อมูลเข้ามา โดยจะต้องเขียนนำหน้าด้วยเครื่องหมาย & ยกเว้นตัวแปรที่จะเก็บข้อความเท่านั้น C Programing
#include <stdio.h> int age; main () { clrscr( ); ตัวอย่าง /* EX 4 */ #include <stdio.h> int age; main () { clrscr( ); printf (“How Old are you?”); scanf (“%d”,&age); printf (“You are %d years old. \n”,age); } C Programing
แสดงผลทีละอักขระด้วย putchar() รูปแบบ putchar(char); char : เป็นตัวแปรชนิด char หรืออักขระที่เขียนภายในเครื่องหมาย ‘ ‘ C Programing
ตัวอย่าง การใช้คำสั่ง putchar( ) #include <stdio.h> char first = ‘0’; main() { clrscr(); putchar(first); putchar(‘k’); } เรียกใช้ Function Clrscr แสดงข้อความในตัวแปร First แสดงตัวอัการ k C Programing
แสดงผลเป็นข้อความด้วย puts() รูปแบบ puts(str); str : เป็นตัวแปรชนิดข้อความ หรือข้อความที่เขียนภายในเครื่องหมาย “ “ C Programing
ตัวอย่าง การใช้คำสั่ง puts( ) #include <stdio.h> char message[ ] = “C Language”; main() { clrscr(); puts(message); puts(“easy & fun”); } C Programing
รับข้อมูลทีละอักขระด้วย getchar() รูปแบบ variable = getchar(); variable : ชื่อของตัวแปรชนิดอักขระ ซึ่งจะใช้เก็บค่าที่รับเข้ามาจาก Keyboard C Programing
ตัวอย่างของการใช้ getchar() #include <stdio.h> char x; main() { clrscr(); printf (“Enter you favorite letter : “); x = getchar(); printf (“You insert : %c”,x); } C Programing
รับข้อมูลทีละอักขระด้วย getch() รูปแบบ variable = getch(); variable : ชื่อของตัวแปรชนิดอักขระ ซึ่งจะใช้เก็บค่าที่รับเข้ามาจาก Keyboard C Programing
ตัวอย่างของการใช้ getch() #include <stdio.h> char x; main() { clrscr(); printf (“Enter you favorite letter : “); x = getch(); printf (“You insert : %c”,x); } C Programing
รับข้อมูลเป็นข้อความด้วย gets() รูปแบบ gets(str); Str : ตัวแปรที่จะใช้เก็บข้อความ ซึ่งเราต้องสร้างเตรียมไว้ก่อนที่จะเรียกใช้ Function gets() C Programing
ตัวอย่างของการใช้ gets() #include <stdio.h> char message[30]; main() { clrscr(); printf (“Enter your message: ”); gets (message); printf (“Your message is %s”,message); } C Programing
เครื่องหมาย และการดำเนินการในภาษา C
เครื่องหมายการคำนวณทางคณิตศาสตร์ “+” เช่น z = x + y หมายถึง บวกค่าที่อยู่ในตัวแปร x และ y มาเก็บไว้ที่ตัวแปร z “-” เช่น z = x - y หมายถึง ลบค่าที่อยู่ในตัวแปร x และ y มาเก็บไว้ที่ตัวแปร z “ * ” เช่น z = x * y หมายถึง คูณค่าที่อยู่ในตัวแปร x และ y มาเก็บไว้ที่ตัวแปร z “/” เช่น z = x / y หมายถึง หารค่าที่อยู่ในตัวแปร x และ y มาเก็บไว้ที่ตัวแปร z “%” เช่น z = x % y หมายถึง หารค่าที่อยู่ในตัวแปร x และ y มาเก็บไว้ที่ตัวแปร z โดยที่ค่าที่เก็บคือเศษที่ได้มาจากการหาร C Programing
ตัวอย่าง /* Ex 4.1*/ #include <Stdio.h> int x = 5; int y = 2; int sum, diff, mul, mod; float div; main () { sum = x + y; diff = x - y; mul = x * y; div = x / y; mod = x % y ; } C Programing
เครื่องหมายดำเนินการทางคณิตศาสตร์ที่เพิ่ม ลบทีละ 1 ค่า “++” y = ++x หมายถึง บวกค่าในตัวแปร x ก่อน 1 ค่า แล้วนำผลลัพธ์ที่ได้ไปเก็บไว้ที่ y หรือ y = x++ หมายถึง นำค่าของ x ไปเก็บไว้ที่ y ก่อน แล้วค่อยบวกค่าในตัวแปร x 1 ค่า “--” y = --x หมายถึง ลบค่าในตัวแปร x ก่อน 1 ค่าแล้วนำผลลัพธ์ที่ได้ไปเก็บไว้ที่ y หรือ y = x-- หมายถึง นำค่าของ x ไปเก็บไว้ที่ y ก่อน แล้วค่อยลบค่าในตัวแปร x 1 ค่า C Programing
ตัวอย่าง x , y มีค่าเท่ากับ 5 z มีชนิดข้อมูลเป็น Integer x = z = 6 /* Ex 4.1*/ #include <Stdio.h> int x,y = 5; int z; main () { z = ++x; z = y++; } x , y มีค่าเท่ากับ 5 z มีชนิดข้อมูลเป็น Integer x = z = 6 z = 5 , y = 6 C Programing
เครื่องหมายดำเนินการทางคณิตศาสตร์ที่ใช้ลดรูป += เช่น y+=x หมายถึง y = y+x -= เช่น y-=x หมายถึง y = y-x *= เช่น y*=x หมายถึง y = y*x /= เช่น y/=x หมายถึง y = y/x %= เช่น y%=x หมายถึง y = y%x C Programing
เครื่องหมายการเปรียบเทียบ = = หมายถึง เท่ากับ เช่น x == y != หมายถึง ไม่เท่ากับ เช่น x != y < หมายถึง น้อยกว่า เช่น x < y <= หมายถึง น้อยกว่าหรือเท่ากับ เช่น x <= y > หมายถึง มากกว่า เช่น x > y >= หมายถึง มากกว่า หรือเท่ากับ เช่น x >= y C Programing
เครื่องหมายทางตรรกศาสตร์ && เรียกว่า and สรุป and จะได้ผลลัพท์ออกมาเป็นจริง ถ้าค่าที่นำมาก && กันเป็นจริงทั้งคู่ C Programing
เครื่องหมายทางตรรกศาสตร์ (ต่อ) || เรียกว่า OR สรุป OR จะได้ผลลัพท์ออกมาเป็นเท็จ ถ้าค่าที่นำมาก || กันเป็นเท็จทั้งคู่ C Programing
เครื่องหมายทางตรรกศาสตร์ (ต่อ) ! เรียกว่า NOT สรุป not จะได้ผลลัพท์ออกมาตรงกันข้ามกัน C Programing
ทำความรู้จักกับนิพจน์ (Expression) นิพจน์ คือ การนำข้อมูลซึ่งอาจจะอยู่ในรูปของค่าคงที่หรือตัวแปรมาดำเนิน การโดยใช้เครื่องหมายทางคณิตศาสตร์เป็นตัวสั่งการ ตัวอย่างของนิพจน์ 5 + 3 = 8 , b2 - 4ab , ax2 + bx +c การเขียนนิพจน์ในภาษา C นิพจน์ในภาษา C ก็คือ การนำข้อมูลหรือตัวแปรในภาษา C มาดำเนินการ โดยใช้เครื่องหมายทางคณิตศาสตร์ ตรรกศาสตร์ หรือเครื่องหมายเปรียบเทียบ ที่มี ความหมายในภาษา C เป็นตัวสั่งการ C Programing
ตัวอย่าง การเขียนนิพจน์ในภาษา C C Programing
ลำดับของเครื่องหมายในการคำนวณ C Programing
การเปลี่ยนชนิดตัวแปร การเปลี่ยนชนิดตัวแปรโดยอัตโนมัติ สำหรับการเปลี่ยนโดยอัตโนมัติ หรือเรียกว่า Implicit Casting เราไม่ต้อง ทำอะไร ตัวแปรภาษา C จะจัดการให้ทั้งหมด โดยใช้หลักการเปลี่ยนชนิดตัวแปร ที่มีขนาดเล็กกว่า ไปเป็นชนิดที่มีขนาดใหญ่กว่า int x = 5; float y = 2.5; float z ; main() { z = x +y; } ตัวแปรเลขจำนวนเต็ม ตัวแปรเลขทศนิยม ตัวแปรเลขทศนิยม บวกค่าของตัวแปรต่างชนิด C Programing
การเปลี่ยนชนิดตัวแปร (ต่อ) เปลี่ยนโดยใช้คำสั่ง รูปแบบ (typecast) variable; typecast หมายถึง ชนิดของตัวแปรที่ต้องการจะเปลี่ยนไปใช้ variable หมายถึง ตัวแปรหรือข้อมูลที่ต้องการจะเปลี่ยนชนิด C Programing
ตัวอย่าง int x = 32; float y = 1.25e3; char z = ‘C’ int num1; float num2; num1 = (int)y; num1 = (int)z; num1 = (int) -4.246; num1=(int)’A’; num2=(float)x; num2=(float)-125; num2=(float)z; เปลี่ยนจาก float เป็น int เปลี่ยนจาก char เป็น int เปลี่ยนจาก float เป็น int เปลี่ยนจากตัวขระ เป็น int เปลี่ยนจาก int เป็น float เปลี่ยนจากเลขจำนวนเต็มลบ เป็น float เปลี่ยนจาก char เป็น float C Programing
ขอความสั่งควบคุม
ขอความสั่งควบคุม แบงเปนกลุมใหญ ๆ ได 2 กลุม คือ 1. ขอความสั่งวงวน (loop statements) 2. ขอความสั่งมีเงื่อนไข (conditional statements) (Schildt 1968:63) C Programing
ขอความสั่งวงวน ขอความสั่งวงวนที่ใชงานในภาษาซี ไดแก 1. ขอความสั่ง while 2. ขอความสั่ง do/while 3. ขอความสั่ง for C Programing
ขอความสั่ง while ใชสั่งใหทํางานเปนวงวนจนกวาเงื่อนไขที่กําหนดจะเปนเท็จจึงจะหยุดการวน รูปแบบ while (เงื่อนไข) { ขอความสั่งที่ 1 ; ขอความสั่งที่ 2 ; ขอความสั่งที่ 3 ง . . . . . . . . . .; . . . . . . . . . . ; } C Programing
ทิศทางการทำงานของ while รูปแสดงการทำงาน Statement ของ while Condition เท็จ จริง C Programing
ตัวอยางโปรแกรม #include <stdio.h> int i=1; main ( ) { while(i<=5) printf(“COMPUTER\n”); i++ ; } printf (“End of loop.\n”); C Programing
ตัวอยางโปรแกรมพิมพสูตรคูณ #include <stdio.h> int i=1; main ( ) { while (i<=12) printf (“ 25x %d = %3d\n”,I,I*25); I++ ; } printf (“End of loop.\n”); C Programing
ขอความสั่ง do/while ขอความสั่งวงวนแบบนี้จะเริ่มทําตามขอความสั่งในบล็อกกอน 1 รอบแลวจะตรวจสอบเงื่อนไขของขอความสั่ง while ถาเปน จริงก็วนกลับไปทําตามขอความสั่งทั้งหมดในบล็อก แลวตรวจสอบเงื่อนไขอีก ถาเปนเท็จก็จะเลิกการทําซํ้า แลวขามไปทําตามข้อความสั่งที่เหลือในโปรแกรมตอไปจนจบ C Programing
รูปแบบของคำสั่ง do/while { ขอความสั่งที่ 1 ; ขอความสั่งที่ 2 ; ขอความสั่งที่ 3 ง . . . . . . . . . .; . . . . . . . . . . ; } while (เงื่อนไข); C Programing
ทิศทางการทำงานของ do/while รูปแสดงการทำงาน Statement ของ while Condition เท็จ จริง C Programing
ตัวอยางโปรแกรม #include <stdio.h> int i=1; main ( ) { do printf(“COMPUTER\n”); I ++; } while (i<=5); printf (“End of loop.\n”); C Programing
ตัวอยางโปรแกรมพิมพสูตรคูณ main ( ) { int i=1; do printf (“ 25 x %2d = %3d\n”,i,i*25); i++ ; } while (i<=10); printf (“End of loop.\n”); C Programing
ขอความสั่ง for ขั้นตอนการทำงานของ for 1. กำหนดค่าเริ่มต้นให้กับตัวแปร 2. กำหนดเงื่อนไขที่ใช้ในการตรวจสอบ 3. ปฏิบัติตามเงื่อนไข 3.1 ถ้าเงื่อนไขเป็นจริงให้ทำตามคำสั่งภายใน Loop for 3.2 ถ้าเงื่อนไขเป็นเท็จให้ออกจาก Loop for 4. เพิ่ม/ลด ค่าของตัวแปร 5. ย้อนกลับไปทำที่ข้อ 3 C Programing
รูปแบบของ for for (ค่าเริ่มต้น;เงื่อนไขที่ใช้ตรวจสอบ;การเพิ่ม/ลดค่าตัวแปร) { statement1; statement2; statement3; ………………; } C Programing
ทิศทางการทำงานของ for กำหนดค่าเริ่มต้น เท็จ Condition จริง ทำงานตามคำสั่งของ for เปลี่ยนแปลงค่าของตัวแปร C Programing
ตัวอยางโปรแกรม main ( ) { int i: for (i=1;i<=5;i++) printf(“COMPUTER\n”); printf(“End of loop.\n”); printf(“ i = %d\n”,i); } C Programing
ตัวอยางโปรแกรม for ที่มี 2 ขอความสั่งขึ้นไป main ( ) { int i; for(i=1;i<=5;i++) printf (“COMPUTER\n”); printf(“ i = %d\n”,i); } printf (“End of loop.\n”); printf (“ i = %d\n”,i); C Programing
ตัวอย่างโปรแกรม main ( ) { int i: for (i=5;i>0;i --) printf (”COMPUTER\n”); printf (“End of loop.\n”); } C Programing
การกําหนดตัวแปรที่มีการเปลี่ยนคาไวมากกวา 1 ตัว ในภาษาซีมีวิธีกําหนดตัวแปรไวในเงื่อนไขไดมากกวา 1 ตัว โดยใช , คั่นตัวแปรไว แตการกําหนดตัวแปรควบคุมในเงื่อนไขจะตองใชตัวแปรตัวเดียวเทานั้น C Programing
ตัวอยางกําหนดตัวแปร 2 ตัวไวในวงเล็กหลัง for main ( ) { int i,j; for (i=1 , j=10;i<=5;i++,j+=10) printf (“%d x%d = %d\n”,i,j,i*j); printf (“End of loop.”)’ } C Programing
ตัวอยางกําหนดตัวแปร 3 ตัวไวในวงเล็กหลัง for main ( ) { int i,j,k; for iI=1,j=10,k=100;i<=5;i++,j+=10,k-=30) printf (“%d x %2d x %4d = %6d\n”,i,j,k,i*j*k); printf (“End of loop.\n”); } C Programing
ขอความสั่งมีเงื่อนไข ขอความสั่งมีเงื่อนไขไดแก if / else switch/case C Programing
เครื่องหมายเปรียบเทียบ > มากกวา >= มากกวาหรือเทากับ < นอยกวา <= นอยกวาหรือเทากับ = = เทากัน != ไมเทากัน && AND (และ) || OR (หรือ) ! NOT C Programing
กำหนดค่าเริ่มต้น เท็จ จริง START Condition Statement ; Statement ; STOP C Programing
ขอความสั่ง if/else If (เงื่อนไข) { ขอความสั่ง ; /* ทํ าเมื่อเงื่อนไขเปนจริง */ . . . . . . . . . ; } else ขอความสั่ง ; /* ทํ าเมื่อเงื่อนไขเปนเท็จ */ . . . . . . . . . . ; C Programing
ขอความสั่ง if/else แบบซอนกัน (nested if) { ขอความสั่ง ; /* ทํ าเมื่อเงื่อนไข 1 เปนจริง */ ขอความสั่ง ; . . . . . . . . . ; } else /* ทํ าเมื่อเงื่อนไข 1 เปนเท็จ */ if (เงื่อนไข 2) ขอความสั่ง ; /* ทํ าเมื่อเงื่อนไข 2 เปนจริง */ else ขอความสั่ง ; /* ทํ าเมื่อเงื่อนไข 2 เปนเท็จ */ . . . . . . . . . .; C Programing
ขอความสั่ง Switch/case/bread/default เปนขอความสั่งประเภทที่มีการตรวจสอบคาของนิพจนหรือคาของตัวแปรที่รับมาวาสอดคลองกับกรณีใดก็จะปฏิบัติงานตามกรณีนั้น แลวออกจากวงวน เมื่อพบคําสั่ง break เพื่อทําตาม ขอความสั่งที่มีตอจากวงวนนั้น จนกวาจะจบโปรแกรม C Programing
รูปแบบ Switch/Case switch (นิพจน หรือ ตัวแปร) { ขอความสั่ง 1; ขอความสั่ง 2; . . . . . . . . . . .; break; case (คาของนิพจนหรือตัวแปร คาที่ 2) : . . . . . . . . . . ; . default : ขอความสั่ง ; } C Programing