งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

องค์ประกอบภาษา C Elements of C Language

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "องค์ประกอบภาษา C Elements of C Language"— ใบสำเนางานนำเสนอ:

1 องค์ประกอบภาษา C Elements of C Language
CS105 องค์ประกอบภาษา C Elements of C Language

2 กระบวนการแปล The compilation process
C program  group characters into tokens  translate to target code 6 types of tokens in ANSI C คำหลัก (Keywords) ค่าคงที่ (Constants) ชื่อเฉพาะ (Identifiers) ตัวดำเนินการ (Operators) เครื่องหมายวรรคตอน (Punctuation)

3 องค์ประกอบภาษาซี Elements of C language
สิ่งที่ก่อให้เกิดเป็นคำสั่งและระเบียบการใช้คำสั่ง เซตของตัวอักษร (Character set) ค่าคงที่ (Constants) คำหลัก (Keywords) ตัวแปร (Variables) ตัวดำเนินการ (Operators) นิพจน์ (Expression) คำสั่ง (Statements)

4 เซตของตัวอักขระ Lowercase letters  a b c d . . . x y z
Uppercase letters  A B C D X Y Z Digits  Other characters  * / \ = ( ) [ ] { } < > ! ; : ? ‘ “ # , $ % ^ & _ | ~ . White space characters  blank, new line, carriage return, form feed, line feed, tab, vertical tab

5 รหัสควบคุม(Escape sequences)
\a Alert (bell) \b Backspace \f Form feed \n New line \r Carriage return \t Tab \0 Null character \’ Single quotation mark \” Double quotation mark \\ backslash \ddd ASCII character in octal notation \xxx ASCII character in hexadecimal notation

6 ค่าคงที่ เลขจำนวนเต็ม (Integer constants)
เลขมีจุดทศนิยม (Floating-point constants) อักขระ (Character constants) สายอักขระ (String constants)

7 ค่าคงที่เลขจำนวนเต็ม
รูปแบบ 1. Digits (เลขฐานสิบ) 2. 0octaldigits 3. 0Xhexadecimaldigits 0xhexadecimaldigits ตัวอย่าง ค่าคงที่ในรูปฐาน ฐาน ฐาน 16 xa หรือ 0XA x7fcf หรือ 0X7FCF 32768U U 0x8000U

8 ค่าคงที่เลขมีจุดทศนิยม
รูปแบบ [+|-][digits]. [digits][E|e [+|-] digits] ตัวอย่าง e E-2 e E4 e E-2 1.25L

9 ค่าคงที่อักขระ รูปแบบ ‘อักขระ’ ‘รหัสควบคุม’ ตัวอย่าง
ค่าคงที่ภาษา C ค่าอักขระ ‘a’ a ‘\a’ การส่งเสียงบี๊บ(alert) ‘\\’ \ (backslash) ‘\x1b’ Esc

10 ค่าคงที่สายอักขระ รูปแบบ “ข้อความ” [“ ข้อความ ”] ตัวอย่าง
ค่าคงที่ภาษา C ภาพจำลองหน่วยความจำ “This is a string literal.” “Hello” “world” H e l l o w o r l d \0 “a” ไม่เท่ากับ ‘a’ T h i s i s a s t r i n g l i t e r a l . \0

11 คำหลัก คำที่ตัวแปลภาษากำหนดหน้าที่และความหมายเฉพาะ
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 The additional keywords in Turbo C asm cdecl far huge interrupt near pascal

12 ตัวแปร (variables)  Don’t #account char 707james
ตัวแปร ประกอบด้วย ๒ ส่วนสำคัญ ชื่อ ข้อมูล ซึ่งเรียกว่าเป็น ค่าของตัวแปร ชื่อตัวแปร  ตัวอักษร ตัวเลข _ (เครื่องหมาย underscore) กฏการตั้งชื่อตัวแปร ไม่ตรงหรือซ้ำกับคำหลัก อักขระตัวแรกของชื่อต้องเป็นตัวอักษร หรือ _ เท่านั้น ห้ามใช้อักขระอื่น นอกจาก ตัวอักษร ตัวเลข และ _ เป็นส่วนหนึ่งของชื่อตัวแปร ความยาวของชื่อไม่จำกัด แต่ถือเพียง 31 ตัวแรกเป็นนัยสำคัญ acc _ok S_date addr1 ChiangMaiUniversity  Don’t #account char 707james

13 ตัวแปร การประกาศตัวแปร
<ชนิดข้อมูล> <ชื่อตัวแปร> [=ค่าเริ่มต้น][, ตัวแปร[=ค่าเริ่มต้น]]; ชนิดข้อมูล char signed char unsigned char short int long unsigned short unsigned unsigned long float double long double ตัวอย่าง char c, msg[] = “Your welcome!”; int i, x = 5; unsigned u=32768;

14 ตัวดำเนินการ (Operators)
ตัวดำเนินการเชิงคำนวณ (Arithmetic operators) ตัวดำเนินการเพื่อกำหนดค่า(Assignment operators) ตัวดำเนินการเปรียบเทียบ (Relational operators) ตัวดำเนินการตรรกะ (Logical operators) ตัวดำเนินการพิเศษ (Special operators) Increment operator ++ Decrement operator -- Address operator & Indirection operator * Conditional operator ? :

15 Arithmetic Operators)
สัญลักษณ์ ความหมาย ตัวอย่าง Negation x * คูณ x * 2 / หาร x / 2 % หารเก็บเศษ x % 2 บวก x + 2 ลบ x - 2

16 ลำดับความสำคัญของตัวดำเนินการ
ตัวดำเนินการ ลำดับดำเนินการ ( ) ซ้ายไปขวา + (unary) -(unary) ขวาไปซ้าย * / % ซ้ายไปขวา ซ้ายไปขวา

17 Arithmetic operators int a=1, b=2, c=3, d=4; a * b / c (a * b) / c 0
การประกาศตัวแปรและกำหนดค่าเริ่มต้น int a=1, b=2, c=3, d=4; นิพจน์ นิพจน์เทียบเท่า ค่าของนิพจน์ a * b / c a + b % c * 1 8 - -d / b + c (a * b) / c a + ((b % c) * 1) (8 - ((-d) / b)) + c

18 Assignment Operators รูปแบบ สัญลักษณ์ ตัวอย่าง ความหมาย
ตัวแปร = นิพจน์ ตัวแปร op= นิพจน์ ตัวแปร = (ตัวแปร op (นิพจน์)) สัญลักษณ์ ตัวอย่าง ความหมาย = Simple assignment x = x = 2 *= Addition assignment x *= x = x*2 /= Division assignment x /= x = x/2 %= Remainder assignment x %= 2 x = x%2 += Addition assignment x += 2 x = x+2 -= Subtraction assignment x -= 2 x = x-2

19 ลำดับความสำคัญของตัวดำเนินการ
ตัวดำเนินการ ลำดับดำเนินการ ( ) ซ้ายไปขวา + (unary) -(unary) ขวาไปซ้าย * / % ซ้ายไปขวา ซ้ายไปขวา = += -= *= /= %= ขวาไปซ้าย

20 Assignment operators int a=1, b=2, c=3, d=4; a += b + c
การประกาศตัวแปรและกำหนดค่าเริ่มต้น int a=1, b=2, c=3, d=4; นิพจน์ นิพจน์เทียบเท่า ค่าของนิพจน์ a += b + c b *= c = d + 5 a = (a + (b + c)) b = (b * (c = (d + 5))) 18

21 Math library #include <stdlib.h> Function prototype description
double sqrt (double) หาค่ารากที่สอง double exp (double) หาค่า ex double log (double) หาค่า log ฐาน e double sin (double) Sine double cos (double) Cosine double tan (double) Tangent double pow (double, double) หาค่า xy int rand () หาค่าเลขสุ่ม

22 นิพจน์ รูปแบบ [ค่าคงที่] [ตัวดำนินการ] ค่าคงที่
[ค่าคงที่] [ตัวดำนินการ] ค่าคงที่ [ค่าคงที่] [ตัวดำนินการ] ตัวแปร ตัวแปร ตัวดำนินการ ค่าคงที่ ตัวแปร ตัวดำนินการ ตัวแปร ชนิดข้อมูล ชนิดข้อมูลของนิพจน์ขึ้นอยู่กับชนิดข้อมูลของค่าคงที่ หรือตัวแปรในนิพจน์ หากค่าคงที่หรือตัวแปรมีชนิดข้อมูลต่างกัน ค่าของนิพจน์จะมีชนิดข้อมูลตามชนิดที่มีขนาดใหญ่ ขนาดของชนิดข้อมูล char < short < int < long < float < double < long double

23 ตัวอย่าง #include <stdio.h> void main() {
int a = 1, b = 2, c = 3; x = a + b; print(“x = %d\n”, x); } เมื่อทำการ compile โปรแกรมนี้จะมีข้อผิดพลาดปรากฎดังนี้ Error EX1.C 7: Undefined symbol ‘x’ in function main Warning EX1.C 9: ‘c’ is assigned a value that is never used


ดาวน์โหลด ppt องค์ประกอบภาษา C Elements of C Language

งานนำเสนอที่คล้ายกัน


Ads by Google