Bài giảng Tin học đại cương – Phần 2: Lập trình bằng ngôn ngữ C thông tin đến quý độc giả tổng quan về C; lịch sử phát triển ngôn ngữ lập trình C; các phần tử cơ bản của ngôn ngữ C; cấu trúc cơ bản của một chương trình C, biên dịch chương trình viết bằng C.
VIỆN CÔNG NGHỆ THÔNG TIN SCHOOL OF INFORMATION COMMUNICATION TECHNOLOGY TIN HỌC ĐẠI CƯƠNG PHẦN 2: LẬP TRÌNH BẰNG NGƠN NGỮ C BÀI 1: TỔNG QUAN VỀ NGÔN NGỮ C Ts Nguyễn Thanh Hùng Bài 1:Tổng quan C 1.1 Lịch sử phát triển ngơn ngữ lập trình C 1.2 Các phần tử ngôn ngữ C 1.3 Cấu trúc chương trình C 1.4 Biên dịch chương trình viết C 1.5 Bài tập Bài 1:Tổng quan C 1.1 Lịch sử phát triển ngơn ngữ lập trình C 1.2 Các phần tử ngôn ngữ C 1.3 Cấu trúc chương trình C 1.4 Biên dịch chương trình viết C 1.5 Bài tập 1.1 Lịch sử phát triển NNLT C Ra đời phòng thí nghiệm BELL tập đồn AT&T (Hoa Kỳ) Do Brian W Kernighan Dennis Ritchie phát triển vào đầu 1970, hồn thành 1972 C dựa ngơn ngữ BCPL (Basic Combined Programming Language) ngôn ngữ B Tên ngôn ngữ C tiếp nối ngôn ngữ B 1.1 Lịch sử NNLT C (tiếp) Đặc điểm NNLT C: Là ngơn ngữ lập trình hệ thống mạnh, khả chuyển, có tính linh hoạt cao Có mạnh xử lí dạng liệu số, văn bản, sở liệu Thường sử dụng để viết: Các chương trình hệ thống hệ điều hành (VD Unix: 90% viết C, 10% viết hợp ngữ) Các chương trình ứng dụng chuyên nghiệp có can thiệp tới liệu mức thấp xử lí văn bản, xử lí ảnh… 1.1 Lịch sử NNLT C (tiếp) 1978: C giới thiệu phiên đầu sách "The C programming language" Sau đó, C bổ sung thêm tính khả Đồng thời tồn nhiều phiên khơng tương thích Năm 1989, Viện tiêu chuẩn quốc gia Hoa Kỳ (American National Standards Institute - ANSI) công bố phiên chuẩn hóa ngơn ngữ C: ANSI C hay C chuẩn hay C89 1.1 Lịch sử NNLT C (tiếp) Tất phiên ngôn ngữ C tuân theo mô tả nêu ANSI C, khác biệt có chủ yếu thư viện bổ sung Hiện có nhiều phiên ngơn ngữ C khác nhau, gắn liền với chương trình dịch cụ thể ngôn ngữ C: Turbo C++ Borland C++ Borland Inc MSC VC Microsoft Corp GCC GNU project Bài 1:Tổng quan C 1.1 Lịch sử phát triển ngôn ngữ lập trình C 1.2 Các phần tử ngôn ngữ C 1.3 Cấu trúc chương trình C 1.4 Biên dịch chương trình viết C 1.5 Bài tập 1.2.1 Tập ký tự Chương trình C tạo từ phần tử tập kí tự Các kí tự tổ hợp với tạo thành từ Các từ liên kết với theo quy tắc xác định để tạo thành câu lệnh Từ câu lệnh tổ chức thành chương trình 1.2.1 Tập ký tự (tiếp) 10 1.3 Cấu trúc chương trình C (tiếp) Phần 3: Khai báo hàm nguyên mẫu: Giúp cho chương trình dịch biết thông tin hàm sử dụng chương trình Phần 4: Khai báo biến tồn cục Ví dụ: int a, b; int tong, hieu, tich; 36 1.3 Cấu trúc chương trình C (tiếp) Phần 5: Hàm main( ) Khi thực hiện, chương trình bắt đầu việc thực lệnh hàm main( ) Trong hàm main( ) có lệnh gọi tới hàm khác Phần 6: Nội dung hàm khai báo Cài đặt (viết mã) cho hàm khai báo nguyên mẫu phần 37 1.3 Cấu trúc chương trình C (tiếp) Ví dụ đơn giản: /* Chuong trinh sau se nhap vao tu ban phim so nguyen va hien thi man hinh tong, hieu tich cua so nguyen vua nhap vao */ #include void main() { // Khai bao cac bien chuong trinh int a, b; int tong, hieu, tich; 38 1.3 Cấu trúc chương trình C (tiếp) // Nhap vao tu ban phim so nguyen printf(“\nNhap vao so nguyen thu nhat: ”); scanf(“%d”,&a); printf(“\n Nhap vao so nguyen thu hai: “); scanf(“%d”,&b); // Tinh tong, hieu, tich cua so vua nhap tong hieu tich = = = a+b; a – b; a*b; 39 1.3 Cấu trúc chương trình C (tiếp) // Hien thi cac gia tri man hinh printf(“\n Tong %d”, tong); printf(“\n Hieu %d”, hieu); printf(“\n Tich %d”, tich); cua so vua nhap la cua so vua nhap la cua so vua nhap la // Doi nguoi dung an phim bat ki de ket thuc getch(); } 40 Bài 1:Tổng quan C 1.1 Lịch sử phát triển ngôn ngữ lập trình C 1.2 Các phần tử ngơn ngữ C 1.3 Cấu trúc chương trình C 1.4 Biên dịch chương trình viết C 1.5 Bài tập 41 Quá trình phát triển chương trình C Edit Editor Disk Source Code Preprocess Compile Link Load Preprocessor Disk Compiler Disk Viết chương trình Loại bỏ thích Dịch chị thị tiền xử lý (preprocessor directives) bắt đầu # Dịch chương trình Object Code Linker Disk Executable Code Primary Memory Kết nối tài nguyên (các hàm thư viện file nguồn khác) vào hàm main() tạo file chạy Loader Nạp chương trình dịch vào nhớ Disk Primary Memory Execute CPU Thực chương trình 42 Quá trình biên dịch liên kết chương trình C 44 1.4 Biên dịch chương trình viết C Biên dịch chương trình viết ngôn ngữ C (xem tài liệu phát) Dùng trình biên dịch Turbo C++ 3.0 Cài đặt Turbo C++ 3.0 Viết chương trình Sửa đường dẫn tới thư viện (nếu cần) Biên dịch Chạy chương trình 45 Bài 1:Tổng quan C 1.1 Lịch sử phát triển ngơn ngữ lập trình C 1.2 Các phần tử ngôn ngữ C 1.3 Cấu trúc chương trình C 1.4 Biên dịch chương trình viết C 1.5 Bài tập 46 1.5 Bài tập Bài tập 1: Trong định danh sau, định danh không hợp lệ: MAX_SINH_VIEN CHIEU_CAO ho va ten 1_bien_nao_do so_thuc_1 47 1.5 Bài tập (tiếp) Bài tập 2: Hãy cho biết giá trị nguyên sau chương trình: 0345, 0x168, 06356, 0xAF04 48 1.5 Bài tập (tiếp) Bài tập 3: Cho biết biểu diễn dạng số thực dấu phẩy tĩnh số thực sau: 535.235 E+3 256.89 E-1 10.103 E-5 49 1.2 Các phần tử ngôn ngữ C (tiếp) Bài tập 4: Chạy thử hai chương trình sau xem có chương trình có lỗi khơng? Nếu có lỗi xem trình biên dịch báo lỗi gì? Chương trình 1: void main() { } Chương trình 2: #include #include void fct() { } 50 Câu hỏi ? 51 .. .Bài 1:Tổng quan C 1.1 Lịch sử phát triển ngơn ngữ lập trình C 1.2 C c phần tử ngôn ngữ C 1.3 C u tr c chương trình C 1.4 Biên dịch chương trình viết C 1.5 Bài tập Bài 1:Tổng quan C 1.1 Lịch... với chương trình dịch c thể ngơn ngữ C: Turbo C+ + Borland C+ + Borland Inc MSC VC Microsoft Corp GCC GNU project Bài 1:Tổng quan C 1.1 Lịch sử phát triển ngơn ngữ lập trình C 1.2 C c phần. .. 1.1 Lịch sử phát triển ngôn ngữ lập trình C 1.2 C c phần tử ngơn ngữ C 1.3 C u tr c chương trình C 1.4 Biên dịch chương trình viết C 1.5 Bài tập 1.1 Lịch sử phát triển NNLT C Ra đời phòng thí nghiệm