Danh mục

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    
Hoai.2512

Phí tải xuống: 7,000 VND Tải xuống file đầy đủ (40 trang) 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 ...

Tài liệu được xem nhiều: