สวัสดีและขอต้อนรับเข้าสู่คลาสเขียนโปรแกรม C for Beginners
ฉันชื่อ Jason Fitton และฉันจะเป็นผู้สอนให้คุณ
ฉันอยากจะขอบคุณสำหรับการลงทะเบียนสำหรับหลักสูตรนี้
มันจะสนุกมากและฉันจะทำให้ดีที่สุดเพื่อกระตุ้นคุณและช่วยให้คุณเรียนรู้ทั้งหมดเกี่ยวกับภาษาโปรแกรม
C
มาเริ่มกันเลย.
ก่อนอื่นฉันอยากจะบอกคุณเล็กน้อยเกี่ยวกับตัวฉันเอง
ฉันมีวิทยาศาสตรมหาบัณฑิตสาขาวิทยาการคอมพิวเตอร์จากมหาวิทยาลัยบิงแฮมตัน และฉันยังมีวิทยาศาสตรบัณฑิตและวิทยาการคอมพิวเตอร์จาก
SUNY Oswego
ฉันได้รับปริญญาโทในปี 2544
ฉันเป็นนักพัฒนาซอฟต์แวร์มากว่า 16 ปี
ฉันเป็นผู้สอนออนไลน์มากว่า 11 ปี
ฉันได้สอนคลาสที่แตกต่างกันกว่า 20 คลาส ตั้งแต่ทุกอย่างตั้งแต่การเขียนโปรแกรมเชิงวัตถุไปจนถึงทฤษฎีคอมไพเลอร์
ฉันมีประสบการณ์มากมายเกี่ยวกับการเขียนโปรแกรมในวิทยาการคอมพิวเตอร์โดยทั่วไป
ฉันทำงานกับโปรแกรมภาษาซีมากว่า 16 ปี
โดยพื้นฐานแล้ว ทันทีที่ฉันได้งานแรก ฉันก็เริ่มเขียนโค้ด C
ฉันได้สร้างชั้นเรียน C ระดับเริ่มต้นและ C ขั้นสูงในมหาวิทยาลัยหลายแห่ง ดังนั้นฉันจึงมีประสบการณ์มากมายเกี่ยวกับหลักสูตรและการนำเสนอแนวคิด
C แก่นักเรียน
ฉันเป็นนักพัฒนาซอฟต์แวร์ที่ Xerox Corporation มาประมาณ 10 ถึง 12 ปี
ในขณะที่ฉันทำงานที่นี่ฉันได้เขียนโค้ด C เป็นส่วนใหญ่และยังมีโค้ด C plus plus อีกด้วย
เราเรียกใช้ที่เก็บซอร์สโค้ดทั้งหมดของเราบนแพลตฟอร์ม Linux และเราเขียนโค้ดตามเวลาจริง
ฉันมุ่งเน้นไปที่ภาษาเชิงวัตถุและการเขียนโปรแกรมมือถือเป็นหลัก
นี่คือสิ่งที่ฉันรักที่จะทำ
เช่น C plus Plus และ Java แต่ภาษา C คือสิ่งที่ผมเชี่ยวชาญจริงๆ
ฉันยังเน้นการเขียนโค้ดคุณภาพสูง
นี่เป็นแนวคิดที่สำคัญและสำคัญมากที่ฉันจะเน้นตลอดหลักสูตร
ผมอยากให้ทุกคนตั้งใจเขียน Code ที่ดี ไม่ใช่แค่เขียน Code ที่ใช้งานได้ แต่เขียน
Code ที่ดี ซึ่งจะช่วยให้การดูแลโปรแกรมง่ายขึ้นมาก
ดังนั้นบางหัวข้อที่เราจะกล่าวถึงในชั้นเรียนมีดังต่อไปนี้
นอกจากนี้ เมื่อเราครอบคลุมหัวข้อเหล่านี้ เราจะให้ข้อมูล
ฉันจะให้เอกสารประกอบการบรรยาย
ฉันจะให้มือในการออกกำลังกาย
ฉันจะให้การประเมิน
ฉันจะแนะนำคุณเกี่ยวกับโค้ดและแนวคิดการเขียนโปรแกรมขณะที่ฉันกำลังแก้ไขในสภาพแวดล้อมการพัฒนาแบบบูรณาการ
จึงจะลงมือจริง
ก่อนอื่นเราจะพูดถึง C โดยทั่วไป ให้คุณเห็นภาพรวมเล็กน้อย
ฉันจะบอกคุณว่าภาษาโปรแกรม C มีประสิทธิภาพมากอย่างไร
นอกจากนี้ยังพกพาได้
คุณสามารถเขียนได้ในหลายแพลตฟอร์ม
มีพลังและความยืดหยุ่นสูง และเป็นโปรแกรมเมอร์ที่มุ่งเน้น
ฉันยังให้ประวัติย่อของ C เพียงเพื่อให้บริบท
เราจะติดตามโดยอธิบายคุณสมบัติภาษาทั่วไปบางประการของ C
C เป็นภาษาที่จำเป็น
นี่เป็นภาษาประเภทที่ทันสมัยที่สุด
มันถูกจัดระเบียบตามหน้าที่
มีการออกแบบโมดูล เป็นภาษาโปรแกรมที่มีโครงสร้าง
และคุณยังสามารถวางแผนจากบนลงล่างได้เมื่อคุณเขียนโค้ด
ข้อดีของการใช้ C จะเน้นที่ C มากสำหรับโปรแกรมขนาดเล็กและรวดเร็ว
มีความน่าเชื่อถือมาก ง่ายต่อการเรียนรู้และเข้าใจง่ายมาก
หากคุณต้องรับโปรแกรม C จากเพื่อนหรือนักพัฒนาร่วมกัน คุณจะสามารถติดตามได้อย่างรวดเร็ว
เรากำลังจะใช้สภาพแวดล้อมการพัฒนาแบบบูรณาการข้ามแพลตฟอร์มที่ทันสมัย
เรากำลังจะแก้ไขโค้ด
เราจะใช้ IDE เพื่อดีบักโค้ดของเราด้วย ซึ่งสำคัญมาก
จึงนำมาเสนอเป็นแนวคิดประการหนึ่ง
ฉันจะแนะนำคุณเกี่ยวกับสภาพแวดล้อมและแสดงวิธีใช้เครื่องมือ
ก่อนอื่นเราจะเริ่มต้นด้วยแนวคิดพื้นฐาน
ฉันจะอธิบายให้คุณฟังว่าโปรแกรม C มีลักษณะอย่างไรและยกตัวอย่างให้คุณฟัง
ฉันจะแสดงให้คุณเห็นโครงสร้างของโปรแกรม C พื้นฐาน
เราจะพูดถึงวิธีการแสดงความคิดเห็นในโค้ดของคุณและเอาต์พุตพื้นฐานโดยใช้ฟังก์ชัน printf
เราจะพูดถึงตัวอย่าง Hello World และให้คุณเขียนโปรแกรมแรกใน C
เราจะติดตามด้วยการพูดคุยเกี่ยวกับ makefiles
เราจะไม่ลงรายละเอียดมากมายเกี่ยวกับ makefiles แต่ฉันอยากจะพูดถึงมันเพื่อช่วยให้คุณเข้าใจว่าคุณสามารถใช้เครื่องมือนี้เพื่อสร้างและคอมไพล์โค้ดของคุณได้อย่างไร
เราจะพูดถึงแนวคิดการเขียนโปรแกรมพื้นฐานที่สุด ซึ่งก็คือการสร้างและใช้งานตัวแปร
ตัวแปรคือแนวคิดในการเชื่อมโยงหน่วยความจำ ข้อมูล และหน่วยความจำสำหรับโปรแกรมของคุณด้วยชื่อ
และคุณกำลังจะสร้างตัวแปรจำนวนมากและข้อความสั่งต่างๆ มากมายในโค้ดของคุณ
เราจะพูดถึงประเภทข้อมูล ซึ่งรวมถึงประเภทข้อมูลแบบ float double และแบบ char
จากนั้นในชั้นเรียน เราจะพูดถึงประเภทข้อมูลขั้นสูงเพิ่มเติม เช่น enums จากนั้นให้ระบุประเภทข้อมูลของคุณเองโดยใช้คีย์เวิร์ด
typedef
ฉันจะให้ข้อมูลเกี่ยวกับตัวดำเนินการพื้นฐาน
เช่น การบวกหรือการลบ ตัวดำเนินการทางคณิตศาสตร์
นอกจากนี้ยังรวมถึงตัวดำเนินการเชิงตรรกะ เช่น และ หรือ หรือ
นี่จะเป็นคำแถลงการตัดสินใจ
เราจะพูดถึงวิธีการกำหนดข้อมูลให้กับตัวแปรโดยใช้ตัวดำเนินการกำหนด
ตัดสินใจในรหัสของคุณ
แนวคิดการเขียนโปรแกรมที่สำคัญมาก
เราจะสัมผัสกับสิ่งนี้
เหล่านี้เรียกว่าคำสั่งเงื่อนไข
คำเหล่านี้คือคำหลักเช่น if และ switch
เราจะให้ตัวอย่างและดูโครงสร้างต่างๆ ของสิ่งนี้
ติดตามด้วยการพูดคุยเกี่ยวกับรหัสซ้ำ
การวนซ้ำโครงสร้างการวนซ้ำขนาดใหญ่ใน C ส่วนใหญ่คือ for while และ do while
พวกเขาทั้งหมดเหมือนกัน
มันเป็นเพียงไวยากรณ์ที่แตกต่างกันเล็กน้อย
เราจะพูดถึงวิธีที่คุณสามารถจัดเก็บข้อมูลและจัดหมวดหมู่ข้อมูลที่แตกต่างกันสองแบบโดยใช้อาร์เรย์
ดังนั้นเราจะหารือเกี่ยวกับวิธีที่คุณสามารถกำหนดค่าเริ่มต้นอาร์เรย์และอาร์เรย์หลายมิติ
ซึ่งเหมือนกับแนวคิดประเภทเมทริกซ์สเปรดชีต
ฟังก์ชั่น.
ฟังก์ชันเป็นหนึ่งในแนวคิดที่ใหญ่ที่สุดและสำคัญที่สุดที่เกี่ยวข้องกับการเขียนโปรแกรมภาษาซี
ทุกอย่างไม่ควรใช้และจัดระเบียบตามหน้าที่
สิ่งนี้เรียกว่าการเขียนโปรแกรมประเภทโมดูล
คุณจะได้เรียนรู้วิธีการประกาศฟังก์ชัน วิธีใช้งาน วิธีส่งข้อมูลไปยังฟังก์ชัน วิธีการส่งคืนข้อมูลจากฟังก์ชันนั้น
นอกจากนี้ เราจะพูดถึงแนวคิดขั้นสูงเพิ่มเติม เช่น การเรียกตามค่า และการเรียกโดยการอ้างอิง การดีบัก
การดีบักเป็นแนวคิดที่สำคัญและจำเป็นสำหรับโปรแกรมเมอร์ทุกคน
เป็นแนวคิดในการค้นหาและแก้ไขข้อผิดพลาดของคุณ
เราจะพูดถึง call stack ซึ่งสามารถแสดงให้คุณเห็นว่าโปรแกรมของคุณล่มตรงไหนหรือไม่
แนวคิดที่สำคัญมาก
ฉันจะแจ้งข้อผิดพลาดทั่วไปที่โปรแกรมเมอร์ C หลายคนทำ ดังนั้นหากคุณเห็นข้อผิดพลาดเหล่านี้
คุณจะเข้าใจวิธีการแก้ไข
จากนั้นคอมไพเลอร์ คอมไพเลอร์จะตรวจสอบโค้ดของคุณเพื่อให้แน่ใจว่าถูกต้องตามหลักวากยสัมพันธ์
และหากไม่เป็นเช่นนั้น ระบบจะแสดงข้อความแสดงข้อผิดพลาดหรือคำเตือนแก่คุณ
คุณต้องเข้าใจสิ่งที่คอมไพเลอร์บอกคุณ
ดังนั้นเราจะพูดถึงข้อความคอมไพเลอร์และวิธีทำความเข้าใจ
เราจะหารือเกี่ยวกับโครงสร้าง
คุณจะได้เรียนรู้ทั้งหมดเกี่ยวกับโครงสร้าง ซึ่งคล้ายกับอาร์เรย์และเก็บข้อมูล
มันเป็นโครงสร้างข้อมูล
เราจะพูดถึงวิธีเริ่มต้นโครงสร้าง แนวคิดของโครงสร้างที่ซ้อนกันนี้มีที่มาอย่างไร
สำหรับผู้ที่คุ้นเคยกับอ็อบเจกต์ มันอาจจะเกี่ยวข้องกับสิ่งนั้น แต่ไม่ใช่สตริงอักขระที่แข็งแกร่ง
ซึ่งโดยพื้นฐานแล้วคือสตริงในอักขระตัวอักษรและตัวเลขคละกันภายในเครื่องหมายอัญประกาศคู่
นี่เป็นหนึ่งในประเภทข้อมูลพื้นฐาน แต่มันถูกมองว่าเป็นอาร์เรย์ และดูว่ามันเป็นแนวคิดที่แตกต่างออกไปเล็กน้อย
เราจะผ่านมันไปให้ได้
เราจะพูดถึงการดำเนินการบางอย่างที่คุณสามารถทำได้บนสตริงและอื่นๆ
ตัวชี้
พอยน์เตอร์น่าจะเป็นแนวคิดที่สำคัญที่สุดของเราในหลักสูตรนี้ทั้งหมด
ดังนั้นเราจะใช้เวลามากกับมัน
ตัวชี้คือแนวคิดนี้และดูว่าคุณต้องจัดการหน่วยความจำของคุณเองที่ไหน
อาจเป็นแนวคิดที่ไม่คุ้นเคยสำหรับคุณหากคุณตั้งโปรแกรมเป็นภาษาอื่น เพราะโดยปกติแล้วสิ่งนี้จะทำเพื่อคุณ
โดยเฉพาะอย่างยิ่ง หากคุณเขียนโปรแกรม Java หรือ C Sharp คุณไม่ต้องกังวลเกี่ยวกับพอยน์เตอร์
ใน C คุณต้องกังวลเกี่ยวกับการจัดการหน่วยความจำของคุณเอง
พอยน์เตอร์จึงเป็นเรื่องใหญ่
ฉันจะบอกคุณว่าคุณสามารถกำหนดและใช้พอยน์เตอร์ได้อย่างไร คุณจะใช้กับฟังก์ชันและอาร์เรย์ได้อย่างไร
คุณจะเรียกการเรียกใช้ไลบรารีมาตรฐานต่างๆ เพื่อสร้างหน่วยความจำได้อย่างไร และคุณจะลดการอ้างอิงพอยน์เตอร์ได้อย่างไร
เป็นแนวคิดที่สำคัญอย่างที่ฉันพูด และเราจะใช้เวลามากกับสิ่งนี้
ฉันจะให้ตัวอย่างมากมายแก่คุณ สถานการณ์จำลองในโลกแห่งความเป็นจริงมากมาย เพื่อให้พอยน์เตอร์ถูกขับเคลื่อนเข้าสู่สมองของคุณจริงๆ
เพราะคุณไม่สามารถใช้ภาษาโปรแกรมซีได้หากไม่เข้าใจพอยน์เตอร์อย่างถ่องแท้
เราจะใช้เวลามากกับเรื่องนี้
ตัวประมวลผลล่วงหน้าที่เราจะเรียนรู้เกี่ยวกับสิ่งนี้เป็นขั้นตอนที่เกิดขึ้นก่อนคอมไพเลอร์
โดยเฉพาะอย่างยิ่ง คำสั่งเหล่านี้คือคำสั่งที่คุณต้องเข้าใจ เช่น กำหนดและรวม
เราจะผ่านมันไปให้ได้
เราจะพูดถึงอินพุตและเอาต์พุต วิธีที่คุณสามารถอ่านและเขียนข้อมูลไปยังคอนโซล
เราได้พูดคุยเกี่ยวกับ printf
เราจะลงรายละเอียดเพิ่มเติมเล็กน้อยโดยใช้รูปแบบ getchar และ scanf, specifiers อะไรทำนองนั้น
เราจะพูดถึงวิธีการอ่านและเขียนข้อมูลลงในไฟล์ด้วย
นี่เป็นแนวคิดที่สำคัญอีกประเภทหนึ่งเมื่อคุณเขียนโค้ด ซึ่งเป็นวิธีการจัดเก็บข้อมูล
มีการทำงานของไฟล์ที่แตกต่างกันมากมายใน C และเราจะพูดถึงบางส่วน
C เป็นภาษาระดับต่ำมากและสามารถทำสิ่งต่างๆ มากมายได้อย่างมีประสิทธิภาพและรวดเร็ว และการเขียนและการอ่านไฟล์ก็อยู่ในระดับต่ำเช่นกัน
คุณสามารถโต้ตอบกับระบบปฏิบัติการได้อย่างสวยงาม
มีไลบรารี C มาตรฐานที่มาพร้อมกับภาษาโปรแกรม C ซึ่งมีฟังก์ชันต่างๆ
มากมายที่คุณสามารถใช้ได้
มีฟังก์ชันสตริง ฟังก์ชันจัดการสตริง มีฟังก์ชันคณิตศาสตร์ ฟังก์ชันยูทิลิตี้
เราจะพูดถึงฟังก์ชันพื้นฐานเหล่านี้ทั้งหมดที่คุณสามารถใช้เพื่อช่วยให้คุณเขียนโค้ดได้อย่างมีประสิทธิภาพมากขึ้น
เช่นเดียวกับไลบรารีต่างๆ และภาษาอื่นๆ
C จะให้ข้อมูลพื้นฐานบางอย่างแก่คุณอีกครั้ง เพื่อเขียนและอ่านจากไฟล์ที่จัดการกับสตริง
หากคุณต้องการรับโคไซน์และแทนเจนต์สำหรับฟังก์ชันทางคณิตศาสตร์ ภาษานั้นมีให้ทั้งหมด
เราจะเรียนรู้เกี่ยวกับสิ่งนั้น
และนั่นคือหัวข้อหลักที่เราจะกล่าวถึง หัวข้อเริ่มต้น
เราจะยังไม่กล่าวถึงหัวข้อขั้นสูงใดๆ แต่เราจะกล่าวถึงปัจจัยพื้นฐานเบื้องต้น
ดังนั้น เมื่อจบหลักสูตรนี้ คุณควรจะสามารถเขียนโปรแกรม C ระดับเริ่มต้น เข้าใจลักษณะพื้นฐานของภาษา
C รู้วิธีการป้อนเข้าและส่งออก
ทำไฟล์ io เจาะลึกแนวคิดของพอยน์เตอร์ ฯลฯ
ในขณะที่คุณผ่านหลักสูตรนี้ คุณจะมุ่งเน้นไปที่การเขียนโค้ดคุณภาพสูงที่มีประสิทธิภาพ
สิ่งนี้สำคัญมาก
อีกครั้ง มันส่งผลกระทบต่อขั้นตอนการบำรุงรักษาของวงจรชีวิตของซอฟต์แวร์
ดังนั้นหากคุณต้องการค้นหาและแก้ไขข้อผิดพลาด การดำเนินการดังกล่าวจะง่ายกว่ามากหากคุณมีโค้ดคุณภาพสูง
เมื่อเราผ่านตัวอย่าง ขณะที่เราเรียนรู้แนวคิดนี้ เราจะเรียนรู้วิธีการทำอย่างถูกต้อง
เราจะเรียนรู้วิธีทำให้สิ่งต่าง ๆ ถูกทำให้เป็นโมดูลเพื่อให้สิ่งต่าง ๆ ถูกจัดกลุ่มเป็นฟังก์ชั่น
เราจะทำให้แน่ใจว่าในไฟล์ต่างๆ ของเรามีการพึ่งพาต่ำ การมีเพศสัมพันธ์ต่ำ
เพื่อไม่ให้กระทบกัน
เมื่อคุณมีการอ้างอิงจำนวนมากในรหัสของคุณ คุณสามารถทำได้
การค้นหาและแก้ไขจุดบกพร่องของคุณง่ายกว่ามาก
และถ้าคุณต้องการเพิ่มฟังก์ชันใหม่หรือเพิ่มโค้ดใหม่ให้กับโปรแกรม การทำเช่นนั้นจะง่ายกว่ามากหากมันถูกทำให้เป็นโมดูล
หรือถูกจัดระเบียบฟังก์ชัน
ดังนั้นเราจะมุ่งเน้นไปที่แนวคิดของการเขียนโค้ดคุณภาพสูงนี้
เราจะไม่เพียงแค่ทำงานให้เสร็จเท่านั้น เราจะทำมันให้ถูกทางด้วย
เมื่อจบหลักสูตร คุณจะสามารถค้นหาและแก้ไขข้อผิดพลาดของคุณเองได้
ส่วนสำคัญของการเป็นโปรแกรมเมอร์ที่ดีคือการแก้ปัญหา
เราจะมุ่งเน้นไปที่เทคนิคการแก้ปัญหาและวิธีดีบักโค้ดของคุณ และวิธีที่จะทำให้คุณกลายเป็นนักแก้ปัญหาที่มีประสิทธิภาพ
ซึ่งรวมถึงการทำความเข้าใจข้อความของคอมไพเลอร์
เข้าใจวิธีเรียกใช้ดีบักเกอร์ วิธีใช้ call stack สิ่งดีๆ เหล่านี้ทั้งหมด
จะมีการฝึกฝนการแก้ปัญหาในการบรรยายทั้งหมด
คุณจะเข้าใจลักษณะพื้นฐานของหัวข้อโปรแกรมภาษา C ที่ฉันกล่าวถึงก่อนหน้านี้
นี่จะเป็นของ C พื้นฐาน
สุดท้ายคุณจะสนุก
ฉันจะพยายามอย่างเต็มที่เพื่อกระตุ้นให้คุณ
ฉันจะยกตัวอย่างที่สนุกและน่าตื่นเต้น
ฉันไม่ต้องการให้คุณหลับระหว่างการบรรยายหรือการออกกำลังกาย ดังนั้นฉันจะทำให้พวกเขามีชีวิตชีวาและฉันจะพยายามอย่างเต็มที่เพื่อกระตุ้นคุณและช่วยเหลือคุณตลอดหลักสูตรนี้
ดังนั้นฉันรอคอยที่จะได้
ฉันตื่นเต้นมากและหวังว่าทุกคนจะพร้อมที่จะเรียนรู้มากมายเกี่ยวกับภาษาโปรแกรม C
ขอบคุณ