Bài giảng Kỹ thuật lập trình - Chương 7: Chuỗi ký tự
Số trang: 40
Loại file: ppt
Dung lượng: 562.50 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Kỹ thuật lập trình - Chương 7: Chuỗi ký tự" cung cấp cho người học các kiến thức: Giới thiệu Chuỗi, khai báo và khởi tạo chuỗi, nhập chuỗi, xuất chuỗi, một số hàm thư viện thao tác trên chuỗi, một số ví dụ về chuỗi,... Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình - Chương 7: Chuỗi ký tựChương 7 CHUỖIKÝTỰNộidung 1.GiớithiệuChuỗi 2.Khaibáovàkhởitạochuỗi 3.Nhậpchuỗi 4.Xuấtchuỗi 5.Mộtsốhàmthưviệnthaotáctrênchuỗi. 6.Mộtsốvídụvềchuỗi 7.Mảngcácchuỗi 8.Mảngcontrỏđếncácchuỗi Giới thiệu chuỗi Mộtchuỗikýtự(chuỗi)làmảngmộtchiềucáckýtựđược kếtthúcbởikýtựNULL(\0). SốlượngcáckýtựkhácNULLtrongchuỗigọilàchiềudài củachuỗi. Ghi chú: Như mảng 1 chiều, tên chuỗi ký tự cũng được xemlàmộthằngđịachỉbiểuthị địachỉcủaphầntử đầu tiên. Khai báo và khởi tạo chuỗi Khaibáo char[độdài];//khôngkhởitạo char[độdài]=chuỗikýtự;//cókhởitạo char[]=chuỗikýtự;//cókhởitạo Độdàimảnglàsốkítựtốiđacóthểcótrongchuỗitínhtừ đầu mảng đến dấu kết thúc chuỗi (không kể dấu kết thúc chuỗi‘\0’). Độdàitốiđacủachuỗi=độdàimảng1. Vídụ: charhoten[26];//chuỗihọtênchứatốiđa25kítự charmonhoc[31]=NNLTC++; charthang[]=Mườihai;//độdàimảng=9 char*str=“Hello”;//Dùngcontrỏ Cách sử dụng chuỗi ký tự Truycậpmộtkítựtrongchuỗi:cúphápgiốngnhưmảng. chars[50]=I\mastudent;//chúýkítựphảiđượcviếtlà\ cout>s;coutNhập chuỗi ký tựPhươngthứcnhậpchuỗi(#include) Dùnghàmcin.getline(s,n)đểnhậpchuỗikítự.Hàmcó2đốisố vớislàchuỗicầnnhậpnộidungvàn1làsốkítựtốiđacủa chuỗi. Vídụ1:Xétđoạnlệnhsau chars[10]; cin.getline(s,10); coutNhập chuỗi ký tựPhươngthứcnhậpchuỗi(#include) Dùnghàmgets()củathưviệnstdio.h. Hàmnàycócúphápsau:char*gets(char*s); Hàm gets() đọc các ký tự từ bàn phím (stdio.h) vào trong mảngtrỏđếnbởischođếnkhinhấnEnter.Kýtựnullsẽ được đặt sau ký tự cuối cùng của chuỗi nhập vào trong mảng. Hoặc ta có thể dùng cin (Console INput). Cú pháp như s sau:cin>>s Vídụ1:Xétđoạnlệnhsau chars[10]; gets(s);Nhập chuỗi ký tự Vídụ 2:NhậpmộtngàythángdạngMỹ(mm/dd/yy),đổisang ngàythángdạngViệtNamrồiinramànhình. #include main() {charUS[9],VN[9];//khởitạotrướchaidấu/ cin.getline(US,9);//nhậpngàytháng,vídụ05/01/99“ gets(US); VN[0]=US[3];VN[1]=US[4];//ngày VN[3]=US[0];VN[4]=US[1];//tháng VN[6]=US[6];VN[7]=US[7];//năm coutXuất chuỗi ký tự Dùnghàmputs()củathưviệnstdio.h. Hàmnàycócúphápsau: intputs(constchar*s); Hoặctacóthểdùngcout(ConsoleOUTput).Cúphápnhư sau:coutXuất chuỗi ký tự Ví dụ: Nhập một ngày tháng dạng Mỹ (mm/dd/yy), đổi sang ngàythángdạngViệtNamrồiinramànhình. #include main() {charUS[9],VN[9]=//;//khởitạotrướchaidấu/ cin.getline(US,9);//nhậpngàytháng,vídụ05/01/99“ gets(US); VN[0]=US[3];VN[1]=US[4];//ngày VN[3]=US[0];VN[4]=US[1];//tháng VN[6]=US[6];VN[7]=US[7];//năm coutXuất chuỗi ký tự Ví dụ: Nhập một ngày tháng dạng Mỹ (mm/dd/yy), đổi sang ngàythángdạngViệtNamrồiinramànhình. #include main() {charUS[9],VN[9]=//;//khởitạotrướchaidấu/ cin.getline(US,9);//nhậpngàytháng,vídụ05/01/99“ gets(US); VN[0]=US[3];VN[1]=US[4];//ngày VN[3]=US[0];VN[4]=US[1];//tháng VN[6]=US[6];VN[7]=US[7];//năm coutHàm và chuỗi ký tự Hàmkhôngthểtrảvềmộtgiátrịlàchuỗikýtự. Đốicủahàmcóthểlàtênchuỗikýtự,khiđóthamsốthựcphải làtênchuỗikýtự Đối Thamsốthực Chuỗikýtự Tênchuỗikýtự Vídụ:Viếthàmtrảvềchiềudàixâukýtự Inputs Outputl(s) intChieuDai(chars[MAX]) {intl=0; while(s[l]!=NULL) l++; returnl; }Hàm và chuỗi ký tự Vídụ16:Viếthàmđảongượcxâukýtựs,kếtquảlưutrữlạivào s. Inputs Outputs voidDaoNguoc(chars[MAX]) {inti,j,h; charTam; h=ChieuDai(s); for(i=0,j=h1;iHàm và chuỗi ký tựSửdụnghàmtrênbằngchươngtrìnhsau: #include #include #include #defineMAX80 voidDaoNguoc(chars[MAX]); voidChieuDai(chars[MAX]); intmain() { chars[MAX]; clrscr(); cout Con trỏ và chuỗi ký tự Chuỗi(string)làmộtdãycáckítựliêntiếptrongbộnhớđượckếtthúc bằngkítựNUL(‘\0’).NhưvậyđểsửdụngbiếnchuỗichứaMAXkítự, takhaibáonhưsau:chars[MAX+1]; Tacũngcóthểkhaibáobiếnchuỗinhưsau: char*s; Cóthểkhởitạobiếnchuỗinhưsau: chars[]=“HelloC++”; Con trỏ và chuỗi ký tự Hàmnhậpchuỗicủađốitượngcin: //đọccáckítựtựcinvàos,kểcảkítựkhoảngtrắng. getline(char*s,intsize,chardelim=’\n’); read(char*s,intsize);//cin.read(s,5); //chophépđọctừngkítựtừcinvàotrongchvàtrảvềtrị1.Hàmtrảvềtrị0 nếugặpkítự‘\n’. get(charch); Hàmxuấtchuỗicủađốitượngcout: put(char);//cout.put(ch).put(ch); write(constchar*s,intsize);//cout.write(s,1).write(s+1,2); Con trỏ và chuỗi ký tự Mộtsốhàmthôngdụngkhaibáotrongchophépthaotác,xữlý chuỗitítự: size_tstrlen(constchar*s); intstrcmp(constchar*s1,constchar*s2); intstrcmpi(constchar*s1,constchar*s2); char*strcpy(char*dest,constchar*src); char*strcat(char*dest,constc ...
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình - Chương 7: Chuỗi ký tựChương 7 CHUỖIKÝTỰNộidung 1.GiớithiệuChuỗi 2.Khaibáovàkhởitạochuỗi 3.Nhậpchuỗi 4.Xuấtchuỗi 5.Mộtsốhàmthưviệnthaotáctrênchuỗi. 6.Mộtsốvídụvềchuỗi 7.Mảngcácchuỗi 8.Mảngcontrỏđếncácchuỗi Giới thiệu chuỗi Mộtchuỗikýtự(chuỗi)làmảngmộtchiềucáckýtựđược kếtthúcbởikýtựNULL(\0). SốlượngcáckýtựkhácNULLtrongchuỗigọilàchiềudài củachuỗi. Ghi chú: Như mảng 1 chiều, tên chuỗi ký tự cũng được xemlàmộthằngđịachỉbiểuthị địachỉcủaphầntử đầu tiên. Khai báo và khởi tạo chuỗi Khaibáo char[độdài];//khôngkhởitạo char[độdài]=chuỗikýtự;//cókhởitạo char[]=chuỗikýtự;//cókhởitạo Độdàimảnglàsốkítựtốiđacóthểcótrongchuỗitínhtừ đầu mảng đến dấu kết thúc chuỗi (không kể dấu kết thúc chuỗi‘\0’). Độdàitốiđacủachuỗi=độdàimảng1. Vídụ: charhoten[26];//chuỗihọtênchứatốiđa25kítự charmonhoc[31]=NNLTC++; charthang[]=Mườihai;//độdàimảng=9 char*str=“Hello”;//Dùngcontrỏ Cách sử dụng chuỗi ký tự Truycậpmộtkítựtrongchuỗi:cúphápgiốngnhưmảng. chars[50]=I\mastudent;//chúýkítựphảiđượcviếtlà\ cout>s;coutNhập chuỗi ký tựPhươngthứcnhậpchuỗi(#include) Dùnghàmcin.getline(s,n)đểnhậpchuỗikítự.Hàmcó2đốisố vớislàchuỗicầnnhậpnộidungvàn1làsốkítựtốiđacủa chuỗi. Vídụ1:Xétđoạnlệnhsau chars[10]; cin.getline(s,10); coutNhập chuỗi ký tựPhươngthứcnhậpchuỗi(#include) Dùnghàmgets()củathưviệnstdio.h. Hàmnàycócúphápsau:char*gets(char*s); Hàm gets() đọc các ký tự từ bàn phím (stdio.h) vào trong mảngtrỏđếnbởischođếnkhinhấnEnter.Kýtựnullsẽ được đặt sau ký tự cuối cùng của chuỗi nhập vào trong mảng. Hoặc ta có thể dùng cin (Console INput). Cú pháp như s sau:cin>>s Vídụ1:Xétđoạnlệnhsau chars[10]; gets(s);Nhập chuỗi ký tự Vídụ 2:NhậpmộtngàythángdạngMỹ(mm/dd/yy),đổisang ngàythángdạngViệtNamrồiinramànhình. #include main() {charUS[9],VN[9];//khởitạotrướchaidấu/ cin.getline(US,9);//nhậpngàytháng,vídụ05/01/99“ gets(US); VN[0]=US[3];VN[1]=US[4];//ngày VN[3]=US[0];VN[4]=US[1];//tháng VN[6]=US[6];VN[7]=US[7];//năm coutXuất chuỗi ký tự Dùnghàmputs()củathưviệnstdio.h. Hàmnàycócúphápsau: intputs(constchar*s); Hoặctacóthểdùngcout(ConsoleOUTput).Cúphápnhư sau:coutXuất chuỗi ký tự Ví dụ: Nhập một ngày tháng dạng Mỹ (mm/dd/yy), đổi sang ngàythángdạngViệtNamrồiinramànhình. #include main() {charUS[9],VN[9]=//;//khởitạotrướchaidấu/ cin.getline(US,9);//nhậpngàytháng,vídụ05/01/99“ gets(US); VN[0]=US[3];VN[1]=US[4];//ngày VN[3]=US[0];VN[4]=US[1];//tháng VN[6]=US[6];VN[7]=US[7];//năm coutXuất chuỗi ký tự Ví dụ: Nhập một ngày tháng dạng Mỹ (mm/dd/yy), đổi sang ngàythángdạngViệtNamrồiinramànhình. #include main() {charUS[9],VN[9]=//;//khởitạotrướchaidấu/ cin.getline(US,9);//nhậpngàytháng,vídụ05/01/99“ gets(US); VN[0]=US[3];VN[1]=US[4];//ngày VN[3]=US[0];VN[4]=US[1];//tháng VN[6]=US[6];VN[7]=US[7];//năm coutHàm và chuỗi ký tự Hàmkhôngthểtrảvềmộtgiátrịlàchuỗikýtự. Đốicủahàmcóthểlàtênchuỗikýtự,khiđóthamsốthựcphải làtênchuỗikýtự Đối Thamsốthực Chuỗikýtự Tênchuỗikýtự Vídụ:Viếthàmtrảvềchiềudàixâukýtự Inputs Outputl(s) intChieuDai(chars[MAX]) {intl=0; while(s[l]!=NULL) l++; returnl; }Hàm và chuỗi ký tự Vídụ16:Viếthàmđảongượcxâukýtựs,kếtquảlưutrữlạivào s. Inputs Outputs voidDaoNguoc(chars[MAX]) {inti,j,h; charTam; h=ChieuDai(s); for(i=0,j=h1;iHàm và chuỗi ký tựSửdụnghàmtrênbằngchươngtrìnhsau: #include #include #include #defineMAX80 voidDaoNguoc(chars[MAX]); voidChieuDai(chars[MAX]); intmain() { chars[MAX]; clrscr(); cout Con trỏ và chuỗi ký tự Chuỗi(string)làmộtdãycáckítựliêntiếptrongbộnhớđượckếtthúc bằngkítựNUL(‘\0’).NhưvậyđểsửdụngbiếnchuỗichứaMAXkítự, takhaibáonhưsau:chars[MAX+1]; Tacũngcóthểkhaibáobiếnchuỗinhưsau: char*s; Cóthểkhởitạobiếnchuỗinhưsau: chars[]=“HelloC++”; Con trỏ và chuỗi ký tự Hàmnhậpchuỗicủađốitượngcin: //đọccáckítựtựcinvàos,kểcảkítựkhoảngtrắng. getline(char*s,intsize,chardelim=’\n’); read(char*s,intsize);//cin.read(s,5); //chophépđọctừngkítựtừcinvàotrongchvàtrảvềtrị1.Hàmtrảvềtrị0 nếugặpkítự‘\n’. get(charch); Hàmxuấtchuỗicủađốitượngcout: put(char);//cout.put(ch).put(ch); write(constchar*s,intsize);//cout.write(s,1).write(s+1,2); Con trỏ và chuỗi ký tự Mộtsốhàmthôngdụngkhaibáotrongchophépthaotác,xữlý chuỗitítự: size_tstrlen(constchar*s); intstrcmp(constchar*s1,constchar*s2); intstrcmpi(constchar*s1,constchar*s2); char*strcpy(char*dest,constchar*src); char*strcat(char*dest,constc ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Kỹ thuật lập trình Kỹ thuật lập trình Chuỗi ký tự Khởi tạo chuỗi Thao tác trên chuỗi Mảng các chuỗiGợi ý tài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 265 0 0 -
114 trang 240 2 0
-
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 207 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 194 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 166 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 153 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 118 0 0 -
Giáo trình về phân tích thiết kế hệ thống thông tin
113 trang 114 0 0 -
Giáo trình Ngôn ngữ lập trình 2
50 trang 108 0 0 -
LUẬN VĂN: Tìm hiểu kỹ thuật tạo bóng cứng trong đồ họa 3D
41 trang 108 0 0