Post Views: 378,545 Show บทความนี้ ผมคัดลอกมาจากบล็อกเก่า ที่ผมเขียนไว้สมัยเรียนตอนเรียนภาษา C ตอนนั้นเรียนอะไรก็มาเขียนไว้ วันนี้เลยตั้งใจนำมาปรับปรุงใหม่ให้มีแต่เนื้อๆ โดยบทความนี้จะนำเสนอตั้งแต่พื้นฐานแบบ zero มาเลย และอาจจะค่อนข้างรวบรัดนิดนึง ขอแบ่งเป็นตอนๆ เพราะแม้จะพื้นฐานแต่ก็เยอะมาก หนังสือที่ขายกันก็เล่มหนาๆทั้งนั้น ทำไมต้องเริ่มที่ภาษา Cภาษา C เป็นรากฐานของหลายๆภาษาในเชิงโปรแกรมมิ่ง ตัวผมเองก็เริ่มจากภาษา C นี่แหละ จากนั้นก็ขยับไป C++ Java C# รูปการเขียนก็ง่าย ไม่ซับซ้อน แต่ทั้งนี้ทั้งนั้นไม่จำเป็นต้องเริ่มที่ภาษา C ก็ได้ แต่ถ้าใครจะเริ่มหัดเขียนโปรแกรม ผมก็แนะนำให้เริ่มรู้จักที่ภาษา C ก่อน รู้จักโปรแกรม Dev Cppโปรแกรมที่ใช้เขียนมีหลายตัวให้เลือก แต่ที่ผมชอบคือ Dev C++ อีกตัวที่นิยมคือ Code Block ในบทความนี้จะใช้ Dev c++ ดาวน์โหลด ถ้าใช้ Windows 8 หรือใหม่กว่า แนะนำให้โหลดเวอชัน 5.0 ขึ้นไป ติดตั้งโปรแกรมให้เสร็จ จะได้หน้าเปล่าๆขึ้นมา สำหรับเขียน code ให้ทำการ save ก่อน สังเกตว่า นามสกุลจะมีให้เลือก คือ .c หรือ .cpp การ Compile & Run กด F11 หรือกดปุ่มดังรูป เรื่องสำคัญที่ต้องรู้Syntaxทุกคำสั่งการทำงานจะต้องปิดท้ายด้วย ; (Semi-colon) เช่น age = 23; Notation and Commentเครื่องหมาย = คือ การกำหนดค่า เช่น การกำหนดให้ a มีค่าเป็น 20 a = 20; // assign 20 to a. นอกนั้นก็ + , – , * , / ได้ตามสมการปกติ ใช้วงเล็บได้ ( ) answer = (10+5)/5; บางทีเราต้องการลบโค้ดส่วนนั้นออกชั่วคราว เรียกว่า การคอมเม้น คือ การเขียนเพื่อระบุว่า ตรงนี้ Compiler จะไม่นำไปประมวลผล อาจจะทำเพื่อ อธิบายคนอ่าน หรือ เพื่อลบโค้ดส่วนนั้นชั่วคราว จะใช้ // This comment single line. /* This . comment multi line. */ Case sensitiveคือ ชื่อ abc จะไม่เท่ากับ ABC หรือ aBc Data Typeชนิดของข้อมูลพื้นฐาน ที่ควรรู้ คือ char = ตัวหนังสือ และถ้าเป็น char จะต้องมี ‘ (single quote) ปิดหน้าหลังเสมอ char grade = 'A'; int age = 23; float grade = 3.8; double money = 1556.3204843; มีอีกหลายตัว สามารถไปศึกษาเพิ่มเติมได้ Variable name and Reserve wordการตั้งชื่อ ตัวแปรต่างๆในโปรแกรมมีกฏอยู่เล็กน้อย เช่น ห้ามมีเลขขึ้นต้น ห้ามมีอักษรพิเศษ และห้ามเป็นชื่อเฉพาะ คำสงวนที่ห้ามใช้ตั้งชื่ออยู่ เพราะระบบใช้ไปแล้ว เดี๋ยวจะงง ยกตัวอย่างบางคำนะครับ เพราะมีค่อนข้างเยอะ
จบคอร์สแบบรวบรัดสุดๆ พื้นฐานข้างบนต้องจำให้ได้ รู้จักกับ #include#include คือการระบุว่า เราจะนำ library หรือ code ที่มีคนเขียนไว้แล้วมาใช้ในโปรแกรมเรา ซึ่งเจ้านี่จะมีนามสกุล .h เช่น เราต้องการแสดงข้อมูลบนหน้าจอ ก็ต้องอันเชิญ stdio.h (Standard Input/Ouput) เข้ามาในโปรแกรมก่อน โดยจะเขียนไว้ด้านบนสุดของไฟล์ #include<stdio.h> รู้จักกับฟังชันก์ mainmain คือชื่อฟังก์ชันที่เป็นจุดเริ่มทำงานของโปรแกรม พูดง่ายๆคือเปิดโปรแกรมขึ้นมา มันจะมาทำงานที่นี่ โดยจะทำงานตั้งแต่ { ปีกกาเปิด ถึง } ปีกกาปิด จึงเขียนได้ว่า main() { // do some thing } รู้จักฟังชันก์ printf()printf คือ ฟังชันก์ ใน stdio.h ดังนั้นก่อนใช้ต้องอัญเชิญ stdio.h มาก่อนนะ ความสามารถของมันคือ ปริ้นข้อความ เช่น #include <stdio.h> main(){ printf("Hello World"); } เราจะได้ข้อความ “Hello world” รู้จักกับการสร้างตัวแปรการสร้างตัวแปร โดยทั่วไปในทางการเขียนโปรแกรม
จะเรียกว่าการประกาศ (Declaration) int money = 100; เปลี่ยนค่ามันก็สามารถกำหนดอีกครั้งแต่ไม่ต้องมี ประเภท int money = 100; printf("money = %d",money); money = 22; printf(" , new money = %d",money); แล้วลอง run ขึ้นบรรทัดใหม่และการแท็บบางทีเราจะปริ้นข้อความอะไรมันก็จะติดกันยาว ทำให้ไม่สวยงาม ซึ่งใน printf สามารถใช้อักษณะพิเศษได้ดังนี้ นำตัวแปรมาใช้กับ printfบางทีเราก็ต้องการแสดงค่าจาก ตัวแปร ก็สามารถทำได้ แต่เราต้องรู้ก่อนว่ามันทำงานยังไง int money = 100; printf("Money = %d",money); แบบนี้คือแสดง ข้อความ “Money = 100” สังเกตว่า 100 จะมาแทน %d นั่นเอง โดย 100 มาจาก money อีกที ก็ใช้รูปแบบเดิม int money = 100; char grade = 'B'; printf("Money = %d and Grade = %c",money,grade); ลองรันเพื่อดูผล สังเกตว่า money จะไปแทน %d และ grade จะไปแทน %c ถ้ามี 3 4 5 ตัวหรือมากกว่านี้ ก็ใช้หลักการนี้ ซึ่งต่าง data type กันก็ใช้ % ต่างกันไป เพื่อแสดงผล
รู้จักกับ Asciiacii คือ ค่าตัวเลขที่แทนอักขระ เพื่อให้เห็นภาพ ลองดู code ด้านล่าง #include <stdio.h> main(){ char alphabet_A = 'A'; char alphabet_B = 'B'; char alphabet_C = 'C'; printf("\n A = %d",alphabet_A); printf("\n B = %d",alphabet_B); printf("\n C = %d",alphabet_C); } ลองรันดู มันก็แสดงผลออกมาเป็นเลข เลขในที่นี้ก็คือ ค่าของ ascii อักขระตัวนั้นนั่นเอง ‘A’ = 65 ในทางกลับกัน ลองกำหนดค่า int แล้วไปแสดงเป็น char ดูบ้าง #include <stdio.h> main(){ int value_A = 65; int value_B = 66; int value_C = 67; printf("\n 65 = %c",value_A); printf("\n 66 = %c",value_B); printf("\n 67 = %c",value_C); } ดังนั้นอักขระทุกตัวจะมีค่า ascii ของตัวเอง และสังเกตว่า A B C จะมีค่า ascii เรียงกันไป #include <stdio.h> main(){ int value_A = 65; int value_Z = value_A + 25; printf("\n A+25 = %c",value_Z); } ตอนนี้คงเข้าใจแล้วว่า Ascii คืออะไร และสามารถดูค่า อื่นๆจาก ตาราง Ascii ได้ http://www.asciitable.com/ รู้จักฟังชันก์กับ scanfก่อนหน้านี้เราทำได้แค่แสดงผล
แต่ไม่สามารถทำให้โปรแกรมรับค่าได้จากคีบอร์ด วิธีการคือ เราต้องประกาศตัวแปรก่อน ที่ต้องใส่ & ไปที่หน้าตัวแปรด้วย คือ การบ่งบอกว่า เราจะรับค่าไปเก็บที่ address ใน memory ของตัวแปรนั้น (อย่าพึ่งงง) ลองทำกันดีกว่า เราจะทำโปรแกรม ให้ผู้ใช้ใส่เลขลงไป แล้วโปรแกรมจะแสดงผลเป็นเลขนั้นยกกำลังสอง #include <stdio.h> main(){ int data = 0; printf("Input integer = "); scanf("%d",&data); data = data * data; printf("\nvalue power 2 = %d",data); } ลองรัน เท่านี้แหละ การใช้ scanf แบบพื้นฐาน การรับ char , float ก็ใช้หลักการเดียวกัน บทความนี้เป็นพื้นฐานมากๆในการรู้จักกับ ภาษา C
(: |