ค าสั่งรับและการแสดงผล ·...
TRANSCRIPT
ค าสั่งรับและการแสดงผล อ.พินันทา ฉัตรวัฒนา
ภาควิชาเทคโนโลยีวิศวกรรมอิเล็กทรอนิกส์
วิทยาลัยเทคโนโลยีอุตสาหกรรม
การแสดงผลออกทางหน้าจอ
• ค าสั่ง printf – เป็นค าสั่งพ้ืนฐานท่ีสุดในการแสดงผลข้อมูลทุกชนิดออกทางหน้าจอไม่ว่าจะเป็น
จ านวนเต็ม int ทศนิยม float ข้อความ string หรืออักขระ
รูปแบบค าสั่ง printf ("format",variable);
ตัวอย่าง ค าสั่งการแสดงผลออกทางหน้าจอ
• ค าสั่ง printf
ตัวอย่าง ค าสั่งการแสดงผลออกทางหน้าจอ
• ค าสั่ง printf
รหัสรูปแบบที่ใช้กับฟังก์ชัน printf()
รหัสรูปแบบ ความหมาย %c ใช้กั ตัวแปรประเภท char ที่เก็ ค่าตัวอักษรเพียงหนึ่งตามรหัส ASCII %s ใช้กั ตัวแปรที่เก็ ข้อความ %d ใช้กั ตัวแปรที่เก็ ค่าเป็นเลขจ านวนเต็ม %u ใช้กั ตัวแปรที่เก็ ค่าเป็นเลขจ านวนเต็ม วก %f ใช้กั ตัวแปรที่เก็ ค่าเป็นตัวเลขทศนิยม (floating point) %e ใช้กั ตัวแปรเลขทศนิยมในรูปของ e ยกก าลัง %x ใช้กั ตัวแปรเลขจ านวนเต็มเมื่อต้องการให้เครื่องแสดงค่าเป็นเลขฐานสิ หก %o ใช้กั ตัวแปรเลขจ านวนเต็มเมื่อต้องการให้เครื่องแสดงค่าเป็นเลขฐานแปด %p ใช้กั ตัวแปรที่เป็นตัวช้ีต าแหน่ง (pointer)
รหัส Backslash code ที่ใช้กับฟังก์ชัน printf()
Backslash code ความหมาย \b backspace ย้อนเคอร เ อร ถอยหลังทาง ้ายหนึ่งตัวอักษร \f Form feed \n New line สั่งขึ้น รรทัดใหม่พร้อมกั เลื่อนเคอร เ อร ไป ้ายสุด \r Carriage return ค าสั่งป ดแคร่ คือ เลื่อนเคอร เ อร ไป ้ายสุด \t Horizontal tab เป็นการตั้งแท็ป คือเลื่อนเคอร เ อร ไปต าแหน่งที่ 8, 16, 24, 32,.. \” เป็นการสั่งพิมพ เครื่องหมายค าพูด \’ เป็นการสั่งพิมพ เครื่องหมายค าพูดขีดเดียว \0 Null เป็นรหัส ASCII ค่า 0 ึ่งหมายถึงไม่มีค่า ปกติใช้แจ้งว่าจ ตัวแปรข้อความ \\ พิมพ เครื่องหมาย backslash \v Vertical tab สั่งตั้งแท็ปทางแนวตั้ง \a Alert เครื่องจะส่งเสียงแจ้งเตือนหน่ึงครั้ง \o พิมพ ค่าตัวอักษรตามรหัส ASCII โดยค่าที่พิมพ ต่อมาเป็นเลขฐาน 8 \x พิมพ ค่าตัวอักษรตามรหัส ASCII โดยค่าที่พิมพ ต่อมาเป็นเลขฐาน 16
ตัวอย่างที่ 3.1 แสดงตัวอย่างการใช้ฟ งก ชัน printf() ที่ใช้คู่กั รหัสรูปแ ต่างๆ
#include <stdio.h> int main()
{
char ch='a';
printf("%c %d %x %o\n",ch,ch,ch,ch);
return 0;
}
a 97 61 141
แสดงผลในรูปแบบทศนิยม
%.nf
n คือ จ านวนตัวเลขหลังจุดทศนิยมที่ต้องการให้แสดงผล
เช่น ก ำหนดรหัสรูปแบบ %.3f
หมำยถึง ให้แสดงผลออกมาในรูปแ ตัวเลขทศนิยมโดยมีตัวเลขหลังจุดทศนิยม 3 หลัก เช่น 12.354, -1.247, 0.115
แสดงผลในรูปแบบทศนิยม (ต่อ)
%.ne
n คือ จ านวนตัวเลขที่จะให้แสดงหลังจุดทศนิยม
เช่น ก ำหนดรหัสรูปแบบ %.3e หมำยถึง ให้แสดงผลออกมาเป็นตัวเลขทศนมิที่อยูใ่นรูป E หรือ e โดยมี ตัวเลขหลังจุดทศนิยม 3 หลัก เช่น 1.256e+02, 4.210E-o1, 0.578e
แสดงผลข้อความโดยก าหนดจ านวนอักขระ
%.ns
n : จ านวนอักขระที่ต้องการให้แสดงผล
ตัวอย่าง
#include<stdio.h>
char message[ ] = “C Language”;
main()
{
printf(“%.6s”, message);
}
ผลลัพธ์ของโปรแกรม
C Lang
ค าสั่งรับข้อมูลจากคีย์บอร์ด
• ค าสั่ง scanf – เป็นฟ งก ชันมาตรฐานส าหรั รั ข้อมูลจากคยี อร ด โดยสามารถรั ข้อมูลได้ทุก
ประเภท ไม่ว่าจะเป็นจ านวนเต็ม ทศนิยม อักขระ หรือข้อความ
รูปแบบค าสั่ง scanf ("format", &variable);
รหัสรูปแบบที่ใช้กับฟังก์ชัน scanf()
ประเภทตัวแปร ความหมาย การใช้ integer เลขจ านวนเต็มฐาน 10 %d float เลขทศนิยม %f
double เลขทศนิยมความละเอียด 2 เท่า %lf char ตัวแปรตัวอักษรรหัส ASCII %c string ตัวแปรข้อความหรือสตริง %s
ตัวอย่าง ค าสั่งรับข้อมูลจากคีย์บอร์ด
ตัวอย่าง ค าสั่งรับข้อมูลจากคีย์บอร์ด
ตัวอย่างที่ 3.2 โปรแกรมค านวณพื้นท่ีสี่เหลี่ยมผืนผ้า
1 #include <stdio.h> 2 main() /* Program for calculate area of rectangle
*/ 3 { 4 int base,height,area; 5 printf(“Please enter size of Base :”); 6 scanf(“%d”,&base); 7 printf(“Please enter height :“); 8 scanf(“%d”,&height); 9 area=base*height; 10 printf(“Area of rectangle is %d \n“,area); 11 } Please enter size of Base :5 Please enter height :4 Area of rectangle is 20
ตัวอย่างที่ 3.3 โปรแกรมรั ข้อมูลเป็นเลขฐาน 8 แล้วแสดงค่าออกหน้าจอเป็นเลขฐาน 10
#include <stdio.h> int main() {
int i; printf("Enter number in octal :"); scanf("%o",&i); printf("The number in deciaml is %d\n",i); return 0; }
Enter number in octal : 2345 The number in deciaml is 1253
การรับและการแสดงผลข้อมูลแบบตัวอักษร
• ค าสั่ง getchar( ) เป็นฟ งก ชั่นส าหรั รั ข้อมูล 1 ตัวอักษรจากคีย อร ด
• ค าสั่ง putchar( ) เป็นฟ งก ชั่นส าหรั แสดงผลข้อมูล 1 ตัวอักษรออกทางจอภาพ
• ค าสั่ง puts( ) เป็นฟ งก ช่ันส าหรั แสดงผลข้อความออกทางจอภาพ
#include <stdio.h> main() { char c; c = getchar( ); putchar(c); }
#include <stdio.h> main() { char c; scanf(“%c”,&c); printf(“%c”,c); }
ฟังก์ชั่น getchar ( )
• รั ข้อมูลจากคีย อร ดเพียง 1 อักขระ
• ต้องกดแป้น enter ทุกครั้งท่ีป้อนข้อมูลเสร็จ
• หากต้องการน าข้อมูลที่ป้อนผ่านทางคีย อร ดไปใช้งานจะต้องก าหนดตัวแปรชนิด single character (char) ขึ้นมา 1 ตัว
รูปแบบการใช้ฟังก์ชั่น getchar ( )
variable = getchar();
variable : ชื่อของตัวแปรชนิดอักขระ ึ่งจะใช้เก็ ค่าของอักขระที่รั เข้ามาจากคีย อร ด
รูปแบบการใช้ฟังก์ชั่น getchar ( )
x = getchar();
ตัวอย่าง
ควำมหมำย เรียกใช้ฟ งก ชั่น getchar() เพื่อรั ข้อมูลเข้ามาจากคีย อร ด 1 อักขระ โดยข้อมูลนั้นจะเก็ ไว้ที่ตัวแปร x
ตัวอย่าง ฟังก์ชั่น getchar ( )
#include<stdio.h>
char x;
main()
{
printf("Enter your favorite letter : ");
x = getchar();
printf(“Your insert : %c\n", x);
}
ผลลัพธ์ของโปรแกรม
Enter your favorite letter :
Enter your favorite letter : c
Enter your favorite letter : c
You insert : c
รูปแบบการใช้ฟังก์ชั่น putchar( )
putchar(char);
char : เป็นตัวแปรชนิด char หรืออักขระที่เขียนภายในเครื่องหมาย ‘…..’
รูปแบบการใช้ฟังก์ชั่น putchar() (ต่อ)
putchar(first);
ควำมหมำย แสดงอักขระที่ เก็ ไว้ในตัวแปร first ออกมาทางหน้าจอ
putchar(‘k’);
ควำมหมำย แสดงอักษร k
ตัวอย่าง
ตัวอย่าง ฟังก์ชั่น putchar( )
#include<stdio.h>
char first = ‘O’;
main()
{
putchar(first);
putchar(‘k’);
}
ผลลัพธ์ของโปรแกรม
Ok
รูปแบบการใช้ฟังก์ชั่น puts( )
puts(str);
str : ตัวแปรที่เก็ ข้อมูลชนิดข้อความ
รูปแบบการใช้ฟังก์ชั่น puts() (ต่อ)
puts(message);
ควำมหมำย แสดงข้อความในตัวแปร message ออกทางจอภาพ
puts(" easy & fun" );
ควำมหมำย แสดงข้อความ “easy & fun” ออกทางหน้าจอ
ตัวอย่าง
ตัวอย่าง ฟังก์ชั่น puts()
#include<stdio.h>
char message[ ] = “C Language”;
main()
{
puts(message);
puts("easy & fun" );
}
ผลลัพธ์ของโปรแกรม
C Language easy & fun
ฟังก์ชั่น getch( ) และ getche ( )
• ฟ งก ชัน getche( ) จะรั ตัวอักษร 1 ตัวที่ป้อนทางแป้นพิมพ และจะแสดงตัวอักษร นจอภาพ เมื่อป้อนข้อมูลเสร็จไม่ต้องกด Enter และเคอร เ อร จะไม่ข้ึน รรทัดใหม่
• ฟ งก ชัน getch( ) จะคล้ายกั ฟ งก ชัน getche( ) ต่างกันตรงที่จะไม่แสดงตัวอักษรขณะป้อนข้อมูล
• getche( ) และ getch( ) ก าหนดในไฟล conio.h ดังนั้นจะต้องระ ุไฟล ดังกล่าวในโปรแกรม รูปแ
ch = getche(); ch = getch();
ตัวอย่าง ฟังก์ชั่น getche ( )
#include<stdio.h> #include<conio.h> main() { char ch; printf("\nType one charecter "); ch = getche(); printf("\nThe character you typed is "); putchar(ch); }
ตัวอย่าง ฟังก์ชั่น getch( )
#include<stdio.h> #include<conio.h> main() { char ch; printf("\nType one charecter "); ch = getch(); printf("\nThe character you typed is "); putchar(ch); }
ฟังก์ชั่น gets
• ฟ งก ชัน gets() ใช้ส าหรั ข้อมูลชนิดสตริงก หรือข้อความ ึ่งป้อนทางแป้นพิมพ
รูปแ gets(str);
ฟังก์ชั่น gets
#include<stdio.h> #include<conio.h> main() { char message[50]; printf("Enter a masage(less than 49 charecters)\n"); gets(message); printf("The message you entered is %s\n",message); }
LAB
จงเขียนโปรแกรมคว คุมการท างานให้สามารถรั ข้อมูลไดด้ังรายละเอียดด้านล่างเพื่อประมวลผลหาคะแนนร้อยละของคะแนนน้ัน ก าหนดให้การสอ ครั้งนี้มีคะแนนเต็ม 100 คะแนน รหัสนักศึกษา (ID)
ชื่อ-นามสกุล (Name)
สาขาวิชา (Section)
คะแนนสอ Midterm
Final
ชนิด char
หาผลรวมของคะแนนสอ และท าการคิดเป็นเปอร เ ็นต เมื่อคะแนนเต็ม 100 คะแนน
LAB
รั ค่าผ่านทางแป้นพิมพ
จบเนื้อหาบทที่ 4 ค าสั่งรับและการแสดงผล