หน้าแรก
หน้าแรก
เราได้รับขนาดของแผ่นกระดาษ มันคือความยาว L และความกว้าง B นอกจากนี้ เรายังได้รับขนาดของสี่เหลี่ยมเล็กๆ มันคือความยาว l และความกว้าง b เป้าหมายคือการหาจำนวนสูงสุดของสี่เหลี่ยมเล็กๆ ที่สามารถตัดออกจากกระดาษได้ เราจะทำตามขั้นตอนต่อไปนี้ - อันดับแรก เราจะทำการจัดแนวตามแนวนอน ความยาว L และ l ของแผ่นง
เราได้รับหมายเลข N และพิกัดของสองจุด (x1,y1) และ (x2,y2) สำหรับแต่ละบรรทัด เป้าหมายคือการหาจำนวนเส้นสูงสุดจากเส้นที่กำหนดที่สามารถผ่านจุดเดียวได้ โดยไม่ให้เส้นสองเส้นมาทับกัน และไม่มีการหมุนใดๆ เราจะแสดงเส้นเป็นคู่ของ (m,c) โดยที่ y=mx+c และ m คือความชัน m=y2-y1/x2-x1 เส้นที่มี m เท่ากันจะขนานกันเ
ในส่วนนี้ เราจะเห็นเมื่อเราประกาศตัวแปรหนึ่งตัวที่ไม่ได้กำหนดค่าเริ่มต้น ซึ่งค่าที่เก็บไว้ในภาษา C หรือ C++ บางครั้งเราคิดว่าคอมไพเลอร์กำหนดค่าบางอย่างเช่น 0 สำหรับ int, 0.0 สำหรับ float เป็นต้น แต่อะไรจะเป็นสำหรับประเภทข้อมูลอักขระ ให้เราดูการใช้งานและคอมไพล์โดยใช้คอมไพเลอร์ที่แตกต่างกัน ตัวอย่าง (
ในที่นี้เราจะพูดถึงอาร์เรย์ความยาวผันแปรใน C++ เมื่อใช้สิ่งนี้ เราสามารถจัดสรรอาร์เรย์อัตโนมัติของขนาดตัวแปรได้ ใน C รองรับอาร์เรย์ขนาดตัวแปรจากมาตรฐาน C99 รูปแบบต่อไปนี้สนับสนุนแนวคิดนี้ - void make_arr(int n){ int array[n]; } int main(){ make_arr(10); } แต่ในมาตรฐาน C++
สมมติว่าเรามีสตริง s เราต้องตรวจสอบว่าสตริงที่กำหนดเป็นพาลินโดรมหรือไม่ เราต้องแก้ปัญหานี้โดยใช้ตัวชี้ใน C. ดังนั้น หากอินพุตเป็นเหมือน s =racecar เอาต์พุตจะเป็น True เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ - ความยาว :=ขนาดของสตริง forward :=ชี้ไปที่อักขระตัวแรกของสตริง ย้อนกลับ :=ชี้ไปที่อักข
ฟังก์ชันแลมบ์ดา − Lambda คือฟังก์ชันคือฟังก์ชันอินไลน์ที่ไม่ต้องการการใช้งานใดๆ นอกขอบเขตของโปรแกรมหลัก ฟังก์ชันแลมบ์ดายังสามารถใช้เป็นค่าโดยตัวแปรในการจัดเก็บ แลมบ์ดาสามารถเรียกได้ว่าเป็นอ็อบเจกต์ที่ฟังก์ชันสามารถเรียกได้ (เรียกว่า functors ) เมื่อใดก็ตามที่คอมไพเลอร์พบคำจำกัดความของฟังก์ชันแลมบ์
C เป็นหนึ่งในภาษาโปรแกรมระดับสูงที่พัฒนาโดย Dennis Ritchie เดิม C ได้รับการพัฒนาสำหรับระบบปฏิบัติการ UNIX เพื่อเอาชนะปัญหาของภาษาก่อนหน้า เช่น B, BCPL เป็นต้น การพัฒนาระบบปฏิบัติการ UNIX เริ่มต้นขึ้นในปี 1969 และโค้ดของมันถูกเขียนใหม่ในภาษา C ในปี 1972 การพัฒนาระบบปฏิบัติการ UNIX เริ่มต้นขึ
ขั้นตอนการสร้างและรันโปรแกรม โปรแกรมประกอบด้วยชุดคำสั่งที่เขียนด้วยภาษาโปรแกรม งานของโปรแกรมเมอร์คือเขียนและทดสอบโปรแกรม 4 ขั้นตอนในการแปลงโปรแกรม C เป็นภาษาเครื่องคือ &miuns; เขียนและแก้ไขโปรแกรม รวบรวมโปรแกรม การเชื่อมโยงโปรแกรม การรันโปรแกรม เขียนและแก้ไขโปรแกรม โปรแกรมแก้ไขข้อควา
การแปลงข้อมูลประเภทหนึ่งเป็นประเภทข้อมูลอื่นเรียกว่าการแปลงประเภท การแปลงประเภทโดยนัย การแปลงประเภทที่ชัดเจน การแปลงประเภทโดยนัย คอมไพเลอร์ให้การแปลงประเภทโดยนัยเมื่อตัวถูกดำเนินการเป็นประเภทข้อมูลที่แตกต่างกัน คอมไพเลอร์จะทำโดยอัตโนมัติโดยแปลงประเภทข้อมูลขนาดเล็กลงเป็นประเภทข้อมูลที่ใหญ่ขึ้
การแปลงประเภทโดยนัยทำได้โดยคอมไพเลอร์โดยการแปลงประเภทข้อมูลขนาดเล็กลงเป็นประเภทข้อมูลที่ใหญ่ขึ้น ตัวอย่างเช่น ค่า ASCII ของ A=65 ในโปรแกรมนี้ เราจะใส่อักขระ A เป็นอินพุต ตอนนี้ให้เขียนโค้ดเพื่อแปลง A เป็น 65 ซึ่งเป็นค่า ASCII ตัวอย่าง ต่อไปนี้เป็นตัวอย่างการหาค่า ASCII ของอักขระตัวพิมพ์ใหญ่ A โดย
ใช่ เราสามารถให้อาร์กิวเมนต์ในฟังก์ชัน main() ได้ อาร์กิวเมนต์บรรทัดคำสั่งในภาษา C ถูกระบุหลังชื่อของโปรแกรมในบรรทัดคำสั่งของระบบ และค่าอาร์กิวเมนต์เหล่านี้จะถูกส่งต่อไปยังโปรแกรมของคุณในระหว่างการดำเนินการโปรแกรม argc และ argv เป็นอาร์กิวเมนต์ 2 ตัวที่ส่งต่อไปยังฟังก์ชันหลักได้ แต่ที่จริงแล้วฟัง
ปัญหา ลองพิมพ์ชื่อ 10 ครั้งโดยไม่ใช้คำสั่งวนซ้ำหรือ goto ใด ๆ ในภาษาการเขียนโปรแกรม C วิธีแก้ปัญหา โดยทั่วไป คำสั่งวนซ้ำจะใช้เพื่อทำซ้ำบล็อกของโค้ดจนกว่าเงื่อนไขจะเป็นเท็จ ตัวอย่าง1 ในโปรแกรมนี้ เรากำลังพยายามพิมพ์ชื่อ 10 ครั้งโดยไม่ต้องใช้คำสั่งวนซ้ำหรือ goto #include <stdio.h> void printn
ปัญหา เกิดข้อผิดพลาดทั่วไปขณะอ่านสตริงและข้อมูลตัวเลขโดยใช้ฟังก์ชัน scanf() ในภาษา C วิธีแก้ปัญหา scanf() ฟังก์ชัน ใช้เพื่ออ่านอินพุตที่จัดรูปแบบจาก stdin ในภาษา C คืนค่าจำนวนอักขระทั้งหมดที่เขียนไว้ มิฉะนั้นจะคืนค่าเป็นค่าลบ โดยทั่วไปในกรณีของฟังก์ชัน scanf() ขณะอ่านค่าสตริงหลังจำนวนเต็มจากผู้ใช
ปัญหา คอมไพเลอร์ไม่อ่านสตริงหลังจากจำนวนเต็มในการเขียนโปรแกรม C? เราจะแก้ปัญหานี้ได้อย่างไร วิธีแก้ปัญหา เมื่อคุณป้อนตัวเลขจำนวนเต็มและกด Enter เพื่ออ่านค่าถัดไป คอมไพเลอร์จะเก็บค่า null ไว้ในอักขระตัวแรกของสตริงและอินพุตสตริงจะสิ้นสุดลง เนื่องจาก scanf จะสิ้นสุดเมื่อใดก็ตามที่อ่านอักขระว่าง จะแก้
มาดูแนวคิดของอาร์เรย์เกี่ยวกับการเริ่มต้นเวลาคอมไพล์และรันไทม์กัน − อาร์เรย์ Array คือคอลเล็กชันของรายการที่จัดเก็บไว้ในตำแหน่งหน่วยความจำที่อยู่ติดกัน และองค์ประกอบต่างๆ สามารถเข้าถึงได้โดยใช้ดัชนี คอมไพล์การเริ่มต้นอาร์เรย์เวลา ในการเริ่มต้นเวลาคอมไพล์ ผู้ใช้ต้องป้อนรายละเอียดในโปรแกรมเอง การเร
ปัญหา ตรรกะในภาษาซีในการพิมพ์ตัวเลขในรูปแบบต่างๆ เช่น พีระมิด สามเหลี่ยมมุมฉาก คืออะไร วิธีแก้ปัญหา หากต้องการพิมพ์ตัวเลขหรือสัญลักษณ์ในรูปแบบต่างๆ เราสามารถใช้ for วนซ้ำในโค้ดได้ ตัวอย่าง1 ต่อไปนี้เป็นโปรแกรม C เพื่อพิมพ์พีระมิด - #include<stdio.h> int main(){ int n; &n
ปัญหา คลาสการจัดเก็บที่แตกต่างกันในภาษา C มีอะไรบ้าง อธิบายด้วยโปรแกรมไหม วิธีแก้ปัญหา คลาสการจัดเก็บถูกกำหนดให้เป็นขอบเขตและอายุการใช้งานของตัวแปรหรือฟังก์ชันที่มีอยู่ในโปรแกรม C คลาสการจัดเก็บ ต่อไปนี้เป็นคลาสการจัดเก็บใน C − อัตโนมัติ ภายนอก คงที่ ลงทะเบียน ตัวแปรอัตโนมัติ/ตัวแปรภายในเครื่อง
ปัญหา มาเขียนโปรแกรม C เพื่อคำนวณผลรวมแถวและผลรวมคอลัมน์ของอาร์เรย์ 5 x 5 โดยใช้การรวบรวมรันไทม์ วิธีแก้ปัญหา ในโปรแกรมนี้ เรากำลังป้อนค่าของอาร์เรย์ที่มีขนาด 5X5 เมทริกซ์ระหว่างรันไทม์ในคอนโซล โดยใช้ for loops เรากำลังพยายามเพิ่มแถวและคอลัมน์ ตรรกะสำหรับการทำผลรวมแถวแสดงไว้ด้านล่าง - for(i=0;i&l
ปัญหา ค้นหาค่าสูงสุดและต่ำสุดจากอาร์เรย์โดยใช้การจัดสรรหน่วยความจำแบบไดนามิกใน C วิธีแก้ปัญหา การจัดสรรหน่วยความจำแบบไดนามิกช่วยให้โปรแกรมเมอร์ C สามารถจัดสรรหน่วยความจำได้ในขณะใช้งานจริง ฟังก์ชันต่างๆ ที่เราใช้ในการจัดสรรหน่วยความจำแบบไดนามิก ณ รันไทม์คือ − malloc () - จัดสรรบล็อกของหน่วยความ
ตัวชี้เป็นตัวแปรที่เก็บที่อยู่ของตัวแปรอื่น การประกาศตัวชี้ การเริ่มต้น และการเข้าถึง พิจารณาข้อความต่อไปนี้ − int qty = 179; การประกาศตัวชี้ int *p; p คือตัวแปรตัวชี้ที่เก็บที่อยู่ของตัวแปรจำนวนเต็มอื่น การเริ่มต้นของตัวชี้ ตัวดำเนินการที่อยู่ (&) ใช้เพื่อเริ่มต้นตัวแปรตัวชี้ int qty = 175; in