คำตอบสำหรับคำถามของคุณขึ้นอยู่กับภาษา C ที่ถาม
ภาษาที่อธิบายไว้ในคู่มืออ้างอิงของ Dennis Ritchie ในปี 1974 เป็นภาษาระดับต่ำซึ่งให้ความสะดวกในการเขียนโปรแกรมภาษาระดับสูง ภาษาที่ได้จากภาษานั้นมีแนวโน้มที่จะเป็นภาษาโปรแกรมระดับต่ำ
เมื่อ 1989/1990 C Standard ถูกเผยแพร่อย่างไรก็ตามมันไม่ได้อธิบายภาษาระดับต่ำซึ่งได้รับความนิยมสำหรับการเขียนโปรแกรมเครื่องจริง แต่แทนที่จะอธิบายภาษาระดับสูงซึ่งอาจเป็น - แต่ไม่จำเป็นต้องเป็น - - ใช้งานในเงื่อนไขระดับต่ำกว่า
ในฐานะผู้เขียนบันทึกมาตรฐาน C หนึ่งในสิ่งที่ทำให้ภาษามีประโยชน์คือการใช้งานจำนวนมากอาจถือว่าเป็นแอสเซมเบลอร์ระดับสูง เนื่องจาก C ถูกใช้เป็นทางเลือกแทนภาษาระดับสูงอื่น ๆ และเนื่องจากแอปพลิเคชันจำนวนมากไม่ต้องการความสามารถในการทำสิ่งต่าง ๆ ที่ภาษาระดับสูงไม่สามารถทำได้ผู้เขียนของมาตรฐานจึงอนุญาตให้มีการใช้งานตามปกติ หากโปรแกรมพยายามใช้การสร้างระดับต่ำ ดังนั้นภาษาที่อธิบายโดย C Standard จึงไม่เคยเป็นภาษาการเขียนโปรแกรมระดับต่ำ
เพื่อให้เข้าใจถึงความแตกต่างนี้ให้พิจารณาว่าภาษาของ Ritchie และ C89 จะดูข้อมูลโค้ดได้อย่างไร:
struct foo { int x,y; float z; } *p;
...
p[3].y+=1;
บนแพลตฟอร์มที่ "char" คือ 8 บิต "int" คือ 16 บิต big-endian, "float" เป็น 32 บิตและโครงสร้างไม่มีข้อกำหนดการขยายหรือการวางแนวพิเศษดังนั้นขนาดของ "struct foo" คือ 8 ไบต์
ในภาษาของ Ritchie พฤติกรรมของคำสั่งสุดท้ายจะใช้ที่อยู่ที่เก็บไว้ใน "p" เพิ่ม 3 * 8 + 2 [ie 26] ไบต์ไปที่มันและดึงค่า 16 บิตจากไบต์ที่ที่อยู่นั้นและถัดไป เพิ่มหนึ่งลงในค่านั้นแล้วเขียนค่า 16 บิตนั้นกลับไปเป็นสองไบต์เดียวกัน พฤติกรรมจะถูกกำหนดเป็นการแสดงบนไบต์ที่ 26 และ 27 ตามด้วยที่แอดเดรส p โดยไม่คำนึงถึงชนิดของวัตถุที่ถูกเก็บไว้ที่นั่น
ในภาษาที่กำหนดโดยมาตรฐาน C ในกรณีที่ * p ระบุองค์ประกอบของ "struct foo []" ซึ่งตามด้วยองค์ประกอบที่สมบูรณ์ประเภทนี้อย่างน้อยสามรายการคำสั่งสุดท้ายจะเพิ่มสมาชิก y ของ องค์ประกอบที่สามหลังจาก * p พฤติกรรมจะไม่ถูกกำหนดโดยมาตรฐานในสถานการณ์อื่น ๆ
ภาษาของ Ritchie เป็นภาษาการเขียนโปรแกรมระดับต่ำเพราะในขณะที่มันอนุญาตให้โปรแกรมเมอร์ใช้ abstractions เช่นอาร์เรย์และโครงสร้างเมื่อสะดวกมันกำหนดพฤติกรรมในแง่ของรูปแบบพื้นฐานของวัตถุในหน่วยความจำ ในทางตรงกันข้ามภาษาที่อธิบายโดย C89 และมาตรฐานที่ใหม่กว่าจะกำหนดสิ่งต่าง ๆ ในแง่ของนามธรรมที่สูงกว่าและกำหนดพฤติกรรมของรหัสที่สอดคล้องกับภาษานั้นเท่านั้น การใช้งานคุณภาพที่เหมาะสมสำหรับการเขียนโปรแกรมระดับต่ำจะมีประโยชน์มากกว่าในกรณีที่ได้รับคำสั่งจากมาตรฐาน แต่ไม่มีเอกสาร "เป็นทางการ" ที่ระบุว่าการดำเนินงานต้องทำเพื่อให้เหมาะสมสำหรับวัตถุประสงค์ดังกล่าว
ภาษา C ที่คิดค้นโดย Dennis Ritchie จึงเป็นภาษาระดับต่ำและได้รับการยอมรับเช่นนี้ อย่างไรก็ตามภาษาที่คิดค้นโดยคณะกรรมการมาตรฐาน C นั้นไม่เคยเป็นภาษาระดับต่ำในกรณีที่ไม่มีการรับรองการดำเนินการที่ให้นอกเหนือไปจากเอกสารมาตรฐาน