Bài giảng Kỹ thuật lập trình: Các vấn đề mở rộng - Nguyễn Minh Huy
lượt xem 3
download
Bài giảng Kỹ thuật lập trình: Các vấn đề mở rộng, được biên soạn gồm các nội dung chính sau Con trỏ và chuỗi; Stream nhập xuất; Tham số hàm main. Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Kỹ thuật lập trình: Các vấn đề mở rộng - Nguyễn Minh Huy
- Các v n đ m r ng GV. Nguy n Minh Huy K thu t l p trình - Nguy n Minh Huy 1
- N i dung Con tr và chu i. i. Stream nh p xu t.t. Tham s hàm main. K thu t l p trình - Nguy n Minh Huy 2
- N i dung Con tr và chu i. i. Stream nh p xu t. t. Tham s hàm main. K thu t l p trình - Nguy n Minh Huy 3
- Con tr và chu i Chu i ký t trong C: M ng ký t + ph n t cu i ‘\0’; S ph n t m ng = chi u dài chu i + 1; char s1[6]; s1[6]; s1 ? ? ? ? ? ? char s2[ ] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘\0’ }; ‘\ s2 H e l l o \0 char s3[ ] = “Hello”; s3 H e l l o \0 Chu i c p phát đ ng: ng: Dùng m ng đ ng ph i c p phát và thu h i vùng nh . Có th thay đ i kích thư c khi c n. n. Khai báo: char *; báo: * char *s4 = new char[6]; s4 27 ? ? ? ? ? ? char *s5 = “Hello”; s5 52 H e l l o \0 K thu t l p trình - Nguy n Minh Huy 4
- Con tr và chu i Thao tác trên chu i ký t : Nh p chu i: i: #define MAX 50 struct HocSinh scanf(“%s”, ). scanf(“%s”, ). { Ch nh p t đ u tiên. tiên. char *hoten; *hoten; gets(); gets(); float diemTB; diemTB; }; Nh p nguyên chu i. i. Xu t chu i: i: void main() main() { printf(“%s”, ). printf(“%s”, ). HocSinh hs; hs; puts(). puts(). hs.hoten = new char[MAX]; char[MAX]; gets(hs.hoten); gets(hs.hoten); printf(“Ho printf(“Ho ten: %s”, hs.hoten); hs.hoten); delete hs.hoten; hs.hoten; } K thu t l p trình - Nguy n Minh Huy 5
- Con tr và chu i Thư vi n : string.h>: Ch a các l nh h tr thao tác chu i. i. Chu i tĩnh và đ ng đ u dùng đư c. c. L nh l y chi u dài chu i: i: Cú pháp: strlen(); pháp: strlen(); Tr v : s ký t t đ u chu i đ n ngay trư c ký t ‘\0’. Ph i kh i t o chu i trư c khi l y chi u dài!! dài!! char s1[ ] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘\0’ }; char *s2 = “Chao mung\n”; *s2 mung\ char s3[10]; s3[10]; char *s4; *s4; int chieuDai1 = strlen(s1); // chieuDai1 = 5 strlen(s1); int chieuDai2 = strlen(s2); // chieuDai2 = 10 strlen(s2); int chieuDai3 = strlen(s3); // chieuDai3 không xác đ nh. strlen(s3); nh. int chieuDai4 = strlen(s4); // L i. strlen(s4); i. K thu t l p trình - Nguy n Minh Huy 6
- Con tr và chu i Thư vi n : string.h>: L nh sao chép chu i: i: Đ sao chép n i dung không đư c gán tr c ti p 2 chu i!! i!! Cú pháp: strcpy(, ); pháp: strcpy(, ); Chép n i dung chu i ngu n sang vùng nh chu i đích. đích. Chu i đích ph i đ vùng nh đ chép!! chép!! char s1 = “Hello”; char *s2 = new char[ strlen(s1) + 1 ]; *s2 strlen(s1) strcpy(s2, strcpy(s2, s1); // Chép n i dung s1 vào s2. char s3[100]; strcpy(s3, strcpy(s3, s1); // Chép n i dung s1 vào s3. char s4[5]; strcpy(s4, strcpy(s4, s1); // s4 không đ vùng nh . K thu t l p trình - Nguy n Minh Huy 7
- Con tr và chu i Thư vi n : string.h>: L nh t o b n sao: sao: Cú pháp: strdup(); pháp: strdup(); Tr v : chu i b n sao, vùng nh đư c t đ ng c p phát. sao, phát. Ph i thu h i vùng nh chu i b n sao khi dùng xong. xong. char s1 = “Hello”; char *s2 = strdup(s1); *s2 strdup(s1); delete s2; K thu t l p trình - Nguy n Minh Huy 8
- Con tr và chu i Thư vi n : string.h>: L nh so sánh chu i: i: Cú pháp: strcmp(, ); pháp: strcmp(
- Con tr và chu i Thư vi n : string.h>: L nh n i chu i: i: Cú pháp: strcat(, ); pháp: strcat(, ); N i chu i ngu n và cu i chu i đích. đích. Chu i đích ph i đ vùng nh đ n i!! i!! char *s1 = “Hello”; *s1 char *s2 = “World; *s2 char s3[20] = { 0 }; strcat(s3, strcat(s3, s1); // N i s1 vào s3. strcat(s3, strcat(s3, s2); // N i ti p s2 vào s3. strcat(s1, strcat(s1, s2); // s1 không đ vùng nh . K thu t l p trình - Nguy n Minh Huy 10
- Con tr và chu i Thư vi n : string.h>: L nh tìm chu i con: Cú pháp: strstr(, ); pháp: strstr(,
- N i dung Con tr và chu i. i. Stream nh p xu t.t. Tham s hàm main. K thu t l p trình - Nguy n Minh Huy 12
- Stream nh p xu t Thi t b nh p xu t: t: Chương trình là “c máy” làm vi c. máy” c. D li u Chương trình K t qu . Chương trình l y d li u và xu t k t qu th nào? nào? Thi t b nh p xu t (IO Device). Phân lo i thi t b : Thi t b nh p: bàn phím, con chu t, t p tin, p: phím, t, Thi t b xu t: màn hình, máy in, t p tin, t: hình, T p tin là thi t b v a nh p v a xu t. t. K thu t l p trình - Nguy n Minh Huy 13
- Stream nh p xu t Khái ni m stream: Chương trình giao ti p v i thi t b b ng cách nào? nào? Thông qua “dòng ch y” d li u. “dòng y” u. Stream: “dòng ch y” k t n i chương trình và thi t b . “dòng y” Phân lo i stream: Stream nh p: “dòng ch y” vào chương trình t thi t b nh p. p: “dòng y” p. Stream xu t: “dòng ch y” kh i chương trình ra thi t b xu t. t: “dòng y” t. Stream nh p Chương trình Thi t b Stream xu t K thu t l p trình - Nguy n Minh Huy 14
- Stream nh p xu t Stream trong C: Stream và con tr t p tin là m t. t. Khái báo: FILE *; báo: *< K t n i thi t b : Cú pháp: fopen(, “”); pháp: fopen( “”) Tr v : stream (thành công), NULL (th t b i). (thành công), (th i). : Đư ng d n t p tin. CON: t p tin đ c bi t, đ i di n màn hình và bàn phím. t, phím. FILE *f1 = fopen(“CON”, “r”); // T o stream k t n i đ n bàn phím. fopen(“CON”, phím. FILE *f2 = fopen(“CON”, “w”); // T o stream k t n i đ n màn hình. fopen(“CON”, hình. int x; fscanf( fscanf( f1, “%d”, &x); fprintf( fprintf( f2, “%d”, x); K thu t l p trình - Nguy n Minh Huy 15
- Stream nh p xu t Stream trong C: Các stream khai báo s n trong C: Stream Ý nghĩa Thi t b k t n i stdin Stream nh p chu n. Bàn phím stdout Stream xu t chu n. Màn hình stderr Stream l i chu n. Màn hình Cách s d ng: ng: fscanf( stdin, fscanf( stdin, “%d”, &x); // Nh p t bàn phím. phím. fprintf( stdout, fprintf( stdout, “Hello World” ); // Xu t ra màn hình. hình. scanf(“%d”, scanf(“%d”, &x); // Vi t t t nh p t bàn phím. phím. printf(“Hello printf(“Hello World”); // Vi t t t xu t ra màn hình. hình. K thu t l p trình - Nguy n Minh Huy 16
- Stream nh p xu t Stream trong C: Thay đ i thi t b k t n i: i: Cú pháp: freopen(, “”, pháp: freopen( “”, ); i> Có th dùng v i stream khai báo s n. n. FILE *f1 = fopen(“C:/BaiTap.txt”, “r”); fopen(“C:/BaiTap.txt”, int x, y; fscanf(f1, fscanf(f1, “%d”, &x); // Đ c t file BaiTap.txt freopen(“C:/BaiLam.txt”, freopen(“C:/BaiLam.txt”, “w”, f1); f1); // Đ i k t n i c a f1. fscanf(f1, fscanf(f1, “%d”, &y); // Đ c t file BaiLam.txt freopen(“C:/BaiLam.txt”, freopen(“C:/BaiLam.txt”, “w”, stdout); // Đ i k t n i c a stdout. stdout); stdout. printf(“Hello printf(“Hello World”); // Ghi ra file BaiLam.txt K thu t l p trình - Nguy n Minh Huy 17
- Stream nh p xu t Stream trong C++: Nâng c p stream c a C: Tương thích v i stream c a C. S d ng ti p c n hư ng đ i tư ng. ng. D s d ng hơn. hơn. Các stream khai báo s n trong C++: Stream Ý nghĩa Thi t b k t n i cin Stream nh p chu n. Bàn phím cout Stream xu t chu n. Màn hình cerr Stream l i chu n. Màn hình K thu t l p trình - Nguy n Minh Huy 18
- Stream nh p xu t Stream trong C++: Toán t nh p >>: void main() main() Nh p d li u t stream. { int n; Không c n đ nh d ng ki u. u. float a[10]; Cú pháp: pháp: >> ; n>; cout > n; Toán t xu t
- N i dung Con tr và chu i. i. Stream nh p xu t.t. Tham s hàm main. K thu t l p trình - Nguy n Minh Huy 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Kỹ thuật lập trình: Chương 1 - Trần Quang
39 p | 10 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 9 - Trần Quang
33 p | 5 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 8 - Trần Quang
34 p | 9 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 6 - Trần Quang
37 p | 12 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 4 - Trần Quang
32 p | 8 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 3 - Trần Quang
52 p | 11 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 2 - Trần Quang
25 p | 10 | 2
-
Bài giảng Kỹ thuật lập trình: Hàm nâng cao (Phần 1) - ThS. Đặng Bình Phương
26 p | 0 | 0
-
Bài giảng Kỹ thuật lập trình: Các kỹ thuật thao tác trên bit - ThS. Đặng Bình Phương
29 p | 1 | 0
-
Bài giảng Kỹ thuật lập trình: Tập tin - ThS. Đặng Bình Phương
48 p | 3 | 0
-
Bài giảng Kỹ thuật lập trình: Kỹ thuật lập trình đệ quy - ThS. Đặng Bình Phương
44 p | 1 | 0
-
Bài giảng Kỹ thuật lập trình: Dữ liệu kiểu cấu trúc - ThS. Đặng Bình Phương
33 p | 2 | 0
-
Bài giảng Kỹ thuật lập trình: Chuỗi ký tự - ThS. Đặng Bình Phương
20 p | 2 | 0
-
Bài giảng Kỹ thuật lập trình: Danh sách liên kết - ThS. Đặng Bình Phương
20 p | 2 | 0
-
Bài giảng Kỹ thuật lập trình: Chuyển đổi kiểu dữ liệu và cấp phát bộ nhớ động - ThS. Đặng Bình Phương
28 p | 3 | 0
-
Bài giảng Kỹ thuật lập trình: Dữ liệu kiểu con trỏ (Nâng cao) - ThS. Đặng Bình Phương
48 p | 0 | 0
-
Bài giảng Kỹ thuật lập trình: Giới thiệu môn học - ThS. Đặng Bình Phương
7 p | 1 | 0
-
Bài giảng Kỹ thuật lập trình: Hàm nâng cao (Phần 2) - ThS. Đặng Bình Phương
30 p | 0 | 0
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn