Bài giảng tin học đại cương bài 6 đh bách khoa hà nội

13 195 0
Bài giảng tin học đại cương  bài 6   đh bách khoa hà nội

Đ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

Nội dung TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG 6.1 Lịch sử ph|t triển 6.2 C|c phần tử ngôn ngữ C 6.3 Cấu trúc 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++ TIN HỌC ĐẠI CƯƠNG Phần Lập trình C Bài 6: Tổng quan ngôn ngữ C Nội dung 6.1 Lịch sử ph|t triển 6.1 Lịch sử ph|t triển 6.2 C|c phần tử ngôn ngữ C 6.3 Cấu trúc 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++ • Ngôn ngữ C đời phòng thí nghiệm BELL tập đo{n AT&T (Hoa Kỳ) • Do Brian W Kernighan Dennis M Ritchie ph|t triển v{o đầu 1970, hoàn thành 1972 • C dựa c|c ngôn ngữ BCPL (Basic Combined Programming Language) ngôn ngữ B • Tên l{ ngôn ngữ C l{ tiếp nối ngôn ngữ B 6.1 Lịch sử ph|t triển 6.1 Lịch sử ph|t triển • Đặc điểm ngôn ngữ lập trình C • 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 – Ngôn ngữ lập trình hệ thống – Tính khả chuyển, linh hoạt cao – Có mạnh xử lý liệu số, văn bản, sở liệu • C thường sử dụng để viết 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… 6.1 Lịch sử ph|t triển Nội dung • Các phiên ngôn ngữ C 6.1 Lịch sử ph|t triển 6.2 C|c phần tử ngôn ngữ C 6.3 Cấu trúc 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++ – ANSI C: C chuẩn (1989) – Các phiên khác thường bổ sung thêm thư viện ANSI C • 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 v{ VC Microsoft Corp – GCC GNU project… Ví dụ chương trình C đơn giản 6.2.1 Tập ký tự #include #include void main(){ printf(“Hello World\n”); getch(); } • Tập ký tự l{ tập c|c phần tử 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.2.1 Tập ký tự 6.2.2 Từ khóa • Tập ký tự C • Từ khóa (keyword) – 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ố: – 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 – Có sẵn 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 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ú ý: – C ngôn ngữ phân biệt chữ hoa, chữ thường – Tất từ khóa C viết chữ thường 11 12 6.2.2 Từ khóa 6.2.3 Định danh • Một số từ khóa hay dùng Turbo C • Định danh (Identifier – gọi l{ Tên) l{ d~y c|c kí tự dùng để gọi tên c|c đối tượng chương trình • C|c đối tượng chương trình – Biến – Hằng số – Hàm – Kiểu liệu… (sẽ l{m quen c|c mục sau) • Định danh đặt – Ngôn ngữ lập trình → c|c từ khóa – Người lập trình 13 14 6.2.3 Định danh 6.2.3 Định danh • Quy tắc đặt tên định danh C • Ví dụ – C|c kí tự sử dụng: chữ c|i, chữ số v{ dấu gạch “_” (underscore) – Bắt đầu định danh phải l{ chữ c|i dấu gạch “_”, không bắt đầu định danh chữ số – Định danh người lập trình đặt không trùng với từ khóa C – Đị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 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 ngôn ngữ C) 15 16 6.2.3 Định danh 6.2.4 C|c kiểu liệu • Một số quy ước (code convention) • Định nghĩa: – Nên sử dụng dấu gạch để 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 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 – Một kiểu liệu l{ tập hợp c|c gi| trị m{ liệu thuộc kiểu liệu nhận – Trên kiểu liệu ta x|c định số phép to|n c|c liệu thuộc kiểu liệu • Ví dụ: – Kiểu liệu int (số nguyên) C – Một liệu thuộc kiểu liệu int • L{ số nguyên • Nhận gi| trị từ từ - 32,768 (- 215) đến 32,767 (215 - 1) 17 18 6.2.4 C|c kiểu liệu 6.2.5 Hằng số • Ví dụ (tiếp) • Định nghĩa: – Hằng số (constant) l{ đại lượng có gi| trị không đổi chương trình • Biểu diễn số ngôn ngữ C: – Một số phép to|n định nghĩa kiểu liệu int C Tên phép toán Đảo dấu Cộng Trừ Nhân Chia lấy phần nguyên Chia lấy phần dư So sánh Ký hiệu + * / % >, =, tu}n thủ quy tắc biểu diễn số nguyên) • Ví dụ: • Ví dụ Ký tự cần biểu diễn Cách – “ngon ngu lap trinh C” – “Tin hoc dai cuong” – “Dai hoc Bach Khoa Ha Noi” Cách Chữ c|i A ‘A’ 65, 0x41, 0101 Số ‘1’ 49, 0x31, 061 Dấu nh|y đơn ‘\’’ 39, 0x27, 047 Ký tự tab ‘\t’ 9, 0x09, 011 23 24 6.2.6 Biến Ví dụ Minh họa sử dụng biến • Định nghĩa: #include #include #define PI 3.14 void main(){ float r, s;//Hai biến r, s thuộc kiểu số thực printf(“Nhap ban kinh hinh tron:“); scanf(“%f”,&r); s = PI * r * r; printf(“Dien tich hinh tron %f\n”,s); getch(); } – Biến (variable) l{ đại lượng m{ gi| trị thay đổi chương trình • Biến phải thuộc kiểu liệu n{o • Biến sử dụng để lưu trữ liệu, phục vụ cho xử lý tính to|n chương trình • Biến phải đặt tên theo qui tắc đặt tên • Chú ý: – Biến cấp ph|t vùng nhớ nhớ chính, không 25 Ví dụ 26 6.2.7 Hàm #include #include void main(){ float a, b, x; printf(“Nhap he so a khac 0“);scanf(“%f”,&a); printf(“Nhap he so b, b=“);scanf(“%f”,&b); x = -b/a; printf(“Nghiem cua phuong trinh %f”,x); getch(); } 27 • Mô tả: – H{m (function) l{ chương trình có chức nhận liệu đầu v{o (c|c tham số đầu v{o), thực chức n{o v{ đưa c|c kết • loại h{m: – H{m có sẵn thư viện – H{m người lập trình định nghĩa (viết ra) 28 6.2.7 Hàm 6.2.8 Biểu thức • Ví dụ h{m có sẵn thư viện: • Định nghĩa: – Biểu thức l{ ghép nối c|c to|n tử (operator) v{ c|c to|n hạng (operand) theo quy tắc x|c định – C|c to|n hạng l{ biến, – C|c to|n tử đa dạng: cộng, trừ, nh}n, chia • Ví dụ: Biểu thức tính biệt thức delta b*b – 4*a*c - a, b, c, l{ c|c to|n hạng - C|c to|n tử (phép to|n): *, - – Thư viện stdio.h h{m: scanf, printf, … – Thư viện math.h h{m: pow, sin, cos, sqrt, … 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 x Sin(x) sin(0)=0 cos(x) Cos x Cos(x) cos(0)=1 29 30 6.2.9 C}u lệnh 6.2.9 C}u lệnh • Câu lệnh (statement) diễn tả một nhóm thao tác giải thuật • Chương trình tạo thành từ dãy câu lệnh • Cuố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 • Có loại nhóm câu lệnh – Nhóm câu lệnh đơn: câu lệnh không chứa câu lệnh khác – Ví dụ: • Lệnh gán: delta = 100; • Lệnh xuất hình: printf(« Hello World »); – Nhóm câu lệnh phức: câu lệnh chứa câu lệnh khác – Ví dụ • Lệnh khối đặt cặp ngoặc nhọn { } 31 32 6.2.10 Chú thích Nội dung • Chú thích (comment): 6.1 Lịch sử ph|t triển 6.2 C|c phần tử ngôn ngữ C 6.3 Cấu trúc 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++ – Lời mô tả, giải thích vắn tắt cho câu lệnh, đoạn chương trình chương trình – Giúp việc đọc hiểu chương trình dễ dàng – Chú thích câu lệnh -> không ảnh hưởng tới chương trình • Cách viết thích: C có hai cách – Chú thích dòng: sử dụng « // » – Chú thích nhiều dòng: sử dụng « /* » « */ » 33 34 Ví dụ Ví dụ #include void main(){ // Khai bao cac bien int a, b; int tong, hieu, tich; // Nhap vao tu ban phim so nguyen printf(“\n Nhap 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 tong = a+b; hieu = a – b;tich = a*b; // Hien thi cac gia tri man hinh printf(“\n Tong cua so vua nhap la %d”, tong); printf(“\n Hieu cua so vua nhap la %d”, hieu); printf(“\n Tich cua so vua nhap la %d”, tich); // Doi nguoi dung an phim bat ki getch(); } 35 36 6.3 Cấu trúc chương trình C 6.3 Cấu trúc chương trình C • Phần 1: Khai b|o tệp tiêu đề: • Gồm phần có thứ tự sau: – Thông b|o cho chương trình dịch biết l{ chương trình có sử dụng thư viện n{o – VD: #include // thao tác vào #include // h{m DOS Phần 1: Khai b|o tệp tiêu đề: #include Phần 2: Định nghĩa kiểu liệu mới: typedef Phần 3: Khai b|o c|c h{m nguyên mẫu • Phần 2: Định nghĩa c|c kiểu liệu – Định nghĩa c|c kiểu liệu (nếu cần) dùng cho chương trình Phần 4: Khai b|o c|c biến to{n cục Phần 5: H{m main() Phần 6: Nội dung c|c h{m đ~ khai b|o 38 37 6.3 Cấu trúc chương trình C 6.3 Cấu trúc chương trình C • Phần 3: Khai b|o c|c h{m nguyên mẫu: • Phần 5: Hàm main( ) – Khi thực hiện, chương trình bắt đầu việc thực c|c lệnh h{m main( ) – Trong hàm main( ) có lệnh gọi tới c|c hàm khác – Giúp cho chương trình dịch biết thông tin c|c h{m sử dụng chương trình • Phần 4: Khai b|o c|c biến to{n cục • Phần 6: Nội dung c|c h{m đ~ khai b|o – Ví dụ: int a, b; int tong, hieu, tich; – C{i đặt (viết m~) cho c|c h{m đ~ khai b|o nguyên mẫu phần 39 40 10 Nội dung 6.4 Biên dịch chương trình C • Preprocessor – Loại bỏ c|c thích – Dịch c|c chị thị tiền xử lý bắt đầu l{ # • C Compiler – Biên dịch m~ nguồn th{nh m~ assembly • Assembler – Tạo m~ object • Trên UNIX  file o • Trên MS-DOS  file.OBJ • Link Editor – Nếu tệp nguồn tham chiếu đến c|c h{m thư viện/h{m định nghĩa Link editor kết hợp c|c h{m n{y với h{m main() để tạo tệp thực thi • Trong MS-DOS file exe 6.1 Lịch sử ph|t triển 6.2 C|c phần tử ngôn ngữ C 6.3 Cấu trúc 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 42 Nội dung 6.5.1 Giới thiệu 6.1 Lịch sử ph|t triển 6.2 C|c phần tử ngôn ngữ C 6.3 Cấu trúc 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++ • 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++ hãng Borland – MSC Microsoft – GCC GNU – Dev C++ Bloodshed Software • Turbo C++ có nhiều phiên – Phiên lựa chọn: Turbo C++ 3.0 43 44 11 6.5.2 C{i đặt v{ sử dụng Turbo C++ 3.0 6.5.2 C{i đặt v{ sử dụng Turbo C++ 3.0 Cài đặt • B1: Chuẩn bị c{i Turbo C++ 3.0 (~4 MB) Copy c{i n{y v{o m|y bạn, giả sử v{o thư mục C:\TC_Setup • B2: Đến thư mục chứa c{i Turbo C++ 3.0 (như giả sử 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 yêu cầu bạn ổ đĩa chứa c{i Turbo C++ 3.0 – Enter the SOURCE drive to use: – H~y nhập v{o tên ổ đĩa, chẳng hạn C (ta để c{i Turbo C++ 3.0 thư mục C:\TC_Setup) • 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 Turbo C++ 3.0 – Enter the SOURCE Path: – Thông thường chương trình tự tìm cho bạn, v{ bạn cần ấn Enter để chuyển sang bước • B4: X|c định thư mục c{i đặt Thư mục n{y chứa c|c file Turbo C++ 3.0 để bạn sử dụng sau n{y – Directories… [C:\TC] – Option…[IDE CMD LIB CLASS BGI HELP EXMPL] 45 46 6.5.2 C{i đặt v{ sử dụng Turbo C++ 3.0 6.5.2 C{i đặt v{ sử dụng Turbo C++ 3.0 • Start Installation • Giao diện sử dụng chương trình • Thư mục c{i đặt mặc định l{ \TC nằm thư mục gốc ổ đĩa chứa c{i Nếu bạn muốn thay đổi thư mục c{i đặt h~y dùng c|c phím   để di chuyển hộp s|ng đến phần Directories, gõ Enter v{ nhập v{o đường dẫn mới, sau ấn phím Esc để trở • Dùng phím   để di chuyển hộp s|ng đến phần Start Installation v{ ấn Enter Chương trình tự động thực v{ ho{n tất qu| trình c{i đặt cho bạn • Lưu ý: Bạn copy to{n thư mục đ~ c{i đặt Turbo C++ 3.0 m|y v{ sử dụng, bạn phải cho Turbo C++ biết đường dẫn tới c|c tệp tiêu đề v{ c|c tệp thư viện c|ch v{o menu Option, chọn Directories 47 48 12 6.5.2 C{i đặt v{ sử dụng Turbo C++ 3.0 6.5.2 C{i đặt v{ sử dụng Turbo C++ 3.0 • Khởi động chương trình: tìm đến thư mục BIN thư mục c{i đặt v{ chạy file TC.EXE • Tạo cửa sổ soạn thảo mới: chọn menu File (hoặc ấn Alt-F), sau chọn mục New để mở cửa sổ soạn thảo – Gõ chương trình nguồn v{o cửa số soạn thảo – Lưu chương trình với tên file,ví dụ: HelloWorld.cpp Video: Setup TurboC 49 • Biên dịch chương trình: bấm F9 • Chạy chương trình: Ctrl + F9 50 6.5.2 C{i đặt v{ sử dụng Turbo C++ 3.0 Video: Sử dụng TurboC 51 13 [...]... thực thi được • Trong MS-DOS là file exe 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 42 Nội dung 6. 5.1 Giới thiệu 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++ • Trình biên... tiếp theo • B4: X|c định thư mục 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] 45 46 6.5.2 C{i đặt v{ sử dụng Turbo C++ 3.0 6. 5.2 C{i đặt v{ sử dụng Turbo C++ 3.0 • Start Installation • Giao diện sử dụng của chương trình • 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... 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 phiên bản – Phiên bản lựa chọn: Turbo C++ 3.0 43 44 11 6. 5.2 C{i đặt v{ sử dụng Turbo C++ 3.0 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.. .Nội dung 6. 4 Biên dịch chương trình C • Preprocessor – Loại bỏ c|c chú thích – Dịch c|c chị thị tiền xử lý bắt đầu l{ # • C Compiler – Biên dịch m~ nguồn th{nh m~ assembly • Assembler – Tạo ra m~ object •... đặt của Turbo C++ 3.0 về m|y v{ sử dụng, nhưng bạn phải chỉ cho Turbo C++ biết đường dẫn tới c|c tệp tiêu đề v{ c|c tệp thư viện bằng c|ch v{o menu Option, chọn Directories 47 48 12 6. 5.2 C{i đặt v{ sử dụng Turbo C++ 3.0 6. 5.2 C{i đặt v{ sử dụng Turbo C++ 3.0 • Khởi động chương trình: tìm đến thư mục BIN trong thư mục c{i đặt v{ chạy file TC.EXE • Tạo cửa sổ soạn thảo mới: chọn menu File (hoặc ấn Alt-F),... soạn thảo mới – Gõ chương trình nguồn v{o cửa số soạn thảo – Lưu chương trình với tên file,ví dụ: HelloWorld.cpp Video: Setup TurboC 49 • Biên dịch chương trình: bấm F9 • Chạy chương trình: Ctrl + F9 50 6. 5.2 C{i đặt v{ sử dụng Turbo C++ 3.0 Video: Sử dụng TurboC 51 13 ... số nguyên • Nhận gi| trị từ từ - 32, 768 (- 215) đến 32, 767 (215 - 1) 17 18 6. 2.4 C|c kiểu liệu 6. 2.5 Hằng số • Ví dụ (tiếp) • Định nghĩa: – Hằng số (constant) l{ đại lượng có gi| trị không đổi... lục ph}n Gi| trị b|t ph}n 2007 0x7D7 03727 3 96 0x18C 061 4 Số thực dấu phẩy động 3.14159 31.4159 E-1 123.4 56 12.34 56 E+1 1.234 56 E+2 21 22 6. 2.5 Hằng số 6. 2.5 Hằng số • Biểu diễn ký tự: C, ký tự... ph|t triển 6. 2 C|c phần tử ngôn ngữ C 6. 3 Cấu trúc 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 42 Nội dung 6. 5.1 Giới thiệu 6. 1 Lịch sử ph|t triển 6. 2 C|c phần

Ngày đăng: 04/12/2015, 07:56

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan