Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 50 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
50
Dung lượng
1,72 MB
Nội dung
1 1 TIN HỌC ĐẠI CƯƠNG TIN HỌC ĐẠI CƯƠNG PHẦN 2: LẬP TRÌNH BẰNG NGÔN NGỮ C PHẦN 2: LẬP TRÌNH BẰNG NGÔN NGỮ C BÀI 1: TỔNG QUAN VỀ NGÔN NGỮ C BÀI 1: TỔNG QUAN VỀ NGÔN NGỮ C KHOA KHOA C¤NG NGHÖ C¤NG NGHÖ TH¤NG TIN TH¤NG TIN FACULTY OF FACULTY OF INFORMATION TECHNOLOGY INFORMATION TECHNOLOGY 2 2 Bài 1:Tổng quan về C Bài 1:Tổng quan về C 1.1 1.1 . . Lịch sử phát triển ngôn ngữ lập trình C Lịch sử phát triển ngôn ngữ lập trình C 1.2. Các phần tử cơ bản của ngôn ngữ C 1.2. Các phần tử cơ bản của ngôn ngữ C 1.3. Cấu trúc cơ bản của một chương trình C 1.3. Cấu trúc cơ bản của một chương trình C 1.4. Biên dịch chương trình viết bằng C 1.4. Biên dịch chương trình viết bằng C 1.5. Bài tập 1.5. Bài tập 3 3 Bài 1:Tổng quan về C Bài 1:Tổng quan về C 1.1 1.1 . . Lịch sử phát triển ngôn ngữ lập trình C Lịch sử phát triển ngôn ngữ lập trình C 1.2. Các phần tử cơ bản của ngôn ngữ C 1.2. Các phần tử cơ bản của ngôn ngữ C 1.3. Cấu trúc cơ bản của một chương trình C 1.3. Cấu trúc cơ bản của một chương trình C 1.4. Biên dịch chương trình viết bằng C 1.4. Biên dịch chương trình viết bằng C 1.5. Bài tập 1.5. Bài tập 4 4 1.1. Lịch sử phát triển NNLT C 1.1. Lịch sử phát triển NNLT C Ra Ra đời tại phòng thí nghiệm BELL của tập đoàn AT&T đời tại phòng thí nghiệm BELL của tập đoàn AT&T (Hoa Kỳ) (Hoa Kỳ) D D o Brian W. Kernighan và Dennis Ritchie phát triển o Brian W. Kernighan và Dennis Ritchie phát triển vào vào đ đ ầu 1970 ầu 1970 , hoàn thành , hoàn thành 1972 1972 C dựa trên nền các ngôn ngữ BCPL ( C dựa trên nền các ngôn ngữ BCPL ( Basic Combined Basic Combined Programming Language Programming Language ) và ngôn ngữ B ) và ngôn ngữ B . . T T ên là ngôn ngữ C như là sự tiếp nối ngôn ngữ B ên là ngôn ngữ C như là sự tiếp nối ngôn ngữ B . . 5 5 1.1. Lịch sử NNLT C 1.1. Lịch sử NNLT C (tiếp) (tiếp) Đặc điểm của NNLT C: Đặc điểm của NNLT C: L L à một ngôn ngữ lập trình à một ngôn ngữ lập trình h h ệ thống mạnh, ệ thống mạnh, khả chuyển, có tính linh hoạt cao khả chuyển, có tính linh hoạt cao . . C C ó thế mạnh trong xử lí các dạng dữ liệu số, ó thế mạnh trong xử lí các dạng dữ liệu số, văn bản, cơ sở dữ liệu. văn bản, cơ sở dữ liệu. Thường được sử dụng để viết: Thường được sử dụng để viết: Các chương trình hệ thống như hệ điều hành (VD Các chương trình hệ thống như hệ điều hành (VD Unix: 90% viết bằng C, 10% viết bằng hợp ngữ). Unix: 90% viết bằng C, 10% viết bằng hợp ngữ). C C ác chương trình ứng dụng chuyên nghiệp có can ác chương trình ứng dụng chuyên nghiệp có can thiệp tới dữ liệu ở mức thấp như xử lí văn bản, xử thiệp tới dữ liệu ở mức thấp như xử lí văn bản, xử lí ảnh… lí ảnh… 6 6 1.1. Lịch sử NNLT C 1.1. Lịch sử NNLT C (tiếp) (tiếp) 1978: C được giới thiệu trong phiên bản 1978: C được giới thiệu trong phiên bản đầu của đầu của cuốn sách " cuốn sách " The C programming language The C programming language " " Sau đó, C được bổ Sau đó, C được bổ sung thêm những sung thêm những tính năng tính năng và khả năng mới và khả năng mới Đồng thời tồn tại nhiều Đồng thời tồn tại nhiều phiên bản nhưng không tương thích nhau. 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ỳ Năm 1989, Viện tiêu chuẩn quốc gia của Hoa Kỳ ( ( American National Standards Institute American National Standards Institute - ANSI) - ANSI) đã công bố phiên bản chuẩn hóa của ngôn ngữ đã công bố phiên bản chuẩn hóa của ngôn ngữ C C : : ANSI C ANSI C hay hay C chuẩn C chuẩn hay C89 hay C89 7 7 1.1. Lịch sử NNLT C 1.1. Lịch sử NNLT C (tiếp) (tiếp) Tất cả các phiên bản của ngôn ngữ C hiện Tất cả các phiên bản của ngôn ngữ C hiện nay nay đều tuân theo các mô tả đã được nêu ra trong đều tuân theo các mô tả đã được nêu ra trong ANSI C, sự khác biệt nếu có thì chủ yếu ANSI C, sự khác biệt nếu có thì chủ yếu ở các ở các thư viện bổ sung thư viện bổ sung . . Hiện nay cũng có nhiều phiên bản của ngôn ngữ Hiện nay cũng có nhiều phiên bản của ngôn ngữ C khác nhau C khác nhau , , gắn liền với một bộ chương trình gắn liền với một bộ chương trình dịch cụ thể của ngôn ngữ C dịch cụ thể của ngôn ngữ C : : Turbo C++ Turbo C++ và Borland C++ của Borland Inc. và Borland C++ của Borland Inc. MSC v MSC v à VC của Microsoft Corp. à VC của Microsoft Corp. GCC của GNU project. GCC của GNU project. 8 8 Bài 1:Tổng quan về C Bài 1:Tổng quan về C 1.1 1.1 . . Lịch sử phát triển ngôn ngữ lập trình C Lịch sử phát triển ngôn ngữ lập trình C 1.2. Các phần tử cơ bản của ngôn ngữ C 1.2. Các phần tử cơ bản của ngôn ngữ C 1.3. Cấu trúc cơ bản của một chương trình C 1.3. Cấu trúc cơ bản của một chương trình C 1.4. Biên dịch chương trình viết bằng C 1.4. Biên dịch chương trình viết bằng C 1.5. Bài tập 1.5. Bài tập 9 9 1.2.1. Tập ký tự 1.2.1. Tập ký tự Chương trình C được tạo ra từ các phần tử cơ bản là Chương trình C được tạo ra từ các phần tử cơ bản là tập kí tự . tập kí tự . Các kí tự tổ hợp với nhau tạo thành các từ Các kí tự tổ hợp với nhau tạo thành các từ Các từ liên kết với nhau theo một quy tắc xác định để Các từ liên kết với nhau theo một quy tắc xác định để tạo thành các câu lệnh tạo thành các câu lệnh T T ừ các câu lệnh ừ các câu lệnh tổ chức tổ chức thành thành chương trình. chương trình. 10 10 1.2.1. Tập ký tự (tiếp) 1.2.1. Tập ký tự (tiếp) [...]... Là một số nguyên (integer) Có thể nhận giá trị từ - 32768 (- 215) đến 32767 (215 - 1) 17 1.2.4 Các kiểu dữ liệu (tiếp) Trên kiểu dữ liệu int ngôn ngữ C định nghĩa các phép toán số học đối với số nguyên như sau: Đảo dấu: Cộng: Trừ: Nhân: Chia lấy phần nguyên: Chia lấy phần dư: So sánh bằng: So sánh lớn hơn: So sánh nhỏ hơn: - + * / % == > < 18 1.2.5 Hằng số (constant) Là đại lượng... 8 và thêm tiền tố 0 Ví dụ: 03727, 0614 20 1.2.5 Hằng số (tiếp) b Biểu diễn hằng số thực Dưới dạng số thực dấu phẩy tĩnh: Ví dụ: 3.14159 , 123.456 Dưới dạng số thực dấu phẩy động: Ví dụ: 31.4159 E -1 12.3456 E +1 1.23456 E +2 21 1.2.5 Hằng số (tiếp) c Biểu diễn hằng kí tự Bằng kí hiệu của kí tự đó đặt giữa 2 dấu nháy đơn (‘’) Bằng số thứ tự của kí tự đó trong bảng mã ASCII (và lưu ý số thứ tự . ( integer integer ) ) Có thể nhận giá trị từ - 32768 (- 2 Có thể nhận giá trị từ - 32768 (- 2 15 15 ) đến 32767 ) đến 32767 (2 (2 15 15 - 1) - 1) . . 18 18 1.2.4. 1.2.4. Các kiểu dữ. sau: phép toán số học đối với số nguyên như sau: Đảo dấu: Đảo dấu: - - Cộng: Cộng: + + Trừ: Trừ: - - Nhân: Nhân: * * Chia lấy phần nguyên: Chia lấy phần nguyên: / / Chia. của Hoa Kỳ ( ( American National Standards Institute American National Standards Institute - ANSI) - ANSI) đã công bố phiên bản chuẩn hóa của ngôn ngữ đã công bố phiên bản chuẩn hóa của ngôn