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

PHƯƠNG PHÁP LẬP TRÌNH_7 doc

18 311 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 18
Dung lượng 501,55 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Khai Khai báo báo và và khởi khởi tạo tạo chuổi chuổi h Tê biế [Chiề dài tối đ ] char [Chiều dài tối đa] Trong khai báo này, bộ nhớ sẽ cung cấp 12+1 bytes để lưu trữ nội dung của chuỗi

Trang 1

CHƯƠNG 7 CHUỔI KÝ TỰ

(String)

Trang 2

1 Giới thiệu

bằng ký tự null (‘\0’)

thúc chuổi

cặp dấu nháy đôi Ví dụ: "Hello"

Trang 3

2 Khai Khai báo báo và và khởi khởi tạo tạo chuổi chuổi

2

2 Khai Khai báo báo và và khởi khởi tạo tạo chuổi chuổi

h Tê biế [Chiề dài tối đ ]

char <Tên biến> [Chiều dài tối đa]

Trong khai báo này, bộ nhớ sẽ cung

cấp 12+1 bytes để lưu trữ nội dung của chuỗi ký tự str; byte cuối cùng lưu

trữ ký tự ‘\0’ để kết thúc chuỗi

Trang 4

2

2 Khai Khai báo báo và và khởi khởi tạo tạo chuổi ạạ chuổi

char * <Tên biến>

yVí dụ: char *str;

Trong khai báo này, bộ nhớ sẽ dành 2 byte để lưu trữ địa chỉ của biến con trỏ

str đang chỉ đến, chưa cung cấp nơi để lưu trữ dữ liệu

Trang 5

2 Khai Khai báo báo và và khởi khởi tạo tạo chuổi chuổi

2

2 Khai Khai báo báo và và khởi khởi tạo tạo chuổi chuổi

khởi tạo một chuổi ký tự với những giá trị xác định ta có thể thực hiện tương tựị ị ự ệ g ự như với mảng

char <Biến>[ ]=<”Hằng chuổi ”>

Trang 6

2 Khai Khai báo báo và và khởi khởi tạo tạo chuổi chuổi

2

2 Khai Khai báo báo và và khởi khởi tạo tạo chuổi chuổi

y Ví dụ:ụ

char str[] = {‘H’, ’e’, ’l’, ’l’, ’o’, ’\0’}; char str[] = “Hello”;

char *str = “Hello”;

Trang 7

3 Nhập Nhập chuổi chuổi

3

3 Nhập Nhập chuổi chuổi

hàm gets() của thư viện stdio.h

h * t ( h * )

h * t ( h * )

char *gets(char *s);

vào trong mảng trỏ đến bởi s cho đến khi nhấn Enter Ký tự null sẽ được đặt sau ký tự cuối cùng của chuổi nhập vào trong mảng

trong mảng

Trang 8

4 Xuất Xuất chuổi chuổi

4

4 Xuất Xuất chuổi chuổi

puts() của thư viện stdio.h

int puts(const char *s);

int puts(const char *s);

y cout << s;

Trang 9

Ví dụ dụ::

Ví dụ dụ::

#include <iostream.h>

#include <stdio.h>

int main()

{{

char str[20];

cout<<"nhap chuoi:"; gets(str);

cout<<"\nXuat chuoi:"; puts(str);

return 0;

}

Trang 10

5 Các Các hàm hàm thao thao tác tác trên trên chuổi chuổi

5

5 Các Các hàm hàm thao thao tác tác trên trên chuổi chuổi

y strcpy(s1, s2): Sao chép chuổi s2 vào s1

í d

Ví dụ:

#include <iostream.h>

#include <stdio h>

#include <string.h>

void main() () {

char str1[20], str2[20];

t " h h i 1 " t ( t 1)

cout<<"nhap chuoi 1:"; gets(str1);

strcpy(str2,str1);

cout<<"\nXuat chuoi 2:"; puts(str2);

}

Trang 11

5 Các Các hàm hàm thao thao tác tác trên trên chuổi chuổi

5

5 Các Các hàm hàm thao thao tác tác trên trên chuổi chuổi

y strcat(s1, s2): Nối chuổi s2 vào cuối chuổi s1

Ví d :

Ví dụ:

#include <iostream.h>

#include <stdio.h>

#include <string.h>

void main()

{{

char str1[20], str2[20];

cout<<"nhap chuoi 1:"; gets(str1);

cout<<"\nhap chuoi 2:"; gets(str2);

strcat(str1,str2);

cout<<"\nXuat chuoi sau khi noi:";

puts(str1);

}

Trang 12

5 Các Các hàm hàm thao thao tác tác trên trên chuổi chuổi

5

5 Các Các hàm hàm thao thao tác tác trên trên chuổi chuổi

ất hiện đầ tiên của ký t ch t ong ch ổi s1

xuất hiện đầu tiên của ký tự ch trong chuổi s1

Ví dụ:

void main()

{

char *p, h, str1[20];

cout<<"nhap chuoi 1:”; gets(str1);

cout<<"Nhap ktu muon tim:"; cin>>h;

p= strchr(str1 h);

if(p==NULL) cout<<"Khong tim thay ";

else cout<<"Tim thay tai vi tri "<<(p-str1);

}

Trang 13

5 Các Các hàm hàm thao thao tác tác trên trên chuổi chuổi

5

5 Các Các hàm hàm thao thao tác tác trên trên chuổi chuổi

đầu tiên của chuổi s2 trong s1.

Ví dụ: void main()

{ h * [ ] [ ]

{ char *p, str1[20], str2[20];

cout<<"nhap chuoi 1:"; gets(str1);

cout<<"nhap chuoi 2:"; gets(str2);

p= strstr(str1,str2);

if(p==NULL)

cout<<"Khong tim thay ";

else

cout<<"Tim thay tai vi tri "<<(p-str1);

}

Trang 14

6 Mảng Mảng các các chuổi chuổi

6

6 Mảng Mảng các các chuổi chuổi

chiều Kích thước của chỉ mục thứ nhất

thứ hai xác định chiều dài lớn nhất của mỗi chuổi

Ví dụ: char str[5][80];

Khai báo một mảng của 5 chuổi mỗi chuổi có chiều dài tối đa là 79 ký tự

Trang 15

6 Mảng Mảng các các chuổi chuổi

6

6 Mảng Mảng các các chuổi chuổi

char arrayList[][length] = {

constantString1, constantString2,

constantStringN};

y Ví dụ: ụ

char listOfPL[][10] = {“Pascal”, “C++”, “C#”};

Trang 16

6 Mảng Mảng các các chuổi chuổi

6

6 Mảng Mảng các các chuổi chuổi

Ví dụ:

void main()

{

h li t[5][20]

char list[5][20];

for(int i=0; i<5; i++)

{{

cout<<"name"<<i<<":“; cin>>list[i]; }}

for(int j=0; j<5; j++)

cout<<" "<<list[j];

}

Trang 17

7 Mảng Mảng con con trỏ trỏ đến đến các các chuổi chuổi

7

7 Mảng Mảng con con trỏ trỏ đến đến các các chuổi chuổi

y Ngoài cách dùng mảng ký tự hai chiều để lưu

trữ mảng các chuổi, ta có thể dùng mảng của các con trỏ Mỗi con trỏ sẽ chứa địa chỉ của chuổi

y Ví dụ:

h * t [20]

char *str[20];

Trang 18

void main()

{{

char *name[5];

for(int i=0 ; i<5 ; i++)

name[i] = (char *)malloc(20);

for(int i=0 ; i<5 ; i++)

{{

cout << "Input name " << i+1 <<": "; gets(name[i]);

}

cout << "List of names: "; ou o a ;

for(int i=0 ; i<5 ; i++)

cout << name[i] << ", ";

}

Ngày đăng: 27/06/2014, 11:20