Computer Programming: ข้อ 121–130

เนื้อหาวิชา : 2 : ชนิดของข้อมูล


ข้อ 121. ข้อใดถือว่าถูกต้องในการตั้งชื่อตัวแปร

1 : @@AA
2 : #aa
3 : !aa
4 : aa_

เฉลย: 4
อธิบาย: ชื่อตัวแปรทั่วไปสามารถใช้ตัวอักษร ตัวเลข และขีดล่าง _ ได้ แต่ห้ามใช้สัญลักษณ์พิเศษอย่าง @, #, !


ข้อ 122. ข้อใดเป็นคำตอบที่ถูกต้องสำหรับการกำหนดค่าตัวแปร

1 : char[2] name =”abcde”;
2 : char{2} name = “abcde”;
3 : char[6] name =”abcde”;
4 : char{6} name = “abcde”;

เฉลย: 3
อธิบาย: ข้อความ “abcde” มี 5 ตัวอักษร และ string ต้องมีตัวปิดท้าย \0 อีก 1 ตัว (NULL) จึงต้องใช้ขนาด 6 ช่อง
ส่วน { } ไม่ถูกต้องตามไวยากรณ์


ข้อ 123. รหัสบังคับการพิมพ์ใดในโปรแกรมภาษา C ที่ใช้สำหรับการพิมพ์เลขจำนวนเต็มที่ไม่มีเครื่องหมาย

1 : %c
2 : %e
3 : %f
4 : %u

เฉลย: 4
อธิบาย: 
1 : %c → แสดงผล ตัวอักษร
2 : %e → แสดงผล เลขทศนิยมแบบวิทยาศาสตร์
3 : %f → แสดงผล เลขทศนิยม
4 : %u → แสดงผล จำนวนเต็มแบบไม่มีเครื่องหมาย (unsigned int)

Note: 
%d → แสดงผล int (signed)
%x / %X → แสดงผลในฐาน 16 (ตัวพิมพ์เล็ก/ตัวพิมพ์ใหญ่)
%o → แสดงผลในฐาน 8


ข้อ 124. คำสั่งในภาษา C,C++ ที่ใช้สำหรับบังคับการพิมพ์ให้ทำการเลื่อนแท็บในแนวตั้ง

1 : \n
2 : \t
3 : \v
4 : \r

เฉลย: 3
1 : \n → เลื่อนบรรทัดใหม่ (newline)
2 : \t → เลื่อนแท็บในแนวนอน (horizontal tab)
3 : \v → เลื่อนแท็บในแนวตั้ง (vertical tab)
4 : \r → กลับไปต้นบรรทัด
—————————————————
printf(“Hello\vWorld”);

Hello
World แท็บในแนวตั้ง
—————————————————
printf(“A\tB\tC\n”);

A B C
แท็บในแนวนอน
—————————————————

Note: 
\b → ลบตัวอักษรก่อนหน้า


ข้อ 125.
x เป็นข้อมูลชนิด Real
y เป็นข้อมูลชนิด Integer
คำสั่งข้อใดที่ไม่สามารถใช้งานได้ เนื่องจากเกิดข้อผิดพลาดในการ compile หรือ run โปรแกรม

1 : x + y
2 : x mod y
3 : x * y
4 : x / y

เฉลย: 2
อธิบาย: mod ใช้กับจำนวนเต็มเป็นหลัก

mod (Modulo Operator) (%) → ใช้หาค่าเศษจากการหารจำนวนเต็ม


ข้อ 126. ตัวแปร X ในข้อใดสามารถกำหนดชนิดตัวแปรประเภท int

1 : x = 3000000000
2 : X = 35.01
3 : x = 300 + 20*3
4 : x = 3.1416 * 2

เฉลย: 3
อธิบาย: 300 + 20*3 = 360
ได้ผลลัพธ์เป็นจำนวนเต็ม เหมาะกับตัวแปรชนิด int
ส่วนข้ออื่นเป็นเลขใหญ่เกินไปหรือเป็นทศนิยม


ข้อ 127. ตัวแปรชนิดใดเหมาะสมที่สุด สำหรับเก็บค่าเฉลี่ย

1 : integer
2 : character
3 : string
4 : float

เฉลย: 4
อธิบาย: ค่าเฉลี่ยมักมีทศนิยม เช่น 75.5 จึงควรใช้ float เพื่อเก็บเลขทศนิยมได้


ข้อ 128. ต้องการประกาศตัวแปรเพื่อเก็บข้อมูลชนิดตัวอักขระตัวเดียวควรประกาศตัวแปรเป็นชนิดข้อมูลใดต่อไปนี้

1 : char
2 : string
3 : real
4 : integer

เฉลย: 1
อธิบาย: char ใช้เก็บตัวอักขระ 1 ตัว เช่น ‘A’, ‘b’, ‘7’


ข้อ 129. ถ้าให้ a=5 b=3 c=true d=(a>b) xor c; d มีเท่ากับข้อใด

1 : a>b
2 : a<>b
3 : not c
4 : ถูกทั้งคำตอบที่ 1 และ 2

เฉลย: 3
อธิบาย: 
a>b คือ 5>3 ได้ค่า d=true
c=true
ดังนั้น d xor c = true xor true = false

ซึ่งเท่ากับ not c เพราะ not true คือ false

Note: XOR เหมือนเท็จ ต่างจริง


ข้อ 130. จาก program Q3 เป็นการแปลงอุณหภูมิ จาก °C (ตั้งแต่ 0°C ถึง 100°C) เป็น °F เมื่อต้องการทำให้โปรแกรมนี้สมบูรณ์ บรรทัดที่ 6 ควรเติมอะไร

1 : a: integer
2 : a: real
3 : var a: integer
4 : var a:real

เฉลย: 4
อธิบาย:
โปรแกรมนี้เป็นภาษา Pascal
จัดเรียงให้มองง่าย

Program Q3;
uses wincrt;
var i: integer;
c, f: real;

Procedure CalF(……………..; b: real);
begin
a := (b*9/5)+32;
← เป็น Function คำนวณ °F ใส่ a – ต้องประกาศ ตัวแปร a ด้วย
end;


Begin
writeln(‘C to F’);
for i:= 0 to 100 do
begin
c := ………….; // กำหนดค่าเซลเซียส 1-100
……………………; // เรียกใช้ Procedure เพื่อคำนวณ F
writeln(C:5:1, F:8:1);
end;
end.

ตัวแปร a ต้องรับค่าผลลัพธ์อุณหภูมิ Fahrenheit กลับออกจาก procedure จึงต้องใส่ var เพื่อส่งค่ากลับ และต้องเป็น real เพราะผลลัพธ์อาจเป็นทศนิยม

Scroll to Top