PHẦN 2: LẬP TRÌNH BẰNG NGÔN NGỮ C BÀI 6: XÂU KÝ TỰ. BÀI 6: XÂU KÝ TỰ KHOA [r]
(1)1
1 TIN HỌC ĐẠI CƯƠNG
TIN HỌC ĐẠI CƯƠNG
PHẦN 2: LẬP TRÌNH BẰNG NGƠN NGỮ C
PHẦN 2: LẬP TRÌNH BẰNG NGÔN NGỮ C BÀI 6: XÂU KÝ TỰ
BÀI 6: XU Kí T KHOA
KHOA
CÔNGNGHệ
CÔNGNGHệ
THÔNGTIN
THÔNGTIN FACULTYOFFACULTYOF INFORMATION
INFORMATION
TECHNOLOGY
(2)BÀI 6:
BÀI 6: XÂU KÝ TỰXÂU KÝ TỰ
6.1 Khái niệm xâu ký tự
6.1 Khái niệm xâu ký tự
6.2 Khai báo sử dụng xâu
6.2 Khai báo sử dụng xâu
6.3 Một số hàm làm việc với ký tự xâu
6.3 Một số hàm làm việc với ký tự xâu
ký tự C.
ký tự C.
6.3.1 Các hàm xử lý ký tự6.3.1 Các hàm xử lý ký tự
6.3.2 Các hàm xử lý xâu ký tự6.3.2 Các hàm xử lý xâu ký tự
(3)3
3
Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
6.1 Khái niệm xâu ký tự
6.1 Khái niệm xâu ký tự
Là dãy kí tự viết liên tiếp
Là dãy kí tự viết liên tiếp
Xâu rỗng: Xâu khơng gồm kí tự
Xâu rỗng: Xâu khơng gồm kí tự
Độ dài xâu: Số kí tự có xâu
Độ dài xâu: Số kí tự có xâu
Ví dụ:
Ví dụ:
““Tin hoc” xâu kí tự gồm kí tự: ‘T’, ‘i’, ‘n’, dấu Tin hoc” xâu kí tự gồm kí tự: ‘T’, ‘i’, ‘n’, dấu cách (‘ ‘), ‘h’, ‘o’, ‘c’
cách (‘ ‘), ‘h’, ‘o’, ‘c’
Lưu trữ xâu ký tự:
Lưu trữ xâu ký tự:
(4)BÀI 6:
BÀI 6: XÂU KÝ TỰXÂU KÝ TỰ
6.1 Khái niệm xâu ký tự
6.1 Khái niệm xâu ký tự
6.2 Khai báo sử dụng xâu
6.2 Khai báo sử dụng xâu
6.3 Một số hàm làm việc với ký tự xâu
6.3 Một số hàm làm việc với ký tự xâu
ký tự C.
ký tự C.
6.3.1 Các hàm xử lý ký tự6.3.1 Các hàm xử lý ký tự
6.3.2 Các hàm xử lý xâu ký tự6.3.2 Các hàm xử lý xâu ký tự
(5)5
5
Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
6.2.1 Khai báo xâu ký tự
6.2.1 Khai báo xâu ký tự
Cú pháp:
Cú pháp:
char ten_xau [so_ky_tu_toi_da];char ten_xau [so_ky_tu_toi_da];
Ví dụ: Ví dụ:
(6)6.2.1 Khai báo xâu ký tự (2)
6.2.1 Khai báo xâu ký tự (2)
Ví dụ:
Ví dụ:
Khai báo xâu ký tự s có độ dài tối đa 30:Khai báo xâu ký tự s có độ dài tối đa 30:
char s[30];
char s[30];
Khởi tạo giá trị cho xâu ký tự khai báo:Khởi tạo giá trị cho xâu ký tự khai báo:
char s[15] = {‘T', ‘r', ‘u', ‘o', ‘n', ‘g', ‘ ’, char s[15] = {‘T', ‘r', ‘u', ‘o', ‘n', ‘g', ‘ ’,
‘D', ‘H’, ‘B', ‘K’, ‘\0' }; ‘D', ‘H’, ‘B', ‘K’, ‘\0' };
char s[15] = “Truong DHBK”; /*trinh dich tu them char s[15] = “Truong DHBK”; /*trinh dich tu them
(7)7
7
Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
6.2.2 Truy cập vào phần tử xâu
6.2.2 Truy cập vào phần tử xâu
Cú pháp:
Cú pháp:
ten_xau[chi_so_ky_tu_can_truy_cap]ten_xau[chi_so_ky_tu_can_truy_cap]
Ví dụ: Ví dụ:
(8)6.2.3 Nhập/xuất xâu ký tự
6.2.3 Nhập/xuất xâu ký tự
Nhập xâu:
Nhập xâu:
Sử dụng scanfSử dụng scanf
Cú pháp: scanf(“%s”,biến_xâu_kt);
Cú pháp: scanf(“%s”,biến_xâu_kt);
char str[10];
char str[10];
scanf(“%s”,str); //không cần &str
scanf(“%s”,str); //không cần &str
Nếu người dùng nhập xâu có dấu cách phần ký tự
Nếu người dùng nhập xâu có dấu cách phần ký tự
nằm trước dấu cách nhập cho xâu ký tự (vd:
nằm trước dấu cách nhập cho xâu ký tự (vd:
ví dụ trên, nhập xâu “Viet Nam” gõ Enter s = “Viet”
ví dụ trên, nhập xâu “Viet Nam” gõ Enter s = “Viet”
Phần lại đẩy vào đệm)
Phần lại đẩy vào đệm)
Sử dụng getsSử dụng gets
Cú pháp: gets(s);
(9)9
9
Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
6.2.3 Nhập/xuất xâu ký tự - gets() & printf()
6.2.3 Nhập/xuất xâu ký tự - gets() & printf()
/* Minh hoa cach su dung gets() & printf() */ /* Minh hoa cach su dung gets() & printf() */ #include <stdio.h> #include <stdio.h> #include <conio.h> #include <conio.h> void main() void main() { {
char ten[80];char ten[80];
printf("\nXin cho biet ten cua ban : ");printf("\nXin cho biet ten cua ban : ");
gets(ten);gets(ten);
printf("Chao %s\n", ten);printf("Chao %s\n", ten);
getch();getch(); }
(10)/* Minh hoa cach su dung scanf() & puts() */ /* Minh hoa cach su dung scanf() & puts() */ #include <stdio.h>
#include <stdio.h>
char ho[81], ten[81]; char ho[81], ten[81]; int count, soTheSV; int count, soTheSV; void main() {
void main() {
puts(“Hay nhap ho, ten va so the SV cach boi"); puts(“Hay nhap ho, ten va so the SV cach boi"); puts(" dau cach roi go Enter ");
puts(" dau cach roi go Enter ");
count = scanf("%s%s%d", ho, ten, &soTheSV); count = scanf("%s%s%d", ho, ten, &soTheSV);
printf("%d muc vua nhap: %s %s %d \n", count, ho, printf("%d muc vua nhap: %s %s %d \n", count, ho,