1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

192 10 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 192
Dung lượng 557,97 KB

Nội dung

NGƠN NGỮ LẬP TRÌNH C Võ Đức Hồng Email: hoangvd.it@dut.udn.vn Mobile: 0906.477.283 Nội dung          Giới thiệu chung Lệnh nhập/xuất Lệnh điều kiện Lệnh vịng lặp Hàm Kiểu mảng Xâu kí tự Kiểu cấu trúc (struct) kiểu hợp (union) Làm việc với tệp 7-Mar-20 Giới thiệu chung     Ngôn ngữ C đời năm 1972 Phát triển thành C++ vào năm 1983 Ngôn ngữ sử dụng phổ biến Có nhiều trình biên dịch C khác    Turbo C, Borland C GCC Thực hành Turbo C  Cung cấp mơi trường tích hợp cho phép soạn thảo biên dịch 7-Mar-20 Giới thiệu chung  Một số phím soạn thảo Phím 7-Mar-20 Chức  Di chuyển trỏ sang trái, lên, xuống, sang phải Home Đưa trỏ đầu dòng End Đưa trỏ cuối dòng PgUp Đưa trỏ đầu trang hình PgDw Đưa trỏ cuối trang hình Ctrl +  Dịch trỏ sang phải chữ Ctrl +  Dịch trỏ sang trái chữ Giới thiệu chung  Một số phím soạn thảo Chức Phím Enter Xuống dịng Insert Chuyển đổi chế độ chèn/đè Delete Xóa kí tự sau vị trí trỏ Back space Ctrl + Y Ctrl + Q + Y 7-Mar-20 Xóa kí tự trước vị trí trỏ Xóa dịng kí tự chứa trỏ Xóa kí tự từ vị trí trỏ đến cuối dịng Giới thiệu chung  Một số phím soạn thảo Phím Ctrl + K + C Chép khối tới vị trí trỏ Ctrl + K + V Chuyển khối tới vị trí trỏ Ctrl + K + Y Xóa khối Ctrl + K + W Ghi khối vào tệp đĩa Ctrl + K + R Đọc khối từ tệp đĩa Ctrl + Q + B Ctrl + Q + K Dịch chuyển trỏ đầu khối Dịch chuyển trỏ cuối khối Ctrl + Q + F Tìm kiếm cụm từ Ctrl + Q + A Tìm kiếm cụm từ sau thay cụm từ khác Lặp lại công việc Ctrl + Q + F Ctrl + Q + A cuối Ctrl + Q + L 7-Mar-20 Chức Giới thiệu chung  Từ khóa    từ dành riêng ngôn ngữ C từ khóa phải sử dụng cú pháp số từ khóa thơng dụng auto goto short union 7-Mar-20 break case double else if int sizeof static unsigned char extern long struct void continue default float for registerreturn switch typedef volatile while Giới thiệu chung  Tên (identifier)     Dùng để định danh thành phần chương trình Tên biến, tên hàm, tên hằng, … Tên dãy kí tự gồm chữ [a-z, A-Z, 0-9] gạch nối “_” Lưu ý: • tên khơng đuợc chứa kí tự trống, • tên khơng bắt đầu chữ số, • tên khơng trùng với từ khóa   Nên đặt tên gợi nhớ, có ý nghĩa Tên chuẩn: số tên có sẵn trình biên dịch 7-Mar-20 Giới thiệu chung  Hằng   đại lượng có giá trị khơng thay đổi chương trình ví dụ • 111 • ‘b’ • “lap trinh”  Biến   số kí tự chuổi kí tự đại lượng thay đổi giá trị chương trình Biểu thức   cơng thức tính tốn để có giá trị theo qui tắc tốn học ví dụ: x + y * z 7-Mar-20 Giới thiệu chung   Mỗi câu lệnh C phải kết thúc dấu “;” Lời thích đặt hai dấu “/*” “*/”  Ví dụ /* Đây thích */   Khi viết chương trình nên sử dụng lời thích Trình biên dịch C phân biệt chữ in hoa chữ in thường 7-Mar-20 10 Làm việc với tệp văn  Ví dụ: chép tệp tin      Chúng ta muốn sử dụng: mycopy source dest Sử dụng đọc tham số từ dịng lệnh Dịng lệnh đọc tham số hàm main, theo qui ước tham số gọi “argc” “argcv” int main(int argc, char *argv[]) Tham số “argc” chứa số từ dòng lệnh, kế tên chương trình Tham số “argv” chứa danh sách trỏ đến từ dòng lệnh 7-Mar-20 178 Làm việc với tệp văn  Ví dụ: chép tệp tin #include int main(int argc, char *argv[]) { int c; FILE *in, *out; if (argc != 3){ fprintf(stderr,"Cú pháp: 'copy source dest'\n"); return 1; } if ((in = fopen(argv[1],"r")) == NULL){ fprintf(stderr,"Không thể mở tệp: %s\n", argv[1]); perror("Lý do:"); return 1; } if ((out = fopen(argv[2], "w")) == NULL){ fprintf(stderr,"Không thể mở tệp: %s\n", argv[2]); perror("Lý do:"); return 1; } while ((c = fgetc(in)) != EOF) fputc(c, out); fclose(in); fclose(out); return 0; } 7-Mar-20 179 Làm việc với tệp văn  Đọc/Ghi liệu tệp theo định dạng  Đọc liệu theo định dạng fscanf int fscanf(FILE *fp, const char *chuỗi_điều_khiển, danh_sách_đối) • Đọc liệu từ tệp trỏ fp theo định dạng chuỗi điều khiển vào danh cách đối, sử dụng tương tự hàm scanf  Ghi liệu theo định dạng fprintf int fprintf(FILE *fp, const char *chuỗi_điều_khiển, danh_sách_đối) • Ghi liệu vào tệp trỏ fp theo định dạng chuỗi điều khiển từ danh cách đối, sử dụng tương tự hàm printf 7-Mar-20 180 Làm việc với tệp văn  Ví dụ … FILE *in, *out; … int i, j, k; float f; … fscanf(in, "%d|%d|%d|%f", &i, &j, &k, &f); fprintf(out, "%d:%d:%d:%f", i, j, k, f); … 7-Mar-20 181 Làm việc với tệp văn  Ngồi hàm trình bày trên, C cung cấp nhiều hàm khác   Tự tìm hiểu fcloseall, ferror, feof, unlink, remove, fseek, … 7-Mar-20 182 Làm việc với tệp nhị phân  C cho phép thao tác tệp nhị phân       Truy cập tệp cách ngẫu nhiên dễ dàng Dữ liệu đọc ghi khối (blocs) Tệp nhị phân tệp văn có khác xử lí mã chuyển dịng (newline) mã kết thúc tệp (end of file) Hầu hết hàm dùng cho tệp văn sử dụng cho tệp nhị phân, ngoại trừ hàm fgets, fputs Khi sử dụng hàm fopen sử dụng thêm tùy chọn “b” để mở tệp nhị phân Ngoài ra, C cung cấp thêm số hàm đọc ghi riêng cho tệp nhị phân 7-Mar-20 183 Làm việc với tệp nhị phân  Ví dụ 7-Mar-20 #include main() { FILE *out, *in; int i = 11, j = 12; char ch = 'a'; char str[80] = "end."; if ((out = fopen("bifile.dat", "wb")) == NULL){ fprintf(stderr,"impossible to open: bifile.dat\n"); perror("Because:"); exit(1); } fputc(ch, out); fprintf(out, "\n%i:%i\n%s", i, j, str); fclose(out); if ((in = fopen("bifile.dat", "rb")) == NULL){ fprintf(stderr,"impossible to open: bifile.dat\n"); perror("Because:"); exit(1); } ch = fgetc(in); fscanf(in, "%i:%i%s", &i, &j, str); fprintf(stdout, "%c\n%i:%i\n%s\n", ch, i, j, str); fclose(in); } 184 Làm việc với tệp nhị phân  Vấn đề với mã kết thúc tệp     Mã kết thúc tệp kiểu văn 26 (Control-Z) Khi đọc kí tự tệp kiểu văn bản, gặp kí tự giá trị EOF trả kết thúc việc đọc Kiểu nhị phân không không coi mã kết thúc tệp 26 Để đọc tất kí tự tệp, nên đọc kiểu nhị phân 7-Mar-20 185 Làm việc với tệp nhị phân  Ví dụ #include main() { FILE *textfile, *binaryfile; if ((textfile = fopen(“textfile.dat", "w")) == NULL){ fprintf(stderr,"impossible to open: textfile.dat\n"); perror("Because:"); exit(1); } if ((binaryfile = fopen(" binaryfile.dat", “wb")) == NULL){ fprintf(stderr,"impossible to open: binaryfile.dat\n"); perror("Because:"); exit(1); } fputc(‘A’, textfile); fputc(26, textfile); fputc(‘B’, textfile); fputc(‘A’, binaryfile); fputc(26, binaryfile); fputc(‘B’, binaryfile); fcloseall(); } Điều xảy đọc tệp kiểu văn ? 7-Mar-20 186 Làm việc với tệp nhị phân  Vấn đề với mã chuyển dòng (newline)  Đối với kiểu văn • Khi ghi vào tệp mã chuyển dịng ‘\n’, hai kí tự ghi vào tệp ‘\r’ ‘\n’ (kí tự ‘\r’ chuyển cột ‘\n’ chuyển sang dịng mới) • Khi đọc hai kí tự ‘\r’ ‘\n’ nhận biết kí tự ‘\n’  Đối với kiểu nhị phân • Khi ghi vào tệp ‘\n’, kí tự ‘\n’ ghi vào tệp 7-Mar-20 187 Làm việc với tệp nhị phân  Ví dụ … FILE *bf, *tf; … tf = fopen(“txtfile”, “w”); fprintf(“hi\n”); kí tự ghi vào tệp: ‘h’, ‘i’, ‘\r’, ‘\n’ … bf = fopen(“binfile”, “wb”); fprintf(“hi\n”); kí tự ghi vào tệp: ‘h’, ‘i’, ‘\n’ … 7-Mar-20 188 Làm việc với tệp nhị phân  Các hàm đọc/ghi theo kiểu nhị phân      int putw(int n, FILE *fp) dùng để ghi số nguyên (2 bytes) lên tệp int getw(FILE *fp) dùng để đọc số nguyên (2 bytes) từ tệp int fwrite(void *ptr, int size, int n, FILE *fp) dùng để ghi n mẫu tin kích thước size từ vùng nhớ trỏ ptr lên tệp fp, hàm trả số mẫu tin thực ghi int fread(void *ptr, int size, int n, FILE *fp) dùng để đọc n mẫu tin kích thước size từ tệp fp lên vùng nhớ trỏ ptr, hàm trả số mẫu tin thực đọc Các hàm fread fwrite thường dùng để đọc/ghi mẫu tin cấu trúc, số thực, … 7-Mar-20 189 Làm việc với tệp nhị phân  Ví dụ #include main() { FILE *out, *in; int i; if ((out = fopen("bifile.dat", "wb")) == NULL){ fprintf(stderr,"impossible to open: bifile.dat\n"); perror("Because:"); exit(1); } for(i = 0; i 0) fwrite(str, 1, n, out); fclose(in); fclose(out); return 0; } 191 Sinh Viên Làm Bài Tập Lâm Hương Kim Hoàn (2)  Hồng Trang 08h2t4\  Võ Thị Nghĩa  7-Mar-20 192 ... thành C+ + vào năm 1983 Ngôn ngữ sử dụng phổ biến C? ? nhiều trình biên dịch C kh? ?c    Turbo C, Borland C GCC Th? ?c hành Turbo C  Cung c? ??p mơi trường tích hợp cho phép soạn thảo biên dịch 7-Mar-20... chuyển trỏ cuối khối Ctrl + Q + F Tìm kiếm c? ??m từ Ctrl + Q + A Tìm kiếm c? ??m từ sau thay c? ??m từ kh? ?c Lặp lại c? ?ng vi? ?c Ctrl + Q + F Ctrl + Q + A cuối Ctrl + Q + L 7-Mar-20 Ch? ?c Giới thiệu chung ...      C? ?c từ khóa, tên C? ?c kiểu liệu chuẩn C? ?c phép toán C? ??u tr? ?c chung chương trình C C? ?c khai báo Phép gán Phép tăng 1, giảm 7-Mar-20 26 Nội dung          Giới thiệu chung Lệnh

Ngày đăng: 31/12/2021, 21:26

HÌNH ẢNH LIÊN QUAN

PgUp Đưa con trỏ về đầu một trang màn hình PgDw Đưa con trỏ về cuối một trang màn hình Ctrl + Dịch con trỏ sang phải một chữ - Bài giảng Ngôn ngữ lập trình C
g Up Đưa con trỏ về đầu một trang màn hình PgDw Đưa con trỏ về cuối một trang màn hình Ctrl + Dịch con trỏ sang phải một chữ (Trang 4)
 Biểu diễn các kí tự trong bảng mã ASCII - Bài giảng Ngôn ngữ lập trình C
i ểu diễn các kí tự trong bảng mã ASCII (Trang 12)
 Các kí tự để đưa ra màn hình - Bài giảng Ngôn ngữ lập trình C
c kí tự để đưa ra màn hình (Trang 29)
 clrscr(): xóa màn hình - Bài giảng Ngôn ngữ lập trình C
clrscr (): xóa màn hình (Trang 38)
 In ra màn hình các số từ 1 đến 10, mỗi số trên một dòng - Bài giảng Ngôn ngữ lập trình C
n ra màn hình các số từ 1 đến 10, mỗi số trên một dòng (Trang 60)
 Đối hay tham số hình thức - Bài giảng Ngôn ngữ lập trình C
i hay tham số hình thức (Trang 80)
 Nếu hàm không có tham số hình thức có thể sử dụng từ khóa - Bài giảng Ngôn ngữ lập trình C
u hàm không có tham số hình thức có thể sử dụng từ khóa (Trang 82)
 Các tham số hình thức và các biến định nghĩa bên trong hàm (biến cục bộ) chỉ được sử dụng bên trong hàm đó - Bài giảng Ngôn ngữ lập trình C
c tham số hình thức và các biến định nghĩa bên trong hàm (biến cục bộ) chỉ được sử dụng bên trong hàm đó (Trang 84)
• Tham số hình thức hay đối: xuất hiện trong định nghĩa hàm - Bài giảng Ngôn ngữ lập trình C
ham số hình thức hay đối: xuất hiện trong định nghĩa hàm (Trang 85)
• Sau khi hàm kết thúc hoạt động thì các tham số hình thức và các biến cục bộ cũng kết thúc thời gian sống của chúng - Bài giảng Ngôn ngữ lập trình C
au khi hàm kết thúc hoạt động thì các tham số hình thức và các biến cục bộ cũng kết thúc thời gian sống của chúng (Trang 87)
 Do cơ chế biến cục bộ hay tham số hình thức bị giải phóng bộ nhớ khi hàm kết thúc - Bài giảng Ngôn ngữ lập trình C
o cơ chế biến cục bộ hay tham số hình thức bị giải phóng bộ nhớ khi hàm kết thúc (Trang 98)
 Cần phân biệt hai loại tham số hình thức - Bài giảng Ngôn ngữ lập trình C
n phân biệt hai loại tham số hình thức (Trang 100)
 Mảng nhiều chiều: một bảng các phần tử - Bài giảng Ngôn ngữ lập trình C
ng nhiều chiều: một bảng các phần tử (Trang 112)
 Hình dung mảng được xếp thẳng đứng thì sau từng lượt các phần tử nhỏ dần sẽ được nỗi lên như “bọt nổi lên  trong nồi nước đang sôi”  - Bài giảng Ngôn ngữ lập trình C
Hình dung mảng được xếp thẳng đứng thì sau từng lượt các phần tử nhỏ dần sẽ được nỗi lên như “bọt nổi lên trong nồi nước đang sôi” (Trang 126)
nối với màn hình để ghi - Bài giảng Ngôn ngữ lập trình C
n ối với màn hình để ghi (Trang 165)
w