การแสดงผลทางหน้าจอ
แสดงผลออกทางหน้าจอ
การทำงานพื้นฐานที่สึดหรือเรียกได้ว่าเป็นส่วนหนึ่งในการทำงานของทุกโปรแกรมคือ การแสดงผลข้อมูลออกทางจอภาพ โดยในภาษา C นั้น การแสดงผลข้อมูลออกทางจอสามารถทำได้ดังนี้
คำสั่ง printf
คำสั่ง printf ถือได้ว่าเป็นคำสั่งพื้นฐานที่สุดในการแสดงผลข้อมูลทุกชนิดออกทางหน้าจอไม่ว่าจะเป็นจำนวนเต็ม int ทศนิยม float ข้อความ string หรืออักขระ นอกจากนี้คำสั่งยังมีความยืดหยุ่นสูง โดยเราสามารถกำหนดหรือจัดรูปแบบการแสดงผลให้มีระเบียบหรือเหมาะสมตามความต้องการได้อีกด้วย
รูปแบบคำสั่ง prinft
printf ("format",variable);
format
|
ข้อมูลที่ต้องการแสดงผลออกทางหน้าจอ โดยข้อมูลนี้ต้องเขียนไว้ในเครื่องหมาย " " ข้อมูลที่สามารถแสดงผลได้มีอยู่ 2 ประเภท คือ ข้อความธรรมดา และค่าที่เก็บไว้ในตัวแปร ซึ่งถ้าเป็นค่าที่เก็บไว้ในตัวแปรต้องใส่รหัสควบคุมรูปแบบให้ตรงกับชนิดของข้อมูลที่เก็บไว้ในตัวแปรนั้นด้วย
|
variable
|
ตัวแปรหรือนิพจน์ที่ต้องการนำค่าไปแสดงผลให้ตรงกับรหัสควบคุมรูปแบบที่กำหนดไว้
|
รหัสควบคุมรูปแบบการแสดงผลค่าของตัวแปรออกทางหน้าจอ แสดงได้ดังนี้
รหัสควบคุมรูปแบบ
|
การนำไปใช้งาน
|
%d
| แสดงผลค่าของตัวแปรชนิดจำนวนเต็ม |
%u
| แสดงผลค่าของตัวแปรชนิดจำนวนเต็มบวก |
%f
| แสดงผลค่าของตัวแปรชนิดจำนวนทศนิยม |
%c
| แสดงผลอักขระ 1 ตัว |
%s
| แสดงผลข้อความ หรืออักขระมากกว่า 1 ตัว |
ตัวอย่างการใช้คำสั่ง printf แสดงผลข้อความธรรมดาออกทางหน้าจอ ดังนี้
printf("Hello Program C"); | แสดงข้อความ Hello Program C ออกทางขอภาพ |
printf("Lampang kunlayanee school"); | แสดงข้อความ Lampang kunlayanee school ออกทางจอภาพ |
printf("Lampang Thailand"); | แสดงข้อความ Lampang Thailand ออกทางจอภาพ |
#include <stdio.h>
#include <conio.h> void main() { clrscr(); prinft('Lampang Kunlayanee School\n"); printf("Program C\n"); getch(); }
ผลลัพธ์โปรแกรม
Lampang Kunlayanee School
Program C |
ส่วนตัวอย่างการใช้คำสั่ง printf แสดงผลจากค่าของตัวแปรหรือนิพจน์ การคำนวณออกทางหน้าจอ แสดงได้ดังนี้ โดยกำหนดให้
ตัวแปร x เก็บจำนวนเต็ม 45
printf("total value = %d",x); แสดงข้อความ total value = 45 ออกทางจอภาพ
แสดงผลให้เป็นระเบียบด้วยอักขระควบคุมการแสดงผล
นอกจากนี้เรายังสามารถจัดรูปแบบการแสดงผลให้ดูเป็นระเบียบมากขึ้น อย่างเช่นขึ้นบรรทัดใหม่ หลังแสดงข้อความ หรือเว้นระยะแท็บระหว่างข้อความ โดยใช้อักขระควบคุมการแสดงผลร่วมกับคำสั่ง printf
อักขระควบคุมการแสดงผล
|
ความหมาย
|
\n
| ขึ้นบรรทัดใหม่ |
\t
| เว้นช่องว่างเป็นระยะ 1 แท็บ (6 ตัวอักษร) |
\r
| กำหนดให้เคอร์เซอร์ไปอยู่ต้นบรรทัด |
\f
| เว้นช่องว่างเป็นระยะ 1 หน้าจอ |
\b
| ลบอักขระสุดท้ายออก 1 ตัว |
การนำอักขระควบคุมการแสดงผลมาใช้ เราต้องเขียนอักขระควบคุมการแสดงผลไว้ภายในเครื่องหมาย " " ดังตัวอย่าง
printf("Hello ... \n"); | แสดงข้อความ Hello ... แล้วขึ้นบรรทัดใหม่ |
printf("Hello...\nLampang\n"); | แสดงข้อความ Hello ...แล้วขึ้นบรรทัดใหม่พร้อมกับแสดงข้อความLampang จากนั้นขึ้นบรรทัดใหม่อีกครั้ง |
printf("Num1 = %d\tNum2 = %f\n",x,z); | แสดงข้อความ Num1 = 45 ตามด้วยการเว้นช่องว่าง 1 แท็บแล้วต่อด้วยข้อความ Num2 = 20.153 |
คำสั่งรับข้อมูลจากคีย์บอร์ด
การทำงานของโปรแกรมส่วนใหญ่มักจะเป้นการเชื่อมโยงกับผู้ใช้แบบ 2 ทิศทาง คือ ทั้งภาคของการแสดงผลการทำงานออกทางหน้าจอ และภาคของการรับข้อมูลจากผู้ใช้เข้ามาทางคีย์บอร์ด เพื่อร่วมในการประมวลผลของโปรแกรม
คำสั่ง scanf()
ในภาษา C การรับข้อมูลจากคีย์บอร์ดสามารถทำได้โดยการเรียกใช้ฟังก์ชัน scanf() ซึ่งเป็นฟังก์ชันมาตรฐานสำหรับรับข้อมูลจากคีย์บอร์ด โดยสามารถรับข้อมูลได้ทุกประเภท ไม่ว่าจะเป็นจำนวนเต็ม ทศนิยม อักขระ หรือข้อความ
รูปแบบคำสั่ง scanf()
scanf("format",&variable);
format |
การใช้รหัสควบคุมรูปแบบ เพื่อกำหนดชนิดของข้อมูลที่จะรับเข้ามาจากคีย์บอร์ด โดยรหัสควบคุมรูปแบบใช้ชุดเดียวกับคำสั่ง printf()
|
variable |
ตัวแปรที่จะใช้เก็บค่าข้อมูลที่รับเข้ามาจากคีย์บอร์ด โดยชนิดของตัวแปรจะต้องตรงกับรหัสควบคุมรูปแบบที่กำหนดไว้ นอกจากนี้หน้าชื่อของตัวแปรจะต้องนำหน้าด้วยเครื่องหมาย & ยกเว้นตัวแปรสตริง สำหรับเก็บข้อความเท่านั้นที่ไม่ต้องนำหน้าด้วยเครื่องหมาย &
|
ตัวอย่างการใช้งานคำสั่ง scanf() เพื่อรับข้อมูลจากคีย์บอร์ด
int speed; | สร้างตัวแปรชนิด int สำหรับเก็บค่าตัวเลขจำนวนเต็ม |
printf("Enter wind speef : "); | แสดงข้อความให้กรอกค่าความเร็วลมเป็นจำนวนเต็ม |
scanf("%d",&speed); | รับค่าความเร็วลมเข้ามาเก็บไว้ในตัวแปร speed |
char answer; | สร้างตัวแปรชนิด char สำหรับเก็บอักขระ |
printf("Enter Figure (Y : N) : ") | แสดงข้อความให้ป้อนอักขระ Y หรือ N |
scanf("%c",&answer | รับอักขระเข้ามาเก็บไว้ในตัวแปร answer |
char name[10]; | สร้างตัวแปรสตริงสำหรับเก็บข้อความ |
printf("Enter your name = "); | แสดงข้อความให้ป้อนชื่อ |
scanf("%s",name | รับชื่อเข้ามาเก็บไว้ในตัวแปร name สังเกตจะไม่ใส่เครื่องหมาย & ตัวแปรชนิดข้อความ |
#include <stdio.h>
#include <conio.h> void main() { clrscr(); int x,y,sum; printf("Enter The Length is : "); scanf ("%d",&x); printf("Enter The Width is : "); scanf ("%d",&y); sum = x*y; printf("The area is :%d",sum); getch(); }
ผลลัพธ์โปรแกรม
Enter The Length is : 15
Enter The Width is : 5 The area is : 75 |
การเขียนโปรแกรมคำนวณ
ื เราสามารถคำนวณหาผลลัพทธ์ของนิพจน์คณิตศาสตร์ด้วยการเขียนโปรแกรมภาษาซี ตัวอย่างต่อไปนี้เป็นการแสดงลำดับการประมวลผลทางคณิตศาสตร์ของนิพจน์ต่าง ๆ
ื เราสามารถคำนวณหาผลลัพทธ์ของนิพจน์คณิตศาสตร์ด้วยการเขียนโปรแกรมภาษาซี ตัวอย่างต่อไปนี้เป็นการแสดงลำดับการประมวลผลทางคณิตศาสตร์ของนิพจน์ต่าง ๆ
#include <stdio.h>
#include <conio.h> void main() { clrscr(); int a,b,c,d; a=(3+4)*5; b=3+4*5; c=(2+7)*4%10; d=2+7*4%10; e=10+2*8/4*3-5; printf("(3+4)*5 =%d\n",a); printf("3+4*5 =%d\n",b); printf("(2+7)*4%10 =%d\n",c); printf("(2+7)*4%10 =%d\n",d); printf("10+2*8/4*3-5 =%d\n",e); getch(); }
ผลลัพธ์โปรแกรม
(3+4)*5=35
3+4*5=23 (2+7)*4%10=6 2+7*4%10=10 10+2*8/4*3-5=17 |
ตัวอย่างโปรแกรมคำนวณหาผลลัพธ์จากการหาร
#include <stdio.h>
#include <conio.h> void main() { clrscr(); int a,b; float c; a=20; b=6; c=6; printf("20/6 =%d\n",a/b); /*หารเอาเฉพาะส่วน*/ printf("20%6 =%d\n",a%b); /*หารเอาเฉพาะเศษ*/ printf("20/6 =%f\n",a/c); /*หารเอาทั้งเศษและส่วน*/ printf("20/6 =%.2f\n",a/c); /*แสดงผลทศนิยม 2 ตำแหน่ง*/ getch(); }
ผลลัพธ์โปรแกรม
20/6=3
20%6=2 20/6=3.333333 20/6=3.33 |