Lập trình với C ++ - MẢNG VÀ BIẾN CON TRỎ
Số trang: 14
Loại file: doc
Dung lượng: 69.00 KB
Lượt xem: 15
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo tài liệu lập trình với c ++ - mảng và biến con trỏ, công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Lập trình với C ++ - MẢNG VÀ BIẾN CON TRỎ CHƯƠNG5:MẢNGVÀBIẾNCONTRỎ5.1/Mảng:làtậphợpcủacácbiếncùngkiểuđượcxếpliêntiếpnhautrongbộnhớtrong.5.1.1/Mảng1chiều:a/Kháiniệm:[]Vídụ:inta[5];=>a[0]a[1]a[2]a[3]a[4](chỉsốchạytừ0đếnn1).CharS[20];=>AB......XS[0]S[1]S[19]b/Cáchnhậpsốliệuchomảngtừbànphím(cóthểdùnghàmRandomC).+Mảngsốnguyên:Vídụ:Nhậpvàomảngsốnguyên5phầntử#include#include#definen5main(){inta[n];inti;for(i=0;i*Vídụ1:Nhậpvàòmộtmảngsốnguyênsauđósắpxếptheothứtựtăngdần:#include#definen5main(){inta[n];inti,j,t;for(i=0;i>n;i++);{printf(nhậpa[%d]=,i);scanf(%d,&a[i]);}/*Sắpxếptăngdần*/for(i=0;i{inti,j,t;for(i=0;i>n1;i++)for(j=i+1;ja[j]{t=a[i];a[i]=a[j];a[j]=t;}*Vídụ3:chuyểnđổi1chuỗikýtựthườngthànhHoa.Chúý:+Hàmtolower(ch):đổi1kýtựchthànhthường.+Hàmtoupper(ch):đổikýtựchthànhHoa.+Cả2hàmtrênđềunămtrongthưviện:Giải:#include#include#definen20main(){chars[n];inti;for(i=0;itacócácbiếnchạyi(chỉsốchạytừ0đến(Dong1)).tacócácbiếnchạyj(chỉsốchạytừ0đến(Cot1)).a[0][0]a[0][1]......a[0][Cot1]a[1][0]a[1][1]......a[a][Cot1].................................a[Dong1][0]..............a[Dong1][Cot1]*Vídụ:Viếtchươngtrìnhtínhtổng,tíchcácsốtrongmãngsốthựca[3][2];#include#defineN3#defineN2main(){inti,j;floata[M][N];floattong,tich,tam;/*nhậpsốliệu*/for(i=0;i#definen4/*cácprototype(khaibáohàm)*/voidnhap(inta[][N],intM,intN);voidTongMT(inta[][N],intb[][N],intc[][N],intM,intN);voidInMT(intc[][N],intM,intN);/*chươngtrìnhchính*/{inta[M][N],b[M][N],c[M][N];/*gọicáchàm*/Nhap(a,M,N);nhap(b,M,N);TONGMT(a,b,c,M,N);InMT(c,M,N);Getch();}/*Hàmnhậpsốliệuchomãng2chiềumxnphầntử*/voidNhap(inta[][N],intM,intN){inti,j;for(i=0;i1/chomãng2chiềuA,làmatrậnvuôngcấpnxn,lậpchươngtrình:a/tínhtổngtấtcảcácphầntửdươngcủamãng.b/tínhtổngcácphầntửA[i][j]mài+jchiahếtcho5.c/Inracácsốnguyêntốtheotừnghàng.d/Sắpxếptheohàng.e/Sắpxếptheocột.f/Tínhtổngcácphầntửtrênđườngchéo(i=j),đườngbiên.g/Tìmmax;mintheotừnghàng,cộtvàtoànbộmatrận.2/Mộtchuỗigọilàpalindronenếunókhôngthayđổikhitađảongượcthứtựcủacáckýtựtrongnó(vídụ12321).Lậpchươngtrìnhđọcmộtchuỗi(xâu)kýtựvàxácđịnhxemcótínhpalondronekhông.5.3/Biếncontrỏ:5.3.1/Kháiniệmcontrỏ(pointer)vàđịachỉ:MỗibiếntrongngônngữCđềucó1tênvàtươngứngvớinólàmộtvùngnhớdùngđểchứagiátrịcủanó.Tuỳtheobiếnmàvùngnhớdànhchobiếncóđộdàikhácnhau.Ðịachỉcủabiếnlàsôthứtựcủabyteđầutiêntươngứngvớibiếnđó.Ðịachỉcủabiếncókiểukhácnhaulàkhácnhau.Ðịachỉvàbiểnkiểuintliêntiếpcáchnhau2byte,biếnkiểufloatlà4byte.Contrỏlàbiếndùngđểchứađịachỉcủabiếnkháchoặccóthểlàmộthàm.Docónhiềuloạiđịachỉnêncũngcónhiềuloạibiếncontrỏ.Contrỏkiểuintdùngđểchứađịachỉcủakiểuint.Contrỏkiểufloatdùngđểchứađịachỉkiểufloat.Muốnsửdụngđượcpointer,trướctiênphảicóđượcđịachỉcủabiếnmàtacầnquantâmbằngphéptoánlấyđịachỉ&.Kếtquảcủaphéplấyđịachỉ&sẽlà1phầntửhằng.*Vídụ:intnum;=>&numlàđịachỉcủanum.intpnum;/*pnumlà1pointerchỉđếnmộtint*/pnum=#/*pnumchứađịachỉbiếnintnum*/giảsử:num=5;=>*pnum=5/*do*làtoántửnộidung*/HaicâulệnhsauđâylàtươngđươngNum=100;(*pnum)=100;Quytắckhaibáobiếncontrỏ:**Vídụ2:inta,*p;a=5;/*giảsửđịachỉcủaalà*/p=&a;/*p=*/p=a;/*phépgánsai*/*p=a;/*phépgánđúng*/scanf(%d,&a);tươngđươngscanf(%d,p);5.3.2/tínhtoántrênbiếncontrỏ(pointer)a/Haibiếncontrỏcùngkiểucóthểgánchonhau:Vídụ1:inta,*p,*a;float*f;a=5;p=&a;q=p;/*đúng*/f=p;/*saidokháckiểu*/f=(float*)p;/*đúngnhờépkiểucontrỏnguyênvềkiểufloat*/Vídụ2:inta;char*c;c=&a;/*saivìkháckiểu*/c=(char*)/*đúng*/b/Mộtbiếnpointercóthểđượccộng,trừvớimộtsốnguyên(int,long)đểchokếtquảlàmộtpointer.*Vídụ:inta,*p,*p10;a=5; ...
Nội dung trích xuất từ tài liệu:
Lập trình với C ++ - MẢNG VÀ BIẾN CON TRỎ CHƯƠNG5:MẢNGVÀBIẾNCONTRỎ5.1/Mảng:làtậphợpcủacácbiếncùngkiểuđượcxếpliêntiếpnhautrongbộnhớtrong.5.1.1/Mảng1chiều:a/Kháiniệm:[]Vídụ:inta[5];=>a[0]a[1]a[2]a[3]a[4](chỉsốchạytừ0đếnn1).CharS[20];=>AB......XS[0]S[1]S[19]b/Cáchnhậpsốliệuchomảngtừbànphím(cóthểdùnghàmRandomC).+Mảngsốnguyên:Vídụ:Nhậpvàomảngsốnguyên5phầntử#include#include#definen5main(){inta[n];inti;for(i=0;i*Vídụ1:Nhậpvàòmộtmảngsốnguyênsauđósắpxếptheothứtựtăngdần:#include#definen5main(){inta[n];inti,j,t;for(i=0;i>n;i++);{printf(nhậpa[%d]=,i);scanf(%d,&a[i]);}/*Sắpxếptăngdần*/for(i=0;i{inti,j,t;for(i=0;i>n1;i++)for(j=i+1;ja[j]{t=a[i];a[i]=a[j];a[j]=t;}*Vídụ3:chuyểnđổi1chuỗikýtựthườngthànhHoa.Chúý:+Hàmtolower(ch):đổi1kýtựchthànhthường.+Hàmtoupper(ch):đổikýtựchthànhHoa.+Cả2hàmtrênđềunămtrongthưviện:Giải:#include#include#definen20main(){chars[n];inti;for(i=0;itacócácbiếnchạyi(chỉsốchạytừ0đến(Dong1)).tacócácbiếnchạyj(chỉsốchạytừ0đến(Cot1)).a[0][0]a[0][1]......a[0][Cot1]a[1][0]a[1][1]......a[a][Cot1].................................a[Dong1][0]..............a[Dong1][Cot1]*Vídụ:Viếtchươngtrìnhtínhtổng,tíchcácsốtrongmãngsốthựca[3][2];#include#defineN3#defineN2main(){inti,j;floata[M][N];floattong,tich,tam;/*nhậpsốliệu*/for(i=0;i#definen4/*cácprototype(khaibáohàm)*/voidnhap(inta[][N],intM,intN);voidTongMT(inta[][N],intb[][N],intc[][N],intM,intN);voidInMT(intc[][N],intM,intN);/*chươngtrìnhchính*/{inta[M][N],b[M][N],c[M][N];/*gọicáchàm*/Nhap(a,M,N);nhap(b,M,N);TONGMT(a,b,c,M,N);InMT(c,M,N);Getch();}/*Hàmnhậpsốliệuchomãng2chiềumxnphầntử*/voidNhap(inta[][N],intM,intN){inti,j;for(i=0;i1/chomãng2chiềuA,làmatrậnvuôngcấpnxn,lậpchươngtrình:a/tínhtổngtấtcảcácphầntửdươngcủamãng.b/tínhtổngcácphầntửA[i][j]mài+jchiahếtcho5.c/Inracácsốnguyêntốtheotừnghàng.d/Sắpxếptheohàng.e/Sắpxếptheocột.f/Tínhtổngcácphầntửtrênđườngchéo(i=j),đườngbiên.g/Tìmmax;mintheotừnghàng,cộtvàtoànbộmatrận.2/Mộtchuỗigọilàpalindronenếunókhôngthayđổikhitađảongượcthứtựcủacáckýtựtrongnó(vídụ12321).Lậpchươngtrìnhđọcmộtchuỗi(xâu)kýtựvàxácđịnhxemcótínhpalondronekhông.5.3/Biếncontrỏ:5.3.1/Kháiniệmcontrỏ(pointer)vàđịachỉ:MỗibiếntrongngônngữCđềucó1tênvàtươngứngvớinólàmộtvùngnhớdùngđểchứagiátrịcủanó.Tuỳtheobiếnmàvùngnhớdànhchobiếncóđộdàikhácnhau.Ðịachỉcủabiếnlàsôthứtựcủabyteđầutiêntươngứngvớibiếnđó.Ðịachỉcủabiếncókiểukhácnhaulàkhácnhau.Ðịachỉvàbiểnkiểuintliêntiếpcáchnhau2byte,biếnkiểufloatlà4byte.Contrỏlàbiếndùngđểchứađịachỉcủabiếnkháchoặccóthểlàmộthàm.Docónhiềuloạiđịachỉnêncũngcónhiềuloạibiếncontrỏ.Contrỏkiểuintdùngđểchứađịachỉcủakiểuint.Contrỏkiểufloatdùngđểchứađịachỉkiểufloat.Muốnsửdụngđượcpointer,trướctiênphảicóđượcđịachỉcủabiếnmàtacầnquantâmbằngphéptoánlấyđịachỉ&.Kếtquảcủaphéplấyđịachỉ&sẽlà1phầntửhằng.*Vídụ:intnum;=>&numlàđịachỉcủanum.intpnum;/*pnumlà1pointerchỉđếnmộtint*/pnum=#/*pnumchứađịachỉbiếnintnum*/giảsử:num=5;=>*pnum=5/*do*làtoántửnộidung*/HaicâulệnhsauđâylàtươngđươngNum=100;(*pnum)=100;Quytắckhaibáobiếncontrỏ:**Vídụ2:inta,*p;a=5;/*giảsửđịachỉcủaalà*/p=&a;/*p=*/p=a;/*phépgánsai*/*p=a;/*phépgánđúng*/scanf(%d,&a);tươngđươngscanf(%d,p);5.3.2/tínhtoántrênbiếncontrỏ(pointer)a/Haibiếncontrỏcùngkiểucóthểgánchonhau:Vídụ1:inta,*p,*a;float*f;a=5;p=&a;q=p;/*đúng*/f=p;/*saidokháckiểu*/f=(float*)p;/*đúngnhờépkiểucontrỏnguyênvềkiểufloat*/Vídụ2:inta;char*c;c=&a;/*saivìkháckiểu*/c=(char*)/*đúng*/b/Mộtbiếnpointercóthểđượccộng,trừvớimộtsốnguyên(int,long)đểchokếtquảlàmộtpointer.*Vídụ:inta,*p,*p10;a=5; ...
Tìm kiếm theo từ khóa liên quan:
biến con trỏ lập trình C ngôn ngữ C tài liệu về C giáo trình lập trình CGợi ý tài liệu liên quan:
-
Giáo trình Lập trình C căn bản - HanoiAptech Computer Education Center
136 trang 133 0 0 -
Hướng dẫn thực hành lập trình C trên Visual Studio
9 trang 127 0 0 -
Giáo trình Kỹ thuật lập trình C: Căn bản & nâng cao - Phần 1
202 trang 127 0 0 -
Giáo trình Tin học đại cương: Phần 2 - Trần Đình Khang
118 trang 119 0 0 -
124 trang 113 3 0
-
Giáo trình Ngôn ngữ lập trình 2
50 trang 108 0 0 -
Giáo trình Ngôn ngữ lập trình C căn bản
142 trang 100 0 0 -
Program C Ansi Programming Embedded Systems in C and C++ phần 4
12 trang 97 0 0 -
101 thuật toán chương trình C: Phần 2
130 trang 91 0 0 -
91 trang 85 0 0