Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore Turbo-C_01

Turbo-C_01

Published by Sorawishchai Rajasitharam, 2020-07-12 21:26:06

Description: 01_Printf_Scanf-TC

Search

Read the Text Version

อ.สรวชิ ญช ัย วอ งรตั นานกุ ลู Tel: 09-5624-1995 e-Mail: [email protected]

การแสดงผลแลa ะการรับขอ มลู 1. การแสดงผลออกหนา จอดว ย printf() 2. การจัดรูปแบบการแสดงผล 3. แสดงผลทลี ะอกั ขระดว ย putchar() 4. แสดงผลเปนขอความดวย puts() 1. รับขอ มลู จากคียบอรด ดวย scanf() 2. รบั ขอมูลทีละอักขระดว ย getchar() 3. รบั ขอ มูลทลี ะอกั ขระดวย getch() 4. รบั ขอมลู เปน ขอ ความดว ย gets()

เปน ฟงกช ่นั มาตรฐานในภาษาซี รวมอยูใ น stdio.h สําหรับแสดง ขอ ความคา ของตวั แปรหรือผลการดาํ เนนิ การของนพิ จนอ อกทาง หcนonา จtอrol : printf(“control”, value1, value2, ...); ประกอบดวยขอ ความ, รหัสควบคมุ รูปแบบ (format code), และอกั ขระควบคุมการแสดงผล (carriage Control)  value : คา ของตวั แปร,นพิ จน หรือฟงกช่นั ทตี่ อ งการแสดง char place[7] = “Market” printf(“Plz go to the %s.\\n”, place); OUTPUT Plz go to the Market.

2.การจัดรปู แบบการแสดงผล format code value  printf(“\\t How old r u %d \\n”, age); Carriage control Carriage control  Format code ใชสําหรับควบคมุ รปู แบบของ value นัน่ คือ ควบคุมคาของตัวแปร นิพจนห รือฟงกช ่นั (หรอื macro) ทจ่ี ะถกู แสดงออกหนาจอ  Carriage control ใชสาํ หรับจดั รปู แบบการแสดงผล เชน \\n เพอ่ื ขึ้นบรรทดั ใหม, \\t เพอื่ เวน วา งไป 1 tab

รหัส การแสดงผล %d เลขจาํ นวนเต็ม (int, unsigned int, short, unsigned short, long, unsigned long) %u เลขจํานวนเต็มบวก (unsigned int, unsigned short, unsigned long) %o รูปแบบเลขฐานแปด %x รูปแบบเลขฐานสิบหก %f จาํ นวนจรงิ เลขทศนิยม (float, double, long double) %e เลขทศนิยมแบบ E ยกกําลัง (float, double, long double) %c อกั ขระ 1 ตัว แสดงผลตามรหัส Ascii (char) %s ขอความ (string) หรือเรยี กวา สายอกั ขระ %p ตวั ชตี้ าํ แหนง (pointer)



 จํานวนหลักหลงั จุดทศนิยมกําหนดไดโ ดยคําสง่ั a%.nf หรอื a%.ne โดย n คอื จํานวนหลักหลงั จดุ ทศนิยมท่ีตอ งการแสดง float x1 = 17.765, x2 = 1.578e+03; 17.7650 void main() { 17.8 1.58e+003 printf(“%.4f\\n”,x1); 1.6e+003 printf(“%.1f\\n”,x1); 17.4 printf(“%.2e\\n”,x2); 17.3 printf(“%.1e\\n”,x2); 1.25e+003 printf(“%.1f\\n”,17.350); 1.24e+003 printf(“%.1f\\n”,17.349); printf(“%.2e\\n”,1.245e+03); printf(“%.2e\\n”,1.244e+03); }

 ขอความสามารถถกู แสดงเพยี งบางสวนเมอ่ื ใชค าํ สั่ง %a m.ns โดย n คือจาํ นวนอกั ขระทตี่ อ งการใหแสดง และ m คือพ้นื ที่ที่ใชแสดงผล  %-m.ns ทาํ ใหขอ ความทถ่ี กู แสดงชิดขอบดา นซาย #include<stdio.h> char message[] = “body & mind”; void main() { printf(“%sX\\n”,message); printf(“%.6sX\\n”,message); printf(“%12.6sX\\n”,message); body & mindX printf(“%-12.6sX\\n”,message);  body &X printf(“%sX\\n”,“1234567890”); ______body &X printf(“%sX\\n”,“x = 5 * 90”); body &______X 1234567890X } X = 5 * 90X

Control characters ชุดอักขระหลกี ทใ่ี ชใ นการควบคุมการแสดงผล (Control character) และตัวอักษร ‘\\’ จะตองแสดงโดยใช escape sequences คือ ข้นึ ตน a ดวย ‘\\’ และตามดว ยอักษรนน้ั หรืออักษรท่แี ทนความหมายอืน่ a ใชสาํ หรบั เคลือ่ นเคอรเซอรไปยงั ตาํ แหนง ท่ตี อ งการ (Carriage character) \\n new line (ข้นึ บรรทัดใหม) \\t tab (แท็บในแนวนอน) \\b backspace (ยอ นกลับไป 1 ตัวอักษร) \\r carriage return (ใหเคอรเซอรกลับไปอยูตนบรรทดั ) \\v vertical tab (แทบ็ ในแนวต้งั ) \\f form feed (ขึ้นหนา ใหม)

Control characters ‘\\’ ทใี่ ชรว มกบั อักขระบางตวั แลว ไมไดท าํ ใหเ คอรเซอรเ คลื่อน a \\0 null (อกั ขระวาง) \\a bell (สง เสียง Beep) \\ooo Octal character แทนอกั ขระที่มคี า ascii เทา กับ ooo ในระบบเลขฐาน 8 (คลายกบั %c) a \\xhh Hexadecimal character แทนอกั ขระท่ีมคี า ascii เทากบั hh ในระบบเลขฐาน 16 เชน “\\x48 \\x45 \\x4c \\x4c \\x4f” แทน “H E L L O” a \\’ single quote (พมิ พ ’) \\” double quote (พมิ พ ”) \\\\ backslash (พิมพ \\) a

1. #include<stdio.h> 2. void main() { 3. printf(“Information\\tTechnology\\n”); 4. printf(“C Lang”); 5. printf(“\\b\\b\\b\\bProgramming\\n”); 6. } OUTPUT

 putchar() ใชแ สดงอกั ขระออกทางหนา จอ putchar(char); o char : เปน ขอ มูลหรือตัวแปรชนดิ char #include<stdio.h> char first = ‘O’; void main() { putchar(first); output putchar(‘K’); OK }

 puts() ใชแสดงขอความออกทางหนา จอ puts(str); ostr : เปน ขอ มลู หรอื ตัวแปรทเี่ กบ็ ขอมูลชนิด string #include<stdio.h> char message[ ] = “C language”; void main() { puts(message); output puts(“is easy but useful”); C language } is easy but useful

การแสดงผลแลa ะการรับขอ มลู 1. การแสดงผลออกหนา จอดว ย printf() 2. การจัดรูปแบบการแสดงผล 3. แสดงผลทลี ะอกั ขระดว ย putchar() 4. แสดงผลเปนขอความดวย puts() 1. รับขอ มลู จากคียบอรด ดวย scanf() 2. รบั ขอมูลทีละอักขระดว ย getchar() 3. รบั ขอ มูลทลี ะอกั ขระดวย getch() 4. รบั ขอมลู เปน ขอ ความดว ย gets()

 เปน ฟง กชั่นมาตรฐานสําหรบั การรบั ขอมลู ดวยคยี บอรด มกี ารใชง าน คลา ยกับ printf()a โดยรบั ขอมลู ในรูปของรหสั ascii ที่ผูใ ชป อนผา น ทางคยี บ อรด แลวนําไปเก็บไวในตําแหนงทก่ี าํ หนดบนหนวยความจํา scanf(“control”,&variable1,&variable2,....); control : ประกอบดวยขอความและรหสั ควบคมุ รปู แบบ (format code) เชน s%d ซ่งึ ใชก าํ หนดวา ขอ มลู นําเขา จะตองเปน ชนดิ จํานวน เตม็ ฐาน 10 ที่จะนําไปเก็บไวท่ตี าํ แหนงบนหนวยความจาํ ที่ถกู จดั สรร ใหก บั ตวั แปร variable : ตวั แปรท่ใี ชเกบ็ ขอ มลู ทร่ี บั เขา มาจากคียบอรด โดย จะตอ งเขียนนาํ หนาชอ่ื ตวั แปรดวย &a ยกเวน ตวั แปรทเี่ ก็บขอ มูล ชนิดขอ ความ



pic 50:90 บรรทัดท่ี 9 ฟงกช ่นั scanf(“%d/%d/%d”,&day,&month,&year); เมื่อจะรับขอมลู เขาตองพมิ พเ ปน 04/10/1978 ตาม control ท่เี ขยี นไวใน “ ” ของฟง กช นั่ scanf() ถาพิมพเปน 04101978 จะทาํ ใหก ารรบั ขอ มลู จาก คยี บอรดเกิด error ในทํานองเดยี วกันบรรทัดท่ี 13 scanf(“%s %s”, name,surname); กต็ องเคาะเวนวรรคดว ย ตาม control ทเี่ ขยี น

 getchar() ใชร ับขอ มูลทลี ะอักขระโดยตองลงทา ยดวย enter (ตอ งกด enter ดวย) variable = getchar(); o variable : ตัวแปรชนดิ char เกบ็ คาอักขระท่ถี ูกปอ นเขามา #include<stdio.h> char x; void main() { key printf(“Enter yr grade : ”); A x = getchar(); printf(“C Programming Grade : %c”,x); }

 getch() ใชร ับขอมูลทีละอกั ขระเชน เดยี วกบั getchar() แตเ มื่อผใู ช กรอกขอมลู เขา มา 1 อกั ขระแลว โปรแกรมจะทํางานตอทันที โดยไม ตอ งกด enter และอักขระทีใ่ สเขา ไปจะไมแสดงข้ึนมาใหเหน็ บนหนาจอ variable = getch(); o variable : ตัวแปรชนิด char เก็บคา อักขระทีถ่ ูกปอ นเขา มา #include<stdio.h> #include<conio.h> ฟงกช น่ั getch(); char x; อยใู นไลบราลีน้ี void main() { key printf(“Enter yr grade : \\n”); A x = getch(); printf(“C Programming Grade : %c”,x); }

 gets() ใชรบั ขอมูลเปนขอความเขา มาจากคียบอรด ซง่ึ เปน ฟงกชั่นสาํ หรบั ขอความโดยเฉพาะ gets(str); o str : ตวั แปรทใ่ี ชเก็บขอมูลชนิดขอ ความ (สายอกั ขระ = string) #include<stdio.h> char message[30]; void main() { printf(“Enter yr message : ”); key Kelly gets(message); printf(“%s”,message); }

ใหเ ขยี นโปรแกรมเพ่ือ 1. รับคา ขอ มลู เหลานมี้ าเก็บไว ◦ ช่ือและนามสกุลเก็บไวในตัวแปรชือ่ name[20], surname[40] ◦ วันเดอื นปเกิด dd/mm/yy นํามาแยกเก็บในตัวแปร day, month, year ◦ ที่อยเู ขา มาเกบ็ ในตวั แปร address[100] ◦ เกบ็ คา GPA. เปนทศนิยม 2 ตาํ แหนง 2. จากนน้ั แสดงขอมลู ทัง้ หมดออกทางหนา จอ Note : ควรใชรหสั ควบคุมรูปแบบสําหรบั เลขทศนยิ มและขอความ


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook