Thông tin tài liệu:
Sau khi học xong chương này người học có thể: Hiểu được toán tử gán, hiểu được biểu thức số học, nắm được toán tử quan hệ và luận lý (Relational and logical operators), nắm được toán tử luận lý nhị phân và biểu thức (Bitwise logical operators and expression), hiểu được khái niệm ép kiểu (Cast), hiểu được độ ưu tiên của các toán tử.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình cơ bản - Chương 3: Toán tử và biểu thứcToántửvàBiểuthức Chương3 OperatorsandExpression 1 MụcTiêuHiểuđượctoántửgánHiểuđượcbiểuthứcsốhọcNắmđượctoántửquanhệvàluậnlý(RelationalandLogicalOperators)Nắmđượctoántửluậnlýnhịphânvàbiểuthức(BitwiseLogicalOperatorsandExpression)Hiểuđượckháiniệmépkiểu(Cast)Hiểuđượcđộưutiêncủacáctoántử LậptrìnhcơbảnC/Chương3/2 Biểuthức(Expressions)Sựkếthợpcáctoántửvàcáctoánhạng ToánTử Vídụ: 2*y+5 Toánhạng LậptrìnhcơbảnC/Chương3/3of25 ToántửgánToántửgán(=)cóthểđượcdùngvớibấtkỳbiểuthứcChợplệnào (Tênbiến) (Biểuthức) (Giátrịtrái) (Giátrịphải) (Toántửgán) LậptrìnhcơbảnC/Chương3/4of25 GánliêntiếpNhiềubiếncóthểđượcgánvớicùngmộtgiá trịtrongmộtcâulệnhđơn Tuynhiên,khôngthểápdụngquytắctrênkhi khaibáobiến LậptrìnhcơbảnC/Chương3/5of25BốnKiểuToánTử Sốhọc LuậnLý (Arithmetic) (Logical) Quanhệ Nhịphân (Relational) (Bitwise) LậptrìnhcơbảnC/Chương3/6of25 BiểuthứcsốhọcBiểuthứcsốhọccóthểđượcbiểudiễntrongCbằngcáchsửdụngcáctoántửsốhọcVídụ: ++i%7 5+(c=3+8) a*(b+c/d)22 LậptrìnhcơbảnC/Chương3/7of25Toántửsốhọc LậptrìnhcơbảnC/Chương3/8of25 ToántửquanhệvàluậnlýÐượcdùngđể:Kiểmtramốiquanhệgiữahaibiếnhaygiữamộtbiếnvàmộthằng Toántửquanhệ Toántử Ýnghĩa > Lớnhơn >= Lớnhơnhoặcbằng < Nhỏhơn Toántửquanhệvàluậnlý(tt.)Toántửluậnlýlànhữngkýhiệudùngđểkếthợphayphủđịnhbiểuthứcchứacáctoántửquanhệ Toántử Ýnghĩa && AND:KếtquảlàTruekhicả2điềukiệnđềuđúng || OR:KếtquảlàTruekhichỉmộttronghaiđiều kiệnlàđúng ! NOT:Tácđộngtrêncácgiátrịriênglẻ,chuyểnđổi TruethànhFalsevàngượclại. Vídụ:if(a>10)&&(a ToántửluậnlýnhịphânDữliệuchỉđượcxửlýsaukhiđãchuyểnđổigiátrịSỐthànhgiátrịNHỊPHÂNToántử MôtảBitwiseAND Mỗivịtrícủabittrảvềkếtquảlà1nếubitcủa(x&y) haitoánhạnglà1.BitwiseOR Mỗivịtrícủabittrảvềkếtquảlà1nếubitcủa(x|y) mộttronghaitoánhạnglà1.BitwiseNOT Ðảongượcgiátrịcủatoánhạng(1thành0và(~x) ngượclại).BitwiseXOR Mỗivịtrícủabitchỉtrảvềkếtquảlà1nếubit(x^y) củamộttronghaitoánhạnglà1màkhôngkhông phảicảhaitoánhạngcùnglà1. LậptrìnhcơbảnC/Chương3/11of25 Toántửluậnlýnhịphân(tt.)Vídụ•10&151010 & 11111010 10•10|151010|1111111115•10^15 1010^111101015 LậptrìnhcơbảnC/Chương3/12of25 ChuyểnđổikiểuQuitắcchuyểnđổikiểutựđộngtrìnhbàydướiđâynhằmxácđịnhgiátrị biểuthức:a. charvàshortđượcchuyểnthànhintvàfloatđượcchuyểnthànhdouble.b. Nếucómộttoánhạnglàdouble,toánhạngcònlạisẽđượcchuyểnthành double,vàkếtquảlàdouble.c. Nếucómộttoánhạnglàlong,toánhạngcònlạisẽđượcchuyểnthànhlong, vàkếtquảlàlong.d. Nếucómộttoánhạnglàunsigned,toánhạngcònlạisẽđượcchuyểnthành unsignedvàkếtquảcũnglàunsigned.e. Nếutấtcảtoánhạngkiểuint,kếtquảlàint.Vídụ LậptrìnhcơbảnC/Chương3/13of25 ÉpkiểuMộtbiểuthứcđượcépthànhmộtkiểunhấtđịnhbằngcáchdùngkỹthuậtépkiểu(cast).Cúpháp: (kiểudữliệu)cast KiểuBấtcứkiểudữliệuhợplệtrongCVí dụ: Giátrịsốnguyêntrảvềbởi(int)f float x,f; đượcchuyểnthànhsốthựckhinó đượctoántửGÁNxửlý.Song,giá f = 3.14159; trịcủafvẫnkhôngđổi. x = (int) f; Giá trị của x sẽ là 3 (số nguyên) LậptrìnhcơbảnC/Chương3/14of25 Độưutiêncủatoántử Độưutiêntạonêncấutrúcphâncấpcủaloạitoántửnàysovớiloạitoántửkháckhitínhgiátrịmộtbiểuthứcsốhọc NóđềcậpđếnthứtựthựcthicáctoántửtrongC Độưutiêncủacáctoántửnàyđượcthayđổibởicác ấungodLo ặcđửơntrongbi ạitoánt Toántử ểuthức Tínhkếthợp Mộtngôi ++ Phảiđếntrái Haingôi ^ Tráiđếnphải Haingôi */% Tráiđếnphải Haingôi + Tráiđếnphải Haingôi = Phảiđếntrái LậptrìnhcơbảnC/Chương3/15of25Độưutiêncủatoántử(tt.) LậptrìnhcơbảnC/Chương3/16of25 ĐộưutiêncủatoántửsosánhĐộưutiêncủatoántửsosánh(quanhệ) luônđượctínhtừtráisangphải LậptrìnhcơbảnC/Chương3/17of25 Độưutiêncủatoántửluậnlý Thứtựưutiên Toántử 1 NOT 2 AND 3 ORKhicónhiềutoántửluậnlýtrongmộtđiềukiện,taápdụng ...