การเขียนโปรแกรมด้วยคำสั่งเบื้องต้น
การรับข้อมูล เป็นฟังก์ชันใช้รับข้อมูลมาเก็บในตัวแปร คำสั่ง scanf ( “รูปแบบ” , อาร์กิวเมนต์1, อากิวเมนต์2,..) ; เป็นฟังก์ชันใช้รับข้อมูลมาเก็บในตัวแปร ตัวแปรทุกตัวต้องมีเครื่องหมาย & นำหน้ายกเว้นตัวแปรชุด การรับข้อมูลต้องกำหนด รูปแบบ (Format code) ของข้อมูล ให้สอดคล้องกับชนิดของข้อมูลที่รับเข้า
รหัสรูปแบบ (formal code) %d แสดงค่าจำนวนเต็มชนิด integer %ld แสดงค่าจำนวนเต็มชนิด long %c แสดงค่าที่เป็นตัวอักขระ %s แสดงค่าที่เป็นสายอักขระ (string) %f แสดงค่าที่เป็นตัวเลขมีจุดทศนิยม
รูปแบบ (Format code)ของการแสดงผล รูปแบบ คำอธิบายการใช้งาน d, i ข้อมูลจำนวนเต็มและแปลงข้อมูลเป็น int ld ข้อมูลจำนวนเต็มและแปลงข้อมูลเป็น long u ข้อมูลเป็นจำนวนเต็มบวกและแปลงข้อมูลเป็น unsigned O ข้อมูลเป็นเต็มบวกเลขฐาน 8 และแปลงข้อมูลเป็น unsigned x, X ข้อมูลเป็นเต็มบวกเลขฐาน 16 และแปลข้อมูลเป็น unsigned c ข้อมูลเป็นอักขระ 1 ตัว s ข้อมูลเป็นสตริง f ข้อมูลทศนิยมและแปลงข้อมูลเป็น float lf ข้อมูลทศนิยมและแปลงข้อมูลเป็น double
การจัดรูปแบบการรับข้อมูล ต้องมีเครื่องหมาย % และ Format code อยู่ใน “ ” เช่น “ % d %s ” ให้กับ ตัวแปรที่ใช้เก็บข้อมูล การจัดเครื่องหมายและรูปแบบต้องสอดคล้องกัน การจัดเครื่องหมายและรูปแบบเรียงลำดับกัน
เช่น รับข้อมูลเดือนและปีเป็นจำนวนเต็ม ใช้คำสั่ง int month, year; scanf (“%d %d”, &month, &year);
ตัวอย่างการรับข้อมูล scanf (“%d/%d/%d”, &day, &month, &year); ข้อมูลที่จะป้อนเข้าสู่ระบบ 20/7/2001 เราสามารถกำหนดขนาดของข้อมูลได้ เช่น scanf(“%2d%2d%4d”, &day, &month, &year); ข้อมูลที่จะป้อนเข้าสู่ระบบคือ 20072001
ฟังก์ชันมาตรฐานใช้แสดงผลทางจอภาพ printf printf (สายอักขระ) ; printf (“รูปแบบ”,อากิวเมนต์1,อากิวเมนต์2,.. ) ; หรือ Controlต้องอยู่ใน “ ” ซึ่งเป็นข้อความ/รูปแบบ(Format code) หน้าที่ของฟังก์ชันคือ ส่งข้อความหรือส่งตัวแปรมาพิมพ์ค่า โดยส่งผ่านทางอากิวเมนต์และต้องสอดคล้องกับรูปแบบที่กำหนด
ตัวอย่าง printf เช่น printf ("One = 1 two = 2") ; printf ("One = %d two = %d", 1, 2) ;
รหัสรูปแบบ (formal code) %d แสดงค่าจำนวนเต็มชนิด integer %ld แสดงค่าจำนวนเต็มชนิด long %c แสดงค่าที่เป็นตัวอักขระ %s แสดงค่าที่เป็นสายอักขระ (string) %f แสดงค่าที่เป็นตัวเลขมีจุดทศนิยม ตัวอย่าง printf(“One = %d Two = %d”, 1,2); ผลลัพธ์ทางจอภาพ One = 1 Two = 2
รูปแบบ (Format code)ของการแสดงผล รูปแบบ คำอธิบายการใช้งาน d, i ข้อมูลจำนวนเต็มและแปลงข้อมูลเป็น int ld ข้อมูลจำนวนเต็มและแปลงข้อมูลเป็น long u ข้อมูลเป็นจำนวนเต็มบวกและแปลงข้อมูลเป็น unsigned O ข้อมูลเป็นเต็มบวกเลขฐาน 8 และแปลงข้อมูลเป็น unsigned x, X ข้อมูลเป็นเต็มบวกเลขฐาน 16 และแปลข้อมูลเป็น unsigned c ข้อมูลเป็นอักขระ 1 ตัว s ข้อมูลเป็นสตริง f ข้อมูลทศนิยมและแปลงข้อมูลเป็น float lf ข้อมูลทศนิยมและแปลงข้อมูลเป็น double
char name[ ] = “Mickey”; int age = 20; เช่น char name[ ] = “Mickey”; int age = 20; printf(“%s is %d years old.”, name, age); ผลลัพธ์ที่ได้คือ Mickey is 20 years old.
ผลลัพธ์ที่ได้คือ Good morning. ตัวอย่างพิมพ์ข้อความใด ๆ ออกทางจอภาพ printf(“Good morning.”); ผลลัพธ์ที่ได้คือ Good morning.
ตัวอย่าง การแทนที่ตัวแปรที่เกิดจากการคำนวณ int x, y; x = 7; y = 2; printf(“The sum of %d and %d is %d\n”, x, y, x+y); ผลลัพธ์ที่ได้คือ The sum of 7 and 2 is 9 _
ฟังก์ชัน printf( ) ใช้ในการแสดงผลออกทางจอภาพ เราสามารถ จัดผลลัพธ์ให้แสดงในรูปแบบ ที่ต้องการได้ เช่น printf(“The sum of %5d and %5d is %5d\n”, a, b, a+b); ผลลัพธ์ของการทำงานคือ The sum of 7 and 2 is 9 _
การใช้เครื่องหมายจัดรูปแบบการแสดงผล เครื่องหมายลบ ใช้พิมพ์ข้อมูลชิดขอบซ้ายของฟิลด์ ถ้าไม่ระบุ จะชิดขอบขวา สตริงตัวเลข ระบุความกว้างของฟิลด์ จุดทศนิยม กำหนดความกว้างของทศนิยม หรือจำนวนอักขระที่ต้องการนำไปแสดง เครื่องหมายดังกล่าวข้างต้นต้องอยู่ระหว่าง % และ Format code
printf(“Minus %f with %f, answer is %f”, x, y, x-y); ตัวอย่าง float x=43.34, y=2.231; printf(“Minus %f with %f, answer is %f”, x, y, x-y); ผลลัพธ์ของการทำงานคือ Minus 43.340000 with 2.231000, answer is 41.109000 แต่หากกำหนด printf(“Minus %4.2f with %4.2f, answer is %4.2f”); ผลลัพธ์ของการทำงานคือ Minus 43.34 with 2.23, answer is 41.11_
ตัวอย่าง แสดงตัวอย่างการจัดรูปแบบของการแสดงผล การจัดรูปแบบเมื่อใช้สัญลักษณ์ – ประกอบในรูปแบบทำให้เกิดการบังคับให้การแสดงผลชิดทางด้านซ้ายมือ ตัวอย่าง แสดงตัวอย่างการจัดรูปแบบของการแสดงผล #include <stdio.h> #include <conio.h> void main( ) { clrscr( );
printf("\n[%2s]", "Computer"); printf("\n[%.3s]", "Computer");
printf("\n[%d]", 100); printf("\n[%.2d]", 100); printf("\n[%f]", 32.5762); printf("\n[%.2f]", 32.5762); printf("\n[%10.2f]", 32.5762); printf("\n[%-10.2f]", 32.5762); [100] [100] [ 100] [100 ] [100 ] [32.576200] [32.58] [ 32.58] [32.58 ]
ตัวอย่าง การรับข้อมูลเพื่อนำมาแสดงผล #include <stdio.h> void main( ) { char name[100]; printf("What is your name ?\n"); scanf("%s", &name); printf("Very glad to know you, "); printf("%s.",name); } ผลลัพธ์ของการทำงาน What is your name ? Willy Very glad to know you, Willy.
ฟังก์ชั่น getch() #include <conio.h> void main( ) { clrscr( ); printf (“Good morning “); getch(); }
แบบฝึกหัด เขียนโปรแกรมรับชื่อ – นามสกุล เพศ วันเกิด ที่อยู่(จังหวัด) จากนั้นแสดงในแนวนอน หาพื้นที่สามเหลี่ยม โดยใช้สูตร พ.ท. สามเหลี่ยม = ½ * ฐาน * สูง เขียนโปรแกรมรับตัวเลขมา 5 ค่าแล้วบอกค่าเฉลี่ย เพื่อแสดงผลทางจอภาพ