ชนิดข้อมูลและตัวแปร · 2015-04-30 ·...

22
ชนิดข้อมูลและตัวแปร อ.พินันทา ฉัตรวัฒนา ภาควิชาเทคโนโลยีวิศวกรรมอิเล็กทรอนิกส์ วิทยาลัยเทคโนโลยีอุตสาหกรรม

Upload: others

Post on 30-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

ชนิดข้อมูลและตัวแปร อ.พินันทา ฉัตรวัฒนา

ภาควิชาเทคโนโลยีวิศวกรรมอิเล็กทรอนิกส์

วิทยาลัยเทคโนโลยีอุตสาหกรรม

Page 2: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

ตัวแปร (variables)

• ตัวแปร คือ ชื่อที่ตั้งขึ้นมาเพ่ือใช้ในการอ้างอิงข้อมูล เช่น

int num; float y; char c; double salary;

Type : ชนิดของตัวแปรที่จะสร้างขึ้น >>>

<<< varible : ช่ือของตัวแปรที่ต้องการจะใช้

Page 3: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

กฎในการตั้งชื่อตัวแปร

• ต้องข้ึนต้นด้วยตัวอักษร A – Z หรือ a – z หรือเครื่องหมาย _(underscore) เท่านั้น

• ภายในชื่อตัวแปรให้ใช้ตัวอักษร A – Z หรือ a – z หรือตัวเลข 0 – 9 หรือเครื่องหมาย _ เท่านั้น

• ห้ามเว้นช่องว่างภายในตัวแปร หรือใช้สัญลักษณ์อ่ืนนอกเหนือจากที่ก าหนดไว้ในข้อ 2

• การใช้ตัวอักษรตัวใหญ่และตัวเล็กมีความแตกต่างกัน

• ห้ามตั้งชื่อซ้ าค าสงวน (Reserved Word )

Page 4: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

ตัวอย่าง ค าสงวนในภาษาซี

auto break case char Const

continue default do double Else

enum extern float for Goto

if Int long register return

short signed sizeof static struct

Switch typedef union unsigned void

volatile while

Page 5: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

ตัวแปรใดตั้งชื่อ ถูกต้อง และ ไม่ถูกต้อง ?

DATA

TEST MONEY% SALES# 47TOTAL

SCORE-1 My Salary TOTAL47 Score_1 CASE

Name Address$ Last_Name

Month$ _Years$

Page 6: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

ชนิดของข้อมูล

• ชนิดของข้อมูล คือ สิ่งที่ใช้ก าหนดลักษณะและขอบเขตของข้อมูลนั้น ๆ

ชนิดข้อมูลแบบตัวอักษร

ชนิดข้อมูลแบบเลขจ านวนเต็ม

ชนิดข้อมูลแบบเลขทศนิยม

Page 7: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

ชนิดข้อมูลแบบตัวอักษร (Character)

• เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ 1 ไบต์)

• โดยไม่ได้เก็บตัวอักษรไว้ สิ่งที่เก็บคือรหัสแอสกีที่ตรงกับค่าของตัวอักษร เช่น

0 1 1 0 0 0 0 1

1 ไบต์ 1 บิต

char A=‘a’; A

ลักษณะของข้อมูลที่เก็บอยู่ในหน่วยความจ าของคอมพิวเตอร์

a A

ลักษณะการเก็บข้อมูลที่มนุษย์เข้าใจ

Page 8: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

ตัวอย่าง โปรแกรมข้อมูลแบบตัวอักษร

1 : # include<stdio.h>

2 : main(){

3 : char A = ‘a’;

4 : printf(“Variable A is %c\n”,A);

5 : A = A + 10;

6 : printf(“After plus variable A with 10, variable A is now %c\n”,A);

7 : }

Page 9: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

การเก็บข้อมูลมากกว่า 1 ตัวอักษร

เรียกว่า String

โดยน าชนิดข้อมูลแบบตัวอักษรมาก าหนดให้อยู่ในรูปของ Array

รูปแบบ char ชื่อตัวแปร[ขนาดข้อมูล];

char data2[10] = “Hello!”; ตัวอย่าง

Page 10: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

ตัวอย่าง โปรแกรมข้อมูลแบบตัวอักษรและสตริง

1 : # include<stdio.h> 2 : # include<string.h> 3 : main(){ 4 : char data = ‘a’; 5 : char data2 [10] = “Hello!”; 6 : printf(“char data = ‘a’ ; ” );

Page 11: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

ตัวอย่าง โปรแกรมข้อมูลแบบตัวอักษรและสตริง (ต่อ)

7 : printf(“ => data variable can keep only 1 character \n”);

8 : printf(“char data2 [10] = \”Hello!\”; ” );

9 : printf(“ => data2 variable keep %d characters”,strlen(data2));

10 : }

Page 12: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

ชนิดข้อมูลแบบเลขจ านวนเต็ม (Integer)

• Integer (เก็บข้อมูลครั้งละ 2 ไบต์) แบ่งออกเป็น 2 ประเภท คือ – int หรือ short เก็บเลขจ านวนเต็มตั้งแต่ -32,768 ถึง 32,767

– Long เก็บเลขจ านวนเต็มตัง้แต่ -2,147,483,648 ถึง 2,147,483,647

Page 13: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

ชนิดข้อมูลแบบเลขจ านวนเต็ม (Integer) (ต่อ)

• วิธีการใช้งานคือถ้าต้องการเก็บตัวเลขจ านวนเต็มมากกว่า 32,767 เราจะต้องประกาศตัวแปรแบบ long ถ้าน้อยกว่าก็ประกาศแบบ int

Page 14: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

ตัวอย่าง การประกาศตัวแปรแบบ integer

int a,b,c;

int age ;

int height;

long salary,money;

เป็นการประกาศตัวแปร a, b, c, age, height

มีโอกาสจะมีค่ามากกว่า -32,768 ถึง 32,767 ดังนั้นจึงต้องประกาศเป็น long

Page 15: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

ชนิดข้อมูลแบบเลขทศนิยม (floating-point)

floating-point (เก็บข้อมูลครั้งละ 4 ไบต์) แบ่งออกเป็น 3

ประเภท คือ Float เก็บทศนิยมได้ 3.4E+/-38 (ทศนิยม 6 ต าแหน่ง) Double เก็บทศนิยมได้ 1.7E+/-308 (ทศนิยม 12

ต าแหน่ง) Long Double เก็บทศนิยมได้ 1.2E+/-4932

(ทศนิยม 24 ต าแหน่ง)

Page 16: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

ตัวอย่าง การประกาศใช้ตัวแปร float

ตัวอย่าง float grade;

double rate;

long double longrate;

Page 17: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

ประเภทของตัวแปร

ตัวแปรแบบโกลบอล (Global Variable)

ตัวแปรแบบโลคอล (Local Variable)

Page 18: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

ตัวแปรแบบโกลบอล (Global Variable

ประกาศไว้ภายนอกฟังก์ชั่น

หมายถึงตัวแปรนั้นเป็นของสาธารณะ

ดังนั้น ฟังก์ชั่นทุกฟังก์ชั่นจึงสามารถเรียกใช้ได้

Page 19: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

ตัวอย่าง การประกาศตัวแปรแบบ Global

1 : # include<stdio.h>

2 :

3 : int i = 1;

4 :

5 : int testVar(int j){

6 : int n = 3;

7 : return n*j;

8 : }

Page 20: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

ตัวแปรแบบโลคอล (Local Variable)

ประกาศไว้ภายในฟังก์ช่ันหน่ึง ๆ

หากอยู่ในฟังก์ช่ันใดจะถือว่าฟังก์ชั่นนั้นเป็นเจ้าของ

ของตัวแปรนั้น

ดังน้ัน ฟังก์ช่ันอื่นจะไม่สามารถเรยีกใช้งานได้

Page 21: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

ตัวอย่าง การประกาศตัวแปรแบบ Local

10 : main(){

11 : int m;

12 : printf(“Global variable i is %d\n” , i);

13 : m = testVar(i);

14 : m = m * n;

15 : printf(“Local variable m is %d\n”, m);

16 : }

การประกาศตัวแปรแบบ Local

Page 22: ชนิดข้อมูลและตัวแปร · 2015-04-30 · •เป็นข้อมูลที่เก็บตัวแปร 1 ตัวอักษร (เก็บข้อมูลครั้งละ

จบเนื้อหาบทที่ 3 ชนิดข้อมูลและตัวแปร