Varaibles
ณัฐวุฒิ ปินะกาพัง 650710078
Varaibles คืออะไร?
Varaibles (ตัวแปร) คือ ชื่อที่ถูกนิยามขึ้นมาเพื่ออ้างอิงค่าข้อมูลในหน่วยความจำ ซึ่งข้อมูลนี้สามารถนำไปเรียกใช้ในโปรแกรมได้
รูปแบบของการประกาศตัวแปร :
ชนิดข้อมูล ชื่อตัวแปร; //การประกาศตัวแปรโดยไม่ระบุค่าเริ่มต้น
ชนิดข้อมูล ชื่อตัวแปร = ข้อมูล; //การประกาศตัวแปรโดยทำการระบุค่าค่าเริ่มต้นภาษา C# เป็นภาษาแบบ Static Type ต้องระบุชนิดข้อมูลในตอนประกาศตัวแปร และไม่สามารถเปลี่ยนชนิดข้อมูลได้ เช่นเดียวกับภาษา Java เเละ C ส่วนภาษา Python เป็น Dynamic Type ไม่ต้องระบุชนิดข้อมูล เเละสามารถเปลี่ยนชนิดข้อมูลได้ในภายหลัง
กฎการตั้งชื่อตัวแปร
การตั้งชื่อตัวแปรขึ้นใช้งานต้องเป็นไปตามกฎการตั้งชื่อตัวแปร
ชื่อตัวแปรสามารถประกอบไปด้วย A-Z หรือ a-z หรือ 0-9 หรือ underscore (_)
ต้องขึ้นต้นด้วย A-Z หรือ a-z หรือ underscore (_)
การตั้งชื่อต้องไม่มีการเว้นวรรค
ห้ามใช้อักขระพิเศษ เช่น $, #, & เป็นต้น
ชื่อต่างๆที่ตั้งจะเป็น case-sensitive คือตัวอักษรใหญ่กับตัวอักษรเล็ก ถือว่าเป็นคนละตัวกัน เช่น Name, name, NAME, nAmE ถือว่าเป็นคนละชื่อกัน
ไม่ซ้ำกับคำสงวนในภาษา C# (Reserved Word)
สามารถใช้ @ นำหน้าได้เพื่อเลี่ยงการตั้งชื่อชนกับคีย์เวิร์ด
ไม่จำกัดความยาว
ชื่อตัวแปรสามารถประกอบไปด้วย A-Z หรือ a-z หรือ 0-9 หรือ underscore (_) หรือ Dolla Sign ($)
ต้องขึ้นต้นด้วย A-Z หรือ a-z หรือ underscore (_) หรือ Dolla Sign ($)
การตั้งชื่อต้องไม่มีการเว้นวรรค
ห้ามใช้อักขระพิเศษ เช่น @, #, & เป็นต้น
ชื่อต่างๆที่ตั้งจะเป็น case-sensitive คือตัวอักษรใหญ่กับตัวอักษรเล็ก ถือว่าเป็นคนละตัวกัน เช่น Name, name, NAME, nAmE ถือว่าเป็นคนละชื่อกัน
ไม่ซ้ำกับคำสงวนในภาษา Java (Reserved Word)
ไม่จำกัดความยาว
ชื่อตัวแปรสามารถประกอบไปด้วย A-Z หรือ a-z หรือ 0-9 หรือ underscore (_)
ต้องขึ้นต้นด้วย A-Z หรือ a-z หรือ underscore (_)
การตั้งชื่อต้องไม่มีการเว้นวรรค
ห้ามใช้อักขระพิเศษ เช่น @, $, #, & เป็นต้น
ชื่อต่างๆที่ตั้งจะเป็น case-sensitive คือตัวอักษรใหญ่กับตัวอักษรเล็ก ถือว่าเป็นคนละตัวกัน เช่น Name, name, NAME, nAmE ถือว่าเป็นคนละชื่อกัน
ไม่ซ้ำกับคำสงวนในภาษา C (Reserved Word)
ไม่จำกัดความยาว (C99 เป็นต้นไป)
ชื่อตัวแปรสามารถประกอบไปด้วย A-Z หรือ a-z หรือ 0-9 หรือ underscore (_)
ต้องขึ้นต้นด้วย A-Z หรือ a-z หรือ underscore (_)
การตั้งชื่อต้องไม่มีการเว้นวรรค
ห้ามใช้อักขระพิเศษ เช่น @, $, #, & เป็นต้น
ชื่อต่างๆที่ตั้งจะเป็น case-sensitive คือตัวอักษรใหญ่กับตัวอักษรเล็ก ถือว่าเป็นคนละตัวกัน เช่น Name, name, NAME, nAmE ถือว่าเป็นคนละชื่อกัน
ไม่ซ้ำกับ Keywords ในภาษา Python
ไม่จำกัดความยาว
คำสงวนของแต่ละภาษา :
abstract
as
base
bool
break
byte
case
catch
char
checked
class
const
continue
decimal
default
delegate
do
double
else
enum
event
explicit
extern
false
finally
fixed
float
for
foreach
goto
if
implicit
in
in (generic modifier)
int
interface
internal
is
lock
long
namespace
new
null
object
operator
out
out (generic modifier)
override
params
private
protected
public
readonly
ref
return
sbyte
sealed
short
sizeof
stackalloc
static
string
struct
switch
this
throw
true
try
typeof
uint
ulong
unchecked
unsafe
ushort
using
using static
void
volatile
while
abstract
continue
for
new
switch
assert
default
goto
package
synchronized
boolean
do
if
private
this
break
double
implements
protected
throw
byte
else
import
public
throws
case
enum****
instanceof
return
transient
catch
extends
int
short
try
char
final
interface
static
void
class
finally
long
strictfp
volatile
const*
float
native
super
while
auto
extern
short
while
break
float
signed
_Alignas
(ตั้งเเต่ C11)
case
for
sizeof
_Alignof
(ตั้งเเต่ C11)
char
goto
static
_Atomic
(ตั้งเเต่ C99)
const
if
struct
_Bool
(ตั้งเเต่ C99)
continue
inline (ตั้งแต่ C99)
switch
_Complex (ตั้งแต่ C99)
default
int
typedef
_Generic
(ตั้งแต่ C11)
do
long
union
_Imaginary (ตั้งแต่ C99)
double
register
unsigned
_Noreturn (ตั้งแต่ C11)
else
restrict (ตั้งแต่ C99)
void
_Ststic_assert (ตั้งแต่ C11)
enum
return
volatile
_Thread_local (ตั้งแต่ C11)
False
await
else
import
pass
None
break
except
in
raise
True
class
finally
is
return
and
continue
for
lambda
try
as
def
from
nonlocal
while
assert
del
global
not
with
async
elif
if
or
yield
การประกาศตัวแปร
ตัวอย่างการประกาศตัวแปร :
ภาษา Python ไม่จำเป็นต้องระบุชนิดข้อมูลตอนประกาศตัวแปร
ภาษา Python ไม่อนุญาตให้ประกาศตัวแปรโดยไม่กำหนดค่าเริ่มต้น หากยังไม่ต้องการกำหนดค่าสามารถระบุค่า None ไว้ก่อนได้
การกำหนดค่าให้กับตัวแปร
การกำหนดค่าตัวแปรมีอยู่ 2 รูปแบบ คือ
การกำหนดค่าในช่วงเวลาคอมไพล์ (Compile Time Initialization)
การกำหนดค่าในช่วงเวลารันไทม์ (Run Time Initialization)
>> การกำหนดค่าในช่วงเวลาคอมไพล์
คือการกำหนดค่าให้กับตัวแปรระหว่างการคอมไพล์โปรแกรม
ตัวอย่าง :
Output :
Output :
Output :
Output :
>> การกำหนดค่าในช่วงเวลารันไทม์
คือการกำหนดค่าค่าตัวแปรเมื่อโปรแกรมกำลังรัน ค่าจะถูกกำหนดในขณะที่โปรแกรมทำงาน เช่น รับค่าจากผู้ใช้หรือคำนวณค่าจากการประมวลผล ซึ่งค่าที่กำหนดนี้สามารถเปลี่ยนแปลงได้เมื่อโปรแกรมกำลังทำงาน
ตัวอย่าง :
Input :
Output :
Input :
Output :
Input :
Output :
Input :
Output :
หากไม่ได้กำหนดค่าให้กับตัวแปรและนำค่าไปใช้
ตัวแปรใน Local Scope : Compiler จะไม่อนุญาตให้ใช้ตัวแปรที่ไม่ได้กำหนดค่าเริ่มต้น
ตัวแปรใน Global Scope : จะได้รับการกำหนดค่าเริ่มต้นเช่น
จำนวนเต็ม = 0
จำนวนจริง = 0.0
booleam = false
char = ' \0' (null character)
string, pointer, reference type = null
ตัวแปรใน Local Scope : Compiler จะไม่อนุญาตให้ใช้ตัวแปรที่ไม่ได้กำหนดค่าเริ่มต้น
ตัวแปรใน Global Scope : จะได้รับการกำหนดค่าเริ่มต้นเช่น
จำนวนเต็ม = 0
จำนวนจริง = 0.0
booleam = false
char = ' \u0000' (null)
String, reference type = null
ตัวแปรใน Local Scope : จะเป็นค่าที่ไม่แน่นอน (garbage value)
ตัวแปรใน Global Scope : จะได้รับการกำหนดค่าเริ่มต้นเช่น
จำนวนเต็ม = 0
จำนวนจริง = 0.000000
char = '\0' (null character)
pointer = Null
ตัวแปรต้องถูกกำหนดค่าในช่วงเวลารันไทม์ก่อนที่จะถูกใช้ ถ้าใช้ตัวแปรที่ไม่ได้กำหนดค่า จะเกิด
NameError
สื่อการนำเสนอ
>> Slide
>> Video
แหล่งอ้างอิง
C#
>> อินเทอร์เน็ต
>> หนังสือ
ศุภชัย สมพานิช. คู่มือ Coding เเละการพัฒนาแอปพลิเคชันด้วย C# ฉบับสมบูรณ์. นนทบุรี : ไอดีซีฯ, 2566
Java
>> อินเทอร์เน็ต
>> หนังสือ
อรพิน ประวัติบริสุทธิ์. คู่มือการเขียนโปรแกรมด้วยภาษา JAVA ฉบับสมบูรณ์. กรุงเทพ : โปรวิชั่น, 2564
C
>> อินเทอร์เน็ต
>> หนังสือ
อรพิน ประวัติบริสุทธิ์. คู่มือการเขียนโปรแกรมด้วยภาษา C ฉบับสมบูรณ์. กรุงเทพ : โปรวิชั่น, 2562
อรพิน ประวัติบริสุทธิ์. คัมภีร์ภาษา C ฉบับสมบูรณ์. กรุงเทพ : โปรวิชั่น, 2565
Python
>> อินเทอร์เน็ต
>> หนังสือ
อรพิน ประวัติบริสุทธิ์. คัมภีร์ภาษา Ptyhon ฉบับสมบูรณ์. กรุงเทพ : โปรวิชั่น, 2564
Last updated



