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

Tổng quan về ngôn ngữ lập trình C

116 0 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

Nội dung

Ngôn ng C có m t s các đ c đi m n i 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 d li u phong phú. ể ữ ệ ◦ M t chương trình C bao gi cũng g m m t ho c ộ ờ ồ ộ ặ nhi u hàm và các hàm r i nhau. ề ờ ◦ Là ngôn ng linh đ ng v cú pháp, ch p nh n ữ ộ ề ấ ậ nhi u cách th hi n chương trình . ề ể ệ 12112012 2 Bài 1: T ng quan v ngôn ng l p ổ ề ữ ậ trình CI. Hướng dẫn sử dụng môi trương kết hợp Turbo C 1. 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 2. Mở File Mở file mới : File > New Mở file đã có: File > Open 3. Ghi File Save (F2) : Ghi tệp mới đang soạn thảo vào đĩa Save as : Ghi tệp đang soạn thảo vào đĩa theo tên mới hoặc đe lên tệp đã có

Click to edit Master subtitle style 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 ho ặc 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  12/11/2012 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ó 12/11/2012  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) 12/11/2012 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ự      ◦ 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 : , ; : [ ] { } ? ! \ & | % # $,… Từ khoá  Là từ có ý nghĩa hồn tồ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 12/11/2012 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 12/11/2012 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 12/11/2012  Trong ngôn ngữ C cung cấp hai kiểu ký tự (char) signed char unsigned char Phạm vi Số ký tự Kích thước signed char -128 127 byte 255 byte unsigned char Ví dụ : char ch, ch1; ch= ‘a’ ; ch1= 97; 12/11/2012 2.2 Kiểu số nguyên (int) Kiểu Phạm vi biểu diễn Kích thước int -32768 -> 32767 byte Unsigned int -> 65535 byte -2147483648 - byte byte 12/11/2012 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ố có nghĩa Kích 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 10 byte 12/11/2012 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 tố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 12/11/2012 102 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 -> 12/11/2012 103 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) 12/11/2012 104 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 12/11/2012 105 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 12/11/2012 106 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 12/11/2012 107 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 12/11/2012 108 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 12/11/2012 109 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); 12/11/2012 110    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: 12/11/2012 111 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 cịn 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 12/11/2012 112 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 ị c 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 ị c 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 12/11/2012 113 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ại = -1 12/11/2012 114 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 12/11/2012 115 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 12/11/2012 116

Ngày đăng: 05/06/2023, 21:58

w