NGÔN NGỮ LẬP TRÌNH C - Mảng và chuỗi ký tự ppt

39 1.1K 2
NGÔN NGỮ LẬP TRÌNH C - Mảng và chuỗi ký tự ppt

Đ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

Mảng và chuỗi ký tự NGÔN NGỮ LẬP TRÌNH C Trường Cao Đẳng Công Nghiệp Tuy Hoà Khoa Công nghệ Thông tin o0o Mảng và chuỗi Lập trình C 3 Wednesday, July 9, 2014 Giới thiệu • Tất cả các biến ta khai báo và sử dụng cho đến trước bài này đều là biến đơn • Vậy làm cách nào để lưu N số, hay lưu 1 bảng gồm MxN số? • Làm cách nào xử lý hàng loạt các số này? • Làm thế nào để lưu 1 dãy các ký tự? Mảng và chuỗi Lập trình C 4 Wednesday, July 9, 2014 Mảng • Một mảng: – Là 1 cấu trúc dữ liệu. – Gồm nhiều phần tử, nằm liền kề nhau trong bộ nhớ. – Tất cả các phần tử trong mảng đều có cùng tên, cùng kiểu dữ liệu và được phân biệt với nhau thông qua chỉ số. – Chỉ số bắt đầu từ 0. Mảng và chuỗi Lập trình C 5 Wednesday, July 9, 2014 Mảng (2) A 0 1 2 3 4 5 M 0 1 2 0 1 2 Mảng và chuỗi Lập trình C 6 Wednesday, July 9, 2014 Mảng 1 chiều • Khai báo: typename arrname[d]; typename arrname[d] = {[valuelist]}; • Ghi chú: – d phải là 1 hằng số nguyên dương – valuelist có thể có hoặc không Mảng và chuỗi Lập trình C 7 Wednesday, July 9, 2014 1D – Ví dụ khai báo 1.int a[50]; 2.float x[20], y[100], z; 3.#define N 100 int arr[N]; 4.const int MAX=50; float D[MAX]; 5.int A[5] = {2,4,6,8,10}; 6.int B[10] = {1,2,3,4,5}; 7.int C[] = {3,5,7,9}; Mảng và chuỗi Lập trình C 8 Wednesday, July 9, 2014 1D – Truy nhập từng phần tử • Truy nhập từng phần tử của mảng arrname[index] – A[0] = 8 A[2] = 3 – A[3] = 5 … • Mỗi phần tử trong mảng được xem như 1 biến đơn có kiểu tương ứng với kiểu dữ liệu của mảng 475368 A 0 1 2 3 4 5 Mảng và chuỗi Lập trình C 9 Wednesday, July 9, 2014 1D – Duyệt mảng • Vòng lặp được sử dụng để lần lượt duyệt qua tất cả các phần tử trong mảng. • Nhập mảng: int a[100], N, i; scanf(“%d”, &N); for(i=0; i<N; i++) { printf(“Input element %d:”,i); scanf(“%d”, &a[i]); } Mảng và chuỗi Lập trình C 10 Wednesday, July 9, 2014 1D – Nhập – Xuất – Tính tổng • Xuất mảng: for(i=0; i<N; i++) printf(“%5d”,a[i]); printf(“\n”); • Tổng các phần tử trong mảng: tong = 0; for(i=0; i<N; i++) tong += a[i]; printf(“Tong = %d\n”, tong); Mảng và chuỗi Lập trình C 11 Wednesday, July 9, 2014 1D – Một số bài toán trên mảng • Tìm max, min của cả mảng • Tìm kiếm 1 giá trị trong mảng – Tìm tuyến tính – Tìm nhị phân • Sắp xếp mảng • Thêm, xóa phần tử • Kiểm tra tính chất của mảng • Tách, trộn mảng • ect. [...]... dụng c c hàm xử lý chuỗi c sẵn Xem như 1 mảng c c ký tự: dùng vòng lặp Ghi chú: 2 3 • • • 4 Không c phép gán chuỗi Không c phép c ng Phải đảm bảo ký tự NULL ở cuối chuỗi gets() và puts() (conio.h): đư c sử dụng để nhập và xuất chuỗi Lập trình C Mảng và chuỗi 31 Wednesday, July 9, 2014 Chuỗi ký tự – C c hàm 1 2 3 4 5 Sao chép nội dung c a 2 chuỗi: strcpy(dest, source); Nối chuỗi này vào chuỗi. .. s2 Lập trình C Mảng và chuỗi 33 Wednesday, July 9, 2014 Chuỗi ký tự – C c hàm 7 Tìm kiếm 1 ký tự trong chuỗi: strchr(s, ch); Usage: trả về giá trị NULL nếu không tìm thấy, ngư c lại, trả về chuỗi con đư c trích từ chuỗi lớn, từ vị trí đầu tiên tìm thấy cho đến hết chuỗi Ví dụ: char s[] = “Hello”; printf(“%s”,strchr(s, ‘l’)); Lập trình C Mảng và chuỗi 34 Wednesday, July 9, 2014 Chuỗi ký tự. .. chuỗi kia: strcat(s, subs); Tính toán chiều dài chuỗi: len=strlen(s); Đổi tất c ký tự trong chuỗi thành chữ thường / chữ hoa: strlwr(s); strupr(s); Điền đầy tất c c c ô trong chuỗi bằng 1 ký tự giống nhau: strset(s, ch); Lập trình C Mảng và chuỗi 32 Wednesday, July 9, 2014 Chuỗi ký tự – C c hàm 6 So sánh 2 Chuỗi ký tự: strcmp(s1, s2); stricmp(s1,s2); C ch dùng: int kq = strcmp(s1, s2);... Ví dụ: char s[10] = “Hello”;  s[0] = ‘H’  s[1] = ‘e’ …  s[strlen(s)] = 0 Lập trình C Mảng và chuỗi 36 Wednesday, July 9, 2014 Chuỗi ký tự – Chuẩn hóa • • • • Không c khoảng trắng đầu chuỗi Không c khoảng trắng đầu chuỗi C đúng 1 khoảng trắng giữa c c từ C c giải thuật: – Kiểm tra 1 chuỗi bất kỳ c phải là chuỗi chuẩn không – Chuẩn hóa chuỗi (c t bỏ khoảng trắng thừa) Lập trình C Mảng và chuỗi. .. (flag) printf(“Incremental!”); else printf(“Non-incremental!”); Lập trình C Mảng và chuỗi 22 Wednesday, July 9, 2014 Mảng 2 chiều • C n đư c gọi là ma trận • Là 1 bảng bao gồm M dòng và N c t, do vậy c tổng c ng MxN ô (phần tử) • Mỗi dòng (c t) c a ma trận là 1 mảng 1 chiều • Do vậy, mảng 2 chiều c n đư c gọi là mảng c a mảng Lập trình C Mảng và chuỗi 23 Wednesday, July 9, 2014 2D - Khai báo • Khai... C c hàm 8 Tìm kiếm 1 chuỗi con trong chuỗi lớn: strstr(s, subs); C ng dụng: trả về giá trị NULL nếu không tìm thấy, ngư c lại, trả về chuỗi con đư c trích từ chuỗi lớn, từ vị trí đầu tiên tìm thấy cho đến hết chuỗi Ví dụ: char s[] = “Hello”; printf(“%s”,strstr(s, “ll”)); Lập trình C Mảng và chuỗi 35 Wednesday, July 9, 2014 Chuỗi ký tự – như 1 Mảng • •     Truy nhập từng ký tự trong chuỗi: ... ‘H’ Lập trình C 1 ‘e’ 2 ‘l’ 3 ‘l’ 4 ‘o’ 5 0 Mảng và chuỗi 29 Wednesday, July 9, 2014 Chuỗi ký tự - Khai báo • char • char • char Ví dụ: char char char char Lập trình C strname[length]; strname[length]=value; strname[length]={[charlist]}; str[50]; name[50] = “Le Van Tam”; s[] = “Today is Thursday”; a[] = {‘O’,’k’,’\0’}; Mảng và chuỗi 30 Wednesday, July 9, 2014 Chuỗi ký tự - Xử lý chuỗi 1 Xem chuỗi như... scanf(“%d”, &M[i][j]); } Lập trình C Mảng và chuỗi 27 Wednesday, July 9, 2014 2D – Kết quả th c hiện int M[20][20], row, col, i, j; for(i=0; i . Mảng và chuỗi ký tự NGÔN NGỮ LẬP TRÌNH C Trường Cao Đẳng C ng Nghiệp Tuy Hoà Khoa C ng nghệ Thông tin o0o Mảng và chuỗi Lập trình C 3 Wednesday, July 9, 2014 Giới thiệu • Tất c c c biến. c ng kiểu dữ liệu và đư c phân biệt với nhau thông qua chỉ số. – Chỉ số bắt đầu từ 0. Mảng và chuỗi Lập trình C 5 Wednesday, July 9, 2014 Mảng (2) A 0 1 2 3 4 5 M 0 1 2 0 1 2 Mảng và chuỗi Lập. tự? Mảng và chuỗi Lập trình C 4 Wednesday, July 9, 2014 Mảng • Một mảng: – Là 1 c u tr c dữ liệu. – Gồm nhiều phần tử, nằm liền kề nhau trong bộ nhớ. – Tất c c c phần tử trong mảng đều c c ng

Ngày đăng: 09/07/2014, 09:20

Từ khóa liên quan

Mục lục

  • Mảng và chuỗi ký tự

  • Giới thiệu

  • Mảng

  • Mảng (2)

  • Mảng 1 chiều

  • 1D – Ví dụ khai báo

  • 1D – Truy nhập từng phần tử

  • 1D – Duyệt mảng

  • 1D – Nhập – Xuất – Tính tổng

  • 1D – Một số bài toán trên mảng

  • 1D – Tìm phần tử lớn nhất

  • 1D – SourceCode

  • 1D – Tìm tuyến tính

  • Slide 15

  • 1D – SourceCode (2)

  • 1D – Sắp mảng tăng dần

  • Slide 18

  • Slide 19

  • 1D – Demo về sắp xếp mảng

  • 1D – Kiểm tra mảng tăng

Tài liệu cùng người dùng

Tài liệu liên quan