หลักการเบื้องต้นของภาษาซี

Slides:



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

บทที่ 2 รหัสควบคุมและการคำนวณ
บทที่ 2 รหัสควบคุมและการคำนวณ
INTRODUCTION TO C LANGUAGE
Introduction to C Introduction to C.
รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
โครงสร้างโปรแกรมภาษา C
VBScript.
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
การเขียนโปรแกรมด้วยคำสั่งเบื้องต้น
ประเภทของข้อมูลและตัวดำเนินการ Data Types and Operator (บทที่ 3)
BC320 Introduction to Computer Programming
Introduction to C Programming
การแสดงผล และการรับข้อมูล การแสดงผล และการรับข้อมูล.
Department of Computer Business
การรับค่าและแสดงผล.
C Programming Lecture no. 4 กราบเรียนท่านอาจารย์ และสวัสดีเพื่อนๆ
หลักการโปรแกรม 1 Lecture 3: ตัวแปร, นิพจน์คณิตศาสตร์, การคำนวณทางคณิตศาสตร์,การดำเนินการกับสายอักขระ.
ชนิดของข้อมูลและตัวดำเนินการ
Week 6 ประกาศค่าตัวแปร.
การแสดงผล และการรับข้อมูล
รับและแสดงผลข้อมูล.
PHP LANGUAGE.
หน่วยที่ 2 ภาษาโปรแกรม และการออกแบบโปรแกรม
NUMBER SYSTEM เลขฐานสิบ (Decimal Number) เลขฐานสอง (Binary Number)
การสร้าง Random ตัวเลขซ้ำและไม่ซ้ำ การเรียกดูไฟล์ในโฟลเดอร์ Function
Lecture no. 2: Overview of C Programming
เรื่อง ประเภทของข้อมูล
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
หน่วยที่ 5 ตัวดำเนินการ (Operators)
Week4 Data types, Variables, Operators and Input/output (ต่อ)
C Programming Lecture no. 6: Function.
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
บทที่ 3 ตัวดำเนินการ และ นิพจน์
บทที่ 2 ประเภทข้อมูล (DATA TYPE)
บทที่ 11 การเขียนโปรแกรมภาษาซี
ข้อมูลพื้นฐานและตัวดำเนินการ
บทที่ ไลบรารีฟังก์ชัน
ตัวแปร (variable) ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ใน หน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล การตั้งชื่อตัวแปร ชื่อตัวแปรในภาษา.
ไวยากรณ์ของภาษาการทำโปรแกรม (1) (Syntax of programming languages)
ตัวแปร (Variable) คือ ชื่อที่ตั้งขึ้นเพื่อเก็บข้อมูลในหน่วยความจำ สามารถเก็บข้อมูลชนิดใดก็ ได้ ลักษณะที่สำคัญ ค่าที่จัดเก็บ เมื่อปิดโปรแกรมข้อมูลจะหายไป.
การเขียนโปรแกรมภาษาซี
ชนิดของข้อมูล ตัวแปร และตัวดำเนินการ
Introduction to C Language
ตัวแปรกับชนิดของข้อมูล
ง30212 พื้นฐานการเขียนโปรแกรม ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ตัวดำเนินการในภาษาซี
ชนิดของข้อมูล ตัวแปร และตัวดำเนินการ
การรับและพิมพ์ข้อมูลเบื้องต้น
ตัวแปรกับชนิดของข้อมูล
ตัวแปร ชนิดข้อมูล และ ตัวดำเนินการใน PHP
ทบทวน กันก่อน .....กระบวนการแปลโปรแกรม
Week 2 Variables.
Computer Programming for Engineers
องค์ประกอบภาษา C Elements of C Language
ความหมาย การประกาศ และการใช้
2 /* ข้อความนี้เป็นเพียงคำอธิบาย ไม่มีผลต่อขั้นตอนการ ทำงานของโปรแกรม */ /* A simple program to display a line of text */ #include void main ( ) { printf.
Overview of C Programming
บทที่ 3 ชนิดข้อมูล ตัวแปร นิพจน์และตัวดำเนินการ
โครงสร้างภาษาซี #include <stdio.h> void main() {
คำสั่งเกี่ยวกับการรับ และแสดงผล
โครงสร้างโปรแกรมภาษาซี
Output of C.
การแสดงผลและการรับข้อมูล (Data Output and Input)
หน่วยที่ 4 โครงสร้างโปรแกรมภาษาซี
บทที่ 5 รหัสควบคุมและ การคำนวณ C Programming C-Programming.
ตัวแปร และชนิดข้อมูล.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
ใบสำเนางานนำเสนอ:

หลักการเบื้องต้นของภาษาซี

ซอฟต์แวร์แปลภาษาคอมพิวเตอร์ (Translator) ตัวแปลภาษาคอมพิวเตอร์ในปัจจุบัน แบ่งตามลักษณะการแปล ทำการแปลโปรแกรมต้นฉบับ หรือ ซอร์สโคด (source code) ไปเป็นออบเจคโคด (object code) ซึ่งจะประกอบด้วยรหัสคำสั่งที่ คอมพิวเตอร์สามารถเข้าใจและนำไปปฏิบัติได้ต่อไป 1. แอสแซมเบลอ (Assembler) 2. อินเทอพรีเตอร์ (Interpreter) 3. คอมไพเลอร์ (Compiler) Translator : ตัวแปล ชุดคำสั่ง /โปรแกรม (Source Code) ให้เป็นภาษาเครื่อง (MachineLanguage) ซึ่งอยู่ในรูปของ BITS (0,1) An assembler : เป็นโปรแกรม ที่เอาคำสั่งพื้นฐานมาเปลี่ยนให้อยู่ในรูปแบบของ BITS เพื่อให้คอมพิวเตอร์สามารถนำไปใช้ในการทำงาน Interpreter : เป็นตัวแปลภาษาที่ใช้หลักการแปลทีละ 1 คำสั่ง แล้วไปดำเนินการตามที่แปลได้ทันที ทำอย่างนี้ไปจนจบโปรแกรม ข้อดี เมื่อมีข้อผิดพลาดโปรแกรมจะหยุด เพื่อให้แก้ไขได้ทันที ข้อเสีย เมื่อแปลจนครบจะไม่มีการเก็บรหัสออบเจ็ค (Object Code) จึงต้องแปลใหม่ทุกครั้ง Compiler : เป็นตัวแปลภาษาที่จะทำการแปลคำสั่งทั้งโปรแกรมให้เป็นรหัสออบเจ็ค และเก็บรหัสไว้ในแฟ้มเพื่อนำไปใช้งานเมื่อใดก็ได้ ข้อดี ไม่ต้องแปลใหม่ทุกครั้ง ข้อเสีย รหัสออบเจคมีขนาดใหญ่กว่าแบบอินเทอพรีเตอร์

แอสแซมเบลอ (Assembler)

อินเตอร์พรีเตอร์ (Interpreter) - แปลทีละบรรทัดตลอดโปรแกรม - เมื่อพบข้อผิดพลาดจะแจ้งให้ทราบและรอการแก้ไข - ง่ายต่อการแก้ไข แต่จะใช้เวลาค่อนข้างมาก - ภาษาที่ใช้อินเตอร์ปรีเตอร์ คือ ภาษาเบสิก

คอมไพเลอร์ (Compiler) - แปลโปรแกรมให้เป็นภาษาเครื่องทั้งโปรแกรมในครั้งเดียว - เมื่อพบข้อผิดพลาดจะแจ้งให้ทราบและแก้ไขในครั้งเดียว ใช้เวลาสะดวกและรวดเร็ว ภาษาที่ใช้คอมไพเลอร์ คือ ภาษาซี, ฟอร์แทรน, ปาสคาล, โคบอล

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

เซตของตัวอักขระ Lowercase letters a b c d . . . x y z Uppercase letters A B C D . . . X Y Z Digits 0 1 2 3 . . . 7 8 9 Other characters + - * / \ = ( ) [ ] { } < > ! ; : ? ‘ “ # , $ % ^ & _ | ~ .

รหัสควบคุม(Escape sequences) Alert (bell) Backspace เลื่อนถอยหลัง 1 ตัวและลบตัวอักษรไปด้วย Form feed New line ขึ้นบรรทัดใหม่ เลื่อน Tab ในแนวนอน เลื่อน Tab ในแนวตั้ง ให้ตัวชี้กลับไปอยู่ต้นบรรทัด Null character Single quotation mark Double quotation mark Backslash ASCII character in octal notation ASCII character in hexadecimal notation \a \b \f \n \t \v \r \0 \’ \” \\ \ddd \xxx ความหมาย รหัสควบคุม

รหัสรูปแบบ จำนวนเต็ม ทศนิยม ตัวอักษร 1 ตัวอักษร ตัวแปรชุดหรือข้อความที่เป็นสตริง เลขฐานแปด เลขฐานสิบหก เลขจำนวนเต็มที่ไม่มีเครื่องหมาย ค่าของพอยน์เตอร์ พิมพ์เลข long int %d %f %c %s %0 %x %u %p %lu รูปแบบที่กำหนด รหัสรูปแบบ

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

ค่าคงที่เลขจำนวนเต็ม รูปแบบ 1. Digits (เลขฐานสิบ) 2. 0octaldigits (เลขฐานแปด ใช้เลขศูนย์นำหน้า) 3. 0Xhexadecimaldigits (เลขฐานสิบหก ใช้เลขศูนย์กับเอ็กซ์) 0xhexadecimaldigits ตัวอย่าง ค่าคงที่ในรูปฐาน 10 ฐาน 8 ฐาน 16 10 012 0xa หรือ 0XA 32719 077717 0x7fcf หรือ 0X7FCF

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

คำสงวน คำที่ตัวแปลภาษากำหนดหน้าที่และความหมายเฉพาะ 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

กฎการตั้งชื่อ ต้องไม่เหมือนคีย์เวิร์ดหรือคำสงวน ชื่อมีความยาวไม่จำกัด แต่คอมไพเลอร์จะรู้ความแตกต่างแค่ 32 ตัวอักษรแรก ชื่อจะต้องเริ่มต้นด้วยตัวอักษร A-Z หรือ a-z ไม่มีการเว้นช่องว่าง ตัวอักษรพิมพ์เล็กพิมพ์ใหญ่จะมีความแตกต่างกัน

ช่วงค่า ชนิดข้อมูล ชนิดตัวแปร ทศนิยม 12 หลัก เลขจำนวนจริงที่มีความแม่นยำ 2 เท่า double ทศนิยม 6 หลัก Floating point เลขทศนิยม float 0 ถึง 65535 Unsigned int เลขจำนวนเต็มแบบไม่ คิดเครื่องหมาย unsigned int -4294967296 ถึง 4294967296 Long int เลขจำนวนเต็มอย่างยาว long int -128 ถึง 127 Short interger เลขจำนวนเต็มแบบ สั้น short int -32768 ถึง 32767 Integer เลขจำนวนเต็ม Int 0 ถึง 255 Character ตัวอักขระ char ช่วงค่า ชนิดข้อมูล ชนิดตัวแปร

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

ตัวดำเนินการเชิงคำนวณ(Arithmetic operators) สัญลักษณ์ ความหมาย ตัวอย่าง - Negation -x * คูณ x * 2 / หาร x / 2 % หารเก็บเศษ x % 2 + บวก x + 2 - ลบ x - 2 -- การลดค่าครั้งละ 1 a--,--a ++ การบวกค่าครั้งละ 1 a++,++a

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 0 a + ((b % c) * 1) 3 (8 - ((-d) / b)) + c 13

Assignment Operators = Simple assignment x = 2 x = 2 สัญลักษณ์ ตัวอย่าง ความหมาย = Simple assignment x = 2 x = 2 *= Addition assignment x * = 2 x = x*2 /= Division assignment x / = 2 x = x/2 %= Remainder assignment x % = 2 x = x%2 += Addition assignment x + = 2 x = x+2 - = Subtraction assignment x - = 2 x = x-2

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)) 6 b = (b * (c = (d + 5))) 18

Math library Function prototype description double sqrt (double) หาค่ารากที่สอง double sin (double) Sine double cos (double) Cosine double tan (double) Tangent double pow (double, double) หาค่า xy int rand () หาค่าเลขสุ่ม

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

รูปแบบโปรแกรมภาษาซีอย่างง่าย ส่วนที่ตัวแปลภาษาต้องดำเนินการ ก่อนทำการแปล Preprocessing Directives void main ( ) ส่วนของฟังก์ชั่นหลัก { Declarations ส่วนของการประกาศตัวแปร Statements คำสั่งต่างๆ ซึ่งจะมีผลต่อขั้นตอนการทำงาน }

ตัวอย่าง #include <stdio.h> void main() { clrscr(); int a = 1, b = 2, c = 3; x = a + b; printf(“x = %d \n”, x); }

แบบฝึกหัด ภาษาซีจัดอยู่ในภาษาระดับใด Interpreter คือ Compiler คือ จงบอกว่าการตั้งชื่อตัวแปรต่อไปนี้ถูกต้องหรือไม่ถ้าไม่ถูกต้องเพราะเหตุใ name$ Student_1 ID No Val_num Data1 Data-name CaseOfData 3Sum if sumofsalary

แบบฝึกหัด (ต่อ) จงประกาศชนิดตัวแปรต่อไปนี้ ทำให้ตัวแปร num เก็บค่าเป็นจำนวนเต็ม ทำให้ตัวแปร price, sale เก็บค่าเป็นทศนิยม ทำให้ตัวแปร pi เก็บค่าที่เป็นทศนิยมที่มีความแม่นยำสูงและเก็บ ค่า 3.142857142857 ทำให้ตัวแปร cas เก็บค่าที่เป็นตัวอักษร 1 ตัวอักษร ทำให้ตัวแปร ID เก็บค่าที่เป็นจำนวนเต็มแบบไม่คิดเครื่องหมาย

แบบฝึกหัด (ต่อ) (2147)8 (3B1A)16 (5)8 (F5E)16 (410)8 จงเขียนเลขฐานต่อไปนี้ให้อยู่ในรูปของค่าคงที่ใน ภาษาซี (2147)8 (3B1A)16 (5)8 (F5E)16 (410)8

จงพิมพ์โปรแกรมต่อไปนี้ลงเครื่องคอมพิวเตอร์ คอมไพล์และรันโปรแกรม #include <stdio.h> #include <conio.h> Void main() { int a,b,c; a = 10; b=20; c = a + b; clrscr(); printf(“%d + %d = %d” ,a,b,c); }