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

Slide cở sở lập trình

163 471 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 163
Dung lượng 1,3 MB

Nội dung

sở lập trình GV: Hoàng kim bảng Email : bang_hoang@yahoo.com sở lập trình - Tài liệu: 1- Kỹ thuật lập trình, Hoàng Kim Bảng, Trờng đại học Mỏ - Địa chất, 2009 2- Ngôn ngữ lập trình C, Hoàng Kim Bảng, Tr ờng đại học Mỏ - Địa chất, 2005 3- Nhập môn ngôn ngữ lập trình C, Nguyễn Thanh Thủy (chủ biên) 4- Kỹ thuật lập trình C sở nâng cao, GS Phạm Văn ất - Mục đích môn học: Nhằm trang bị kiến thức lập trình ngôn ngữ C gồm: yếu tố C, lệnh điều khiển, trỏ, hàm, kiểu liệu struct, đồ họa, thao tác vào với tệp - Yêu cầu: Nắm đợc lý thuyết, khả lập trình C để giải toán đơn giản - Phần mềm: TURBO C 3.0, C-Free - Cách học: Viết nhiều chơng trình C tốt (chú trọng nâng cao kỹ thực hành máy tính) Nghĩa phải làm tập ti lớp, bi cuối chơng, tập thực hành Chơng 1: Các yếu tố ngôn ngữ lập trình C 1.1 Lịch sử hình thành phát triển Ngôn ngữ C Brian W Kernighan Dennis M Ritchie phát triển vào đầu năm 70 1978, sách "The C programming langguage" hai tác giả đợc phổ biến rộng rãi 1983, Viện tiêu chuẩn Qc gia Mü (ANSI) ®Ị xt chn cho C 1988, chuẩn ANSI C đợc ban hành Hiện chơng trình dịch C nh: TURBO C, BORLAND C, C Free, VISUAL C 1.2 C¸c tÝnh chÊt cđa C - C ngôn ngữ vạn đợc dùng để viết hệ điều hành, chơng trình ứng dụng nh quản lý văn bản, sở liệu - C mức độ thích nghi cao, C đợc sử dụng rộng rãi - C cấu trúc điều khiển nh: nhóm câu lệnh; lựa chọn định (if, switch); chu trình (for, while, while) - C cung cấp trỏ khả định địa số học - C cho phép hàm đợc gọi đệ quy - C tơng đối thoải mái chuyển đổi liệu 1.3 Từ vựng 1.3.1 Tập ký tự ca ngôn ngữ C 26 chữ hoa: A, B, , X, Y, Z 26 chữ thưêng: a, b, , x, y, z 10 ch÷ sè : 0, 1, 2, , C¸c ký hiƯu to¸n häc: +, -, *, /, =, (, ) Ký tự gạch nối: _ (chú ý phân biệt với dấu trừ - ) Các ký tự đặc biệt nh: [ ] { } , ; : & # % $ Dấu cách: khoảng trống dùng để tách từ 1.3.2 Từ khóa Là từ dành riêng cho ngôn ngữ C, chúng ý nghĩa xác định đợc sử dụng để khai báo kiểu liệu, để viết toán tử , câu lệnh Chú ý: - Không dùng từ khóa để đặt tên 1.3.3 Tên Là dãy ký tự (chữ cái, chữ số, dấu gạch nối), ký tự tên phải chữ dấu gạch nối Độ dài cực đại tên mặc định 32 Chú ý: Trong tên, chữ hoa chữ thờng đợc xem khác Ví dụ: tên AB khác với tên ab Trong C, thờng dùng chữ hoa để đặt tên cho hằng, dùng chữ thờng để đặt tên cho đại lợng khác nh biến, mảng, hàm, cấu trúc 1.3.4 Các kiểu liệu Tên kiểu ý nghĩa Ph¹m vi KÝch thư íc unsigned char Ký tù  255 byte char Ký tù -128  127 byte unsigned int Sè nguyªn  65535 byte int Sè nguyªn -32768  32767 byte unsigned long Sè nguyªn  4294967295 byte long Sè nguyªn -2147483648 2147483647 float Sè thùc dÊu 3.4E-38  3.4E+38 chấm động, độ xác đơn byte double Số thực dấu 1.7E-308 1.7E+308 chấm động, độ xác kÐp byte long double  byte Sè thùc dÊu 3.4E-4932  10 byte chÊm ®éng, ®é 1.1E+4932 KiĨu void kiểu không giávà trị dùng để biểu diễn kết xác lớn hàm hay kép trỏ 1.3.5 Hằng Hằng đại lợng giá trị không đổi thực chơng trình hai cách khai báo hng ngôn ngữ C: (1) Khai b¸o h»ng dïng tõ khãa const: ph¸p: const < tên hằng> = ; VD: const int MAX = 100 ; (2) Khai b¸o dùng tóan tử #define: Cú pháp: #define VD: #define MAX 100 Các loại hằng: (1) Hằng thực: Cách 1: Dạng thập phân (dạng dấu chấm tĩnh), VD: 1.23 Cách 2: Dạng khoa học (dạng dấu chấm động), VD: 0.12E3, 1.2E2, 12.E1 v.v (2) Hằng nguyên kiểu int: Là số nguyên giá trị khoảng từ -32768 đến 32767 (3) Hằng nguyên kiểu long: đợc viết theo cách thêm L l vào đuôi, ví dụ: -48935L, -48935l (4) Hằng nguyên hệ 8: đợc viết theo cách: 0c1c2c3 Bắt đầu số 0, ci số nguyên khoảng từ đến (5) Hằng nguyên hệ 16: đợc viết theo cách: 0xc1c2c3 0Xc1c2c3 Bắt đầu số chữ x (hoặc X), ci 6.6 Cắt hình, dán hình tạo hình ảnh chuyển động - Hàm: imagesize ( int x1, int y1, int x2, int y2 ) ; tr¶ vỊ sè byte cần thiết để lu trữ ảnh phạm vi hình chữ nhật (x1,y1,x2,y2) - Hàm: getimage (int x1,int y1,int x2,int y2,void *bitmap) ; chép điểm ảnh hình chữ nhật (x1,y1,x2,y2) thông tin bề cao bề rộng hình chữ nhật vào vùng nhớ bitmap trá tíi - Hµm: putimage (int x, int y,void *bitmap, int copymode ) ; Tạo ảnh chuyển động: Nguyên tắc: - Vẽ hình (trong chuỗi hình mô tả chyển động) - Delay (trễ) - Xóa hình - Vẽ hình - Delay Chơng - Thao tác vào tệp (File) 7.1 Khái niệm Ngôn ngữ C hai loại file: - File nhị phân: Thờng dùng để ghi cấu trúc - File văn (text): Dùng để ghi liệu dạng ký tự 7.2 Các hàm thao tác với tệp 7.2.1 Khai b¸o file FILE * ; 7.2.2 Më file FILE *fopen(, ); Trong đó: : Là tên tệp đợc mở (bao gồm đ ờng dẫn, ngôn ngữ C phải ý dấu gach chéo phân cách đờng dẫn hai gạch \\ ) : Lµ kiĨu truy nhËp mở file, đợc biểu diễn xâu ký tự cho biết tệp nh làGhi đọc, Kiểu Chếkiểu độ më ý nghÜa chó ghi, hay KiĨu truy nhËp cã thể là: filecả hai mở Nhị phân rb Mở để ®äc File ®· cã “wb” Më ®Ĩ ghi T¹o file míi “ab” Më ®Ĩ sung “r+b” “w+b” “a+b” bỉ File tạo File Mở để đọc Tạo file ghi File tạo Kiểu file Chế độ mở r hay rt “w” “wt” ý nghÜa Ghi chó Më ®Ĩ ®äc File ®· cã hay Më ®Ó ghi “a” hay “at” Më ®Ĩ sung Văn “r+” hay “r+t” T¹o file míi bổ File tạo File w w+t hay Mở để đọc Tạo file ghi a a+t hay File tạo VÝ dô: FILE *t_vao, *t_ra; t_vao = fopen(“dulieu.in”, “r”); t_ra = fopen(“ketqua.out”, “w”) ; 7.2.3 §ãng file fclose (FILE *fp); 7.2.4 Đọc file (a) Đọc file theo kiểu văn (theo khuôn dạng): int fscanf(FILE *fp, ,); Trong đó: fp: trỏ tệp : chuỗi điều khiển quy cách đọc : D/sách địa biến cần nhập liƯu tõ file VÝ dơ: fscanf(fp, “ %d%d%d”, &ngay, &thang, &nam); (b) Đọc ký tự từ file văn bản: int fgetc(FILE *fp); Trong đó: fp trỏ tệp Hàm fgetc thực việc đọc ký tự từ tệp, thành công cho mã đọc đợc , gặp cuối tệp hay lỗi, hàm cho EOF VÝ dơ: c = fgetc(fp); // §äc mét ký tù từ tệp lu vào biến c (c) Đọc dãy ký tự từ tệp văn bản: char *fgets (char *s, int maxchar, FILE *fp); Trong đó: fp trỏ tệp s: Con trỏ kiểu char maxchar: Là độ dài cực đại dãy ký tự cần đọc Ví dơ: fgets(xau, 80, fp); Thùc hiƯn viƯc ®äc mét d·y ký tù tõ tƯp fp vµo vïng nhí xau 7.2.5 Ghi file (a) Ghi file theo kiểu văn (theo khuôn dạng): int fprintf(FILE *fp, , ); Trong ®ã: fp: trá tƯp : Là xâu điều khiển ghi : Danh sách đối số cần ghi lên file Ví dô: fprintf(fp, “So duoc ghi len tep la: %d\n”, i); Ghi sè i lªn tƯp fp (b) Ghi mét ký tự lên file văn bản: int fputc(int ch, FILE *fp); Trong đó: fp trỏ tệp ch ký tự đợc ghi lên tệp Hàm fputc thực việc ghi lªn tƯp fp mét ký tù cã m· b»ng ch % 256 với ch số nguyên không dấu VÝ dơ: fputc(‘X’, fp); // Ghi ký tù ‘X’ lªn tệp fp (c) Ghi xâu ký tự lên tệp văn bản: int fputs (, FILE *fp); Trong đó: fp trỏ tệp : Là xâu ký tự Hàm fputs thực việc ghi lên tệp fp Ví dụ: fputs(Vao du lieu, fp); // Ghi xâu Vao du lieu lên file fp 7.2.6 Làm đệm đọc/ghi file (a) Hàm fflush: fflush ( FILE *fp); Trong fp trỏ tệp Hàm fflush làm vùng đệm tệp fp Nếu thành công hàm cho giá trị 0, ngợc lại hàm cho EOF (b) Hàm fflushall: fflushall( ) ; Hàm fflushall làm vùng đệm tệp mở Nếu thành công hàm cho giá trị nguyên số tệp mở, trái lại hàm cho EOF 7.2.7 Hµm kiĨm tra ci tƯp int feof (FILE *fp); Trong fp trỏ tệp Hàm feof dùng để kiểm tra cuối tệp fp, thành công hàm trả giá trị khác 0, trái lại VD: Lập chơng trình nhập từ bàn phím dãy số nguyên khác ghi vào tệp văn Hiện nội dung tệp hình, tính tổng số tÖp #include #include void main() { FILE *fp; char tentep[15]; int printf("Nhap ten tep can luu: "); fflush(stdin); gets(tentep); fp = fopen(tentep, "w"); tg, tong; { printf("Nhap so nguyen (so de ket thuc): "); scanf("%d", &tg); if(tg != 0) fprintf(fp,"%d ", tg); } while (tg != 0); fclose(fp); fp = fopen(tentep , "r"); tong = 0; printf("\nDay so doc tu file:\n"); while (fscanf(fp, "%d", &tg) > 0) { printf("%6d", tg); tong += tg; printf("\nTong = %d", tong); fclose(fp); getch(); } } VD: Đọc liệu từ tệp tên matran.vao vào ma trận m x n (0 < m,n < 50)và ghi phần tử ma trận lên tệp tên matran.ra #include #include void main() { FILE *tepvao, *tepra; float a[50][50]; int m , n , i , j; float x; // Nhap ma tran tu tep “matran.vao” tepvao = fopen(“matran.vao”,"r"); fscanf(tepvao,"%d",&m); fscanf(tepvao,"%d",&n); for (i=0; i

Ngày đăng: 02/03/2018, 09:25

TỪ KHÓA LIÊN QUAN

w