หน้าแรก
คำชี้แจงก่อนเรียน
รายละเอียดรายวิชา

 แบบทดสอบก่อนเรียน
 หน่วยที่ 1 ภาษาคอมพิวเตอร์เบื้องต้น
 หน่วยที่ 2 เริ่มต้นกับภาษาซี
 หน่วยที่ 3 ข้อมูลพื้นฐานและตัวดำเนินการ
 หน่วยที่ 4 คำสั่งพื้นฐานในภาษาซี
แบบทดสอบก่อนเรียนประจำหน่วย
4.1 คำสั่งคำนวณ
4.2 คำสั่งรับและแสดงผลข้อมูล
แบบฝึกหัดที่ 4.1
แบบทดสอบหลังเรียนประจำหน่วย
 หน่วยที่ 5 คำสั่งควบคุมแบบทางเลือก
 หน่วยที่ 6 คำสั่งควบคุมแบบวนซ้ำ
 แบบทดสอบหลังเรียน
 บรรณานุกรม

แจ้งข่าว
 แหล่งเรียนรู้เพิ่มเติม
 ติดต่อครูผู้สอน
 ผู้พัฒนาบทเรียน
 

 
4.1 คำสั่งคำนวณ
4.2 คำสั่งรับและแสดงผลข้อมูล
 
| 4.2.1 คำสั่งแสดงผลข้อมูล | 4.2.2 คำสั่งรับค่าข้อมูล |
 
 
4.2.1 คำสั่งแสดงผลข้อมูล
 
คำสั่ง printf()
 
คำสั่ง printf() เป็นคำสั่งที่ใช้ในการแสดงผลข้อมูลที่อยู่ในตัวแปร ค่าคงตัว นิพจน์ ออกมาทางจอภาพ ซึ่งคำสั่ง printf() นี้ถูกเก็บไว้ใน I/O Library เวลาจะใช้คำสั่งต้องบอกให้ตัวแปลชุดคำสั่งภาษาซี
รับรู้ก่อน โดยใช้คำสั่งตัวประมวลผลก่อนซี #include <stdio.h> เข้ามาก่อน โดยเอาไว้ส่วนหัวของโปรแกรม
 


รูปแบบคำสั่ง printf(control , argument-list);

 
argument-list ตัวแปร ค่าคงตัว หรือนิพจน์ ที่ต้องการนำมาแสดงผล ถ้ามีมากกว่า 1 ค่า
จะต้องแยกกันโดยใช้เครื่องหมายคอมม่า ( , )
   
control จะต้องเขียนอยู่ภายใต้เครื่องหมาย "" ภายในเครื่องหมายประกอบด้วย ข้อความ รหัสควบคุมการแสดงผล และรหัสรูปแบบข้อมูล รายละเอียดดังนี้

1. ข้อความที่เป็นคำอธิบาย ที่ต้องการให้แสดงผลออกมา ส่วนมากจะใช้เพื่อแต่งรูปแบบของรายงานให้อ่านเข้าใจและสวยงาม

2. รหัสควบคุมการแสดงผล ที่ใช้ในการควบคุมการแสดงผลจะต้องอยู่หลังเครื่องหมาย \

3. รหัสรูปแบบข้อมูล ที่ใช้ในการกำหนดการแสดงผลของข้อมูลจะต้องอยู่ตามหลังเครื่องหมาย % จำนวนรหัสรูปแบบข้อมูล ต้องสอดคล้องกับจำนวนค่าข้อมูลใน argument-list
   
 

ตารางแสดง รหัสควบคุมการแสดงผล

รหัสควบคุมการแสดงผล
(escape character)
ใช้สำหรับ
\n ขึ้นบรรทัดใหม่ 1 บรรทัด
\t tab เว้นวรรค 1 tab (8 อักขระ)
\a ส่งเสียงปี๊บเตือน 1 ครั้ง
\' แสดงอักขระ ' 1 ตัว
\" แสดงอักขระ " 1 ตัว
\\ แสดงอักขระ \ 1 ตัว
   

ตารางแสดง รหัสรูปแบบข้อมูล

รหัสรูปแบบข้อมูล ใช้สำหรับข้อมูลหรือตัวแปรแบบ
%c char และ unsigned char
%f float และ double
%d int และ unsigned int
%s char[] หรือ สายอักขระ
%o ข้อมูลแบบตัวเลขฐานแปด
%x ข้อมูลแบบตัวเลขฐานสิบหก
%e ข้อมูลในรูป e ยกกำลัง
   
 
   
ตัวอย่างที่ 6 การใช้คำสั่งแสดงข้อความ "My First Program" ทางจอภาพ ( ex4-06.c )
   
บรรทัด รหัสต้นฉบับ (Source Code) อธิบายคำสั่ง
/*1*/ #include <stdio.h> /* เป็นคำสั่งของตัวประมวลผลก่อนซี จะมีผลให้แฟ้ม stdio.h ซึ่งเป็นแฟ้มส่วนหัวที่ใช้เก็บรวบรวมคำสั่งเกี่ยวกับการรับและแสดงผลข้อมูล ถูกอ่านเข้ามาเพื่อประมวลผลร่วมกับโปรแกรมนี้ */
/*2*/ int main() { /* ประกาศ main เป็นฟังก์ชันหลัก ชนิดจำนวนเต็ม และเริ่มต้น block ของฟังก์ชัน main (เริ่มต้นโปรแกรม) */
/*3*/ printf("My First Program"); /* แสดงข้อความ "My First Program" ทางจอภาพ */
/*4*/ return 0; /* คืนค่า 0 ให้ฟังก์ชัน main โปรแกรมทำงานถูกต้องสมบูรณ์ */
/*5*/ } /* สิ้นสุด block ของฟังก์ชัน main (สิ้นสุดโปรแกรม) */
หมายเหตุ คำสั่ง printf เป็นคำสั่งแสดงผลข้อมูลที่รวมอยู่ในแฟ้ม stdio.h ใช้สั่งให้แสดงข้อความในเครื่องหมาย "" ออกทางจอภาพ
 
ผลการรันโปรแกรม
   
 
   
ตัวอย่างที่ 7 การใช้คำสั่งแสดงข้อความ 2 บรรทัด ดังภาพ โดยใช้ printf เพียงครั้งเดียว
( ex4-07.c )
 
   
บรรทัด รหัสต้นฉบับ (Source Code) อธิบายคำสั่ง
/*1*/ #include <stdio.h> /* เป็นคำสั่งของตัวประมวลผลก่อนซี จะมีผลให้แฟ้ม stdio.h ซึ่งเป็นแฟ้มส่วนหัวที่ใช้เก็บรวบรวมคำสั่งเกี่ยวกับการรับและแสดงผลข้อมูล ถูกอ่านเข้ามาเพื่อประมวลผลร่วมกับโปรแกรมนี้ */
/*2*/ int main() { /* ประกาศ main เป็นฟังก์ชันหลัก ชนิดจำนวนเต็ม และเริ่มต้น block ของฟังก์ชัน main (เริ่มต้นโปรแกรม) */
/*3*/ printf("\tName : Natthachai\n\tSurname : Chalat"); /* เว้นช่องว่าง 1 tab แล้วแสดงข้อความ "Name : Natthachai" แล้วขึ้นบรรทัดใหม่ 1 บรรทัด แล้วเว้นช่องว่าง 1 tab แล้วแสดงข้อความ "Surname : Chalat" ทางจอภาพ */
/*4*/ return 0; /* คืนค่า 0 ให้ฟังก์ชัน main โปรแกรมทำงานถูกต้องสมบูรณ์ */
/*5*/ } /* สิ้นสุด block ของฟังก์ชัน main (สิ้นสุดโปรแกรม) */
   
หมายเหตุ

คำสั่ง printf จะไม่แสดง \t และ \n ออกมา แต่จะเว้นช่องว่าง 1 tab และ
ขึ้นบรรทัดใหม่ 1 บรรทัด แทน

 
ผลการรันโปรแกรม
   
 
   
ตัวอย่างที่ 8 การใช้คำสั่งแสดงข้อความ "The sum is " และจำนวน 15 ที่เก็บในตัวแปร sum โดยใช้คำสั่ง printf เพียงครั้งเดียว ( ex4-08.c )
   
บรรทัด รหัสต้นฉบับ (Source Code) อธิบายคำสั่ง
/*1*/ #include <stdio.h> /* เป็นคำสั่งของตัวประมวลผลก่อนซี จะมีผลให้แฟ้ม stdio.h ซึ่งเป็นแฟ้มส่วนหัวที่ใช้เก็บรวบรวมคำสั่งเกี่ยวกับการรับและแสดงผลข้อมูล ถูกอ่านเข้ามาเพื่อประมวลผลร่วมกับโปรแกรมนี้ */
/*2*/ int main() { /* ประกาศ main เป็นฟังก์ชันหลัก ชนิดจำนวนเต็ม และเริ่มต้น block ของฟังก์ชัน main (เริ่มต้นโปรแกรม) */
/*3*/ int sum = 15; /* ประกาศตัวแปร sum เป็นชนิดจำนวนเต็ม พร้อมกำหนดค่าเริ่มต้นให้กับตัวแปร sum เป็น 15 */
/*4*/ printf("The sum is %d" , sum"); /* แสดงข้อความ "The sum is %d" ทางจอภาพ โดยแสดงค่าของ sum ใน %d แทน */
/*5*/ return 0; /* คืนค่า 0 ให้ฟังก์ชัน main โปรแกรมทำงานถูกต้องสมบูรณ์ */
/*6*/ } /* สิ้นสุด block ของฟังก์ชัน main (สิ้นสุดโปรแกรม) */
   
หมายเหตุ คำสั่ง printf จะไม่แสดง %d ออกมา แต่จะแสดงค่าของข้อมูลออกมาแทน
   
ผลการรันโปรแกรม
   
 
   
ตัวอย่างที่ 9 การใช้คำสั่งแสดงข้อความและการประมวลผลนิพจน์ทางคณิตศาสตร์
( ex4-09.c )
   
บรรทัด รหัสต้นฉบับ (Source Code) อธิบายคำสั่ง
/*1*/ #include <stdio.h> /* เป็นคำสั่งของตัวประมวลผลก่อนซี จะมีผลให้แฟ้ม stdio.h ซึ่งเป็นแฟ้มส่วนหัวที่ใช้เก็บรวบรวมคำสั่งเกี่ยวกับการรับและแสดงผลข้อมูล ถูกอ่านเข้ามาเพื่อประมวลผลร่วมกับโปรแกรมนี้ */
/*2*/ int main() { /* ประกาศ main เป็นฟังก์ชันหลัก ชนิดจำนวนเต็ม และเริ่มต้น block ของฟังก์ชัน main (เริ่มต้นโปรแกรม) */
/*3*/ int x = 8 , y = 4; /* ประกาศตัวแปร x และ y เป็นชนิดจำนวนเต็ม พร้อมกำหนดค่าเริ่มต้นให้กับตัวแปร x และ y เป็น 8 และ 4 ตามลำดับ */
/*4*/ printf("%d + %d = %d" , x , y , x+y); /* แสดงข้อความ "%d + %d = %d" ทางจอภาพ โดยแสดงค่าของ x ใน %d ตัวแรก แสดงค่า y ใน %d ตัวที่ 2 และแสดงค่าผลบวก x + y ใน %d ตัวที่ 3 แทน */
/*5*/ return 0; /* คืนค่า 0 ให้ฟังก์ชัน main โปรแกรมทำงานถูกต้องสมบูรณ์ */
/*6*/ } /* สิ้นสุด block ของฟังก์ชัน main (สิ้นสุดโปรแกรม) */
   
หมายเหตุ การแสดงผลนิพจน์ ในคำสั่ง printf จะประมวลผลนิพจน์นั้นก่อน แล้วจึงนำผลลัพธ์ไปแสดงในรหัสรูปแบบข้อมูลที่กำหนด
   
ผลการรันโปรแกรม
   
 
   
ตัวอย่างที่ 10 จงเขียนโปรแกรมคำนวณพื้นที่วงกลม รัศมีเท่ากับ 5 ( ex4-10.c )
   
จากโจทย์ เขียนผังงาน แสดงการแก้ปัญหา ได้ดังนี้
   
   
จากผังงาน เขียนโปรแกรมได้ดังนี้
   
บรรทัด รหัสต้นฉบับ (Source Code) อธิบายคำสั่ง
/*1*/ #include <stdio.h> /* เป็นคำสั่งของตัวประมวลผลก่อนซี จะมีผลให้แฟ้ม stdio.h ซึ่งเป็นแฟ้มส่วนหัวที่ใช้เก็บรวบรวมคำสั่งเกี่ยวกับการรับและแสดงผลข้อมูล ถูกอ่านเข้ามาเพื่อประมวลผลร่วมกับโปรแกรมนี้ */
/*2*/ int main() { /* ประกาศ main เป็นฟังก์ชันหลัก ชนิดจำนวนเต็ม และเริ่มต้น block ของฟังก์ชัน main (เริ่มต้นโปรแกรม) */
/*3*/ int r = 5; /* ประกาศตัวแปร r เป็นชนิดจำนวนเต็ม พร้อมกำหนดค่าเริ่มต้นให้กับตัวแปร r เป็น 5 */
/*4*/ float area; /* ประกาศตัวแปร area เป็นชนิดจำนวนจริง
/*5*/ area = 22.0/7.0*r*r; /* ประมวลผล 22.0/7.0*r*r ก่อน จะได้ (22.0/7.0) x 5 x 5 เป็น 78.571429 แล้วจึงนำ 78.571429 ไปเก็บใน area */
/*6*/ printf("radius : %3d ,Area of Circle : %7.2f" , r ,area); /* แสดงข้อความ "radius : %3d ,Area of Circle : %7.2f" ทางจอภาพ โดยแสดงค่า r ใน %3d และแสดงค่า area ใน %7.2f */
/*7*/ return 0; /* คืนค่า 0 ให้ฟังก์ชัน main โปรแกรมทำงานถูกต้องสมบูรณ์ */
/*8*/ } /* สิ้นสุด block ของฟังก์ชัน main (สิ้นสุดโปรแกรม) */
   
หมายเหตุ %3d หมายถึง จองช่องไว้แสดงผลจำนวนเต็ม ได้ 3 ช่อง
%7.2f หมายถึง จองช่องไว้แสดงผลทั้งหมด 7 ช่อง แบ่งเป็น แสดงจำนวนเต็ม
ได้ 4 ช่อง แสดงทศนิยมได้ 2 ตำแหน่ง และจุด 1 ช่อง
   
ผลการรันโปรแกรม
   
 
   
ตัวอย่างที่ 11 การใช้รหัสรูปแบบข้อมูลแสดงข้อมูลชนิดจำนวนเต็มและอักขระ ( ex4-11.c )
   
บรรทัด รหัสต้นฉบับ (Source Code) อธิบายคำสั่ง
/*1*/ #include <stdio.h> /* เป็นคำสั่งของตัวประมวลผลก่อนซี จะมีผลให้แฟ้ม stdio.h ซึ่งเป็นแฟ้มส่วนหัวที่ใช้เก็บรวบรวมคำสั่งเกี่ยวกับการรับและแสดงผลข้อมูล ถูกอ่านเข้ามาเพื่อประมวลผลร่วมกับโปรแกรมนี้ */
/*2*/ int main() { /* ประกาศ main เป็นฟังก์ชันหลัก ชนิดจำนวนเต็ม และเริ่มต้น block ของฟังก์ชัน main (เริ่มต้นโปรแกรม) */
/*3*/ int asc = 65; /* ประกาศตัวแปร asc เป็นชนิดจำนวนเต็ม พร้อมกำหนดค่าเริ่มต้นให้กับตัวแปร asc เป็น 65 */
/*4*/ char ch = 'A'; /* ประกาศตัวแปร ch เป็นชนิดอักขระ พร้อมกำหนดค่าเริ่มต้นให้กับตัวแปร ch เป็น 'A' */
/*5*/ printf("Character : %c ASCII-Code : %d\n" , ch , ch); /* แสดงข้อความ "Character : %c ASCII-Code : %d" โดยแสดงค่า ch ใน %c และแสดงค่า ch ใน %d แล้วขึ้นบรรทัดใหม่ */
/*6*/ printf("Character : %c ASCII-Code : %d\n" , asc , asc); /* แสดงข้อความ "Character : %c ASCII-Code : %d" โดยแสดงค่า asc ใน %c และแสดงค่า asc ใน %d แล้วขึ้นบรรทัดใหม่ */
/*7*/ return 0; /* คืนค่า 0 ให้ฟังก์ชัน main โปรแกรมทำงานถูกต้องสมบูรณ์ */
/*8*/ } /* สิ้นสุด block ของฟังก์ชัน main (สิ้นสุดโปรแกรม) */
   
หมายเหตุ

จะเห็นว่าผลที่ได้ทั้ง 2 บรรทัดเหมือนกัน แสดงว่า 65 เป็นเลขจำนวนเต็มที่ เมื่อนำมาแสดงผลด้วยรูปแบบของข้อมูล %c จะได้ 'A' และเมื่อนำอักขระ 'A' มาแสดงผลด้วยรูปแบบของข้อมูล %d จะได้ 65
(ในคอมพิวเตอร์จะเก็บอักขระไว้เป็นตัวเลข โดยตัวเลขที่ใช้แทนอักขระ
เรียกว่า รหัสแอสกี)

 
ผลการรันโปรแกรม
   
 
 
4.2.2 คำสั่งรับค่าข้อมูล
 
คำสั่ง scanf()
 
คำสั่ง scanf() เป็นคำสั่งที่ใช้ในการรับข้อมูลจากแป้นพิมพ์ (Keyboard) เข้ามาเก็บไว้ในตัวแปร
 


รูปแบบคำสั่ง scanf(control , argument-list);

 
argument-list ตัวแปรสำหรับไว้เก็บค่าข้อมูลที่รับจากแป้นพิมพ์ ถ้ามีตัวแปรมากกว่าหนึ่งตัว ให้แยกกันด้วยเครื่องหมายคอมม่า ( , ) และต้องนำหน้าตัวแปรด้วยเครื่องหมาย & ทุกตัว ยกเว้นตัวแปรชุด
   
control จะต้องเขียนอยู่ภายใต้เครื่องหมาย "" ภายในเครื่องหมายประกอบด้วย รหัสรูปแบบข้อมูล (รหัสเหมือนกับที่ใช้ในคำสั่ง printf) หากต้องการรับข้อมูลมากกว่าหนึ่งตัว ให้แยกกันด้วยเว้นวรรค (space bar) หรือจะกำหนดเป็นรูปแบบอื่นก็ได้ แต่ตอนรับค่าต้องป้อนรูปแบบให้ตรงกัน โดยจำนวนรหัสรูปแบบข้อมูล ต้องสอดคล้องกับจำนวนตัวแปรใน argument-list
   
 
   
ตัวอย่างที่ 12 การรับค่าจำนวนเต็ม 1 จำนวน จากแป้นพิมพ์ ( ex4-12.c )
   
บรรทัด รหัสต้นฉบับ (Source Code) อธิบายคำสั่ง
/*1*/ #include <stdio.h> /* เป็นคำสั่งของตัวประมวลผลก่อนซี จะมีผลให้แฟ้ม stdio.h ซึ่งเป็นแฟ้มส่วนหัวที่ใช้เก็บรวบรวมคำสั่งเกี่ยวกับการรับและแสดงผลข้อมูล ถูกอ่านเข้ามาเพื่อประมวลผลร่วมกับโปรแกรมนี้ */
/*2*/ int main() { /* ประกาศ main เป็นฟังก์ชันหลัก ชนิดจำนวนเต็ม และเริ่มต้น block ของฟังก์ชัน main (เริ่มต้นโปรแกรม) */
/*3*/ int x; /* ประกาศตัวแปร x เป็นชนิดจำนวนเต็ม */
/*4*/ scanf("%d" , &x); /* รับค่าเลขจำนวนเต็ม จากแป้นพิมพ์ ไปเก็บไว้ในตัวแปร x เมื่อป้อนข้อมูลเสร็จแล้ว ต้องกดแป้น Enter เพื่อยืนยันข้อมูลและทำคำสั่งถัดไป */
/*5*/ return 0; /* คืนค่า 0 ให้ฟังก์ชัน main โปรแกรมทำงานถูกต้องสมบูรณ์ */
/*6*/ } /* สิ้นสุด block ของฟังก์ชัน main (สิ้นสุดโปรแกรม) */
   
หมายเหตุ เมื่อคำสั่ง scanf ทำงาน เครื่องจะหยุดรอรับค่า (เคอร์เซอร์กระพริบ)
เมื่อป้อนข้อมูลเสร็จแล้ว ต้องกดแป้น Enter เพื่อยืนยันข้อมูลและทำคำสั่งถัดไป
   
 
   
ตัวอย่างที่ 13 การรับค่าจำนวนเต็ม 2 จำนวน จากแป้นพิมพ์ ( ex4-13.c )
   
บรรทัด รหัสต้นฉบับ (Source Code) อธิบายคำสั่ง
/*1*/ #include <stdio.h> /* เป็นคำสั่งของตัวประมวลผลก่อนซี จะมีผลให้แฟ้ม stdio.h ซึ่งเป็นแฟ้มส่วนหัวที่ใช้เก็บรวบรวมคำสั่งเกี่ยวกับการรับและแสดงผลข้อมูล ถูกอ่านเข้ามาเพื่อประมวลผลร่วมกับโปรแกรมนี้ */
/*2*/ int main() { /* ประกาศ main เป็นฟังก์ชันหลัก ชนิดจำนวนเต็ม และเริ่มต้น block ของฟังก์ชัน main (เริ่มต้นโปรแกรม) */
/*3*/ int x , y; /* ประกาศตัวแปร x และ y เป็นชนิดจำนวนเต็ม */
/*4*/ scanf("%d %d" , &x , &y); /* รับค่าเลขจำนวนเต็ม 2 จำนวน จากแป้นพิมพ์ ไปเก็บไว้ในตัวแปร x และ y ตามลำดับ คั่นจำนวนสองจำนวนด้วยเว้นวรรค เมื่อป้อนข้อมูลเสร็จแล้ว ต้องกดแป้น Enter เพื่อยืนยันข้อมูลและทำคำสั่งถัดไป */
/*5*/ printf("x = %d y = %d" , x , y); /* แสดงข้อความ "x = %d y = %d" โดยแสดงค่า x ใน %d ตัวแรก และแสดงค่า y ใน %d ตัวที่ 2 */
/*6*/ return 0; /* คืนค่า 0 ให้ฟังก์ชัน main โปรแกรมทำงานถูกต้องสมบูรณ์ */
/*7*/ } /* สิ้นสุด block ของฟังก์ชัน main (สิ้นสุดโปรแกรม) */
   
หมายเหตุ คำสั่ง scanf("%d %d" , &x , &y); เป็นคำสั่งรับค่าจำนวนเต็ม 2 จำนวน จากแป้นพิมพ์ ไปเก็บไว้ในตัวแปร x และ y ตามลำดับ โดยป้อนค่าที่ 1 แล้วเว้นวรรค (space bar) แล้วจึงป้อนค่าที่ 2 เมื่อป้อนข้อมูลเสร็จแล้ว ต้องกดแป้น Enter เพื่อยืนยันข้อมูลและทำคำสั่งถัดไป
   
ตัวอย่างผลการรันโปรแกรม
   
 
   
ตัวอย่างที่ 14 การจัดรูปแบบอื่น ๆ ในการรับค่าจำนวนเต็ม 2 จำนวน จากแป้นพิมพ์
( ex4-14.c )
   
บรรทัด รหัสต้นฉบับ (Source Code) อธิบายคำสั่ง
/*1*/ #include <stdio.h> /* เป็นคำสั่งของตัวประมวลผลก่อนซี จะมีผลให้แฟ้ม stdio.h ซึ่งเป็นแฟ้มส่วนหัวที่ใช้เก็บรวบรวมคำสั่งเกี่ยวกับการรับและแสดงผลข้อมูล ถูกอ่านเข้ามาเพื่อประมวลผลร่วมกับโปรแกรมนี้ */
/*2*/ int main() { /* ประกาศ main เป็นฟังก์ชันหลัก ชนิดจำนวนเต็ม และเริ่มต้น block ของฟังก์ชัน main (เริ่มต้นโปรแกรม) */
/*3*/ int x , y; /* ประกาศตัวแปร x และ y เป็นชนิดจำนวนเต็ม */
/*4*/ scanf("%d, %d" , &x , &y); /* รับค่าเลขจำนวนเต็ม 2 จำนวน จากแป้นพิมพ์ ไปเก็บไว้ในตัวแปร x และ y ตามลำดับ คั่นจำนวนสองจำนวนด้วยเครื่องหมายคอมม่า ( , ) ตามที่กำหนดไว้ในรูปแบบคำสั่ง เมื่อป้อนข้อมูลเสร็จแล้ว ต้องกดแป้น Enter เพื่อยืนยันข้อมูลและทำคำสั่งถัดไป */
/*5*/ printf("x = %d y = %d" , x , y); /* แสดงข้อความ "x = %d y = %d" โดยแสดงค่า x ใน %d ตัวแรก และแสดงค่า y ใน %d ตัวที่ 2 */
/*6*/ return 0; /* คืนค่า 0 ให้ฟังก์ชัน main โปรแกรมทำงานถูกต้องสมบูรณ์ */
/*7*/ } /* สิ้นสุด block ของฟังก์ชัน main (สิ้นสุดโปรแกรม) */
   
ตัวอย่างผลการรันโปรแกรม
   
 
   
ตัวอย่างที่ 15 การรับค่า 3 ค่า ต่างชนิดกัน จากแป้นพิมพ์ วิธีที่ 1 ( ex4-15.c )
   
บรรทัด รหัสต้นฉบับ (Source Code) อธิบายคำสั่ง
/*1*/ #include <stdio.h> /* เป็นคำสั่งของตัวประมวลผลก่อนซี จะมีผลให้แฟ้ม stdio.h ซึ่งเป็นแฟ้มส่วนหัวที่ใช้เก็บรวบรวมคำสั่งเกี่ยวกับการรับและแสดงผลข้อมูล ถูกอ่านเข้ามาเพื่อประมวลผลร่วมกับโปรแกรมนี้ */
/*2*/ int main() { /* ประกาศ main เป็นฟังก์ชันหลัก ชนิดจำนวนเต็ม และเริ่มต้น block ของฟังก์ชัน main (เริ่มต้นโปรแกรม) */
/*3*/ char x; /* ประกาศตัวแปร x เป็นชนิดอักขระ */
/*4*/ int y; /* ประกาศตัวแปร y เป็นชนิดจำนวนเต็ม */
/*5*/ float z; /* ประกาศตัวแปร z เป็นชนิดจำนวนจริง */
/*6*/ scanf("%c" , &x); /* รับค่าอักขระ จากแป้นพิมพ์ ไปเก็บไว้ในตัวแปร x เมื่อป้อนข้อมูลเสร็จแล้ว ต้องกดแป้น Enter เพื่อยืนยันข้อมูลและทำคำสั่งถัดไป */
/*7*/ scanf("%d" , &y); /* รับค่าเลขจำนวนเต็ม จากแป้นพิมพ์ ไปเก็บไว้ในตัวแปร y เมื่อป้อนข้อมูลเสร็จแล้ว ต้องกดแป้น Enter เพื่อยืนยันข้อมูลและทำคำสั่งถัดไป */
/*8*/ scanf("%f" , &z); /* รับค่าเลขจำนวนจริง จากแป้นพิมพ์ ไปเก็บไว้ในตัวแปร z เมื่อป้อนข้อมูลเสร็จแล้ว ต้องกดแป้น Enter เพื่อยืนยันข้อมูลและทำคำสั่งถัดไป */
/*9*/ printf("x = %c y = %d z = %f" , x , y , z ); /* แสดงข้อความ "x = %c y = %d z = %f" โดยแสดงค่า x ใน %c แสดงค่า y ใน %d และแสดงค่า z ใน %f */
/*10*/ return 0; /* คืนค่า 0 ให้ฟังก์ชัน main โปรแกรมทำงานถูกต้องสมบูรณ์ */
/*11*/ } /* สิ้นสุด block ของฟังก์ชัน main (สิ้นสุดโปรแกรม) */
   
ตัวอย่างผลการรันโปรแกรม
   
 
   
ตัวอย่างที่ 16 การรับค่า 3 ค่า ต่างชนิดกัน จากแป้นพิมพ์ วิธีที่ 2 ( ex4-16.c )
   
บรรทัด รหัสต้นฉบับ (Source Code) อธิบายคำสั่ง
/*1*/ #include <stdio.h> /* เป็นคำสั่งของตัวประมวลผลก่อนซี จะมีผลให้แฟ้ม stdio.h ซึ่งเป็นแฟ้มส่วนหัวที่ใช้เก็บรวบรวมคำสั่งเกี่ยวกับการรับและแสดงผลข้อมูล ถูกอ่านเข้ามาเพื่อประมวลผลร่วมกับโปรแกรมนี้ */
/*2*/ int main() { /* ประกาศ main เป็นฟังก์ชันหลัก ชนิดจำนวนเต็ม และเริ่มต้น block ของฟังก์ชัน main (เริ่มต้นโปรแกรม) */
/*3*/ char x; /* ประกาศตัวแปร x เป็นชนิดอักขระ */
/*4*/ int y; /* ประกาศตัวแปร y เป็นชนิดจำนวนเต็ม */
/*5*/ float z; /* ประกาศตัวแปร z เป็นชนิดจำนวนจริง */
/*6*/ scanf("%c %d %f" , &x , &y , &z); /* รับค่า อักขระ จำนวนเต็ม และจำนวนจริง จากแป้นพิมพ์ ไปเก็บไว้ในตัวแปร xy และ z ตามลำดับ แต่ละค่าคั่นด้วยเว้นวรรค (space bar) เมื่อป้อนข้อมูลเสร็จทั้ง 3 ค่าแล้ว ต้องกดแป้น Enter เพื่อยืนยันข้อมูลและทำคำสั่งถัดไป */
/*7*/ printf("x = %c y = %d z = %f" , x , y , z ); /* แสดงข้อความ "x = %c y = %d z = %f" โดยแสดงค่า x ใน %c แสดงค่า y ใน %d และแสดงค่า z ใน %f */
/*8*/ return 0; /* คืนค่า 0 ให้ฟังก์ชัน main โปรแกรมทำงานถูกต้องสมบูรณ์ */
/*9*/ } /* สิ้นสุด block ของฟังก์ชัน main (สิ้นสุดโปรแกรม) */
   
ตัวอย่างผลการรันโปรแกรม
   
 
   
ตัวอย่างที่ 17 จงเขียนโปรแกรมคำนวณพื้นที่สามเหลี่ยม ( ex4-17.c )
   
จากโจทย์ เขียนผังงาน แสดงการแก้ปัญหา ได้ดังนี้
   
   
จากผังงาน เขียนโปรแกรมได้ดังนี้
   
บรรทัด รหัสต้นฉบับ (Source Code) อธิบายคำสั่ง
/*1*/ #include <stdio.h> /* เป็นคำสั่งของตัวประมวลผลก่อนซี จะมีผลให้แฟ้ม stdio.h ซึ่งเป็นแฟ้มส่วนหัวที่ใช้เก็บรวบรวมคำสั่งเกี่ยวกับการรับและแสดงผลข้อมูล ถูกอ่านเข้ามาเพื่อประมวลผลร่วมกับโปรแกรมนี้ */
/*2*/ int main() { /* ประกาศ main เป็นฟังก์ชันหลัก ชนิดจำนวนเต็ม และเริ่มต้น block ของฟังก์ชัน main (เริ่มต้นโปรแกรม) */
/*3*/ float b , h; /* ประกาศตัวแปร b และ h เป็นชนิดจำนวนจริง */
/*4*/ printf("Area of Triangle\n"); /* แสดงข้อความ "Area of Triangle" แล้วขึ้นบรรทัดใหม่ */
/*5*/ printf("Base : "); /* แสดงข้อความ "Base : " เพื่อแจ้งให้ผู้ใช้โปรแกรมทราบว่า ต้องป้อนข้อมูลอะไร */
/*6*/ scanf("%f" , &b); /* รับค่าจำนวนจริง จากแป้นพิมพ์ ไปเก็บไว้ในตัวแปร b เมื่อป้อนข้อมูลเสร็จแล้ว ต้องกดแป้น Enter เพื่อยืนยันข้อมูลและทำคำสั่งถัดไป */
/*7*/ printf("Height : "); /* แสดงข้อความ "Height : " เพื่อแจ้งให้ผู้ใช้โปรแกรมทราบว่า ต้องป้อนข้อมูลอะไร */
/*8*/ scanf("%f" , &h); /* รับค่าจำนวนจริง จากแป้นพิมพ์ ไปเก็บไว้ในตัวแปร h เมื่อป้อนข้อมูลเสร็จแล้ว ต้องกดแป้น Enter เพื่อยืนยันข้อมูลและทำคำสั่งถัดไป */
/*9*/ printf("Triangle :Base =%.2f Height =%.2f Area =%.2f", b,h,0.5*b*h); /* แสดงข้อความ "Triangle :Base =%.2f Height =%.2f Area =%.2f" โดยแสดงค่า b ใน %.2f ตัวแรก แสดงค่า h ใน %.2f ตัวที่ 2 และแสดงค่า 0.5*b*h ใน %.2f ตัวที่ 3 (%.2f คือ แสดงผลเป็นจุดทศนิยม 2 ตำแหน่ง) */
/*10*/ return 0; /* คืนค่า 0 ให้ฟังก์ชัน main โปรแกรมทำงานถูกต้องสมบูรณ์ */
/*11*/ } /* สิ้นสุด block ของฟังก์ชัน main (สิ้นสุดโปรแกรม) */
   
หมายเหตุ แสดงการใช้คำสั่ง printf กับ scanf คู่กัน โดยใช้คำสั่ง printf เพื่อแสดงข้อความ ให้ผู้ใช้โปรแกรมทราบว่า ถึงขั้นตอนไหนและต้องทำอะไร (เป็นการสื่อสารกับผู้ใช้โปรแกรม) แล้วจึงใช้คำสั่ง scanf ให้ผู้ใช้ป้อนข้อมูล
   
ตัวอย่างผลการรันโปรแกรม