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

Bài giảng Lập trình cơ bản: Ngôn ngữ lập trình C

80 6 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 80
Dung lượng 1,76 MB

Nội dung

Mời các bạn cùng tham khảo Bài giảng Lập trình cơ bản: Ngôn ngữ lập trình C để nắm chi tiết các kiến thức về mảng, con trỏ và xâu ký tự; mảng một chiều và nhiều chiều; con trỏ và các phép toán; xâu ký tự.

Lập trình bản: Ngơn ngữ lập trình C Đỗ Thị Mai Hường Bộ môn Hệ thống thông tin Khoa Công nghệ thông tin Mảng, trỏ xâu ký tự Tài liệu tham khảo • Kỹ thuật lập trình C: sở nâng cao, Phạm Văn Ất, Nhà xuất KHKT – Chương • The C programming language 2nd Edition, Brian Kernighan and Dennis Ritchie, Prentice Hall Software Series – Chương • The C programming language 2nd Edition, Brian Kernighan and Dennis Ritchie, Prentice Hall Software Series – Chương Chương - Phần Nội dung • Mảng chiều • Mảng hai chiều • Con trỏ phép toán trỏ – Khai báo trỏ – Phép gán trỏ – Truy xuất giá trị qua trỏ • Con trỏ mảng • Cấp phát vùng nhớ cho trỏ • Xâu ký tự – Khái niệm – Khởi tạo – Các thao tác xâu ký tự Chương - Phần PHẦN MẢNG MỘT CHIỀU VÀ NHIỀU CHIỀU Mảng chiều • Khái niệm • Khai báo • Truy xuất liệu Dữ liệu kiểu mảng • Khái niệm – Là kiểu liệu có cấu trúc người lập trình định nghĩa – Biểu diễn dãy biến có kiểu Ví dụ: dãy số nguyên, dãy ký tự… – Kích thước xác định khai báo không thay đổi – NNLT C định khối nhớ liên tục cho biến kiểu mảng Khai báo biến mảng (tường minh) • Tường minh []; [][]…[]; – , …, : số lượng phần tử chiều • Lưu ý – Phải xác định cụ thể (hằng) khai báo – Mảng nhiều chiều: = N1*N2*…*Nn – Bộ nhớ sử dụng = *sizeof(0 s1 > s2 char s1[] = “tin hoc co so A!!!”; char s2[] = “hoc tin co so A!!!”; int kq = strcmp(s1, s2); // => kq > 74 Hàm so sánh hai xâu ký tự int stricmp(const char *s1, const char *s2) So sánh hai xâu ký tự s1 s2 (không phân biệt hoa thường) < s1 < s2 == s1 == s2 >0 s1 > s2 char s1[] = “tin hoc co so A!!!”; char s2[] = “TIN HOC CO SO A!!!”; int kq = stricmp(s1, s2);// => kq == 75 Hàm nối hai xâu ký tự char* strcat(char *dest, const char *src) Nối xâu ký tự src vào sau xâu ký tự dest ! Xâu dest phải đủ chứa kết Địa xâu ký tự nối char s1[100] = “Tin hoc”; char s2[] = “co so A!!!”; strcat(s1, “ ”); // => “Tin hoc ” strcat(s1, s2); // => “Tin hoc co so A!!!” 76 Hàm tính độ dài xâu ký tự size_t* strlen(const char *s) Tính độ dài xâu ký tự s size_t thay cho unsigned (trong ) dùng để đo đại lượng không dấu Độ dài xâu ký tự s char s[] = “Tin hoc co so A!!!”; int len = strlen(s); // => 18 77 Hàm tìm xâu ký tự xâu ký tự char* strstr(const char *s1, const char *s2) Tìm vị trí xuất s2 s1 Thành công: trả trỏ đến vị trí xuất s2 s1 Thất bại: trả null char s1[] = “Tin hoc co so A!!!”; char s2[] = “hoc”; if (strstr(s1, s2) != null) printf(“Tim thay!”); 78 Bài tập Xem thêm số hàm khác atoi, atol, atof : đổi xâu ký tự thành số itoa, ltoa, ultoa: đổi số thành xâu ký tự strtok Xóa tất khoảng trắng xâu ký tự s Đếm xem có từ xâu s Xuất từ dịng liên tiếp Tìm từ có chiều dài dài in Trích n ký tự đầu tiên/cuối cùng/bắt đầu vị trí pos Tìm kiếm thay xâu xâu ký tự lớn Viết chương trình nhập vào xâu ký tự xoá k ký 79 tự xâu ký tự vị trí thứ n Bài tập Nhập xâu họ tên (không q 40 kí tự), chuẩn hố xâu (kí tự đầu từ viết hoa, kí tự khác viết thường, từ cách dấu cách) Nhập xâu s1, s2, s3 (khơng q 40 kí tự), thay xâu s2 s3 s1 10.Nhập xâu kí tự Đưa xâu dạng chuẩn 80 (các từ cách 01 dấu cách, chữ ... kiểu liệu c? ? c? ??u tr? ?c người lập trình định nghĩa – Biểu diễn dãy biến c? ? kiểu Ví dụ: dãy số nguyên, dãy ký tự… – Kích thư? ?c x? ?c định khai báo không thay đổi – NNLT C định khối nhớ liên t? ?c cho biến... Bien_Nguyen; float *Con_Tro_Thuc; Con_Tro_Thuc=&Bien_Nguyen; • Phép gán sai Con_Tro_Thuc trỏ kiểu float (nó chứa địa biến kiểu float); đó, Bien_Nguyen c? ? kiểu int 35 C? ?c thao t? ?c trỏ Nội dung ô... trỏ kh? ?c kiểu phải dùng phép ép kiểu int x; char *pc; pc=(char*)(&x); • • • 48 Phép tăng giảm địa chỉ: Sử dụng phép toán để di chuyển ô nhớ: Ví dụ: C? ?c câu lệnh: float x[30],*px; px=&x[10]; Cho

Ngày đăng: 07/05/2021, 13:35

w