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

Bài giảng ngôn ngữ lập trình C

117 450 0

Đ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 117
Dung lượng 639,5 KB

Nội dung

NGÔN NGỮ LẬP C Giáo viên Vũ Văn Định Bài 1: Tổng quan ngôn ngữ lập trình C  Ngôn ngữ C có số đặc điểm bật sau :  Bộ lệnh phù hợp với phương pháp lập trình cấu trúc  Kiểu liệu phong phú  Một chương trình C gồm nhiều hàm hàm rời  Là ngôn ngữ linh động cú pháp, chấp nhận nhiều cách thể chương trình Ngôn ngữ lập trình C I Hướng dẫn sử dụng môi trương kết hợp Turbo C Khởi động C1: Từ DOS [ đường dẫn ]\ TC.EXE C2: Từ Win C -> TC -> BIN -> TC.EXE C3: Start -> Run -> C:\TC\BIN\TC.EXE Mở File Mở file : File -> New Mở file có: File -> Open Ghi File Save (F2) : Ghi tệp soạn thảo vào đĩa Save as : Ghi tệp soạn thảo vào đĩa theo tên đe lên tệp có Ngôn ngữ lập trình C  Chạy chương trình  F9 : Biên dịch  Ctrl F9 : Thực thi chương trình  Alt F5 : Xem kết  Thoát khỏi C  Thoát tạm thời DOS : Dos Shell  Thoát hẳn khỏi C: File \ Quit ( Alt + X) Ngôn ngữ lập trình C II Giới thiệu ngôn ngữ lập trình C Các thành phần NNLT C  Tập ký tự       Từ khoá    Chữ cái: A Z, a z Chữ số : Ký hiệu toán học : +-*/=() Ký tự gạch nối: _ Các ký hiệu đặc biệt khác : , ; : [ ] { } ? ! \ & | % # $,… Là từ có ý nghĩa hoàn toàn xác định Asm, char, do, int, float, for, do, While,… Tên    Dùng để xác định đại lượng khác chương trình Bắt đầu chữ gạch nối Độ dài cực đại mặc định 32 Ngôn ngữ lập trình C Các kiểu liệu sở C  Kiểu số ký tự (char)  Kiểu số nguyên (int)  Kiểu dấu phẩy động (chính xác đơn (float), xác kép (double))  Kiểu void Ngôn ngữ lập trình C 2.1 Kiểu ký tự (char)  Một giá trị kiểu ký tự (char) chiếm byte nhớ biểu diễn ký tự thông qua bảng mã ASCII  Ví dụ Ký tự Mã ASCII 48 49 50 A 65 a 97 Ngôn ngữ lập trình C  Trong ngôn ngữ C cung cấp hai kiểu ký tự (char) signed char unsigned char Phạm vi signed char unsigned char Ví dụ : Số ký tự -128 127 Kích thước byte 255 byte char ch, ch1; ch= ‘a’ ; ch1= 97; Ngôn ngữ lập trình C 2.2 Kiểu số nguyên (int) Kiểu số nguyên C gồm kiểu sau: Kiểu Kích thước int Phạm vi biểu diễn -32768 -> 32767 Unsigned int -> 65535 byte -2147483648 - byte byte byte Ngôn ngữ lập trình C 2.3 Kiểu số thực hay gọi kiểu dấu phẩy động Kiểu Phạm vi biểu diễn Số chữ số Kích có nghĩa thước float 3.4-38E -> 3.4E+38 7-8 byte double 1.7E-308 -> 1.7E+308 15-16 byte laong double 3.4E-4932 -> 1.1E+4932 17-18 Ngôn ngữ lập trình C 10 byte 10 2.4 Nguyên tắc truy cập đến thành phần cấu trúc  Các thành phần cấu trúc truy nhập thông qua tên biến cấu trúc tên thành phần tên_biến_cấu_trúc.tên_thành_phần Để truy nhập đến thành phần biến hs viết sau: hs.ho_ten hs.diem Chú ý:Không nên sử dụng toán tử & thành phần cấu trúc (đặc biệt thành phần không nguyên) nhập liệu Ngôn ngữ lập trình C 103 2.5 Con trỏ cấu trúc Cách khai báo  Một biến cấu trúc biến nhớ , lấy địa biến cấu trúc toán tử lấy địa & Giá trị trả lại địa đến trường đầu cấu trúc  Có thể khai báo biến trỏ đến cấu trúc để lưu địa biến cấu trúc Cú pháp khai báo biến trỏ cấu trúc sau: struct tên_cấu_trúc *tên_con_trỏ; VD: struct hoc_sinh *ptrhs;  Việc truy xuất đến thành phần cấu trúc thông qua trỏ thực phép toán kép -> Ngôn ngữ lập trình C 104 VD: printf("\nHo va ten hoc sinh %s",ptrhs->ho_ten); printf("\nDiem %6.3f",ptrhs->diem); kết thực hai câu lệnh tương đương với hai câu lệnh sau: printf("\nHo va ten hoc sinh %s",hs.ho_ten); printf("\nDiem %6.3f",hs.diem);  Việc sử dụng trỏ đến cấu trúc thường sử dụng để truyền cấu trúc đến cho hàm  Một ứng dụng khác trỏ cấu trúc dùng để xây dựng cấu trúc tự trỏ như: danh sách liên kết (còn gọi danh sách móc nối) Ngôn ngữ lập trình C 105 2.6 Mảng có cấu trúc Mảng mà gồm thành phần có kiểu cấu trúc gọi mảng cấu trúc Khai báo mảng cấu trúc hoàn toàn tương tự khai báo mảng bình thường, có điểm khác thay cho tên kiểu liệu bình thường tên kiểu liệu cấu trúc Ví dụ khai báo mảng có cấu trúc: struct hoc_sinh dshs[100]; //hoc_sinh kiểu cấu trúc Việc sử dụng mảng cấu trúc làm cho việc xử lý tập hợp biến cấu trúc trở nên dễ nhìn Các quy định mảng áp dụng mảng cấu trúc Ngôn ngữ lập trình C 106 Cấu trúc tự trỏ Cấu trúc có thành phần trỏ đến thân cấu trúc gọi cấu trúc tự trỏ Ví dụ struct h_sinh{ char ho_ten[20]; float diem; } struct h_sinh *next ;/*con trỏ đến học sinh danh sách*/ khai báo định nghĩa cấu trúc tự trỏ dùng để quản lý danh sách họ tên học sinh điểm số học sinh Danh sách truy cập theo chiều Ngôn ngữ lập trình C 107 3.1 Danh sách liên kết: danh sách liên kết gồm phần tử, phần tử có hai vùng chính: vùng liệu danh sách vùng liên kết Vùng liên kết nhiều trỏ đến phần tử trước sau phần tử xem xét tùy thuộc vào yêu cầu công việc cụ thể Cú pháp chung cho khai báo danh sách liên kết sử dụng kiểu liệu trỏ sau: typedef struct kiểu_dữ_liệu{ }t_kiểu_dữ_liệu Ngôn ngữ lập trình C 108 Bài 11: Kiểu tập tin(File)     File loại liệu ghi lên đĩa để dùng nhiều lần.Trong C có loại File, cấu trúc File khác Cấu trúc hình thành ta ghi liệu lên File, phụ thuộc vào hàm mà ta dùng để ghi liệu lên đĩa Trong C có hai loại hàm thao tác file: Dùng hàm cấp thấp làm việc với tập tin thông qua số hiệu tập tin (file handle) Dùng hàm xây dựng từ hàm cấp thấp, dễ sử dụng Có hàm phục vụ cho việc đọc ghi loại liệu (số, chuỗi, ký tự, cấu trúc ) Các hàm làm việc với tập tin thông qua trỏ tập tin Con trỏ xác định ta mở tập tin Ngôn ngữ lập trình C 109 Các kiểu xuất nhập liệu tập tin 1.1 Xuất nhập kiểu nhị phân Dữ liệu ghi lên tập tin không bị thay đổi đóng tập tin mã kết thúc tập tin ghi lên đĩa -1 1.2 Xuất nhập kiểu văn  Chỉ khác kiểu nhập xuất nhị phân xử lý ký tự xuống dòng ta đóng tập tin mã kết thúc tập tin ghi lên đĩa 26  Khi ghi ký tự chuyển dòng lên đĩa (mã 10) ghi thành ký tự mã 13 mã 10  Khi đọc gặp hai ký tự liên tiếp mã 10 mã 13 gom lại thành ký tự mã 10 Ngôn ngữ lập trình C 110 Chú ý:  Tập tin ghi lên đĩa dạng phải đọc dạng Nếu không việc xử lý không xác  Trong C có hàm dùng để nhập xuất cho hai kiểu, có hàm dùng để nhập xuất cho kiểu Các hàm thao tác tập tin  Các hàm sau dùng chung cho hai kiểu nhị phân văn 2.1 Mở file FILE *fopen(const char *tên_tập_tin,const char *kiểu); Ngôn ngữ lập trình C 111    Mở tập tin Nếu thành công trả kết trỏ FILE tương ứng với file vừa mở, ngược lại trả giá trị NULL.Sau mở file phải kiểm tra xem thao tác mở tập tin thành công hay không * tên tập tin: Là chuỗi, trỏ đến vùng nhớ chứa tên tập tin * kiểu: chuỗi cho biết kiểu truy nhập: Ngôn ngữ lập trình C 112 2.2 Đóng file int fclose(FILE *f)  Ðóng tập tin đến trỏ f Nếu thành công giá trị hàm = ngược lại có giá trị EOF Sau đóng trỏ f không trỏ đến file trước 2.3 Làm vùng đệm int fflush(FILE *f)  Làm vùng đệm tập tin đến trỏ f Nếu thành công cho giá trị 0, ngược lại cho giá trị EOF int flushalll(void)  Làm vùng đệm tất tập tin mở Nếu thành công giá trị hàm số tập tin mở, ngược lại cho giá trị EOF Ngôn ngữ lập trình C 113 2.4 Xoá tập tin int unlink(const char *tên_tập_tin)  Xóa tập tin đĩa Nếu thành công giá trị hàm , ngược lại cho giá trị EOF 2.5 Đổi tên tập tin int rename(const char *tên_cũ,const char *tên_mới)  Ðổi tập tin đĩa Nếu thành công giá trị hàm , ngược lại cho giá trị EOF 2.6 Kiểm tra kết thúc tập tin int feof(FILE *f)  Cho giá trị khác không cuối tập tin, ngược lại =0 Ngôn ngữ lập trình C 114 Xuất nhập liệu cho file 3.1 Nhập xuất ký tự : (file kiểu nhị phân văn bản)  Ghi ký tự lên tập tin: int putc(int ch, FILE *f) int fputc(int ch, FILE *f) Ghi lên file f ký tự có mã = ch % 256 Nếu thành công kết = mã ký tự ghi, ngược lại =EOF (-1) Trong trường hợp ghi theo văn gặp mã 10 ghi thành 13 10  Ðọc ký tự từ tập tin: int getc( FILE *f) int fgetc( FILE *f) Ðọc ký tự từ file f Nếu thành công kết = mã ký tự đọc được, ngược lạitrình = -1C Ngôn ngữ lập 115 3.2 Nhập xuất chuỗi: (Dùng cho kiểu văn bản)  Ghi chuỗi: int fputs(const char *s, FILE *f) Ghi chuỗi tới bới trỏ s vào file f Kết = ký tự cuối ghi thành công, ngược lại =EOF  Ðọc chuỗi: char *fgets(const char *s, int n, FILE *f) Ðọc chuỗi từ File f đưa vào vùng nhớ s trỏ đến Việc đọc kết thúc đọc n-1 ký tự , gặp ký tự xuống dòng , gặp ký tự kết thúc File Nếu việc đọc có lỗi kết hàm =NULL Ngôn ngữ lập trình C 116 3.3 Ðọc ghi liệu theo khuôn dạng: (Dùng cho kiểu văn bản)  Ghi liệu theo khuôn dạng: int fprintf(FILE *f , const char *đặc tả, ) danh sách đối số tương ứng với đặc tả Sử dụng giống hàm printf, liệu ghi lên file  Ðọc liệu theo khuôn dạng: fscanf(FILE *f , const char *đặc tả, ) danh sách đối số tương ứng với đặc tả Sử dụng giống hàm scanf, liệu đọc từ File f đưa vào đối số tương ứng Ngôn ngữ lập trình C 117

Ngày đăng: 14/07/2016, 22:29

TỪ KHÓA LIÊN QUAN

w