การรับค่าและแสดงผล
Function แสดงผลออกทางจอภาพ
printf(control,argument list); ข้อความ รหัสควบคุมการแสดงผล Format code หลังเครื่องหมาย % argument list ตัวแปร, ค่าคงที่ ถ้า > 1 ตัว คั่นด้วยเครื่องหมาย ,
รหัสควบคุมการแสดงผล \n ขึ้นบรรทัดใหม่ \t เว้นระยะ 6 ตัวอักษร ตัวนี้ใช้บ่อย \n ขึ้นบรรทัดใหม่ \t เว้นระยะ 6 ตัวอักษร \r cursor ชี้อยู่ต้นบรรทัด \f เว้นการแสดงผลไป 1 หน้า \b cursor ถอยหลังไป 1 ตัวอักษร พร้อมลบตัวอักษรไปด้วย \a มีเสียง \” พิมพ์เครื่องหมาย ” \’ พิมพ์เครื่องหมาย ‘
Format Code %d ข้อมูลที่เป็นตัวเลข (เลขฐาน10) %f ข้อมูลที่เป็นตัวเลขทศนิยม (float,double) %c ข้อมูลที่เป็น ตัวอักษร %s ข้อมูลที่เป็นข้อความ %% เครื่องหมาย %
แสดง Output ตอบ Number is 500 int age=20; printf(“Number is %d“,500); ตอบ Number is 500 int age=20; printf(“You are %d year\’s old.”,age); ตอบ You are 20 year’s old. int num1=3,num2=10,ans; ans=num1+num2; printf(“Summary of %d and %d = %d”,num1,num2,ans); ตอบ Summary of 3 and 10 = 13
ผลการ Run ตอบ Number = 10 Tax = 5.500000 Rate = 40.25 #include<stdio.h> void main() { int number = 10; float tax = 5.5, rate = 40.25; printf(“Number = %d\nTax = %f\nRate = %.2f\n”, number, tax, rate); } ตอบ Number = 10 Tax = 5.500000 Rate = 40.25
num = ^^100 num = 100 num = 100^^^^^ num = 100 ตัวอย่างเช่น int num = 100; printf(“num = %5d\n”,num); num = ^^100 printf(“num = %2d\n”,num); num = 100 ตัวอย่างเช่น int num = 100; printf(“num = %-8d\n”,num); num = 100^^^^^ printf(“num = %-2d\n”,num); num = 100
ผลการแสดงผล 123 ^^^^^^^123 123^^^^^^^ #include <stdio.h> #include <conio.h> int main() { int x = 123; clrscr(); printf("%d\n", x); printf("%2d\n", x); printf("%10d\n", x); printf("%-10d\n", x); return 0; } 123 ^^^^^^^123 123^^^^^^^
ตัวอย่างเช่น int num = 100; printf(“num = %05d\n”,num); num = 00100
กรณีเลขทศนิยม float rate = 13.7582; 13.758200 13.758 13.76 14 printf(“%f”,rate); 13.758200 printf(“%.3f”,rate); 13.758 printf(“%.2f”,rate); 13.76 printf(“%.0f”,rate); 14
การแสดงผลข้อความ Business^Computer ^^^Business^Computer #include <stdio.h> #include <conio.h> #define TEXT "Business Computer" int main() { clrscr(); printf("%2s\n", TEXT); printf("%20s\n", TEXT); printf("%20.8s\n", TEXT); printf("%-20.8s\n", TEXT); printf("%20.12s\n", TEXT); return 0; } Business^Computer ^^^Business^Computer ^^^^^^^^^^^^Business Business^^^^^^^^^^^^ ^^^^^^^^Business^Com
Function รับค่าข้อมูลจากทางแป้นพิมพ์
function getchar() เป็นข้อมูลรับอักขระ 1 ตัวอักษรจากแป้นพิมพ์และต้องเคาะแป้น enter ในกรณีกำหนดตัวแปรรับค่าเป็น int จะไม่มีการฟ้องข้อผิดพลาด
function getch() ใช้รับตัวอักขระ 1 ตัวจากแป้นพิมพ์ แต่ขณะรับไม่แสดงทางจอภาพและไม่ต้องเคาะแป้น enter ในกรณีกำหนดตัวแปรรับค่าเป็น int จะไม่มีการฟ้องข้อผิดพลาด
function get() ใช้กับข้อความ และมีช่องว่าง ใช้รับข้อความจากแป้นพิมพ์ มาเก็บไว้ในชื่อตัวแปรที่กำหนด รูปแบบ คือ gets(string_var); เช่น char str[20]; gets(str); ใช้กับข้อความ และมีช่องว่าง
ตัวอย่าง gets(); #include<stdio.h> void main() { char name[40]; printf(“Enter Subject : “); gets(name); printf(“This subject is %s\n”,name); getch(); } Enter Subject :Computer Programming This subject is Computer Programming
function scanf() scanf(control,argument list); รูปแบบ control “ ” มี Format code เหมือน printf argument list รับค่าจากแป้นพิมพ์มาเก็บไว้ - คั่นด้วย , - นำหน้าด้วยเครื่องหมาย &
การรับข้อมูล int age ; float gpa; scanf(“%d”,&age); scanf(“%f”, &gpa); scanf(“%d%f”,&age, &gpa); ตัวอย่างการรับข้อมูล 20 3.75 20 3.75
ผลที่แสดงหน้าจอ Enter your name: Peter Your name is Peter #include <stdio.h> #include <conio.h> int main() { char name[30]; clrscr(); printf("Enter your name: "); scanf("%s", name); printf(“Your name is %s \n", name); return 0; } Enter your name: Peter Your name is Peter
ผลที่แสดงหน้าจอ Enter your age: 25 Enter your salary: 32000 #include <stdio.h> #include <conio.h> int main() { int age,salary; clrscr(); printf("Enter your age : "); scanf("%d ",&age); printf("Enter your salary: "); scanf("%d ",&salary); printf(“Your age is %d years old and earn %d bath \n", age, salary); return 0; } Enter your age: 25 Enter your salary: 32000 Your age is 25 years old and earn 32000 bath
ผลที่แสดงหน้าจอ Your age is 25 years old and earn 32000 baht #include <stdio.h> #include <conio.h> int main() { int age,salary; clrscr(); printf("Enter your age, salary : "); scanf("%d %d",&age,&salary); printf(“Your age is %d years old and earn %d baht \n", age, salary); return 0; } Enter your age, salary : 25 32000 Your age is 25 years old and earn 32000 baht
EX1 จงเขียนโปรแกรมรับค่าความยาวเป็นฟุตจากแป้นพิมพ์ แล้วเปลี่ยนค่านั้นให้เป็นนิ้ว และแสดงผลที่ได้ออกทางหน้าจอ Input : Output : ความยาวเป็นฟุต(feet) ความยาวเป็นนิ้ว(inch) หมายเหตุ 1 ฟุต เท่ากับ 12 นิ้ว
#include<stdio.h> #include<conio.h> void main() { int feet, inch; clrscr(); printf(“Enter number of feet : “); scanf(“%d”,&feet); inch = feet * 12; printf(“ %d feet = %d inch\n“, feet, inch); getch(); }
EX2 จงเขียนโปรแกรมรับตัวเลขทศนิยม 2 ค่าจากแป้นพิมพ์ จากนั้นให้หาผลบวกและผลคูณของ 2 ตัวเลขนั้น พร้อมทั้งแสดงผลลัพธ์ออกทางจอภาพ โดยกำหนดทศนิยม 2 ตำแหน่ง Input Enter 2 number : 12.50 20.25 Output 12.50 + 20.25 = 32.75 12.50 x 20.25 = 253.125
#include<stdio.h> #include<conio.h> void main() { float Num1,Num2,Add,Mul; clrscr(); printf(“Enter number1 and 2 : “); scanf(“%f %f”,&Num1,&Num2); Add = Num1+Num2; Mul=Num1*Num2; printf(“%.2f + %.2f = %.2f\n” ,Num1,Num2,Add); printf(“%.2f * %.2f = %.2f\n” ,Num1,Num2,Mul); getch(); }
แบบฝึกหัด 1. จงเขียนโปรแกรมเก็บข้อมูลเกี่ยวกับภาพยนตร์ DVD โดยเก็บข้อมูลคือ รหัส ชื่อ จำนวน output Code : 003 Name : Titanic Amount : 30 copies
2. จงเขียนโปรแกรมหาพื้นที่วงกลมและเส้นรอบวง - รับข้อมูล รัศมี - พื้นที่วงกลม คือ ¶r2 - เส้นรอบวง คือ 2 ¶ r output Radius : …. Area : …. Perimeter :….
3. จงเขียนโปรแกรมหาเกรดเฉลี่ยทั้ง 3 เทอม - รับข้อมูลเกรด เทอม 1 , เทอม 2, เทอม3 output Grade Term 1 :…. Grade Term 2 :…. Grade Term 3 :…. Average is …