วันพฤหัสบดีที่ 10 กุมภาพันธ์ พ.ศ. 2554

บทที่6 การควบคุมิศทางกสนทำงานของโปรแกรม

                ในบทที่ผ่านมาเราเขียนโปรแกรมโดยเรียกใช้คำสั่งประกาศสร้างตัวแปร กำหนดค่าให้กับตัวแปรคำสั่งคำนวณประเภทต่าง ๆ และมีการเรียกใช้ฟังก์ชัน โดยโปรแกรมจะทำงานเรียงลำดับตั้งแต่คำสั่งแรกไปจนถึงคำสั่งสุดท้าย ซึ่งในบางครั้งเราอาจจะไม่ต้องการให้เป็นเช่นนั้น ในบทนี้เราจะมารุ้จักวิธีการเขียนโปรแกรมเพื่อควบคุมทิศทางการทำงานของโปรแกรม เพื่อให้ดปรแกรมทำงานในแบบที่เราต้องการ
                ควบคุมทิศทางการทำงานของโปรแกรม
                ในทางปฏิบัตินั้นสภาพของปัญหาที่เราต้องเขียนดปรแกรมขึ้นมาเพื่อแก้ใขความซับซ้อน ซึ่งคงจะไม่ใช่โปรแกรมที่ทำงานเรียงกันไปตั้งแต่ต้นจนจบโปรแกรมที่ควบคุมทิศทางการทำงานได้ อย่างเช่น ถ้าข้อมูลที่รับเข้ามาเป็นเลขคู่ให้ทำงานอย่างหนึ่ง แต่ถ้าเป็นเลขคี่ให้ทำงานอีกอย่างหนึ่งหรือกำหนดทำงานซ้ำคำสั่งเดิมซึ่งจำทำให้โปรแกรมของเราทำงานได้อย่างมีประสิทธิภาพมากยิ่งขึ้น
ในภาษา C แบ่งลักษณะการควบคุมทางงานของโปรแกรมออกเป็น 2ประเภทหลักๆ คือ การควบคุมทิศทางแบบเลือกทำและควบคุมทิศทางแบบวนรอบ ซึ่งแต่ละประเภทก็จะมีคำสั่งที่ภาษา C กำหนดไว้ให้นำไปใช้งาน
                ควบคุมทิศทางแบบเลือกทำ
                การควบคุมทิศทางแบบเลือกทำก็ คือ การเขียนโปรแกรมให้มีการตัดสินใจ สามารถเลือกได้ว่าจะทำหรือไม่ทำตามคำสั่ง ขึ้นอยู่กับเงื่อนไขที่กำหนดขึ้นมา โดยคำสั่งสำหรับการควบคุมทิศทางแบบเลือกทำในภาษาC แบ่งออกเป็น 4ประเภท
                คำสั่ง IF
                การเลือกทำโดยใช้คำสั่ง if จะใช้ในกรรีที่มีทางเลือกให้ทำงานอยู่เพียงทางเลือกเดียว ผลจากการตรวจสอบเงื่อนไขก็คือ ทำหรือไม่ทำตามคำสั่งนั้น รูปแบบการเขียนคำสั่ง if แสดงดังต่อไปนี้




แผนภาพจำลองการทำงานของคำสั่ง if แสดงดังรูปต่อไปนี้

สำหรับการเขียนโปรแกรมโดยใช้คำสั่ง if ตรวจสอบเงื่อนไขเพื่อทำงาน แสดงตัวอย่างดังต่อไปนี้
Ex.ถ้าคะแนนที่ป้อนเข้ามาในโปรแกรมมากกว่าหรือเท่ากับ 50 ซึ่งทำให้เงื่อนไขของคำสั่งif เป็นจริงโปรแกรมก็จะแสดงข้อความ you passed….ขึ้นมาบนหน้าจอ
เมื่อสั่งรันโปรแกรมจะจะปรากฏข้อความขึ้นมาให้เราป้อนคะแนน ดังรูป


เมื่อสั่งรันโปรแกรมจะจะปรากฏข้อความขึ้นมาให้เราป้อนคะแนน ดังรูป

                ถ้าคะแนนที่ป้อนเข้ามาในโปรแกรมมากกว่าหรือเท่ากับ 50 ซึ่งทำให้เงื่อนไขของคำสั่งif เป็นจริงโปรแกรมก็จะแสดงข้อความ you passed….ขึ้นมาบนหน้าจอ

EX. โปรแกรมแสดงตัวเลขไล่จาก 10 ลงมายัง 0 โดยใช้ลูปแบบ do –while

เมื่อสั่งรันโปรแกรมจะปรากฏผลการทำงานดังนี้

คำสั่ง if-else
                คำสั่ง if – else จะใช้ในกรณีที่มีทางเลือกให้ทำงาน โดยรูปแบบการเรียกใช้งานคำสั่ง แสดงดังต่อไปนี้

                การทำงานของคำสั่ง if –else จะเริ่มจากการตรวจสอบเงื่อนไข ถ้าผลออกมาเป็นจริง(false) คำสั่งของ else จะถูกทำงานแทน ดังแสดงในแผนภาพจำลองต่อไปนี้
ตัวอย่างการเขียนโปรแกรม โดยใช้คำสั่ง if – else แสดงดังต่อไปนี้

EX. โปรแกรมตรวจสอบคะแนนโดยเพิ่มส่วนของ else ลงไป ถ้าคะแนนสอบผ่านเกณฑ์จะแจ้งข้อความหนึ่ง แต่ถ้าไม่ผ่านจะแจ้งอีกข้อความหนึ่ง

              เมื่อสั่งรันโปรแกรม โดยทดลองป้อนจำนวนที่ทำให้เงื่อนไขของ if ให้ผลเป็นเท็จ โปรแกรมจะทำงานตามคำสั่งของelse ให้การทำงานออกมาดังรูปต่อไปนี้
 
ควบคุมทิศทางแบบวนรอบ
                การควบคุมทิศทางแบบวนรอบ หรือที่เรียกว่า การทำงานแบบวนลูป ก็คือ การที่เราเขียนโปรแกรมให้ทำซ้ำตำแหน่งเดิม โดยมีการกำหนดเงื่อนไขเพื่อให้โปรแกรมวนรอบทำงาน คำสั่งในภาษา C ที่ใช้สำหรับควบคุมทิศทางแบบวนรอบ ได้แก่ หัวข้อต่อไปนี้
คำสั่ง while
                จะเริ่มการทำงานจากการตรวจสอบเงื่อนไข ถ้าเงื่อนไขเป็นจริงตึงจะทำงานตามคำสั่งของ while เมื่อทำงานเสร็จแล้วจะวนกลับไปตรวจสอบเงื่อนไขใหม่ เป็นอย่างนี้ไปเรื่อย ๆ รูปแบบการเขียนคำสั่ง while แสดงดังต่อไปนี้


แผนภาพจำลองการทำงานของลูป while แสดงดังต่อไปนี้

คำสั่ง if – else if
                คำสั่ง if – else if  จะใช้ในเวลาที่มีทางเลือกให้มากกว่า 2 ทางเลือก โดยแต่ละทางเลือกมีเงื่อนไขต่างกัน ดังนั้นเราต้องเรียกใช้คำสั่งif หลายครั้ง เพื่อกำหนดเงื่อนไขสำหรับแต่ละทางเลือก รูปแบบการเขียนคำสั่ง if – else if  แสดงดังต่อไปนี้
                      การทำงานจะเริ่มตัวแปรภาษา C ตรวจสอบเงื่อนไขแรก ถ้าผลออกมาเป็นจริงก็จะทำงานตามคำสั่งของif ถ้าผลออกมาเป็นเท็จ ตัวแปรภาษา C จะตรวจสอบเงื่อนไขที่สอง ซึ่งถ้าผลออกมาเป็นจริงก็จะทำงานตามคำสั่งของ else if นั้น ถ้าเป็นเท็จตัวแปลภาษา C ก็จะไปตรวจสอบเงื่อนไขอื่น ๆ เรียงตามลำดับต่อไปจนครบทุกเงื่อนไข ถ้าผลยังคงเป็นเท็จ ตัวแปลภาษา C จะทำงานตามคำสั่งที่กำหนดไว้ใน else
                แผนภาพจำลองการทำงานของคำสั่ง if – else if  แสดงดังตัวอย่าง

คำสั่ง if ซ้อน if
                จะใช้คำสั่ง if ซ้อน if  จะใช้กับปัญหาที่มีเงื่อนไขสับซ้อน อย่างเช่น กำหนดว่าต้องเป็นจำนวนคู่และไม่เกิน 50 หรือเงื่อนไขต้องเป็นเพศชายไม่เกิน 20 ปีเป็นต้น แสดงดังรูปต่อไปนี้



EX. โปรแกรมตรวจสอบราคาอุปกรณ์ฮาร์ดแวร์และเทคโนโลยี โดยแสดงเมนูใหเช้ผู้ใช้เลือกแล้วโปรแกรมจะแสดงราคาของเมนูนั้นขึ้นมาให้

                เมื่อทดลองการรันโปรแกรมจะปรากฏผลการทำงานดังรูปต่อไปนี้
คำสั่ง switch….case
                     จะใช้ในกรณีที่มีทางเลือกให้ทำงานหลายทางเลือกโดยใช้เงื่อนไขร่วมกัน ซึ่งตัวแปรภาษา C จะตรวจสอบเงื่อนไขเพียงครั้งเดียว ผลจากการตรวจสอบเงื่อนไขจะถูกนำไปพิจารณาอีกครั้งว่าจะทำงานทางเลือกใด รูปแบบการเขียน แสดงดังตัวอย่าง

แผนภาพจำลองการทำงานของคำสั่ง switch…case แสดงดังตัวอย่าง



EX. โปรแกรมคำนวณเกรด โดยให้ผู้ใช้ป้อนคะแนนเข้ามา โปรแกรมจะคำนวณเกรดแล้วแจ้งผลออกทางหน้าจอ
    ผลการทำงานของโปรแกรมคำนวณเกรดเมื่อทดลองป้อนคะแนน แสดงดังต่อไปนี้



คำสั่ง do – while
                คำสั่งวนลูปแบบ do – while  จะคล้ายกับ while ถ้าเงื่อนไขเป็นจริงจึงจะวนกลับไปทำงานตามคำสั่งของ do ก่อนหนึ่งรอบแล้วจึงตรวจสอบเงื่อนไขที่ while  เป็นอย่างนี้ไปจนกว่าผลการตรวจสอบเงื่อนไขจะเป็นเท็จจึงจะเลิกทำงาน แสดงดังรูปต่อไปนี้

    แผนภาพจำลองการทำงานของลูปแบบ do – while แสดงดังต่อไปนี้

คำสั่ง for
                ใช้สำหรับการควบคุมทิศทางให้ทำงานแบบวนรอบ มีลักษณะพิเศษกว่าคำสั่งลูปแบบอื่น ๆ ตรงที่ for เหมาะกับกรรีที่รู้จำนวนแน่นอนแล้วว่า ต้องการให้วนลูปทำงานกี่รอบ รูปแบบการเรียกใช้คำสั่ง for ก็ต่างจากคำสั่งลูปอื่น ๆ ดังนี้

                แผนภาพจำลองการทำงานของลูปแบบ for  แสดงดังต่อไปนี้

คำสั่งประกอบการควบคุมทิศทางแบบต่าง ๆ
               คำสั่ง break
                                 ถูกนำไปใช้ร่วบกับคำสั่งแบบเลือกทำหรือวนรอบ เพื่อสั่งให้โปรแกรมหยุดการทำงานของคำสั่งแบบเลือกทำหรือวนรอบที่กำลังทำงานอยู่ ตัวอย่างการใช้คำสั่ง break แสดงดังต่อไปนี้
EX. โปรแกรมที่มีการใช้คำสั่ง break ซ้อนอยู่ในคำสั่ง if

                 เมื่อสั่งรันโปรแกรม ถ้าเงื่อนไขของคำสั่ง if  เป็นเท็จ โปรแกรมจะทำงานตามคำสั่ง continue นั่นคือหยุดการทำงานในรอบปัจจุบันกลับไปเริ่มการทำงานในรอบใหม่ จึงทำให้ข้อความ the number can’t be divided by 10.จะไม่ถูกแสดงขึ้นมาให้เห็นบนหน้าจอ ดังรูปต่อไปนี้

คำสั่ง exit()
                คำสั่ง exit() จะใช้สำหรับออกจากการทำงานของโปรแกรม รูปแบบการเรียกใช้คำสั่ง exit() แสดงดังต่อไปนี้

                Ex. โปรแกรมหาผลหารของตัวเลข 2 จำนวน โดยที่มีการใช้คำสั่ง exit() เพื่อจบการทำงานของโปรแกรม ถ้าตัวหารที่รับเข้าเป็น 0

                เมื่อสั่งรันโปรแกรมให้ทดลองป้อนตัวเลขเข้าไปในโปรแกรม โดยกำหนดตัวหารเป็น 0 เช่น 7/0 เพื่อดุผลการทำงานของโปรแกรม ดังแสดงในรูปต่อไปนี้



                แผนภาพแสดงการทำงานของคำสั่ง if ซ้อน if แสดงดังต่อไปนี้

แบบทดสอบหลังเรียน

จงแปลงอักษรนิพจน์ทางคณิตศาสตร์ต่อไปนี้ให้เป็นนิพจน์ภาษา
1. c = 4a * b
2. a =ac
3. i = 5j3
4. x = 5a + bc

จงหาค่าตัวแปร x จากนิพจน์ต่อไปนี้ โดยกำหนด a =2, b = 3, c= 4, d = 5, e =
6 และ f = 7
5. x = a + e/f * c;
6. x =(f - e) * (c / a)
7. x = a * d / a+ e / b;
8. x = a * (d/(a + e)) / b;


กำหนดให้ a, b และ c เป็นตัวแปรชนิดจำนวนเต็มมีค่า 8, 3, และ -5 ตามลำดับ จงหาผลลัพธ์นิพจน์ต่อไปนี้

9. a + b + c
10. 2* b + 3 * (a - c)
11. a / b
12. a % b
13. a / c
14. a % c

จงเรียงลำดับการดำเนินการของนิพจน์ต่อไปนี้ ตามลำดับความสำคัญของเครื่องหมาย

15.(a+b)/2&&c*d
16.x/y+4||3*z
17.(a+b)*c&&d+7%e
18.++x/y*z&&a+3*b
19.(a+b)*c/d
จงเขียนนิพจน์ทางคณิตศาสตร์ต่อไปนี้ ฬห้อยู่ในรูปแบบนิพจน์ที่ถุกต้องตามหลักการและเครื่องหมายของภาษา C โดยให้ใส่วงเล็บเพื่อจัดลำดับการทำงานที่ถุกต้องด้วย

20.+b/++cd
21.a mod b +c/d2
22.b/cd++a

********************************

 
เฉลย

1. c=4*a*b
2. a=a*c
3. i=5*j*3
4. x=5*a+b*c;

5. x=2;
6. x=2;
7. x=7;
8. x=0;

9. 6
10. 45
11. 2
12. 2
13. -1
14. 3

15.(a+b)/2&&c*d
   1) a+b
   2) 1)/2
   3) c*d
   4) 2)&&3)

16.x/y+4||3*z
   1) x/y
   2) 1)+4
   3) 3*z
   4) 2)|3)

17.(a+b)*c&&d+7%e
   1) a+b
   2) 1)*c
   3) 7%e
   4) d+3)
   5) 2)&&4)

18.++x/y*z&&a+3*b
   1) ++x
   2) y*z
   3) 1)/2)
   4) 3*b
   5) a+4)
   6) 3)&&5) 
19.(a+b)*c/d
   1) a+b
   2) 1)*c
   3) 2)*d

20.a+(b/(++c)*d)
21.(a%b)+(c/(d*d))
22.b/c*d*(++a)

บทที่ 5 การแสดงผลและการรับข้อมูล

                     ในบทนี้จะกล่าวถึงการทำงานพื้นฐานที่ต้องมีอยู่ในทุกโปรแกรมซึ่งก็คือ การแสดงผลการทำงานออกทางหน้าจอและการรับข้อมูลจากผู้ใช้เข้ามาทางคีย์บอร์ด โดยในภาษา C การแสดงผลออกทางหน้าจอ และการรับเข้ามาทางคีย์บอร์ดนั้นสามารถทำได้ง่าย ๆ จากการเรียกใช้ฟังก์ชันที่ภาษา C เตรียมไว้ให้
แสดงผลออกทางหน้าจอด้วยคำสั่ง printf
                การแสดงผลออกทางหน้าจอสามารถทำได้หลายวิธีด้วยกัน แต่วิธีที่นิยมใช้กันมากที่สุดก็คือ การเรียกใช้ฟังก์ชัน printf( ) ซึ่งเป็นมาตรฐานที่ใช้ในการแสดงผลข้อมูลทุกชนิดออกทางหน้าจอ ไม่ว่าจะ เป็นจำนวนเต็ม ทศนิยม อักขระ หรือข้อความ
สำหรับรูปแบบการเรียกใช้ฟังก์ชัน printf ( ) แสดงดังต่อไปนี้
             
   ตัวอย่างการเรียกใช้งานฟังก์ชัน printf เพื่อแสดงข้อความออกทางหน้าจอ แสดงดังต่อไปนี้

                   ตัวอย่างการใช้คำสั่ง print แสดงผลจากค่าของตัวแปรหรือนิพจน์การคำนวณออกทางหน้าจอแสดงดังต่อไปนี้ 

1.กำหนดตัวแปรชื่อ name เก็บข้อความ Sajja
2.แสดงข้อความ x1 = ค่าของตัวแปร x1 และเนื่องจากการใส่รหัสควบคุมการแสดงผลเป็น %d หมายถึงการกำหนดให้ตัวแปรภาษา c แสดงค่าของตัวแปร x1 ในรูปแบบของตัวเลขจำนวนเต็มซึ่งค่าของตัวแปร x1 จะถูกนำไปแสดงทุกตำแหน่งของ %dดังนั้น ผลทีได้จากการทำงานของคำสั่งนี้คือ x1=43
3.แสดงค่าตัวแปร x2 ในรูปแบบเลขฐานสิบหก เนื่องจากการใช้รหัสควบคุมแสดงผล %x ส่วนค่าของตัวแปร x3 แสดงผลในรูปแบบของเลขฐานแปด เนื่องจากใช้รหัสควบคุมการแสดงผล %0 ผลจากการทำงานของคำสั่งนี้คือ x2=4d x3 = 1075
4.แสดงค่าของตัวแปร y1 ในรูปแบบตัวเลขทศนิยมหกหลัก เนื่องจากใช้รหัสควบคุมการแสดงผล %f
และแสดงค่าของตัวแปร y2 ในรูปแบบของ e ยกกำลัง เนื่องจากใช้รหัสควบคุมการแสดงผล %e
5.แสดงผลค่าของตัวแปร z ในรูปแบบของอักขระ (%c) และตัวแปร name ในรูปแบบของข้อความ (%s)
เมื่อสั่งรันโปรแกรม เราจะเห็นการทำงานของโปรแกรมดังแสดงในรูปต่อไปนี้
1.สร้างตัวแปร x1 เก็บจำนวนเต็ม -234 ตัวแปร x2 เก็บจำนวนเต็มในรูปแบบของเลขฐานแปด(ขึ้นต้นด้วยเลขศูนย์) และตัวแปรx3 เก็บจำนวนเต็มในรูปแบบของเลขฐานสิบหก (ขึ้นต้นด้วยศูนย์เอ็กซ์)
2. สร้างตัวแปรy1 เก็บจำนวนทศนิยม และตัวแปร y2 เก็บจำนวนทศนิยมในรูปแบบ e ยกกำลัง
3.สร้างตัวแปร z เก็บอักขระ c
4. แสดงค่าของตัวแปร x1 ในรูปแบบจำนวนเต็มฐานสิบ (%d) ค่าของตัวแปร x2 ในรูปแบบจำนวนเต็ม (%d) และค่าตัวแปร x3 ในรูปแบบจำนวนเต็มฐานสิบ (%d)
5.แสดงค่าของตัวแปร y2 ในรูปแบบของจำนวยทศนิยม 6หลัก (%f)
6.แสดงค่าของตัวแปร z ในรูปแบบของจำนวนเต็มฐานสิบ (%d) ซึ่ง z เก็บอักขระ C ดังนั้นตัวแปลภาษา C ในระบบเลขฐานสิบ (ตามที่ระบุในตาราง ASCII) ขึ้นมาให้ผลการทำงานของโปรแกรม แสดงดังรูปต่อไปนี้
แสดงผลให้เป็นระเบียบด้วยอักขระควบคุมการแสดงผล
                นอกจากนี้เรายังสามารถจัดรูปแบบการแสดงผลให้ดูเป็นระเบียบมากขึ้นได้ อย่างเช่น ขึ้นบรรทัดใหม่หลังแสดงข้อความ หรือเว้นระยะแท็บระหว่างข้อความ โดยใช้อักขระควบคุมการแสดงผลร่วมกับคำสั่ง printf() ในภาษา C มีอักขระควบคุมแสดงผลหลายรูปแบบด้วยกัน ดังแสดงต่อไปนี้
การนำอักขระควบคุมการแสดงผลมาใช้ เราต้องเขียนอักขระควบคุมการแสดงผลไว้ภายในเครื่องหมาย    ร่วมกับข้อความหรือรหัสควบคุมแบบการแสดงผล ดังแสดงต่อไปนี้
ตัวอย่างการใช้อักขระควบคุมการแสดงผลร่วมกับคำสั่ง printf () แสดงดังต่อไปนี้


เมื่อสั่งรันโปรแกรมจะปรากฏผลการทำงานดังรูปต่อไปนี้

                เมื่อสั่งรันโปรแกรมข้อความจะแสดงออกทางหน้าจอดังรูปต่อไปนี้


ควบคุมขนาดพื้นที่แสดงผล
ตามปกติในการแสดงผลตัวแปรภาษา C จะเตรียมพื้นที่กับข้อมูลที่ต้องการแสดงผล ยกตัวอย่างดังรูปต่อไปนี้

แต่เราสามารถเพิ่มพื้นที่การแสดงผลได้ตามต้องการ อย่างเช่น กำหนดให้แสดงข้อความ HELLO ในพื้นที่ขนาด 8 ช่อง หรือกำหนดให้แสดงตัวเลข123.456 ในพื้นที่ขนาด 12 ช่อง โปรแกรมจะแสดงผลชิดข้างขวาของพื้นที่ในหน่วยความจำที่จองไว้ โดยจะเว้นพื้นที่ทางด้านซ้ายเอาไว้ ดังรูปจำลองต่อไปนี้
วิธีการกำหนดขนาดพื้นที่การแสดงผล ให้ใส่ตัวเลขขาดของของพื้นที่ที่ต้องการใว้หลังเครื่องหมาย % ในรหัสควบคุมรูปแบบ ดังแสดงตัวอย่างต่อไปนี้
เมื่อสั่งรันโปรแกรมจะปรากฏผลการทำงานดังรูปต่อไปนี้

ในกรณีที่ต้องการเปลี่ยนจากการแสดงผลชิดขอบด้านขวาให้มาชิดขอบด้านซ้ายแทน สามารถทำได้โดยใส่เครื่องหมาย – ไว้หน้าตัวเลขระบุขนาดพื้นที่ ดังแสดงในตัวอย่างดังต่อไปนี้

ควบคุมจำนวนอักขระในข้อความที่จะให้แสดงผล
การแสดงผลข้อความโดยใช้รหัสควบคุมรูปแบบ %s เราสามารถกำหนดได้ว่าต้องการจะแสดงข้อความทั้งหมด หรือเลือกเฉพาะบางส่วนของข้อความ โดยกำหนดจำนวนอักขระที่ต้องการแสดงผลได้ดังรูปแบบดังต่อไปนี้
เมื่อสั่งรันโปรแกรมจะปรากฏอักขระ 6 ตัวแรกของข้อความ C  Language ออกมาทางหน้าจอ


ควบคุมการแสดงตัวเลขหลังจุดทศนิยม
นอกจากนี้การแสดงผลตัวเลขทศนิยม ตามปกติถ้าไม่ได้กำหนดค่าใด ๆ เพิ่มเติม เมื่อใช้รหัสควบคุมรูปแบบ %f โปรแกรมจะแสดงตัวเลขหลังจุดทศนิยมทั้งหมด 6 ตำแหน่ง ดังตัวอย่างโปรแกรมต่อไปนี้
เมื่อสั่งรันโปรแกรมจะปรากฏผลการทำงานดังรูปต่อไปนี้
ตัวอย่างการแสดงผลจำนวนทศนิยมโดยที่มีการกำหนดตำแหน่งทศนิยม แสดงดังต่อไปนี้

ผลการทำงานของโปรแกรม แสดงดังรูปต่อไปนี้

แสดงผลทีอักขระด้วยคำสั่ง putchar()
ในการแสดงผลตัวอักขระ หรืออักขระ (char) ออกทางหน้าจอ นอกจากการใช้คำสั่ง printf()
พร้อมกับกำหนดรหัสควบคุมรูปแบบเป็น %c แล้ว เราสามารถเรียกใช้คำสั่งสำหรับแสดงตัวอักษรหรืออักขระโดยเฉพาะได้อีกด้วย
จากการทำงานของโปรแกรม จะเห็นได้ว่าคำสั่ง putchar() แสดงอักขระออกมาทางหน้าจอโดยไม่ขึ้นบรรทัดใหม่ ดังนั้น ถ้าต้องการแสดงอักขระแล้วขึ้นบรรทัดใหม่ด้วย ให้ใช้วิธีการเพิ่มคำสั่ง printf(“\n”)ต่อจากคำสั่ง putchar() ดังตัวอย่างต่อไปนี้
แสดงผลเป็นข้อความด้วยคำสั่ง puts()
นอกจากการแสดงผลอักขระด้วยฟังก์ชัน putchar() แล้วในภาษา C ยังมีคำสั่งสำหรับแสดงผลข้อความออกทางหน้าจอโดยเฉพาะอีกด้วยนั่นก็คือ คำสั่ง puts() ซึ่งมีรูปแบบการเรียกใช้คำสั่งต่อไปนี้
ตัวอย่างการใช้งานคำสั่ง puts() ในการแสดงข้อความออกทางหน้าจอ แสดงต่อไปนี้
คำสั่ง puts() เมื่อแสดงข้อความแล้ว จะขึ้นบรรทัดใหม่ให้ได้โดยอัตโนมัติ ซึ่งผลการรันโปรแกรมแสดงดังต่อไปนี้
รับข้อมูลจากคีย์บอร์ดด้วยคำสั่ง scanf()
ในภาษา C การรับข้อมูลจากคีย์บอร์ดสามารถทำได้โดยการเรียกใช้ฟังก์ชัน scanf() ซึ่งเป็นฟังก์ชันมาตรฐานสำหรับรับข้อมูลจากคีย์บอร์ด  โดยสามารถรับข้อมูลได้ทุกประเภทไม่ว่าจะเป็นจำนวนเต็ม ทศนิยม อักขระ หรือข้อความก็ตาม
ตัวอย่างการใช้คำสั่ง scanf() เพื่อรับข้อมูลจากคีย์บอร์ด เข้ามาเก้บไว้ในตัวแปร แสดงดังต่อไปนี้
เมื่อสั่งรันโปรแกรมจะปรากฏข้อความ Enter Wind Speed : พร้อมเคอร์เซอร์กะพริบรอให้เรากรอกข้อมูล ดังรูปต่อไปนี้
ทดลองการกรอกตัวเขจำนวนเต็มแทนค่าความเร็วลมลงกดปุ่ม(Enter) เพื่อให้โปรแกรมกลับไปทำงานต่อ จากนั้นโปรแกรมจะแสดงข้อความพร้อมทั้งความเร็วลมขึ้นมาให้บนหน้าจอ

เมื่อสั่งรันโปรแกรมจะปรากฏข้อความ How old are you? ขึ้นมาให้เรากรอกอายุ

เมื่อกรอกอายุพร้อมทั้งกดปุ่ม (Enter) แล้ว โปรแกรมจะแสดงข้อความทั้งอายุที่เรากรอกขึ้นมาให้บนหน้าจอ
รับข้อมูลมากกว่าหนึ่งคำด้วยคำสั่ง scanf()
                ในกรณีที่เราต้องการให้กรอกข้อมูลเข้ามามากกว่าหนึ่งในครั้งเดียวกัน ก็สามารถทำได้โดยกำหนดรูปแบบการป้อนข้อมูลเหล่านั้นในคำสั่ง scanf() ดังแสดงตัวอย่างดังต่อไปนี้
ตัวอย่างการใช้คำสั่งscanf() รับข้อมูลมากกว่า 1 ค่า ในครั้งเดียวกัน

                เมื่อสั่งรันโปรแกรมจะปรากฏข้อความขึ้นมาให้กรอกประสบการณ์การทำงานและเงินเดือน ดังรูป

สำหรับการกรอกข้อมูลจะต้องเว้นช่องระหว่างข้อมุลทั้ง 2 ตัวตามรูปแบบที่โปรแกรมกำหนดไว้(%d %f)
                เมื่อกดปุ่ม (Enter) โปรแกรมก็จะแสดงค่าที่เรากรอกขึ้นมาบนหน้าจอ ดังรูปต่อไปนี้
รับข้อมูลที่ละอักขระด้วย getchar() และ getch()
                                ภาษา  C มีคำสั่งพิเศษสำหรับรับข้อมูลประเภทอักขระหรือตัวอักษรจากคีย์บอรืดโดยเฉพาะนั่นคือคำสั่ง getchar() และ getch() ทั้ง 2 คำสั่งที่ใช้รับข้อมูลประเภทอักขระ (char) โดยมีรูปแบบการใช้คำสั่งดังแสดงต่อไปนี้
                ถึงแม้ว่าคำสั่ง getchar() จะใช้สำหรับข้อมุลชนิดอักขระเข้ามาแล้วจะต้องกดปุ่ม (Enter) โปรแกรมจะกลับทำงานต่อไป และตัวอักษรที่เรากรอกจะแสดงออกขึ้นมาให้เห็นบนหน้าจอด้วย ตัวอย่างการเรียกใช้คำสั่งgetchar() รับตัวอักษรเข้ามาจากคีย์บอร์ดแสดงดังต่อไปนี้

                เมื่อสั่งรันโปรแกรมจะปรากฏข้อความขึ้นมาให้ป้อนอักขระ แล้วกดปุ่ม(Enter) ดังรูปต่อไปนี้

                โปรแกรมจะกลับไปทำงานต่อ โดยแสดงข้อความ Thank you ขึ้นมา สังเกตว่าการใช้คำสั่ง getchar() จะแสดงอักขระที่เราป้อนเข้าไปให้เห็นบนหน้าจอ
             
                      ในส่วนของการใช้คำสั่ง getchar() หลังจากที่ป้อนอักขระเข้ามา 1 ตัวแล้วเราไม่ต้องกดปุ่ม(enter)
โปรแกรมจะกลับไปทำงานต่อทันที และอักขระที่เราป้อนเข้าไปในโปรแกรมก็จะไม่แสดงให้เห็นบนหน้าจอด้วย โดยการคำสั่ง getchar() เราต้องเขียนฟรีดพรเซสเซอรืไดเรคทีฟ ไว้ในส่วนหัวของโปรแกรมด้วย ดังในตัวอย่างต่อไปนี้


เมื่อสั่งรันโปรแกรมจะปรากกข้อความขึ้นมาให้ป้อนอักขระ

                เมื่อป้อนอักขระเข้าไปแล้ว โปรแกรมจะกลับไปทำงานต่อทันทีโดยไม่ต้องกดปุ่ม(Enter) และจะไม่แสดงอักขระที่ป้อนเข้ามาให้เห็นบนหน้าจอ


รับข้อมูลเป็นข้อความด้วย gets()
                นอกจากคำสั่งพิเศษในการรับข้อมูลชนนิดอักขระหรือตัวอักษรแล้ว การรับข้อความจากคียืบอร์ดก็มีคำสั่งพิเศษให้เรียกใช่เช่นกัน ก็คือคำสั่ง gets() วึ่งมีรูปแบบดังนี้

                ตัวอย่างการเขียนโปรแกรมที่มีการเรียกใช้คำสั่ง gets() รับข้อมูลเข้ามาจากคีย์บอร์ด แสดงดังต่อไปนี้

                เมื่อสั่งรันโปรแกรมจะปรากฏข้อความขึ้นมาให้ป้อนอักขระ

                ให้ทดลองพิมพ์ข้อความ แล้วกดปุ่ม(enter)  เพื่อให้โปรแกรมกลับไปทำงานในคำสั่งต่อไป

                โปรแกรมจะแสดงข้อความที่เราป้อนขึ้นมาบนหน้าจอ ดังรูปต่อไปนี้

แสดงค่าของตัวแปรด้วยรหัสควบคุมรูปแบบการแสดงผล
                ในหัวข้อที่ผ่านมาเราทดลองเรียกใช้ฟังก์ชัน printf() แสดงข้อความออกทางหน้าจอ แต่ถ้าจะเขียนคำสั่งเพื่อนำค่าที่เก็บไว้ในตัวแปรขึ้นมาแสดงผล จะต้องมีการใส่รหัสควบคุมรูปแบบ (format code) ให้กับตัวแปรที่แสดงค่า โดยรหัสควบคุมรูปแบบการแสดงผลข้อมูลชนิดต่าง ๆ ในภาษา C แสดงดังตารางต่อไปนี้
             ตัวอย่างเช่น ถ้าจะแสดงค่าของจำนวนเต็มต้องใส่รหัสควบคุมรูปแบบ %d หรือถ้าจะแสดงค่าของจำนวนทศนียมก็ต้องรหัสควบคุมรูปแบบ %f เป็นต้น รูปแบบการเขียนฟังก์ชัน printf() พร้อมกำหนดรหัสควบคุมรูปแบบแสดงดังต่อไปนี้