1. Trang chủ
  2. » Công Nghệ Thông Tin

TIN HỌC ĐẠI CƯƠNG - Bài 6: Tổng quan về ngôn ngữ C pdf

25 581 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 543,36 KB

Nội dung

1 TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƢƠNG Bài 6. Tổng quan về ngôn ngữ C Đỗ Bá Lâm lamdb-fit@mail.hut.edu.vn Nội dung 6.1. Lịch sử phát triển 6.2. Các phần tử cơ bản của ngôn ngữ C 6.3. Cấu trúc cơ bản của chƣơng trình C 6.4. Biên dịch chƣơng trình C 6.5. Trình biên dịch Turbo C++ 2 2 Nội dung 6.1. Lịch sử phát triển 6.2. Các phần tử cơ bản của ngôn ngữ C 6.3. Cấu trúc cơ bản của chƣơng trình C 6.4. Biên dịch chƣơng trình C 6.5. Trình biên dịch Turbo C++ 3 4 6.1. Lịch sử phát triển • Ra đời tại phòng thí nghiệm BELL của tập đoàn AT&T (Hoa Kỳ) • Do Brian W. Kernighan và Dennis M. Ritchie phát triển vào đầu 1970, hoàn thành 1972 • C dựa trên nền các ngôn ngữ BCPL (Basic Combined Programming Language) và ngôn ngữ B. • Tên là ngôn ngữ C nhƣ là sự tiếp nối ngôn ngữ B. 3 6.1. Lịch sử phát triển • Đặc điểm của ngôn ngữ lập trình C – Ngôn ngữ lập trình hệ thống – Tính khả chuyển, linh hoạt cao – Có thế mạnh trong xử lý dữ liệu số, văn bản, cơ sở dữ liệu • C thƣờng đƣợc sử dụng để viết các chƣơng trình hệ thống – Hệ điều hành Unix có 90% mã C, 10% hợp ngữ – Các trình điều khiển thiết bị (device driver) – Xử lý ảnh… 55 6 6.1. Lịch sử phát triển • 1978: C đƣợc giới thiệu trong phiên bản đầu của cuốn sách "The C programming language" • Sau đó, C đƣợc bổ sung thêm những tính năng và khả năng mới  Đồng thời tồn tại nhiều phiên bản nhƣng không tƣơng thích nhau. • Năm 1989, Viện tiêu chuẩn quốc gia của Hoa Kỳ (American National Standards Institute - ANSI) đã công bố phiên bản chuẩn hóa của ngôn ngữ C: ANSI C hay C chuẩn hay C89 4 6.1. Lịch sử phát triển • Các phiên bản ngôn ngữ C – ANSI C: C chuẩn (1989) – Các phiên bản khác thƣờng bổ sung thêm thƣ viện của ANSI C • Hiện nay cũng có nhiều phiên bản của ngôn ngữ C khác nhau, gắn liền với một bộ chƣơng trình dịch cụ thể của ngôn ngữ C – Turbo C++ và Borland C++ của Borland Inc. – MSC và VC của Microsoft Corp. – GCC của GNU project… 77 Nội dung 6.1. Lịch sử phát triển 6.2. Các phần tử cơ bản của ngôn ngữ C 6.3. Cấu trúc cơ bản của chƣơng trình C 6.4. Biên dịch chƣơng trình C 6.5. Trình biên dịch Turbo C++ 8 5 Ví dụ #include<stdio.h> #include<conio.h> void main(){ printf(“Hello World\n”); getch(); } 9 6.2.1. Tập ký tự • Tập ký tự là tập các phần tử cơ bản tạo nên chƣơng trình – Tổ hợp các ký tự → từ – Liên kết các từ theo cú pháp → câu lệnh – Tổ chức các câu lệnh → chƣơng trình • Ví dụ: – include, void, main… – printf(“…”), getch(); 10 6 6.2.1. Tập ký tự • Tập ký tự trong C – 26 chữ cái hoa:A B C X Y Z – 26 chữ cái thƣờng:a b c … x y z. – 10 chữ số: 0 1 2 3 4 5 6 7 8 9. – Các kí hiệu toán học:+ - * / = < > – Các dấu ngăn cách: . ; , : space tab – Các dấu ngoặc:( ) [ ] { } – Các kí hiệu đặc biệt:_ ? $ & # ^ \ ! „ “ ~ .v.v. 11 6.2.2. Từ khóa • Từ khóa (keyword) – Có sẵn trong mỗi ngôn ngữ lập trình – Dành riêng cho các mục đích xác định • Đặt tên cho kiểu dữ liệu: int, float, double… • Mô tả các lệnh, các cấu trúc lập trình: if, while, case… • Chú ý: – Tất cả từ khóa trong C đều viết bằng chữ cái thường 12 7 6.2.2. Từ khóa • Từ khóa hay dùng trong Turbo C 13 6.2.3. Định danh • Định danh (Identifier – hoặc còn gọi là Tên) là một dãy các kí tự dùng để gọi tên các đối tƣợng trong chƣơng trình. • Các đối tƣợng trong chƣơng trình – Biến – Hằng số – Hàm – Kiểu dữ liệu… (sẽ làm quen ở các mục sau) • Định danh có thể đƣợc đặt bởi – Ngôn ngữ lập trình → các từ khóa – Ngƣời lập trình 14 8 6.2.3. Định danh • Quy tắc đặt tên định danh trong C – Các kí tự đƣợc sử dụng: chữ cái, chữ số và dấu gạch dƣới “_” (underscore) – Bắt đầu của định danh phải là chữ cái hoặc dấu gạch dƣới “_”, không đƣợc bắt đầu định danh bằng chữ số. – Định danh do ngƣời lập trình đặt không đƣợc trùng với các từ khóa của C • Chú ý: C là ngôn ngữ có phân biệt chữ hoa và chữ thường 15 6.2.3. Định danh • Ví dụ – Định danh hợp lệ: i, x, y, a, b, _function, _MY_CONSTANT, PI, gia_tri_1 – Định danh không hợp lệ • 1_a, 3d, 55x (bắt đầu bằng chữ số) • so luong, ti le (có dấu cách - kí tự không hợp lệ) • int, char (trùng với từ khóa của ngôn ngữ C) 16 9 6.2.3. Định danh • Một số quy ƣớc (code convention) – Nên sử dụng dấu gạch dƣới để phân tách các định danh gồm nhiều từ – Định danh nên có tính gợi nhớ – Quy ƣớc thƣờng đƣợc sử dụng: • Hằng số dùng chữ cái hoa • Các biến, hàm, cấu trúc dùng chữ cái thƣờng • Ví dụ Định danh Loại đối tƣợng HANG_SO_1, _CONSTANT_2 Hằng số a, b, i, j, count Biến nhap_du_lieu, tim_kiem, xu_li Hàm sinh_vien, mat_hang Cấu trúc 17 6.2.4. Các kiểu dữ liệu • Định nghĩa: – Một kiểu dữ liệu là một tập hợp các giá trị mà một dữ liệu thuộc kiểu dữ liệu đó có thể nhận đƣợc. – Trên một kiểu dữ liệu ta xác định một số phép toán đối với các dữ liệu thuộc kiểu dữ liệu đó. • Ví dụ: – Kiểu dữ liệu int (số nguyên) trong C – Một dữ liệu thuộc kiểu dữ liệu int • Là một số nguyên • Nhận giá trị từ từ - 32,768 (- 2 15 ) đến 32,767 (2 15 - 1) 18 10 6.2.4. Các kiểu dữ liệu • Ví dụ (tiếp) – Một số phép toán đƣợc định nghĩa trên kiểu dữ liệu int của C Tên phép toán Ký hiệu Đảo dấu - Cộng + Trừ - Nhân * Chia lấy phần nguyên / Chia lấy phần dƣ % So sánh >, <, >=, <=, ==, != 19 Ví dụ #include<stdio.h> #include<conio.h> #define PI 3.14 void main(){ float r, s; printf(“Nhap ban kinh hinh tron:“); scanf(“%f”,&r); s = PI * r * r; printf(“Dien tich hinh tron %f\n”,s); getch(); } 20 [...]... 6.1 Lịch sử phát triển 6.2 C c phần tử c bản c a ngôn ngữ C 6.3 C u tr c cơ bản c a chƣơng trình C 6.4 Biên dịch chƣơng trình C 6.5 Trình biên dịch Turbo C+ + 41 6.5.1 Giới thiệu • Trình biên dịch (compiler): dịch mã nguồn (source code) thành file th c thi • C c trình biên dịch C phổ biến – Turbo C+ + c a hãng Borland – MSC c a Microsoft – GCC c a GNU – Dev C+ + c a Bloodshed Software • Turbo C+ + c nhiều... bằng vi c th c hiện c c lệnh trong hàm main( ) – Trong hàm main( ) c thể c lệnh gọi tới c c hàm kh c • Phần 6: Nội dung c a c c hàm đã khai báo – C i đặt (viết mã) cho c c hàm đã khai báo nguyên mẫu ở phần 3 38 19 Nội dung 6.1 Lịch sử phát triển 6.2 C c phần tử c bản c a ngôn ngữ C 6.3 C u tr c cơ bản c a chƣơng trình C 6.4 Biên dịch chƣơng trình C 6.5 Trình biên dịch Turbo C+ + 39 6.4 Biên dịch chƣơng... c c kiểu dữ liệu mới (nếu c n) dùng cho c chƣơng trình 36 18 6.3 C u tr c cơ bản c a chƣơng trình C • Phần 3: Khai báo c c hàm nguyên mẫu: – Giúp cho chƣơng trình dịch biết đƣ c những thông tin c bản c a c c hàm sử dụng trong chƣơng trình • Phần 4: Khai báo c c biến toàn c c – Ví dụ: int a, b; int tong, hieu, tich; 37 6.3 C u tr c cơ bản c a chƣơng trình C • Phần 5: Hàm main( ) – Khi th c hiện, chƣơng... thích vắn tắt cho một c u lệnh, một đoạn chƣơng trình ho c cả chƣơng trình – Giúp vi c đ c và hiểu chƣơng trình dễ dàng hơn – Chú thích không phải là c u lệnh -> không ảnh hƣởng tới chƣơng trình • C ch viết chú thích: trong C có hai c ch – Chú thích một dòng: sử dụng « // » – Chú thích nhiều dòng: sử dụng « /* » và « */ » 31 Nội dung 6.1 Lịch sử phát triển 6.2 C c phần tử c bản c a ngôn ngữ C 6.3 C u... trình đƣ c tạo thành từ dãy c c câu lệnh • Cuối mỗi c u lệnh bắt bu c có dấu chấm phẩy „;‟ để đánh dấu kết th c câu lệnh 29 6.2.9 C u lệnh • Phân nhóm: – Nhóm c c câu lệnh đơn: những c u lệnh không chứa c u lệnh kh c Ví dụ: phép gán, phép c ng, phép trừ… – Nhóm c c câu lệnh ph c: những c u lệnh chứa c u lệnh kh c • Ví dụ: lệnh khối đặt trong c p ngo c nhọn { } 30 15 6.2.10 Chú thích • Chú thích (comment):... quy t c x c định – C c toán hạng c thể là biến, hằng – C c toán tử rất đa dạng: c ng, trừ, nhân, chia • Ví dụ: biểu th c tính thể tích hình chữ nhật chieu_dai * chieu_rong * chieu_cao - chieu_dai, chieu_rong, chieu_cao là c c hằng ho c biến số đóng vai trò toán hạng - Phép * đóng vai trò toán tử 28 14 6.2.9 C u lệnh • C u lệnh (statement) diễn tả một ho c một nhóm c c thao t c trong giải thuật • Chƣơng... lựa chọn: Turbo C+ + 3.0 42 21 6.5.2 C i đặt và sử dụng Turbo C+ + 3.0 C i đặt • B1: Chuẩn bị bộ c i c a Turbo C+ + 3.0 (~4 MB) Copy bộ c i này vào máy c a bạn, giả sử vào thƣ m c C:\TC_Setup • B2: Đến thƣ m c chứa bộ c i Turbo C+ + 3.0 (nhƣ giả sử ở trên là C: \TC_Setup) và kích hoạt file INSTALL.EXE để chạy chƣơng trình c i đặt Chƣơng trình c i đặt sẽ yêu c u bạn chỉ ra ổ đĩa trên đó chứa bộ c i Turbo C+ +... quy t c 26 13 6.2.7 Hàm • Mô tả: – Hàm (function) là một chƣơng trình con c ch c năng nhận dữ liệu đầu vào (c c tham số đầu vào), th c hiện một ch c năng nào đó và đƣa ra c c kết quả Hàm Ý nghĩa Ký hiệu toán h c Ví dụ Pow(x,y) X mũ y Xy Pow(2,3)=8 Sin(x) Sin c a x Sinx Sin(0)=0 Cos(x) Cos c a x Cosx Cos(0)=1 27 6.2.8 Biểu th c • Định nghĩa: – Biểu th c là sự ghép nối c c toán tử (operator) và c c toán... the SOURCE drive to use: – Hãy nhập vào tên ổ đĩa, chẳng hạn C (ta để bộ c i Turbo C+ + 3.0 ở thƣ m c C:\TC_Setup) 43 6.5.2 C i đặt và sử dụng Turbo C+ + 3.0 • B3: Chƣơng trình yêu c u bạn nhập vào đƣờng dẫn tới thƣ m c chứa c c file c a Turbo C+ + 3.0 – Enter the SOURCE Path: – Thông thƣờng chƣơng trình sẽ tự tìm cho bạn, và bạn chỉ c n ấn Enter để chuyển sang bƣ c tiếp theo • B4: X c định thƣ m c cài đặt... c i đặt Thƣ m c này sẽ chứa c c file c a Turbo C+ + 3.0 để bạn sử dụng sau này – Directories… [C: \TC] – Option…[IDE CMD LIB CLASS BGI HELP EXMPL] 44 22 6.5.2 C i đặt và sử dụng Turbo C+ + 3.0 • Start Installation • Thƣ m c cài đặt m c định sẽ là \TC nằm trên thƣ m c g c của ổ đĩa chứa bộ c i Nếu bạn muốn thay đổi thƣ m c cài đặt thì hãy dùng c c phím  và  để di chuyển hộp sáng đến phần Directories, gõ . một bộ chƣơng trình dịch c thể c a ngôn ngữ C – Turbo C+ + và Borland C+ + c a Borland Inc. – MSC và VC c a Microsoft Corp. – GCC c a GNU project… 77 Nội dung 6.1. Lịch sử phát triển 6.2. C c phần. Lịch sử phát triển 6.2. C c phần tử c bản c a ngôn ngữ C 6.3. C u tr c cơ bản c a chƣơng trình C 6.4. Biên dịch chƣơng trình C 6.5. Trình biên dịch Turbo C+ + 39 40 • Preprocessor – Loại bỏ c c. 4 6.1. Lịch sử phát triển • C c phiên bản ngôn ngữ C – ANSI C: C chuẩn (1989) – C c phiên bản kh c thƣờng bổ sung thêm thƣ viện c a ANSI C • Hiện nay c ng c nhiều phiên bản c a ngôn ngữ C kh c nhau,

Ngày đăng: 12/07/2014, 18:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w