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

10/25/2010  
Ni dung  
Xâu ký t  
Lưu trxâu ký tự  
4. Xâu ký t– string  
Khi to và in ni dung xâu  
Nhp xâu tbàn phím  
Mt sví dụ  
Mt shàm trong thư vin ctype.h và string.h  
4 Xâu ký t– string  
4 Xâu ký t– string  
printf ("Programming in C is fun.\n");  
Mng ký tự  
char word [] = { 'H', 'e', 'l', 'l', 'o', '!' };  
"Programming in C is fun.\n"  
Để in ra xâu ta in ln lượt tng ký tự  
Xâu ký t:  
for ( i = 0; i < 6; ++i )  
printf ("%c", word[i]);  
là mt dãy các ký t,  
Các ký tcó thlà chcái, chshoc ccác ký tự đặc  
bit  
Nhược đim: Phi luôn lưu  
thông tin vslượng lý ttrong  
mng ký tự  
Xâu ký tự được đặt trong du nháy kép " "  
Xâu ký tkhông có ký tnào là xâu rng (viết là "")  
Mng word trong bnhớ  
1
10/25/2010  
4 Xâu ký t– string  
4 Xâu ký t– string  
Gii pháp: sdng mt ký tự đặc bit (ký tnull) báo  
hiu kết thúc xâu : '\0'  
Khi to  
char tên_biến[độ_dài]={ni_dung};  
Ví d  
char word[] = { "Hello!" };  
const char word [] = { 'H', 'e', 'l', 'l', 'o', '!', '\0' };  
Tìm độ dài ca 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 ni dung:  
Hàm printf  
int i = 0;  
Hàm printf xác định kết thúc xâu bng ký tnull  
char str[30] = "This is a sample";  
char word[] = {'H', 'e', 'l', 'l', 'o', '!', '\0'};  
printf ("Programming in C is fun.\n");  
In ni dung mng ký tkết thúc bng ký tnull (‘\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  
Nhp xâu tbà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 nhp ni dung xâu tbàn phím bng cách  
nhp ln lượt tng ký ttrong xâu sdng hàm getchar()  
VD2. Ghép ni dung hai xâu s1 và s2 li vi nhau để to thành  
xâu mi.  
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ý hiu  
Ý nghĩa  
Audible alert  
Backspace  
\a  
\b  
\f  
\n  
\r  
\t  
\v  
\\  
\”  
\’  
\?  
VD3. So sánh hai xâu s1 và s2 có bng nhau hay không. Hai xâu  
bng nhau là hai xâu có các ký tti các vtrí tương ng ging  
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;  
Mt ský tự đặc bit  
4 Xâu ký t– string  
4 Xâu ký t– string  
Mt shàm trong thư vin ctype.h  
Mt shàm trong thư vin string.h  
Hàm  
Ý nghĩa  
Ví dụ  
Hàm  
Ý nghĩa  
Ví dụ  
Kim tra mt ký tcó phi là chcái hoc shay  
không (AZ, az, 09)  
isalnum (‘a’) TRUE  
isalnum(c)  
Ni hai xâu ký tli làm mt  
strcat  
char *strcat(char *dest,  
const char *src);  
Kim tra mt ký tcó phi là chcái hay không (Aisalpha(‘3’) FALSE  
Z, az)  
isalpha(c)  
isdigit(c)  
Ni hai xâu ký tli làm mt (chni n ký tự  
đầu ca xâu ngun)  
strncat  
strlen  
strcmp  
char *strncat(char *dest,  
const char *src, size_t n);  
Kim tra mt ký tcó phi là chshay không (0‐  
9)  
Trvề độ dài ca mt xâu ký t(ský tcó  
trong xâu)  
char str[]="Hello!";  
printf("%d",strlen(str));  
Kim tra mt chcái là chthường (a-z).  
Kim tra mt chcái là chhoa (AZ).  
islower(c)  
isupper(c)  
isspace(c)  
isxdigit(c)  
So sánh hai xâu ký t, trvgiá trị  
if(strcmp(str,word)==0)  
printf("They are equal!");  
Kim tra ký tcó phi là du cách trng hay không  
Copy ni dung ca xâu thhai vào xâu thnht  
strcpy  
strchr  
strcpy(str,word);  
Kim tra ký tcó phi là chstrong hhexa hay  
không (09, AF, af).  
if(strchr(string, character))  
puts("Character found");  
Tìm kiếm mt ký ttrong xâu. Nếu tìm thy  
thì trvvtrí xut hin đầu tiên  
Chuyn ký tchcái tthường thành hoa  
(nếu không phi chcái thì không làm gì c)  
toupper(c)  
tolower(c)  
Tìm kiếm mt xâu con trong xâu ký tban  
đầu. Hàm trvcon trti vtrí tìm được,  
nếu không tìm thy thì trvNULL  
strstr  
pointer = strstr(string1,  
string2);  
Chuyn ký tchcái thoa thành thường  
(nếu không phi chcái thì không làm gì c)  
4
10/25/2010  
VD1. Viết chương trình nhp vào mt xâu ký tự  
bt ktbàn phím. Đếm và in ra màn hình số  
lượng ký thoa, ký tthường và chstrong  
xâu đó.  
VD2. Viết chương trình in ra màn hình ni  
dung mt xâu ký tnhưng theo thtngược.  
5
pdf 5 trang Thùy Anh 26/04/2022 8120
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