Bài giảng tin học đại cương C++ (chương 1) - Pdf 28

CHNG1:BINCONTR

§1.KHÁINIMCHUNG
 Mtcontrlàmtbinchađachcamtbinkhác.Numtbin
chađachcamtbinkhácthìtanóibinthnht
trđnbinthhai.
 Cũngnhmibinkhác,bincontrcũngphiđckhaibáotrc
khidùng.Dngtngquátđkhaibáomtbincontrlà:
 type*<tênbin>
Trongđ
ó:typelàbtkìkiudliucbnthíchhpnàođcchpnhn
trongCvà<tênbin>làtêncamtbincontr.Kiudliucbnxác
đnh
kiucanhngbinmàcontrcóthchđn.Vídkhaibáobincon
trchđncácbinnguyênvàbinkiukít:
 char*p;
 int*x,*y;
Contrcómttrđcbit
gilàNULL.Trnàycónghĩalàcontrchatr
timtđachhplnàoc.Đdùngđctrnàychúngtaphidùng
#include<stdio.h>đuchngtrình

§2.CÁCPHÉPTOÁNVCONTR
C
cóhai phéptoánđcbitđivicontr:*và&.Phéptoán&là
phéptoántrvđachtrongbnhcabinsaunó.Víd:
p=&a;
sđtvàobinpđachtrong
bnhcabina.Đachnàykhôngcóliên
quangìđntrscabina.Nóicáchkhácđachcabinakhôngliên
quangìđnnidungcabina.

main()
{
floatx=10.1,y;
int
*p;

clrscr();
p=&x;
y=*p;
printf(%f,y);
getch();
}

Chngtrìnhnàynhmgántrcaxchobinyvàinratrđó.Khi
biêndchchngtrìnhkhôngbáolimàchnhcnh:

Suspenciouspointerconversioninfunctionmain
Tuynhiênchngtrìnhkhônggántrxchoyđc.Lídolàtakhai
báomtcontrintvàchonótrtibinfloatx.Nhvytrìnhbiêndchs
chchuyn2
bytethôngtinchoychkhôngphi4byteđtoramts
dngfloat.

§4.CÁCBIUTHCCONTR
1. Cácphépgáncontr:Cũnggingnhbtkìmtbinnàokhác
,tacó
thdùngmtcontrvphicamtphépgánđgántrcamt
contrchomtcontrkhác.Vídtavit:
2. 
Chngtrình13:

nàycũngđúngkhigim.Víd:
 p1
;
strtisnguyênđach1998.Nhvymikhicontrtănglên1,nós
chđndliuktiptiđachnàođótutheođdàicakiudliu.C
còncho
phépcnghaytrmtsnguyênvimtcontr.Biuthc:
 p1=p1+9;
slàmchocontrchtiphntth9cókiulàkiumàp1trti
vànm
sauphânthinthinóđangtrđn.Ngoàicácphéptoántrên,contr
khôngchpnhnmtphéptoánnàokhác.

3.Sosánhcáccontr:Chúngtacóthsosánh2contrtrong
mtbiuthc
quanh.Vídchohaipvàq,phátbiusauđâylàhpl:
 if(p<q)
printf(“ptrodenmotvitribonhothaphonq\n”);
Tuynhiêncnnhrngphéptoántrênlà
sosánhhaiđachchatrongp
vàqchkhôngphinidungcahaibinmàpvàqtrti.


3
4.Cácvídvvicdùngcontr:
Chngtrình14:Phântíchchngtrìnhsau:
main()
{
inti,j,*p;


5choj
100 5 i
102 5 j
104 100 p

4
Mttrongnhngvnđlíthúkhidùngcontrlàxemnidungb
nhcamáytính.Chngtrìnhsauđâychophéptavàođachbtđu
caRAMmàtamunkhosátvàsauđó
hinlênnidungmibytedng
shex.Trongchngtrìnhcótkhoáfardùngđthamkhođncácvtrí
khôngnmtrongcùngmtsegment.

Chngtrình15:
main()
{
unsignedlongintstart;
char*p;
intt;

clrscr();
printf(Nhapvaodiachibatdaumabanmuonxem:);
scanf(%lu,&start);
p=(charfar*)start;
for(t=0;;t++,p++)
if(!(t%16))
 {
printf(%2x\n,*p);
getch();
 }

x=*pa++;
}

inta[10],*pa,x; khaibáomtbnggm10phntkiuint,đclitkêlà
a[0],a[1], ,a[9],mt
contrđchđnmtbinkiuintvàmtbinkiu
intlàx.
a[0]=11...;ta[4]đna[9]chađckhigán.Nhvychúngschatr
ngunhiênđãcóti
nhngvtríbnhđãphânphichochúng.
pa=&a[0];đtvàopađachcaphntđutiêncamng.Biuthcnày
cóthvitđnginlàpa=a;vìtênc
amtmngluônluônđctrình
biêndchcoilàđachcaphntđutiêncamng.Têncamngkhông
cóchskèmtheocóthđcdùngtrongchngtrìnhnhmthng
đa
ch.
x=*pa;đtnidungcabinnguyênmàpatrđnvào(tclàa[0])vàox.
Nhvyx=11
pa++;pađctănglên1vàbâygitrvàophntth2ca
mngtclà
chađachcaphnta[1]
x=*pa;patrđnphnta[1]nênx=22
x=*pa+1;x=23
x=*(pa+1);trchtpa+1đcthchin,nghĩa
làpatrvàoa[2],sauđó
nidungcaa[2]đcgánchoxnênx=33.Tuypathamgiavàophéptoán
nhngtrscanókhôngthayđi.
x = *++pa;++đcthchintrcnên
patrtia[2].Sauđótrcaa[2]

Haichng trìnhchkhácnhaubi
uthc: *(num+dex).Cáchvit
nàytngđngvinum[dex].Nóicáchkháctruycpđnphntcóch
sdextrongmngnum.Chúngtahiu*(num+dex)nhsau:đutiênnum
làđachcaphntđu
tiêncamngnumvàtamunbittrsca
phntcóchsdex.Vìvynum+dexslàđachcaphntthdex.
*(num+dex)xácđnhnidungcaphnt
(num+dex).Tómli:
*(array+index)tngtarray(index)
Cóhaicáchtruycpmnglà:
 theokíhiumng &array[index]
 theokíhiucontr array+index

Chngtrình19:Tínhnhitđtrungbìnhbngcáchdùngcontr
main()
{
floattemp[40];
floatsum=0.0;
intnum,day=0;
clrscr();
do

7
{
 printf(Chonhietdongaythu%d:,day+1);
 scanf(%f,temp+day);
}
while(*(temp+day++)>0);
num=day1;

p=temp;
num=day1;
for(day=0;day<num;day++)
sum+=*(p++);
printf(Nhietdotrungbinhla:%.3f,sum/num);
getch();

8
}

Trongchngtrìnhnàyđachcatempđcđavàobincontrp.Sau
đótathamkhotipgingnhtemp.Tadùngptrtimngvà*plàni
dungcađach
đó.Hnnado plàbincontrnêntacóthtăngnó
bngphátbiup++.

§6.CONTRVÀCHUI
RtnhiuhàmthvintrongClàmvicvichuitheocon
tr.Víd
hàmstrchr()trvcontrtrđnlnxuthinđutiêncamtkítnào
đótrongchuiVíd:ptr=strchr(str,’x’);thìbincontrptrsđcgánđa
chca
lnxuthinkít‘x’đutiêntrongchuistr.
Sauđâylàchngtrìnhchophéptagõvàomtcâuvàmtkítcnđnh
vtrongcâu.Chngtrìnhschota:
đachbt
đucachui
đachcakítcnđnhv
đlchsoviđimđuchui


gets(ten);
printf(chao);
puts(ten);
getch();
}

Trongchngtrìnhtrêntađãkhitochuibngphátbiu
 char*chao=“Xinchao!”
thaycho
 staticcharchao[]=”
Xinchao!”
C hai cáchđucho cùng mtktqu. Trong phng án dùng con tr ,
chaolàbincontrnêncóththayđiđc.Vídphátbiu:
 puts(++chao)
schoktqu:inchao!
 Nutacómtmngchuitacũngcóthdùngmngcontrtrti
mngchuinày.Takhitochúnggingnhkhitobincontrđn.

Chngtrình1
12:
#define max 5
main()
{
intdex;
intenter=0;
charname[40];
staticchar*list[max]=
 {
 Hung,
 Ngan,

char*temp;
intcount=0;
intin,out;

clrscr();
while(count<maxnum)
{
 printf(Banchoten:);
 gets(name[count]);
 if(strlen(name[count])==0)
break;
 ptr[count++]=name[count];
}
for(out=0;out<count1;out++)
for(in=out+1;in<count;in++)
 if(strcmp(ptr[out],ptr[in])>0)
{
 temp=ptr[in];
 ptr[in]=ptr[out];
 ptr[out]=temp;

}
printf(Danhsachdasapxep:\n);

11
for(out=0;out<count;out++)
printf(Tenthu%d:%s\n,out+1,ptr[out]);
getch();
}


 name[1]:đachca
chui2

§7.CONTRCHĐNCONTR
 Chúngtacómtchngtrìnhinramtbngsđcvitnhsau:

Chngtrình114:
#definerow4
#definecol5
main()
{
staticinttable[row][col]={

12
{13,15,17,19,21},
{20,22,24,26,28},
{31,33,35,37,39},
{40,42,44,46,48}
   };
intc=10;
inti,j;
clrscr();
for(i=0;i<row;i++)
for(j=0;j<col;j++)
 table[i][j]+=c;
for(i=0;i<row;i++)
{
 for(j=0;j<col;j++)
printf(%5d,table[i][j]);
 printf(\n);


Đthamkhođntngphntcadòngtrchttaluýđach
camngcũnglàđachcaphntđutiêncamng.Vídvimng
mt
chiua[size]thìavàa[0]lànhnhau.Trlimnghaichiuđach
camngmtchiutobidòngth3camngtable[][]làtable[2]hay
table+2.Trongkíhiucontrđ
achcaphntđutiêncamngmt
chiunàylà&table[2][0]hay*(table+2).Chaicáchvittable+2và*(table
+2)đuthamkhonidungcacùngmtônh(1020).
Nucng1vào
table+3đcótable+3thìtanhnđcđachcadòngth4trongmng
table[][].Nucng1vào*(table+2)đcó*(table+2)+1thìcóđachca
phntth2trongdòngth3camngtable[][].Tómli:
table[i]=*(table+i)
&table[i]=table+i
table[i][j]=*(*table+i)+j)
&table[i][j]=(*(table+i)+j)
Nhvychngtrìnhtrênđcvitlinhsau:

Chngtrình115:
#definerow
4
#definecol5
main()
{
staticinttable[row][col]={
{13,15,17,19,21},
{20,22,24,26,28},
{31,33,35,37,39},


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status