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

Slide_Lập_trình_C

163 696 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,34 MB

Nội dung

bản pp này mình đã tổng hợp từ các nguồn tài liệu khác nhau.trong này có giải thích ý nghĩa của từng câu lệnh C và cách dùng và có chút đề bài và bài code mẫu cho các b tự làm silde giải thích rất rõ.

C s lp trỡnh C s lp trỡnh - Ti liu: 1- K thut lp trỡnh, Hong Kim Bng, Trng i hc M a cht, 2009 2- Ngụn ng lp trỡnh C, Hong Kim Bng, Trng i hc M - a cht, 2005 3- Nhp mụn ngụn ng lp trỡnh C, Nguyn Thanh Thy (ch biờn) 4- K thut lp trỡnh C c s v nõng cao, GS Phm Vn t - Mc ớch mụn hc: Nhm trang b nhng kin thc c bn v lp trỡnh bng ngụn ng C gm: nhng yu t c bn ca C, cỏc lnh iu khin, tr, hm, kiu d liu struct, ha, thao tỏc vo vi - Yờu cu: Nm c lý thuyt, cú kh nng lp trỡnh C gii cỏc bi toỏn n gin - Phn mm: TURBO C 3.0, C-Free - Cỏch hc: Vit cng nhiu chng trỡnh C cng tt (chỳ trng nõng cao k nng thc hnh trờn mỏy tớnh) Ngha l phi lm cỏc bi ti lp, cỏc bi cui mi chng, cỏc bi thc hnh CHNG 1: CC YU T C BN CA NGễN NG LP TRèNH C 1.1 Lch s hỡnh thnh v phỏt trin Ngụn ng C Brian W Kernighan v Dennis M Ritchie phỏt trin vo u nhng nm 70 1978, cun sỏch "The C programming langguage" ca hai tỏc gi trờn c ph bin rng rói 1983, Vin tiờu chun Quc gia M (ANSI) xut chun cho C 1988, chun ANSI C c ban hnh Hin cú cỏc chng trỡnh dch C nh: TURBO C, BORLAND C, C Free, VISUAL C 1.2 Cỏc tớnh cht ca C - C l ngụn ng nng c dựng vit cỏc h iu hnh, cỏc chng trỡnh ng dng nh qun lý bn, c s d liu - C cú mc thớch nghi cao, C c s dng rng rói - C cú cỏc cu trỳc iu khin nh: nhúm tun t cỏc cõu lnh; la chn quyt nh (if, switch); chu trỡnh (for, while, while) - C cung cp tr v kh nng nh a ch s hc - C cho phộp hm c gi quy - C tng i thoi mỏi chuyn i d liu - C khụng a cỏc phộp toỏn x lý trc tip cỏc i tng nh xõu ký t hoc mng 1.3 T vng 1.3.1 Tp ký t ca ngụn ng C 26 ch cỏi hoa: A, B, , X, Y, Z 26 ch cỏi thng: a, b, , x, y, z 10 ch s : 0, 1, 2, , Cỏc ký hiu toỏn hc: +, -, *, /, =, (, ) Ký t gch ni: _ (chỳ ý phõn bit vi du tr - ) Cỏc ký t c bit nh: [ ] { } , ; : & # % $ Du cỏch: l mt khong trng dựng tỏch cỏc t 1.3.2 T khúa L nhng t dnh riờng cho ngụn ng C, chỳng cú ý ngha xỏc nh v c s dng khai bỏo cỏc kiu d liu, vit cỏc toỏn t , cỏc cõu lnh Chỳ ý: - Khụng dựng t khúa t tờn cho cỏc hng, bin, mng, hm - T khúa phi c vit bng ch thng 1.3.3 Tờn L dóy ký t (ch cỏi, ch s, du gch ni), ký t u tiờn ca tờn phi l ch cỏi hoc du gch ni di cc i ca tờn mc nh l 32 Chỳ ý: Trong cỏc tờn, ch hoa v ch thng c xem l khỏc Vớ d: tờn AB l khỏc vi tờn ab Trong C, thng dựng ch hoa t tờn cho cỏc hng, dựng ch thng t tờn cho cỏc i lng khỏc nh bin, mng, hm, cu trỳc 1.3.4 Cỏc kiu d liu 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 byte float Số thực dấu chấm 3.4E-38 ữ 3.4E+38 động, độ xác đơn byte double Số thực dấu chấm 1.7E-308 ữ 1.7E+308 động, độ xác kép byte long double Số thực dấu chấm 3.4E-4932 ữ 1.1E+4932 động, độ xác lớn kép 10 byte Kiu void l kiu khụng giỏ tr dựng biu din kt qu ca hm hay ca tr 1.3.5 Hng Hng l i lng cú giỏ tr khụng i thc hin chng trỡnh Cú hai cỏch khai bỏo hng ngụn ng C: (1) Khai bỏo hng dựng t khúa const: Cỳ phỏp: const < tờn hng> = ; VD: const int MAX = 100 ; (2) Khai bỏo hng dựng túan t #define: Cỳ phỏp: #define VD: #define MAX 100 Cỏc loi hng: (1) Hng thc: Cỏch 1: Dng thp phõn (dng du chm tnh), VD: 1.23 Cỏch 2: Dng khoa hc (dng du chm ng), VD: 0.12E3, hoc 1.2E2, hoc 12.E1 v.v (2) Hng nguyờn kiu int: L s nguyờn cú giỏ tr khong t -32768 n 32767 (3) Hng nguyờn kiu long: c vit theo cỏch thờm L hoc l vo uụi, vớ d: -48935L, -48935l (4) Hng nguyờn h 8: c vit theo cỏch: 0c1c2c3 Bt u bng s 0, cũn ci l mt s nguyờn khong t n (5) Hng nguyờn h 16: c vit theo cỏch: 0xc1c2c3 hoc 0Xc1c2c3 Bt u bng s v ch x (hoc X), cũn ci l mt ch s h 16 (0,1, ,9,a,b,c,d,e,f) 6.6 Ct hỡnh, dỏn hỡnh v to hỡnh nh chuyn ng - Hm: imagesize ( int x1, int y1, int x2, int y2 ) ; tr v s byte cn thit lu tr nh phm vi hỡnh ch nht (x1,y1,x2,y2) - Hm: getimage (int x1,int y1,int x2,int y2,void *bitmap) ; s chộp cỏc im nh ca hỡnh ch nht (x1,y1,x2,y2) v cỏc thụng tin v b cao v b rng ca hỡnh ch nht vo vựng nh bitmap tr ti - Hm: putimage (int x, int y,void *bitmap, int copymode ) ; dựng nh lu tr vựng nh bitmap mn hỡnh ti v trớ (x,y) To nh chuyn ng: Nguyờn tc: - V mt hỡnh (trong chui hỡnh mụ t chyn ng) - Delay (tr) - Xúa hỡnh ú - V hỡnh k tip - Delay CHNG - THAO TC VO RA I VI TP (FILE) 7.1 Khỏi nim Ngụn ng C cú hai loi file: - File nh phõn: Thng dựng ghi cỏc cu trỳc - File bn (text): Dựng ghi d liu dng ký t 7.2 Cỏc hm thao tỏc vi 7.2.1 Khai bỏo file FILE * ; 7.2.2 M file FILE *fopen(, ); Trong ú: : L tờn c m (bao gm c ng dn, ngụn ng C phi chỳ ý du gach chộo phõn cỏch ng dn l hai gch \\ ) : L kiu truy nhp m file, nú c biu din bi mt xõu ký t cho bit kiu m nh l c, ghi, hay c hai Kiu truy nhp cú th l: Kiểu file Nhị phân Chế độ mở ý nghĩa Ghi rb Mở để đọc File đ có wb Mở để ghi Tạo file ab Mở để bổ sung File đ có tạo r+b w+b a+b File đ có Mở để đọc Tạo file ghi File đ có tạo Kiểu file Vn bn Chế độ mở ý nghĩa Ghi r hay rt Mở để đọc File đ có w hay wt Mở để ghi Tạo file a hay at Mở để bổ sung File đ có tạo r+ hay r+t w hay w+t a hay a+t File đ có Mở để đọc Tạo file ghi File đ có 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 kiu bn (theo khuụn dng): int fscanf(FILE *fp, ,); Trong ú: fp: tr : chui iu khin quy cỏch c : D/sỏch cỏc a ch bin cn nhp d liu t file Vớ d: fscanf(fp, %d%d%d, &ngay, &thang, &nam); (b) c mt ký t t file bn: int fgetc(FILE *fp); Trong ú: fp l tr Hm fgetc thc hin vic c mt ký t t tp, nu thnh cụng thỡ cho mó c c , nu gp cui hay cú li, hm cho EOF Vớ d: c = fgetc(fp); // c mt ký t t v lu vo bin c (c) c mt dóy ký t t bn: char *fgets (char *s, int maxchar, FILE *fp); Trong ú: fp l tr s: Con tr kiu char maxchar: L di cc i ca dóy ký t cn c Vớ d: fgets(xau, 80, fp); Thc hin vic c mt dóy ký t t fp vo vựng nh xau 7.2.5 Ghi file (a) Ghi file theo kiu bn (theo khuụn dng): int fprintf(FILE *fp, , ); Trong ú: fp: tr : L xõu iu khin ghi : Danh sỏch cỏc i s cn ghi lờn file Vớ d: fprintf(fp, So duoc ghi len tep la: %d\n, i); Ghi s i lờn fp (b) Ghi mt ký t lờn file bn: int fputc(int ch, FILE *fp); Trong ú: fp l tr ch l ký t c ghi lờn Hm fputc thc hin vic ghi lờn fp mt ký t cú mó bng ch % 256 vi ch l s nguyờn khụng du Vớ d: fputc(X, fp); // Ghi ký t X lờn fp (c) Ghi mt xõu ký t lờn bn: int fputs (, FILE *fp); Trong ú: fp l tr : L xõu ký t Hm fputs thc hin vic ghi lờn fp Vớ d: fputs(Vao du lieu, fp); // Ghi xõu Vao du lieu lờn file fp 7.2.6 Lm sch b m c/ghi file (a) Hm fflush: fflush ( FILE *fp); Trong ú fp l tr Hm fflush lm sch vựng m ca fp Nu thnh cụng hm cho giỏ tr 0, ngc li hm cho EOF (b) Hm fflushall: fflushall( ) ; Hm fflushall lm sch vựng m ca cỏc ang m Nu thnh cụng hm cho giỏ tr nguyờn bng s ang m, trỏi li hm cho EOF 7.2.7 Hm kim tra cui int feof (FILE *fp); Trong ú fp l tr Hm feof dựng kim tra cui fp, nu thnh cụng hm tr v giỏ tr khỏc 0, trỏi li tr v VD: Lp chng trỡnh nhp t bn phớm mt dóy s nguyờn khỏc v ghi vo bn Hin ni dung mn hỡnh, tớnh tng cỏc s #include #include void main() { FILE *fp; char tentep[15]; int tg, tong; printf("Nhap ten tep can luu: "); fflush(stdin); gets(tentep); fp = fopen(tentep, "w"); { 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 d liu t mt cú tờn l matran.vao vo mt ma trn m x n (0 < m,n < 50)v ghi cỏc phn t ca ma trn ny lờn mt mi cú tờn l 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: 28/10/2016, 03:05

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w