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 pract3

pract3

Published by tatayoung3, 2020-06-10 05:21:58

Description: pract3

Search

Read the Text Version

ชุดฝกึ ทักษะการเขยี นโปรแกรมภาษาซี วิชา โปรแกรมภาษา ง32202 ชน้ั มัธยมศึกษาปีที่ 5 ชดุ ที่ 3 เรอ่ื ง ตัวดาเนินการคานวณ ช่อื .......................................................................... ช้ัน ม.5/....... เลขที.่ ......... กลมุ่ สาระการเรียนรูก้ ารงานอาชพี และเทคโนโลยี โรงเรยี นสิรินธร จงั หวดั สรุ ินทร์ สานักงานเขตพน้ื ทีก่ ารศึกษามธั ยมศกึ ษา เขต 33 สานกั งานคณะกรรมการการศกึ ษาข้ันพน้ื ฐาน กระทรวงศึกษาธกิ าร

2 ใบความรทู้ ่ี 3 เรอื่ ง ตวั ดาเนนิ การคานวณ เครือ่ งหมายและการดาเนนิ การในภาษา C การดาเนินการในการเขียนโปรแกรมภาษา C มีอยู่ 3 ประเภท คือ การคานวณทางคณิตศาสตร์ การ ดาเนนิ การทางตรรกศาสตร์ และการเปรียบเทียบ ซึ่งการดาเนินการแต่ละประเภทจะมีเคร่ืองหมายท่ีต้องใช้เพ่ือ เขียนคาส่ังสาหรบั การดาเนนิ การประเภทนนั้ ๆ ดงั รายละเอียด เครื่องหมายการคานวณทางคณิตศาสตร์ เคร่ืองหมายทใ่ี ชส้ าหรับการคานวณทางคณิตศาสตร์ใช้ภาษา C สรุปดงั นี้ เครื่องหมาย ความหมาย ตวั อยา่ ง + บวก 3 + 2 การบวกเลข 3 บวกกับ 2 ไดผ้ ลลัพธ์คอื 5 - ลบ 3 - 2 การลบเลข 3 ลบกบั 2 ไดผ้ ลลพั ธค์ อื 1 * คณู 2 * 3 การคูณเลข 3 บวกกบั 2 ได้ผลลพั ธค์ ือ 6 / หาร 15 / 2 การหาร 15 หารกบั 2 ได้ผลลพั ธค์ อื 7 % หารเอาเศษ 15 % 2 การหารเอาเศษ 15 หารกับ 2 ไดผ้ ลลัพธค์ ือ 1 เพ่มิ ค่าขน้ึ 1 โดย b=a++; a++ จะนาคา่ ของ a ไปใชก้ ่อนแลว้ จึง จะมีความหมายเทยี บเท่ากับ 2 บรรทัดตอ่ ไปนี้ เพิ่มค่าของ a ขนึ้ 1 b=a; a=a+1; ++ ++a จะเพมิ่ ค่าของ a ขน้ึ 1 กอ่ นแล้ว b=++a; จงึ นาค่าของ a ไปใช้ จะมคี วามหมายเทยี บเทา่ กบั 2 บรรทัดตอ่ ไปนี้ a=a+1; b=a;

3 เครอื่ งหมาย ความหมาย ตัวอย่าง ิb = a--; ลดคา่ 1 โดย จะมีความหมายเทยี บเทา่ กบั 2 บรรทัดตอ่ ไปนี้ ิb = a; a-- จะนาคา่ ของ a ไปใชก้ ่อน a = a-1; แลว้ จงึ ลดค่าของ a ลง 1 b= --a; จะมคี วามหมายเทียบเท่ากับ 2 บรรทดั ต่อไปนี้ -- a = a-1; --a จะลดคา่ ของ a ลง 1 ก่อน b = a; แล้วจึงนาคา่ ของ a ไปใช้ ตัวดาเนนิ การเปรยี บเทียบ ใช้เปรียบเทียบค่า 2 ค่า เพื่อแสดงการเลือก ซ่ึงโปรแกรมโดยท่ัวไปใช้ในการทดสอบเง่ือนไขตามท่ี กาหนด เครื่องหมาย ความหมาย ตัวอย่าง > มากกวา่ a > b a มากกว่า b >= มากกว่าหรือเท่ากบั a >= b a มากกว่าหรือเท่ากับ b < นอ้ ยกวา่ a < b a น้อยกวา่ b <= นอ้ ยกว่าหรือเทา่ กบั a <= b a นอ้ ยกวา่ หรือเทา่ กับ b = = เทา่ กบั a = = b a เทา่ กบั b != ไม่เท่ากบั a != b a ไมเ่ ทา่ กับ b ตัวดาเนนิ การตรรกะ การดาเนนิ การเปรียบเทยี บคา่ ทางตรรกะ( และ หรอื ไม่) เครือ่ งหมาย ความหมาย ตวั อย่าง && และ x < 60 && x > 50 กาหนดให้ x มคี า่ ในชว่ ง 50 ถึง 60 || หรือ x = = 10 || x = = 15 กาหนดให้ x มีค่าเท่ากับตัวเลข 2 คา่ คือ 10 หรือ 15 ! ไม่ x = 10 !x กาหนดให้ x ไมเ่ ท่ากบั 10

4 การเขียนนิพจน์ในภาษาซี นิพจน์ในภาษาซี คือ การนาข้อมูลและตวั แปรในภาษาซมี าดาเนินการดว้ ยเครอื่ งหมายทาง คณิตศาสตร์ ตรรกศาสตร์ หรือเครื่องหมายเปรยี บเทียบในภาษาซเี ป็นตวั ส่ังงาน ดงั ตวั อย่าง นพิ จนท์ างคณิตศาสตร์ นพิ จนท์ างคณิตศาสตรใ์ นภาษาซี x2 + 4x + 2 x*x+4*x+2 2ab + 4c 2*a*b+4*c x2 x * x / (x * y + 2) xy  2 a  b (a + b) / (c – d) cd 4z 4 * z ลาดบั ความสาคญั ของเคร่ืองหมาย สว่ นใหญ่นิพจน์ท่เี ขียนข้นึ ในโปรแกรมมักจะซับซ้อน มีการดาเนินการหลายอย่างปะปนอยู่ภายในนิพจน์ เดยี วกนั ลาดับความสาคญั ลาดับความสาคญั จากสูงไปต่า 1 () 2 !, ++, - - 3 *, /, % 4 +, - 5 < , <= , > , >= 6 = = , != 7 && 8 || 9 *= , /= , %= , += , -=

5 ตัวอยา่ งท่ี 1 จงหาคา่ ของนพิ จน์ 8 + 7 * 6 วธิ ที า 1. ให้สังเกตที่ตัวโอเปอเรเตอรก์ ่อนเสมอวา่ มีโอเปอเรเตอรอ์ ะไรบา้ ง ในที่นม้ี ี + และ * 2. ทาการไลล่ าดับความสาคัญของโอเปอเรเตอรท์ ัง้ หมดเปรียบเทียบกนั จากตวั ท่มี ีลาดบั ความสาคญั สูงสดุ ไปยังตวั ทมี่ ีลาดับสาคับตา่ สดุ ลาดบั ความสาคญั จากสูงไปตา่ โอเปอเรเตอร์ * + 3. จากข้อ 2 จะได้ลาดบั การทางานเป็นดังนี้ ขน้ั ท่ี 1 7 * 6 = 42 ขน้ั ที่ 2 8 + ค่าทีไ่ ด้จากขัน้ ท่ี 1 = 8 + 42 = 50 ดงั นน้ั 8 + 7 * 6 = 50 ตวั อย่างท่ี 2 จงหานพิ จน์ต่อไปนี้ x*y - 20%z 1) x * y 2) 20%z 3) 1) - 2) (a - b)*10/c && d + 5 1) a - b 2) 1)*10 3) 2)/c 4) d+5 5) 3) && 4) (a + b) * 4 = = c%d(e+10) 1) a + b 2) e + 10 3) 1) * 4 4) d * 2) 5) c %4) 6) 3) = = 5)

6 แบบฝึกที่ 3.1 เรื่อง ตวั ดาเนินการ จุดประสงค์การเรียนรู้ 1. บอกผลลพั ธท์ เ่ี กิดจากการใชต้ ัวดาเนนิ การคานวณแบบต่าง ๆ ได้ 2. บอกผลลพั ธ์ท่เี กิดจากการใชค้ าสัง่ เพิ่มคา่ และลดค่าได้ คาช้ีแจง จงเตมิ คาตอบใหถ้ ูกตอ้ งและสมบรู ณ์ 1. จงหาคา่ ของตัวแปร x จากนิพจนต์ ่อไปน้ี โดยกาหนดให้ a = 2, b = 3, c = 4, d = 5, e = 6 และ f = 7 1.1 x = a + e / f * c ……………………………………………………………………… 1.2 x = (f – e) * (c / a) ……………………………………………………………………… 1.3 x = a * d / a + e /b ……………………………………………………………………… 1.4 x = a * (d / (a + e)) / b ……………………………………………………………………… 2. จากส่วนของโปรแกรมต่อไปนี้ a = 5; b = 6; w = a++; บรรทดั ที่ 1 x = ++a บรรทดั ท่ี 2 y = b- - ; บรรทดั ที่ 3 z = - - b; บรรทัดท่ี 4 ข้อใดตอ่ ไปน้ไี มถ่ กู ต้อง ก. หลังการทางานบรรทัดท่ี 1 แล้ว w = 5 , a = 6 ข. หลังการทางานบรรทัดท่ี 2 แล้ว x = 7 , a = 7 ค. หลงั การทางานบรรทดั ท่ี 3 แลว้ y = 6 , b = 5 ง. หลังการทางานบรรทดั ที่ 4 แลว้ z = 4 , b = 3

7 3. ถ้าในโปรแกรมมีการกาหนดคา่ ดงั นี้ int a, b, sum; a = b = 15; sum = a + b; sum = a++ + b; sum = ++a + b; เม่อื ทาตามคาสั่งท้ังหมดแล้ว คา่ ของตัวแปร a, b และ sum จะเป็นไปตามขอ้ ใด ก. a = 15 b = 15 sum = 30 ข. a = 16 b = 15 sum = 30 ค. a = 17 b = 15 sum = 32 ง. a = 16 b = 15 sum = 31 4. จากส่วนของโปรแกรมต่อไปน้ี เม่ือประมวลผลแลว้ z จะมีค่าเท่าไร int i, x = 5, y = 3, z = 0; z = ++y * x++; ก. z = 20 ข. z = 15 ค. z = 18 ง. z = 24 5. จงแสดงลาดบั การทางานของการประมวลผลนพิ จนต์ อ่ ไปนี้ ตามลาดบั ความสาคัญของเครื่องหมาย 1. (a + b) * c / d ................................................................................ 2. a + b * c / d ……………………………………………………………………… 3. a + (b/c*d + e – f) ……………………………………………………………………… 4. a * d – c / e % 2 + 4 ……………………………………………………………………… 5. 4 % 2 * 4 / e – 3 ………………………………………………………………………

8 แบบฝึกท่ี 3.2 เร่ือง นิพจนก์ ารคานวณ จดุ ประสงค์การเรยี นรู้ เขียนนิพจนค์ านวณจากตวั ดาเนินการคานวณได้ คาชี้แจง จงเติมคาตอบให้ถกู ต้องสมบูรณ์ 1. จงเขยี นคาส่ังต่อไปนี้ให้ถูกต้องตามหลักการเขียนนิพจน์และการใชเ้ ครื่องหมายในภาษาซี 1.1 c = 4a × b ……………………………………………………………………… 1.2 a = ac ……………………………………………………………………… 1.3 i = 5j3 ……………………………………………………………………… 1.4 i = 3(i+j) ……………………………………………………………………… 1.5 x = 5a + bc ……………………………………………………………………… 1.6 a = 3 ÷ 4 – 9a×2 ……………………………………………………………………… 1.7 x = y ÷ 5 – 2 ……………………………………………………………………… 2. จงเขยี นนิพจน์ตามคาสง่ั ต่อไปน้ี 2.1 เพ่ิมคา่ ของ x ขนึ้ อกี 5 แลว้ กาหนดผลลพั ธ์ให้กับ y ………………………………………………………………………………………………. 2.2 ให้ลดค่าของ a ลงอกี 20 ………………………………………………………………………………………………. 2.3 หาผลคูณของ p และ q แล้วนาค่าผลคณู น้ันมาลบด้วยคา่ ของ r + 1 ………………………………………………………………………………………………. 3. จากนิพจน์การคานวณตอ่ ไปน้ี x += (float) 10 / (float) 8 * 2 – 3 % 2 ตวั แปร x จะมีคา่ เทา่ ใด ถา้ กาหนดให้ x เป็นตัวแปรชนดิ float และมีคา่ เรมิ่ ตน้ เท่ากบั 2.0 ………………………………………………………………………………………………. 4. จากขอ้ 3. (int) x จะมีค่าเทา่ ไร ……………………………………………………………………………………………….

9 แบบฝึกท่ี 3.3 เรือ่ ง ตัวดาเนนิ การคานวณ จุดประสงค์การเรยี นรู้ บอกลาดับความสาคัญของตัวดาเนินการคานวณได้ คาชแ้ี จง กาหนดให้ a,b และ c เป็นตวั แปรชนิดจานวนเตม็ มคี า่ 8,3 และ -5 ตามลาดบั จงหาผลลพั ธจ์ ากนพิ จน์ตอ่ ไปนี้ 1. a+b+c ……………………………………………………………………………………………….. 2. 2*b+3*(a-c) ……………………………………………………………………………………………….. 3. a/b ……………………………………………………………………………………………….. 4. a%b ……………………………………………………………………………………………….. 5. a/c ……………………………………………………………………………………………….. 6. a%c ……………………………………………………………………………………………….. 7. a*b/c ……………………………………………………………………………………………….. 8. a*(b/c) ……………………………………………………………………………………………….. 9. (a*c)%b ……………………………………………………………………………………………….. 10. a*(c%b) ………………………………………………………………………………………………..

10 แบบทดสอบหลังเรียน ชุดที่ 3 เรือ่ ง ตวั ดาเนินการคานวณ คาช้ีแจง จงเลอื กคาตอบทถี่ ูกต้องท่ีสดุ แลว้ กาเคร่ืองหมาย  ลงในกระดาษคาตอบ 1. จากคาสั่ง int x, float y = 7.0, z; กาหนดให้ x = 8.2 z = x + y ค่าของ z จะมคี า่ เท่าใด ก. 15 ข. 16 ค. 15.0 ง. 15.2 2. ข้อใดไม่ถูกต้อง เม่ือประกาศตวั แปรดงั น้ี int a, b, c, d; float x; กาหนด b = 22; c = 5; a = b/c; d = b*c; x = b/c; ก. a มคี า่ เท่ากับ 4 ข. x มคี า่ เท่ากับ 4.4 ค. x มคี า่ เทา่ กบั 4.0 ง. d มีคา่ เทา่ กบั 110 3. ถ้าต้องการเพิ่มค่าของตัวแปร a ข้นึ มา 1 จะต้องใช้การกระทาอยา่ งไร ก. a++; ข. a + 1; ค. a = 1; ง. a * 1; 4. จากสมการทางคณิตศาสตรต์ ่อไปนี้ 4 + 6 * 4 / 12 – 1 + 7 ถา้ ดาเนินการตามลาดับความสาคญั ของ เคร่อื งหมายในภาษาซี จะไดผ้ ลลัพธอ์ อกมาเป็นเทา่ ไร ก. 10 ข. 12 ค. 10.3 ง. 12.18 5. ขอ้ ใดเป็นคาตอบท่ีถกู ต้องของนิพจน์ต่อไปน้ี (5%2) + (7%4) % 10 ก. 4 ข. 5 ค. 6 ง. 7 6. จากข้อความต่อไปนี้ x จะมีค่าเท่าใด float x; x = (int) 10.25 * (int) 6.73; ก. 69.00 ข. 68.00 ค. 60.00 ง. 68.9825 7. จากนิพจน์แบบลดรปู ของสมการ a% = (a * 6 – 5) ขอ้ ใดคอื สมการเตม็ ของสมการน้ี ก. a = a * 6 – 5 ข. a = a % a – 1 ค. a = a % a * 6 – 5 ง. a = a % (a * 6 – 5)

11 8. จากนพิ จนก์ ารคานวณต่อไปนี้ x += (float) 5 / (float) 4 * 2 – 3 % 1 ตัวแปร x จะมีคา่ ตรงกบั ข้อใด ถา้ กาหนดให้ x เปน็ ตวั แปรชนิด float และมีค่าเรมิ่ ต้นเท่ากับ 1.2 1. x = x + 5 / 4 * (float) 2 – 3 % 1 2. x += 5 / (float) 4 * 2 – 3 % 1 ก. ไม่ตรงกับข้อใด ๆ ข. ตรงกับขอ้ 1 เและข้อ 2 ค. ตรงกับข้อ 1 เพียงข้อเดียว ง. ตรงกบั ขอ้ 2 เพยี งข้อเดียว 9. จากสมการทางคณติ ศาสตรต์ ่อไปน้ี 2 + 6 / 7 * 4 ถ้าดาเนินการตามลาดบั ความสาคญั ของ เคร่ืองหมายในภาษาซี จะไดผ้ ลลัพธอ์ อกมาเปน็ เท่าไร ก. 4 ข. 3 ค. 2 ง. 1 10. จากสมการทางคณติ ศาสตร์ตอ่ ไปน้ี 2 *(5 / (2 + 6)) / 3 ถา้ ดาเนนิ การตามลาดับความสาคัญ ของเคร่อื งหมายในภาษาซี จะไดผ้ ลลัพธ์ออกมาเปน็ เทา่ ไร ก. 0 ข. 5 ค. 9 ง. 13


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