การแสดงผลข้อมูลออกทางหน้าจอและรหัสควบคุมการแสดงผล
แสดงผลออกทางหน้าจอและรหัสควบคุม
การทำงานพื้นฐานที่สึดหรือเรียกได้ว่าเป็นส่วนหนึ่งในการทำงานของทุกโปรแกรมคือ การแสดงผลข้อมูลออกทางจอภาพ โดยใ[ภาษา C นั้น การแสดงผลข้อมูลออกทางจอสามารถทำได้ดังนี้
คำสั่ง printf
คำสั่ง printf ถือได้ว่าเป็นคำสั่งพื้นฐานที่สุดในการแสดงผลข้อมูลทุกชนิดออกทางหน้าจอไม่ว่าจะเป็นจำนวนเต็ม int ทศนิยม float ข้อความ string หรืออักขระ นอกจากนี้คำสั่งยังมีความยืดหยุ่นสูง โดยเราสามารถกำหนดหรือจัดรูปแบบการแสดงผลให้มีระเบียบหรือเหมาะสมตามความต้องการได้อีกด้วย
รูปแบบคำสั่ง printf
printf ("format",variable);
format ข้อมูลที่ต้องการแสดงผลออกทางหน้าจอ โดยข้อมูลนี้ต้องเขียนไว้ในเครื่องหมาย " " ข้อมูลที่สามารถแสดงผลได้มีอยู่ 2 ประเภท คือ ข้อความธรรมดา และค่าที่เก็บไว้ในตัวแปร ซึ่งถ้าเป็นค่าที่เก็บไว้ในตัวแปรต้องใส่รหัสควบคุมรูปแบบให้ตรงกับชนิดของข้อมูลที่เก็บไว้ในตัวแปรนั้นด้วย
variable ตัวแปรหรือนิพจน์ที่ต้องการนำค่าไปแสดงผลให้ตรงกับรหัสควบคุมรูปแบบที่กำหนดไว้
รหัสควบคุมรูปแบบการแสดงผลค่าของตัวแปรออกทางหน้าจอ แสดงได้ดังนี้
รหัสควบคุมรูปแบบ การนำไปใช้งาน
%d แสดงผลค่าของตัวแปรชนิดจำนวนเต็ม
%u แสดงผลค่าของตัวแปรชนิดจำนวนเต็มบวก
%f แสดงผลค่าของตัวแปรชนิดจำนวนทศนิยม
%c แสดงผลอักขระ 1 ตัว
%s แสดงผลข้อความ หรืออักขระมากกว่า 1 ตัว
ตัวอย่างการใช้คำสั่ง printf แสดงผลข้อความธรรมดาออกทางหน้าจอ ดังนี้
printf("Hello Program C");
แสดงข้อความ Hello Program C ออกทางขอภาพ
printf("Dankhunthod school");
แสดงข้อความ Dankhunthod school ออกทางจอภาพ
printf("Dankhunthod Thailand");
แสดงข้อความ Dankhunthod Thailand ออกทางจอภาพ
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
prinft("Dankhunthod School\n");
printf("Program C\n");
getch();
}
ผลลัพธ์โปรแกรม
Dankhunthod 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...\nDankhunthod\n"); แสดงข้อความ Hello ...แล้วขึ้นบรรทัดใหม่พร้อมกับแสดงข้อความ Dankhunthod จากนั้นขึ้นบรรทัดใหม่อีกครั้ง
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