1 / 55

Computer Programming การเขียนโปรแกรมคอมพิวเตอร์

Computer Programming การเขียนโปรแกรมคอมพิวเตอร์. สัปดาห์ที่ 4 การรับค่าและการแสดงผลในภาษาซี. Outline. 1. Objectives. 2. Scanf Function. p. 3. Printf Function. The Other Function. 4. 5. Assignment #3. objectives. รู้จักและเข้าใจคำสั่งเพื่อใช้ในการรับค่าและแสดงผลในภาษาซี

Download Presentation

Computer Programming การเขียนโปรแกรมคอมพิวเตอร์

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Programmingการเขียนโปรแกรมคอมพิวเตอร์ สัปดาห์ที่ 4 การรับค่าและการแสดงผลในภาษาซี

  2. Outline 1 Objectives 2 Scanf Function p 3 Printf Function The Other Function 4 5 Assignment #3

  3. objectives • รู้จักและเข้าใจคำสั่งเพื่อใช้ในการรับค่าและแสดงผลในภาษาซี • สามารถรับข้อมูลจากคีย์บอร์ดและแสดงข้อความออกทางจอภาพได้ • สามารถจัดรูปแบบการแสดงผลออกทางจอภาพตามรูปแบบต่างๆ ได้อย่างถูกต้อง • เขียนโปรแกรมประมวลผลตัวอักษรได้

  4. Outline 1 Objectives 2 Scanf Function p 3 Printf Function The Other Function 4 5 Assignment #3

  5. Receiving the Information from Keyboard • โปรแกรมโดยทั่วไปต้องมีการรับค่าข้อมูลจากผู้ใช้โปรแกรม เพื่อนำมาหาผลลัพธ์ตามกระบวนการทำงานของโปรแกรม หรือตามความต้องการของผู้ใช้งาน • คำสั่งที่ใช้สำหรับการรับค่าในภาษาซีมีหลายคำสั่ง แต่ที่สามารถใช้งานได้ครอบคลุมและนิยมใช้กัน คือ คำสั่งหรือฟังก์ชัน scanf()

  6. Scanf Function (1) scanf() เป็นฟังก์ชันมาตรฐานในภาษา C ซึ่งอยู่ใน Library ที่ชื่อ stdio.hใช้รับข้อมูลจากผู้ใช้ scanf (format-string, address-list); scanf(“format”,argument1,argument2, … ); scanf("control", &variable1,&variable2,…);

  7. Scanf Function (2) Format Code Address list scanf ("%f", &a);

  8. Format-string • format-string or format or control format • เป็นรูปแบบการรับค่าที่ถูกกำหนดตามชนิดของข้อมูล (ค่าตัวแปร) • แสดงอยู่ในเครื่องหมาย Double quotation mark (“_”) • รูปแบบการรับค่าตัวแปร (% ตามหลังด้วยอักขระ) • เมื่อรันผลต้องป้อนค่าตามรูปแบบที่กำหนดตามด้วยการกดenter หมายเหตุ หากผู้ใช้ป้อนข้อมูลไม่ตรงกับชนิดของตัวแปร โปรแกรมจะทำงานผิดพลาด (Runtime Error)

  9. Address-list • address-list or argument or address of variable • คือ ตำแหน่งของตัวแปรที่ต้องการเก็บข้อมูลไว้ (การใช้งานตำแหน่งของตัวแปรจะใช้เครื่องหมาย ampersand (&) นำหน้าชื่อตัวแปร ยกเว้นตัวแปรชนิดข้อความ) • ตัวอย่าง&variable_name

  10. Format Control of Scanf Function (1)

  11. Input Format of Scanf and Printf Function(2) • รูปแบบการแสดงผลซึ่งต้องกำหนดให้ตรงกับชนิดของตัวแปร • int , unsigned intกำหนดเป็น %d, %o, %x • long กำหนดเป็น %ld, %lo, %lx • float, double กำหนดเป็น %f, %e • char กำหนดเป็น %c

  12. Example of Scanf ( ) intage; scanf("%d", &age); char name[20]; scanf ("%s",name); float point; scanf("%f",&point); intday, month, year; scanf("%d/%d/%d", &day,&month,&year);

  13. Example 1 #include<stdio.h> int main() { float point; char name[20]; printf ("Enter your name : "); scanf ("%s",name); printf ("Enter your point : "); scanf ("%f",&point); return 0; } ตัวแปรข้อความ ไม่ต้องมี & หน้าตัวแปร ตัวแปรทศนิยม ต้องมี & หน้าตัวแปร

  14. Example 2 #include<stdio.h> int main() { char first[20],last[20]; printf ("Enter your name and surname : "); scanf ("%s %s",first,last); printf ("Hi %s %s\nHow are you?",first,last); return 0; } การรับตัวแปรมากกว่า 1 ตัวในคำสั่งเดียว ต้องป้อนข้อมูลให้มีรูปแบบเหมือนกัน Enter your name and surname : Jirasak Sittigorn Hi Jirasak Sittigorn How are you?

  15. Example 3 #include<stdio.h> int main() { char name[40]; float gpa; printf ("Enter your name : "); scanf ("%s",name); printf ("Enter your GPA : "); scanf ("%f",&gpa); printf ("Name : %s\n",name); printf ("Gpa : %f",gpa); return 0; }

  16. Example 4 #include<stdio.h> int main() { char name[40]; float gpa; printf ("Enter your name : "); scanf ("%[^\n]",name); printf ("Enter your GPA : "); scanf ("%f",&gpa); printf ("Name : %s\n",name); printf ("Gpa : %f",gpa); return 0; }

  17. Outline 1 Objectives 2 Scanf Function p 3 Printf Function The Other Function 4 5 Assignment #3

  18. Show the Results Processing to User • โปรแกรมโดยทั่วไปต้องมีแสดงผลลัพธ์ของการประมวลผลหรือการทำงานของโปรแกรม เพื่อให้ผู้ใช้งานทราบผลลัพธ์ของการทำงาน • คำสั่งที่ใช้สำหรับการรับค่าในภาษาซีที่นิยมใช้กัน คือ คำสั่งหรือฟังก์ชัน printf()

  19. Printf Function (1) • printf() เป็นฟังก์ชันมาตรฐานในภาษา C ซึ่งอยู่ใน Library ที่ชื่อ stdio.hใช้สำหรับแสดงข้อความ ค่าของตัวแปรหรือผลการดำเนินการของนิพจน์ออกทางหน้าจอ printf (format-string, data-list); printf(“format”, argument1, argument2, … ); printf(“message or control",variable list);

  20. Printf Function (2) Format / Carriage Control Format Code Value printf ("Sum = %f \n", a+b);

  21. Format-string • format-string or format or massage or control format • เป็นรูปแบบการแสดงค่าที่ถูกกำหนดตามชนิดของข้อมูลหรือตัวแปร • แสดงอยู่ในเครื่องหมาย Double quotation mark (“_”) • รูปแบบการรับค่าตัวแปร (% ตามหลังด้วยอักขระ • อักขระควบคุมหรือ Escape Character

  22. Data-list • data-list or argument or variable list • คือ ตำแหน่งของตัวแปรที่ต้องการจะนำข้อมูลออกไปแสดง ถ้ามีมากกว่า 1 ตัวแปรหรือ 1 พจน์ขึ้นไปจะต้องคั่นระหว่างตัวแปรหรือนิพจน์ด้วยเครื่องหมาย Comma (,) • ซึ่งข้อมูลในส่วนนี้อาจจะเป็น ตัวแปร, นิพจน์ หรือการดำเนินการระหว่างตัวแปรก็ได้

  23. Escape Character or Carriage Control

  24. Format Control of Printf Function

  25. Example of PrintfFuction intage; printf("Your age is :%d", age); char name[20]; printf ("Your name is :%s",name); float g = 3.5; printf("GPA : %.2f",g); intday, month, year; printf(“Current date: %d/%d/%d",day,month,year);

  26. Order of Arguments (Data-list) printf(“Today is %s , %d %s”.,”Tuesday”, 28, “October”); printf(“\nTemperature is \”%f celcius.\” ”, 24.5); Today is Tuesday , 28 October. Temperature is “24.500000” celcius.

  27. Example of Format Control #include <stdio.h> int x1 = 32, x2 = 0x7A, x3 = 0527; float y1 = -352.681, y2 = 9.23e04; char z = 'A'; char name[11] = "University"; void main() { printf ("x1 = %d", x1); printf ("x2 = %x x3 = %o", x2, x3); printf ("y1 = %f y2 = %e", y1, y2); printf ("z = %c name = %s", z, name); }

  28. Mismatch Example of Format Control #include <stdio.h> int x1 = -456, x2 = 0.72, x3 = 1xe53; float y1 = -67.335, y2 = 5.21e03; char z = 'C'; void main() { printf ("x2 = %d x3 = %d", x2, x3); printf ("x1 = %u", x1); printf ("y1 = %e y2 = %f", y1, y2); printf ("z = %d", z); }

  29. Format Control : Amount Behind floating point #include <stdio.h> float x1 = 17.983, x2 = 4.149e+03; void main() { printf ("%.4f ", x1); printf ("%.1f ", x1); printf ("%.2e ", x2); printf ("%.7e ", x2); } หมายเหตุ : จำนวนหลักหลังจุดทศนิยมสามารถกำหนดได้โดยคำสั่ง %.nf หรือ %.ne โดย nคือ จำนวนหลักหลังจุดทศนิยมที่ต้องการแสดง

  30. Format Control for Message #include <stdio.h> char message[] = "Engineering"; void main() { printf ("%.6sX\n", message); printf ("%12.6sX\n", message); printf ("%-12.6sX\n", message); } • หมายเหตุ : ข้อความสามารถถูกแสดงเพียงบางส่วนเมื่อใช้คำสั่ง %m.nsโดย n คือจำนวนอักขระที่ต้องการให้แสดง และ m คือ พื้นที่ที่ใช้แสดงผล • n คือ จำนวนอักขระที่ต้องการให้แสดง • %-m.nsทำให้ข้อความที่ถูกแสดงชิดขอบด้านซ้าย

  31. Example of Format Control for Message #include<stdio.h> main() { printf(":%s:\n", "Hello, world!"); printf(":%15s:\n", "Hello, world!"); printf(":%.10s:\n", "Hello, world!"); printf(":%-10s:\n", "Hello, world!"); printf(":%-15s:\n", "Hello, world!"); printf(":%.15s:\n", "Hello, world!"); printf(":%15.10s:\n", "Hello, world!"); printf(":%-15.10s:\n", "Hello, world!"); }

  32. Example of Format Control for Numerical #include<stdio.h> main() { printf("The color: %s\n", "blue"); printf("First number: %d\n", 12345); printf("Second number: %04d\n", 25); printf("Third number: %i\n", 1234); printf("Float number: %3.2f\n", 3.14159); printf("Hexadecimal: %x\n", 255); printf("Octal: %o\n", 255); printf("Unsigned value: %u\n", 150); printf("Just print the percentage sign %%\n", 10); }

  33. Result

  34. Example of Printf & Scanf Function /* scanf example */ #include <stdio.h> int main () { char str [80]; inti; printf ("Enter your family name: "); scanf ("%s",str); printf ("Enter your age: "); scanf ("%d",&i); printf ("Mr. %s , %d years old.\n",str,i); printf ("Enter a hexadecimal number: "); scanf ("%x",&i); printf ("You have entered %#x (%d).\n",i,i); return 0; }

  35. The Use of Carriage Control #include <stdio.h> void main() { printf("Information\tTechnology\n"); printf ("C Lang"); printf ("\b\b\b\bProgramming"); }

  36. Outline 1 Objectives 2 Scanf Function p 3 Printf Function The Other Function 4 5 Assignment #3

  37. The Other Functions putchar(ch); puts(str); ch = getchar(); ch = getch(); gets(str);

  38. Show the Information : Putchar Function • putchar ( ch ) : เป็นฟังก์ชันมาตรฐานในภาษา C ซึ่งอยู่ใน Library ที่ชื่อ stdio.hใช้สำหรับอักขระออกทางหน้าจอครั้งละตัวอักขระ • ch : เป็นตัวแปรที่เก็บข้อมูลชนิด charที่ต้องการแสดงผลซึ่งแสดงอยู่ภายใน ‘_’ putchar(ch);

  39. Example of Putchar Function #include <stdio.h> char Name = ‘A'; void main() { putchar (Name); printf(“\n”); putchar ('b'); }

  40. Show the Information : Puts Function • puts( str ) :เป็นฟังก์ชันมาตรฐานในภาษา C ซึ่งอยู่ใน Library ที่ชื่อ stdio.hใช้แสดงข้อความออกทางหน้าจอ ซึ่งหลังจากแสดงข้อความแล้วจะขึ้นบรรทัดใหม่ • str : เป็นตัวแปรที่เก็บข้อมูลชนิด stringที่ต้องการแสดงผลซึ่งแสดงอยู่ภายใน “_” puts(str);

  41. Example of Puts Function #include <stdio.h> char message[] = "C Programming"; void main() { puts (message); puts (“is very easy”); }

  42. Putchar & Puts Function #include <stdio.h> char ch = 'A', str[] = "Computer"; char message[] = "C Programming"; void main() { putchar (ch); putchar (' '); putchar (str[1]); putchar ('\n'); puts (str); puts (message); }

  43. Receiving the Information : Getchar Function • getchar ( ) : เป็นฟังก์ชันมาตรฐานในภาษา C ซึ่งอยู่ใน Library ที่ชื่อ stdio.hโดยรับข้อมูลได้ครั้งละ 1 อักขระเท่านั้นเมื่อป้อนหรือรับข้อมูลจากคีย์บอร์ดแล้วต้องกด Enter • ch : เป็นตัวแปรชนิด charที่ต้องการเก็บข้อมูล ch = getchar();

  44. Example of Getchar Function(1) #include <stdio.h> #include <conio.h> void main(){ char ch;ch = getchar();printf("Input Char is :%c",ch);} }

  45. Example of Getchar Function(2) #include <stdio.h> #include <conio.h> char x; main() { printf ("Enter your grade : "); x = getchar(); printf ("Programming Language Grade : %c",x); }

  46. Receiving the Information : Getch Function • getch ( ) :เป็นฟังก์ชันมาตรฐานในภาษา C ซึ่งอยู่ใน Library ที่ชื่อ conio.hใช้รับข้อมูลครั้งละ 1 อักขระ และจะทำงานให้คำสั่งต่อไปโดยไม่แสดงค่าที่รับเข้ามา • ch : เป็นตัวแปรชนิด charที่ต้องการเก็บข้อมูล ch = getch();

  47. Example of Getch Function (1) #include <stdio.h> #include <conio.h> char x; main() { printf ("Enter your grade : "); x = getch(); printf ("Programming Language Grade : %c",x); }

  48. What is the missing & what is the results? void main () { char ch1,ch2; printf ("Enter Character 1 : "); ch1 = getchar(); printf ("Enter Character 2 : "); ch2 = getch(); puts ("\n**** Output ****"); printf ("Char 1 = %c\nChar 2 = %c", ch1,ch2); } Enter Character 1 : J Enter Character 2 : **** Output **** Char 1 = J Char 2 = O พิมพ์ O แต่ไม่แสดงออกมา

  49. Example of Getche Function (1) #include <conio.h> #include <stdio.h> void main(){ char ch;ch = getche();printf("Input Char is :%c",ch); }

  50. Example of Getche Function (2) #include<stdio.h> #include<conio.h> main() { printf("Waiting for a character to be pressed from the keyboard to exit."); getche(); return 0; }

More Related