วันจันทร์ที่ 20 กรกฎาคม พ.ศ. 2552

DTS 04-14/07/2009

เรื่อง Set and String

เซ็ต (Set) หมายถึง กลุ่มของสิ่งของที่ต่างกันซึ่งจะต้องกำหนดชัดเจน เพื่อให้ตัดสินได้ว่าสิ่งนี้เป็นสมาชิกของเซตที่เรากำลังจะพิจารณาอยู่หรือไม่ ซึ่งเราได้เคยเรียนมาแล้วในตอนมัธยมและนำหลักการเดียวกันนี้มาใช้ภาษาซีในการดำเนินงานของเซ็ต

ตัวดำเนินการของเซ็ตประกอบด้วย

  • Union
  • Intersection
  • Difference
  • Complement

สตริง (String) หรือ สตริงของอักขระ (Character String)ประกอบด้วย

ตัวอักษร ตัวเลขหรือเครื่องหมายเรียงติดต่อกันไป รวมทั้งช่องว่างด้วยสตริง คือ อะเรย์ของอักขระ การกำหนดค่าของสตริงจะต้องจองพื้นที่เพื่อเอาไว้เก็บค่า null character มีสัญลักษณ์ คือ \0 ซึ่งเป็นจุดสิ้นสุดของสตริงนั่นเอง สมมติว่าเรากำหนดตัวแปร banana ขึ้นมาแล้วกำหนดอะเรย์ไว้ 10 ช่อง เราจะสามารถป้อนอักขระเข้าไปได้ไม่เกิน 9 ตัว แต่ถ้าไม่ถึงก็จะต้องเติม\0จนเต็มช่องแต่ถ้าหากว่าผู้ใช้ป้อนอักขระเกินกว่า 9 ตัว ก็จะไม่สามารถรันโปรแกรมออกมาได้

ความแตกต่างของการใช้ฟังก์ชัน gets() เเละscanf( )

ฟังก์ชัน get() คือ ฟังก์ชันที่อ่านค่าจากแป้นพิมพ์และนำมาเก็บไว้ในหน่วยความจำ ซึ่งก็คืออะเรย์ จนกว่าผู้ใช้จะกด Enter จะเติม null character ให้

scanf() จะถือว่าค่าที่มีช่องว่างคั่นนั้นเป็นค่าคนละตัวกันและจะไม่เติม null characte

การดำเนินการเกี่ยวกับสตริง

การดำเนินการเกี่ยวกับสตริงจะมีฟังก์ชันที่อยู่ในแฟ้ม ข้อมูล stdio.h เก็บอยู่ใน C Library อยู่แล้วสามารถนำมาใช้ได้ โดยการใช้คำสั่ง #includeในการเรียกใช้ เช่น

  • ฟังก์ชัน strlen (str) ใช้หาความยาวของสตริง
  • ฟังก์ชัน strcpy (str1,str2) ใช้คัดลอกข้อมูลจาก string หนึ่งไปยังอีก string หนึ่ง
  • ฟังก์ชัน strcat (str1,str2) ใช้เชื่อมต่อข้อความ 2 ข้อความเข้าด้วยกัน
  • ฟังก์ชัน strcmp (str1,str2) ใช้เปรียบเทียบข้อความ 2 ข้อความว่ามีค่าเท่ากัน