Bài giảng Tin học đại cương - Phần 4: Xâu ký tự

10/25/2010  
Nội dung  
Xâu ký tự  
Lưu trữ xâu ký tự  
4. Xâu ký tự – string  
Khởi tạo và in nội dung xâu  
Nhập xâu từ bàn phím  
Một số ví dụ  
Một số hàm trong thư viện ctype.h và string.h  
4 Xâu ký tự – string  
4 Xâu ký tự – string  
printf ("Programming in C is fun.\n");  
Mảng ký tự  
char word [] = { 'H', 'e', 'l', 'l', 'o', '!' };  
"Programming in C is fun.\n"  
Để in ra xâu ta in lần lượt từng ký tự  
Xâu ký tự:  
for ( i = 0; i < 6; ++i )  
printf ("%c", word[i]);  
là một dãy các ký tự,  
Các ký tự có thể là chữ cái, chữ số hoặc cả các ký tự đặc  
biệt  
Nhược điểm: Phải luôn lưu  
thông tin về số lượng lý tự trong  
mảng ký tự  
Xâu ký tự được đặt trong dấu nháy kép " "  
Xâu ký tự không có ký tự nào là xâu rỗng (viết là "")  
Mảng word trong bộ nhớ  
1
10/25/2010  
4 Xâu ký tự – string  
4 Xâu ký tự – string  
Giải pháp: sử dụng một ký tự đặc biệt (ký tự null) báo  
hiệu kết thúc xâu : '\0'  
Khởi tạo  
char tên_biến[độ_dài]={nội_dung};  
Ví dụ  
char word[] = { "Hello!" };  
const char word [] = { 'H', 'e', 'l', 'l', 'o', '!', '\0' };  
Tìm độ dài của xâu  
char word[] = "Hello!" ;  
int count = 0;  
while ( str[count] != '\0' )  
++count;  
char word[] = { 'H', 'e', 'l', 'l', 'o', '!', '\0' };  
char word[10] = { "Hello!" };  
char word[6] = { "Hello World!" }; ???  
4 Xâu ký tự – string  
4 Xâu ký tự – string  
#include <stdio.h>  
int main (void)  
{
In nội dung:  
Hàm printf  
int i = 0;  
Hàm printf xác định kết thúc xâu bằng ký tự null  
char str[30] = "This is a sample";  
char word[] = {'H', 'e', 'l', 'l', 'o', '!', '\0'};  
printf ("Programming in C is fun.\n");  
In nội dung mảng ký tự kết thúc bằng ký tự null (‘\0’)  
printf ("%s\n", word);  
printf("Noi dung cac xau\n");  
printf("xau str: %s\n", str);  
printf("xau word: %s\n", word);  
for(i=0; i<4; i++) printf("%c", str[i]);  
Hàm puts  
puts(tên_biến);  
return 0;  
}
2
10/25/2010  
4 Xâu ký tự – string  
4 Xâu ký tự – string  
Hàm gets  
Nhập xâu từ bàn phím  
gets(tên_biến);  
Hàm scanf( )  
char string[81];  
scanf ("%s", string);  
int main (void)  
{
char s1[81], s2[81], s3[81];  
printf ("Nhap xau 1:"); gets(s1);  
printf ("Nhap xau 2:"); gets(s2);  
printf ("Nhap xau 3:"); gets(s3);  
int main (void)  
{
char s1[81], s2[81], s3[81];  
printf ("Enter text:\n");  
scanf ("%s%s%s", s1, s2, s3);  
printf ("\ns1 = %s\ns2 = %s\ns3 = %s\n",  
s1, s2, s3);  
printf ("\ns1 = %s\ns2 = %s\ns3 = %s\n",  
s1, s2, s3);  
return 0;  
}
return 0;  
}
4 Xâu ký tự – string  
4 Xâu ký tự – string  
VD1. Viết chương trình nhập nội dung xâu từ bàn phím bằng cách  
nhập lần lượt từng ký tự trong xâu sử dụng hàm getchar()  
VD2. Ghép nội dung hai xâu s1 và s2 lại với nhau để tạo thành  
xâu mới.  
char character, buffer[81];  
int i = 0;  
printf("Nhap xau:");  
int i, j;  
do  
{
// copy noi dung s1 vao result  
for ( i = 0; s1[i] != '\0'; ++i )  
result[i] = s1[i];  
character = getchar();  
buffer[i] = character;  
++i;  
// copy noi dung s2 vao result  
for ( j = 0; s2[j] != '\0'; ++j )  
result[i + j] = s2[j];  
}
while ( character != '\n' );  
buffer[i ‐ 1] = '\0';  
printf("Noi dung xau: %s\n",buffer);  
// them ky tu ket thuc vao xau ket qua  
result [i + j] = '\0';  
3
10/25/2010  
4 Xâu ký tự – string  
4 Xâu ký tự – string  
Ký hiệu  
Ý nghĩa  
Audible alert  
Backspace  
\a  
\b  
\f  
\n  
\r  
\t  
\v  
\\  
\”  
\’  
\?  
VD3. So sánh hai xâu s1 và s2 có bằng nhau hay không. Hai xâu  
bằng nhau là hai xâu có các ký tự tại các vị trí tương ứng giống  
nhau.  
printf ("\aWARNING!!\n");  
Form feed  
Newline  
int areEqual;  
printf ("%i\t%i\t%i\n", a, b, c);  
Carriage return  
Horizontal tab  
Vertical tab  
Backslash  
while ( s1[i] == s2 [i] &&  
s1[i] != '\0' && s2[i] != '\0' )  
++i;  
printf ("\\t is the horizontal tab  
character.\n");  
Double quote  
Single quote  
Question mark  
if ( s1[i] == '\0' && s2[i] == '\0' )  
areEqual = 1;  
else  
printf ("\"Hello,\" he said.\n");  
areEqual = 0;  
Một số ký tự đặc biệt  
4 Xâu ký tự – string  
4 Xâu ký tự – string  
Một số hàm trong thư viện ctype.h  
Một số hàm trong thư viện string.h  
Hàm  
Ý nghĩa  
Ví dụ  
Hàm  
Ý nghĩa  
Ví dụ  
Kiểm tra một ký tự có phải là chữ cái hoặc số hay  
không (A‐Z, a‐z, 0‐9)  
isalnum (‘a’) TRUE  
isalnum(c)  
Nối hai xâu ký tự lại làm một  
strcat  
char *strcat(char *dest,  
const char *src);  
Kiểm tra một ký tự có phải là chữ cái hay không (A‐ isalpha(‘3’) FALSE  
Z, a‐z)  
isalpha(c)  
isdigit(c)  
Nối hai xâu ký tự lại làm một (chỉ nối n ký tự  
đầu của xâu nguồn)  
strncat  
strlen  
strcmp  
char *strncat(char *dest,  
const char *src, size_t n);  
Kiểm tra một ký tự có phải là chữ số hay không (0‐  
9)  
Trả về độ dài của một xâu ký tự (số ký tự có  
trong xâu)  
char str[]="Hello!";  
printf("%d",strlen(str));  
Kiểm tra một chữ cái là chữ thường (a-z).  
Kiểm tra một chữ cái là chữ hoa (A‐Z).  
islower(c)  
isupper(c)  
isspace(c)  
isxdigit(c)  
So sánh hai xâu ký tự, trả về giá trị  
if(strcmp(str,word)==0)  
printf("They are equal!");  
Kiểm tra ký tự có phải là dấu cách trống hay không  
Copy nội dung của xâu thứ hai vào xâu thứ nhất  
strcpy  
strchr  
strcpy(str,word);  
Kiểm tra ký tự có phải là chữ số trong hệ hexa hay  
không (0‐9, A‐F, a‐f).  
if(strchr(string, character))  
puts("Character found");  
Tìm kiếm một ký tự trong xâu. Nếu tìm thấy  
thì trả về vị trí xuất hiện đầu tiên  
Chuyển ký tự chữ cái từ thường thành hoa  
(nếu không phải chữ cái thì không làm gì cả)  
toupper(c)  
tolower(c)  
Tìm kiếm một xâu con trong xâu ký tự ban  
đầu. Hàm trả về con trỏ tới vị trí tìm được,  
nếu không tìm thấy thì trả về NULL  
strstr  
pointer = strstr(string1,  
string2);  
Chuyển ký tự chữ cái từ hoa thành thường  
(nếu không phải chữ cái thì không làm gì cả)  
4
10/25/2010  
VD1. Viết chương trình nhập vào một xâu ký tự  
bất kỳ từ bàn phím. Đếm và in ra màn hình số  
lượng ký tự hoa, ký tự thường và chữ số trong  
xâu đó.  
VD2. Viết chương trình in ra màn hình nội  
dung một xâu ký tự nhưng theo thứ tự ngược.  
5
pdf 5 trang Thùy Anh 18520 Free
Bạn đang xem tài liệu "Bài giảng Tin học đại cương - Phần 4: Xâu ký tự", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_tin_hoc_dai_cuong_phan_4_xau_ky_tu.pdf