giao an dien tu.ppt

365
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG LẬP TRÌNH

Upload: nguyenhai47k

Post on 18-Dec-2015

30 views

Category:

Documents


0 download

TRANSCRIPT

  • Ni dung Phn 3: Lp trnh CChng 1: Tng quan v ngn ng CChng 2: Kiu d liu v biu thc trong CChng 3: Cu trc lp trnh trong CChng 4: Mng, con tr v xu k tChng 5: Cu trcChng 6: HmChng 7: Tp d liu**Copyright by SOICT

    Copyright by SOICT

  • Ni dungChng 1: Tng quan v ngn ng CLch s pht trinCc phn t c bn ca ngn ng CCu trc c bn ca chng trnh CBin dch chng trnh CTrnh bin dch Turbo C++Ci t v s dng Turbo C++ 3.0**Copyright by SOICT

    Copyright by SOICT

  • Lch s pht trinu thp k 70, lp trnh h thng da trn hp ng (Assembly)Cng vic nng n, phc tpKh chuyn i chng trnh gia cc h my tnh khc nhauCn mt ngn ng lp trnh h thng c tnh kh chuyn cao vit li h iu hnh Unix

    *

    Copyright by SOICT

  • Lch s pht trinc im ca ngn ng lp trnh CNgn ng lp trnh h thngTnh kh chuyn, linh hot caoC th mnh trong x l d liu s, vn bn, c s d liuC thng c s dng vit cc chng trnh h thngH iu hnh Unix c 90% m C, 10% hp ngCc trnh iu khin thit b (device driver)X l nh*

    Copyright by SOICT

  • Lch s pht trinCc phin bn ngn ng CANSI C: C chun (1989)Cc phin bn khc xy dng da trn ANSI Ca thm th vin b sung th vin ca ANSI CCc trnh bin dch ph binTurbo C++ v Borland C++ ca Borland Inc.MSC v VC ca Microsoft Corp.GCC ca GNU project.

    *

    Copyright by SOICT

  • Ni dungChng 1: Tng quan v ngn ng CLch s pht trinCc phn t c bn ca ngn ng CCu trc c bn ca chng trnh CBin dch chng trnh CTrnh bin dch Turbo C++Ci t v s dng Turbo C++ 3.0*

    Copyright by SOICT

  • Cc phn t c bn ca ngn ng CTp k tT kha nh danhCc kiu d liuHng sBinHmBiu thcCu lnhCh thch

    Copyright by SOICT

  • Tp k tTp k t l tp cc phn t c bn to nn chng trnhT hp cc k t -> tLin kt cc t theo c php -> cu lnhT chc cc cu lnh -> chng trnh

    Copyright by SOICT

  • Tp k tTp k t trong C26 ch ci hoa:A B C ... X Y Z 26 ch ci thng:a b c x y z.10 ch s: 0 1 2 3 4 5 6 7 8 9.Cc k hiu ton hc:+ - * / = < >Cc du ngn cch: . ; , : space tabCc du ngoc:( ) [ ] { }Cc k hiu c bit:_ ? $ & # ^ \ ! ~ .v.v.

    Copyright by SOICT

  • T khaT kha (keyword) C sn trong mi ngn ng lp trnhDnh ring cho cc mc ch xc nht tn cho kiu d liu: int, float, doubleM t cc lnh, cc cu trc lp trnh: if, while, caseCh :Tt c t kha trong C u vit bng ch ci thng

    Copyright by SOICT

  • T khaT kha hay dng trong Turbo C

    Copyright by SOICT

  • nh danh nh danh (Identifier hoc cn gi l Tn) l mt dy cc k t dng gi tn cc i tng trong chng trnh. Cc i tng trong chng trnhBinHng sHmKiu d liunh danh c th c t biNgn ng lp trnh -> cc t khaNgi lp trnh

    Copyright by SOICT

  • nh danh Quy tc t tn nh danh trong CCc k t c s dng trong cc nh danh ca ngn ng C ch c gm c: ch ci, ch s v du gch di _ (underscore)Bt u ca nh danh phi l ch ci hoc du gch di, khng c bt u nh danh bng ch s.nh danh do ngi lp trnh t khng c trng vi cc t kha ca CCh : C l ngn ng c phn bit ch hoa v ch thng

    Copyright by SOICT

  • nh danhV dnh danh hp l:i, x, y, a, b, _function, _MY_CONSTANT, PI, gia_tri_1nh danh khng hp l1_a, 3d, 55x(bt u bng ch s)so luong, ti le (c du cch - k t khng hp l)int, char(trng vi t kha ca ngn ng C)

    Copyright by SOICT

  • nh danhMt s quy c (code convention)Nn s dng du gch di phn tch cc nh danh gm nhiu tnh danh nn c tnh gi nhQuy c thng c s dng:Hng s dng ch ci hoaCc bin, hm, cu trc dng ch ci thngV d

    nh danhLoi i tngHANG_SO_1, _CONSTANT_2Hng sa, b, i, j, count Binnhap_du_lieu, tim_kiem, xu_li Hmsinh_vien, mat_hang Cu trc

    Copyright by SOICT

  • Cc kiu d liunh ngha:Mt kiu d liu l mt tp hp cc gi tr m mt d liu thuc kiu d liu c th nhn c.Trn mt kiu d liu ta xc nh mt s php ton i vi cc d liu thuc kiu d liu .V d:Kiu d liu int (s nguyn) trong CMt d liu thuc kiu d liu intL mt s nguynNhn gi tr t t - 32,768 (- 215) n 32,767 (215 - 1)

    Copyright by SOICT

  • Cc kiu d liuV d (tip)Mt s php ton c nh ngha trn kiu d liu int ca C

    Tn php tonK hiuo du-Cng+Tr-Nhn*Chia ly phn nguyn/Chia ly phn d%So snh >, =,

  • Hng snh ngha:hng (constant) l i lng c gi tr khng i trong chng trnh. Biu din hng s nguyn: trong C, mt hng s nguyn c th biu din di 3 dngDng thp phnDng thp lc phnDng bt phnV d

    Gi tr thp phnGi tr thp lc phnGi tr bt phn20070x7D7037273960x18C0614

    Copyright by SOICT

  • Hng sBiu din hng s thc: trong C, mt hng s thc c th biu din di 2 dngDng s thc du phy tnhDng s thc du phy ngV d

    S thc du phy tnhS thc du phy ng3.1415931.4159 E-1123.456 12.3456 E+1 hoc 1.23456 E+2

    Copyright by SOICT

  • Hng sBiu din hng k t: trong C, mt hng k t c th biu din theo hai cchBng k hiu ca k t t gia hai du nhy nBng s th t ca k t trong bng m ASCII (s nguyn -> tun th quy tc biu din hng s nguyn)V d

    K t cn biu dinCch 1Cch 2Ch ci AA65, 0x41, 0101Du nhy n\39, 0x27, 047K t tab\t0, 0x09, 011

    Copyright by SOICT

  • Hng sBiu din hng xu k t:Hng xu k t c biu din bi dy cc k t thnh phn c trong xu v c t trong cp du nhy kp.V d:ngon ngu lap trinh CTin hoc dai cuongDai hoc Bach Khoa Ha Noi

    Copyright by SOICT

  • Binnh ngha:Bin (variable) l i lng m gi tr c th thay i trong chng trnh.Ch :Hng s v bin c s dng lu tr d liu trong chng trnhHng s v bin phi thuc mt kiu d liu no Hng s v bin u phi t tn theo quy tc

    Copyright by SOICT

  • HmHm (function) l mt chng trnh con c chc nng nhn d liu u vo (cc tham s u vo), thc hin mt chc nng no v a ra cc kt qu.

    Copyright by SOICT

  • Mt s hm ton hc

    Hm nghasqrt(x)Cn bc 2 ca x //sqrt(16.0)=4.0pow(x,y)X m y ( xy )//pow(2,3)=8exp(x)E m x ( ex )//exp(1.0) = 2.718log(x)Logarithm t nhin (c s e) ca x (ln x)// loglog10(x)Logarithm c s 10 ca x ( log x )sin(x)cos(x)tan(x)ceil(x)S nguyn nh nht khng nh hn xceil(2.5)=3 ceil(-2.5)=-2floor(x)S nguyn ln nht khng ln hn xfloor(2.5)=2 floor(-2.5)=-3

    Copyright by SOICT

  • Biu thcnh ngha:Biu thc l s ghp ni cc ton t (operator) v cc ton hng (operand) theo mt quy tc xc nh.Cc ton hng c th l bin, hngCc ton t rt a dng: cng, tr, nhn, chia, V d: biu thc tnh th tch hnh ch nhtchieu_dai * chieu_rong * chieu_caochieu_dai, chieu_rong, chieu_cao l cc hng hoc bin s ng vai tr ton hngPhp * ng vai tr ton t

    Copyright by SOICT

  • Cu lnhCu lnh (statement) din t mt hoc mt nhm cc thao tc trong gii thut. Chng trnh c to thnh t dy cc cu lnh.Cui mi cu lnh trong C, bt buc c du chm phy ; nh du kt thc cu lnh v phn tch cc cu lnhPhn nhm:Nhm cc cu lnh n: nhng cu lnh khng cha cu lnh khc. V d: php gn, php cng, php trNhm cc cu lnh phc: nhng cu lnh cha cu lnh khc. V d: lnh khi (t trong cp ngoc nhn {}), lnh r nhnh, lnh lp

    Copyright by SOICT

  • Ch thchCh thch (comment):Li m t, gii thch vn tt cho mt cu lnh, mt on chng trnh hoc c chng trnhGip vic c v hiu chng trnh d dng hnCh thch khng phi l cu lnh -> khng nh hng ti chng trnhCch vit ch thch: trong C c hai cchCh thch mt dng: s dng //Ch thch nhiu dng: s dng /* v */

    Copyright by SOICT

  • Ni dungChng 1: Tng quan v ngn ng CLch s pht trinCc phn t c bn ca ngn ng CCu trc c bn ca chng trnh CBin dch chng trnh CTrnh bin dch Turbo C++Ci t v s dng Turbo C++ 3.0*

    Copyright by SOICT

  • Cu trc c bn ca chng trnh C

    Copyright by SOICT

  • Cu trc c bn ca chng trnh CPhn 1: Phn khai bo cc tp tiu . Phn ny c chc nng thng bo cho chng trnh dch bit l chng trnh c s dng nhng th vin no (mi tp tiu tng ng vi mt th vin).Phn 2: nh ngha cc kiu d liu mi dng cho c chng trnh.Phn 3: Phn khai bo cc hm nguyn mu. Phn ny gip cho chng trnh dch bit c nhng thng tin c bn (gm tn hm, dach sch cc tham s v kiu d liu tr v) ca cc hm s dng trong chng trnh.Phn 4: Phn khai bo cc bin ton cc.

    Copyright by SOICT

  • Cu trc c bn ca chng trnh CPhn 5 (Bt buc phi c): Phn nh ngha hm main( ). Hm main( ) l mt hm c bit trong C. Khi thc hin, chng trnh s gi hm main( ), hay ni cch khc chng trnh s bt u bng vic thc hin cc lnh trong hm main( ). Trong hm main( ) ta mi gi ti cc hm khc.Phn 6: Phn nh ngha cc hm khai bo nguyn mu. phn 3 ta khai bo nguyn mu (prototype) ca cc hm, trong ch gii thiu cc thng tin c bn v hm nh tn hm, danh sch cc tham s v kiu d liu tr v. Nguyn mu hm khng cho ta bit cch thc ci t v hot ng ca cc hm. Ta s lm vic phn nh ngha cc hm.

    Copyright by SOICT

  • Cu trc c bn ca chng trnh C

    Copyright by SOICT

  • Ni dungChng 1: Tng quan v ngn ng CLch s pht trinCc phn t c bn ca ngn ng CCu trc c bn ca chng trnh CBin dch chng trnh CTrnh bin dch Turbo C++Ci t v s dng Turbo C++ 3.0*

    Copyright by SOICT

  • Bin dch chng trnh C

    Copyright by SOICT

  • Bin dch chng trnh CPreprocessor (khi tin x l)Loi b cc ch thchThng dch cc nh hng bin dch (bt u bi k t #)Compiler (khi bin dch)Dch m ngun (sau khi qua khi tin x l) thnh m hp ng (assembly code)Assembler (khi hp dch)To ra m i tng (object code)Link Editor (khi lin kt)Lin kt, kt hp nhiu i tng to ra chng trnh thc thi

    Copyright by SOICT

  • Ni dungChng 1: Tng quan v ngn ng CLch s pht trinCc phn t c bn ca ngn ng CCu trc c bn ca chng trnh CBin dch chng trnh CTrnh bin dch Turbo C++Ci t v s dng Turbo C++ 3.0*

    Copyright by SOICT

  • Trnh bin dch Turbo C++Trnh bin dch (compiler): dch m ngun (source code) thnh file thc thiCc trnh bin dch C ph binTurbo C++ ca hng BorlandMSC ca MicrosoftGCC ca GNU Dev C++ ca Bloodshed SoftwareTurbo C++ c nhiu phin bnPhin bn la chn: Turbo C++ 3.0

    Copyright by SOICT

  • Ni dungChng 1: Tng quan v ngn ng CLch s pht trinCc phn t c bn ca ngn ng CCu trc c bn ca chng trnh CBin dch chng trnh CTrnh bin dch Turbo C++Ci t v s dng Turbo C++ 3.0*

    Copyright by SOICT

  • Ci t v s dng Turbo C++ 3.0Ci tB1:Bn cn chun b b ci ca Turbo C++ 3.0, kch thc ca b ci khong 4 MB. Hy copy b ci ny vo my ca bn, gi s vo th mc C:\TC_Setup.B2:Tm n th mc cha b ci Turbo C++ 3.0 (nh gi s trn l C:\TC_Setup) v kch hot file INSTALL.EXE chy chng trnh ci t Turbo C++ 3.0. Chng trnh ci t Turbo C++ 3.0 ban u s yu cu bn ch ra a trn cha b ci Turbo C++ 3.0Enter the SOURCE drive to use: Hy nhp vo tn a, chng hn C (ta b ci Turbo C++ 3.0 th mc C:\TC_Setup).

    Copyright by SOICT

  • Ci t v s dng Turbo C++ 3.0B3: Sau chng trnh yu cu bn nhp vo ng dn ti th mc cha cc file ca Turbo C++ 3.0 Enter the SOURCE Path:Thng thng chng trnh s t tm cho bn, v bn ch cn n Enter chuyn sang bc tip theo.B4: bc 4, bn cn xc nh th mc ci t. Th mc ny s cha cc file ca Turbo C++ 3.0 bn s dng sau ny.Directories[C:\TC]Option[IDE CMD LIB CLASS BGI HELP EXMPL]

    Copyright by SOICT

  • Ci t v s dng Turbo C++ 3.0Start InstallationTh mc ci t mc nh s l \TC nm trn th mc gc ca a cha b ci. Nu bn mun thay i th mc ci t th hy dng cc phm v di chuyn hp sng n phn Directories, g Enter v nhp vo ng dn mi, sau n phm Esc tr v.Dng cc phm v di chuyn hp sng n phn Start Installation v n Enter. Chng trnh s t ng thc hin v hon tt qu trnh ci t cho bn.Lu : Bn c th copy ton b th mc ci t ca Turbo C++ 3.0 v my v s dng, nhng bn phi ch cho Turbo C++ bit ng dn ti cc tp tiu v cc tp th vin bng cch vo menu Option, chn Directories.

    Copyright by SOICT

  • S dng trnh bin dch Turbo C++ 3.0Giao din s dng ca chng trnh

    Copyright by SOICT

  • S dng trnh bin dch Turbo C++ 3.0Khi ng chng trnh: tm n th mc BIN trong th mc ci t v chy file TC.EXE To ca s son tho mi: chn menu File (hoc n Alt-F), sau chn mc New m ca s son tho mi.G chng trnh ngun vo ca s son thoLu chng trnh vi tn file,v d: HelloWorld.cppBin dch chng trnh: bm F9Chy chng trnh: Ctrl + F9

    Copyright by SOICT

  • Tho lun*

    Copyright by SOICT

  • Ni dung Phn 3: Lp trnh CChng 1: Tng quan v ngn ng CChng 2: Kiu d liu v biu thc trong CChng 3: Cu trc lp trnh trong CChng 4: Mng, con tr v xu k tChng 5: Cu trcChng 6: HmChng 7: Tp d liu**Copyright by SOICT

    Copyright by SOICT

  • Ni dungChng 2: Kiu d liu v biu thc trong CCc kiu d liu chun trong CBiu thc trong CCc php ton trong CMt s ton t c trng*

    Copyright by SOICT

  • Cc kiu d liu chun trong C*

    Kiu d liu nghaKch thcMin d liuunsigned char S nguyn khng du1 byte 0 255 char K t;S nguyn c du1 byte-128 127unsigned intS nguyn khng du 2 byte065.535short intS nguyn c du2 byte-32.76832.767intS nguyn c du2 byte-32.76832.767

    Copyright by SOICT

  • Cc kiu d liu chun trong C*

    Kiu d liu nghaKch thcMin d liuunsigned longS nguyn khng du4 byte0 4,294,967,295longS nguyn c du4 byte-2,147,483,648 2,147,483,647floatS thc du phy ng, chnh xc n4 byte 3.4E-38 3.4E+38doubleS thc du phy ng, chnh xc kp8 byte1.7E-308 1.7E+308long doubleS thc du phy ng,10 byte3.4E-4932 1.1E+4932

    Copyright by SOICT

  • Cc kiu d liu chun trong CKhai bo binMt bin trc khi s dng phi c khai bo C php khai bo:kieu_du_lieu ten_bien;Hoc: kieu_du_lieu ten_bien1, , ten_bienN;V d: //Khai bo bin x l mt s nguyn 2 byte c du int x; // Khai bo cc bin y, z l cc s thc 4 bytefloat y,z; // Sau khi khai bo, c th s dngx = 3; y = x + 1;*

    Copyright by SOICT

  • Cc kiu d liu chun trong CSau khi c khai bo, cc bin cha c gi tr xc nh. Cn c gn gi tr trc khi dng!C cho php kt hp khai bo v khi tokieu_du_lieu ten_bien = gia_tri_ban_dau; Hoc:kieu_du_lieu bien1=gia_tri1, bienN=gia_triN; V d:// Khai bo bin nguyn a v khi to gia tri bng 3int a = 3; // Khai bo bin thc x,y v khi to gia tri bng 5.0 v 7.6float x = 5.0, y = 7.6;*

    Copyright by SOICT

  • Cc kiu d liu chun trong CKhai bo hngDng t kha #define: C php:# define ten_hang gia_triV d:#define MAX_SINH_VIEN 50#define CNTT Cong nghe thong tin #define DIEM_CHUAN 23.5*

    Copyright by SOICT

  • Cc kiu d liu chun trong CKhai bo hng (tip)Dng t kha const :C php:const kieu_du_lieu ten_hang = gia_tri;V d:const int MAX_SINH_VIEN = 50;const char CNTT[20] = Cong nghe thong tin;const float DIEM_CHUAN = 23.5;*

    Copyright by SOICT

  • Cc kiu d liu chun trong CCh :Gi tr ca cc hng phi c xc nh ngay khi khai bo.Trong chng trnh, KHNG th thay i c gi tr ca hng.#define l ch th tin x l (preprocessing directive)D c, d thay iD chuyn i gia cc nn tng phn cng hnTc nhanh hn*

    Copyright by SOICT

  • Ni dungChng 2: Kiu d liu v biu thc trong CCc kiu d liu chun trong CBiu thc trong CCc php ton trong CMt s ton t c trng*

    Copyright by SOICT

  • Biu thc trong CBiu th s hcBiu thc quan hBiu thc logic*

    Copyright by SOICT

  • Biu thc s hcL biu thc m gi tr ca n l ci i lng s hc (s nguyn, s thc).Cc ton t l cc php ton s hc (cng, tr, nhn, chia), cc ton hng l cc i lng s hc (s, bin, hng).V d: a, b, c l cc bin thuc kiu s thc.3 * 3.78 + 6/3a + b c*

    Copyright by SOICT

  • Biu thc quan hL nhng biu thc trong c s dng cc ton t quan h so snh nh ln hn, nh hn, bng nhau, khc nhauCh c th nhn gi tr l mt trong 2 gi tr ng (TRUE) hoc Sai (FALSE) *

    Copyright by SOICT

  • Biu thc quan hV d:*

    Copyright by SOICT

  • Biu thc logicL biu thc m gi tr ca n l cc gi tr logic, tc l mt trong hai gi tr: ng (TRUE) hoc Sai (FALSE). Gi tr nguyn khc 0: ng (TRUE), Gi tr 0: Sai (FALSE). Cc php ton logic gm cAND: V logic, k hiu l &&OR: HOC logic, k hiu l ||NOT: PH NH, k hiu l ! Biu thc quan h l mt trng hp ring ca biu thc logic.*

    Copyright by SOICT

  • Biu thc logicV d*

    Copyright by SOICT

  • Biu thc trong Cc s dng cho cc mc chLm v phi ca lnh gn.Lm ton hng trong cc biu thc khc.Lm tham s thc trong li gi hm.Lm ch s trong cc cu trc lp for, while, do while.Lm biu thc kim tra trong cc cu trc r nhnh if, switch.*

    Copyright by SOICT

  • Ni dungChng 2: Kiu d liu v biu thc trong CCc kiu d liu chun trong CBiu thc trong CCc php ton trong CMt s ton t c trng*

    Copyright by SOICT

  • Cc php ton trong CCc php ton s hcS hc bitCc php ton quan hCc php ton logicPhp ton gn, Cc php ton c trngTng/gim mt n vLy a chChuyn kiuBiu thc iu kin*

    Copyright by SOICT

  • Cc php ton s hc*

    Copyright by SOICT

  • Cc php ton s hcPhp ton trn bit*1)1)

    Copyright by SOICT

  • Cc php ton s hcPhp ton trn bit (tip)*

    Copyright by SOICT

  • Cc php ton quan h*

    Copyright by SOICT

  • Cc php ton logic*

    Copyright by SOICT

  • Php ton gnC phptn_bin = biu_thc;Ly gi tr ca biu_thc gn cho tn_bin V d:int a, b, c;a = 3;b = a + 5;c = a * b;*

    Copyright by SOICT

  • Php ton gnBiu thc gn l biu thc nn n cng c gi tr.Gi tr ca biu thc gn bng gi tr ca biu_thc: C th gn gi tr ca biu thc gn cho mt bin khc hoc s dng nh mt biu thc bnh thngV d:int a, b, c;a = b = 2007;c = (a = 20) * (b = 30);*

    Copyright by SOICT

  • Php ton gnDng thu gn ca php ton gn:x = x + y; x += y;Dng lnh gn thu gn ny cn p dng c vi cc php ton: +, -, *, /, %, >>,
  • Th t u tin cc php ton*

    Copyright by SOICT

  • Th t u tin cc php tonNguyn tcBiu thc con trong ngoc c tnh ton trcPhp ton mt ngi ng bn tri ton hng c kt hp vi ton hng i lin n.Ton hng ng cnh hai ton t Nu hai ton t c u tin khc nhau th ton t no c u tin cao hn s kt hp vi ton hngNu hai ton t cng u tin th da vo trt t kt hp ca cc ton t xc nh ton t c kt hp vi ton hng.V da < 10 && 2 * b < c ( a < 10 ) && ( ( 2 * b ) < c )*

    Copyright by SOICT

  • Ni dungChng 2: Kiu d liu v biu thc trong CCc kiu d liu chun trong CBiu thc trong CCc php ton trong CMt s ton t c trng*

    Copyright by SOICT

  • Mt s ton t c trngTng/gim mt n vLy a chChuyn kiuBiu thc iu kin

    *

    Copyright by SOICT

  • Cc php ton tng gim mt n vTng hoc gim mt n v cho bin: = + 1; ++; = - 1; --;V d:int a = 5;float x = 10;a ++; // tng ng vi a = a + 1;x --; // tng ng vi x = x 1;*

    Copyright by SOICT

  • Cc php ton tng gim mt n vTon t t ti tin t v hu t:Tin t: Thay i gi tr ca bin trc khi s dngHu t: Tnh ton gi tr ca biu thc bng gi tr ban u ca bin, sau mi thay i gi tr ca bin V d:int a, b, c;a = 3; // a bang 3b = a++;// Dang hau to // b bng 3; a bng 4c = ++b;// Dang tien to // b bng 4, c bng 4;*

    Copyright by SOICT

  • Php ton ly a ch bin (&)Bin thc cht l mt vng nh c t tn (l tn ca bin) trn b nh ca my tnh. Mi nh trn b nh my tnh u c nh a ch. Do mi bin u c a ch& ;V d: int a = 2006; &a; // co gia tri la 158 hay 9E *

    Copyright by SOICT

    ...

    ...

    157

    D6

    07

    ...

    158

    159

    160

    1

    a

  • Php ton chuyn i kiu bt bucChng trnh dch s t ng chuyn i kiu char int long int float double long double Ngc liS nguyn long int 50,000 khng phi l mt s nguyn kiu int v phm vi biu din ca kiu int l t (-32,768 n 32,767). Phi p kiuC php: () ;

    *

    Copyright by SOICT

  • Php ton chuyn i kiu bt bucV d:#include #include void main(){long int li; int i; float f; clrscr();li = 0x123456; f = 123.456;i = (int) li; printf(\n li = %ld; i = %d,li, i); i = (int) f;printf(\n f = %f; i = %d,f, i);getch();}*Kt qu li = 1193046; i = 13398 f = 123.456001; i = 123

    Copyright by SOICT

  • Biu thc iu kin C phpbiu_thc_1 ? biu_thc_2 : biu_thc_3Gi tr ca biu thc iu kinGi tr ca biu_thc_2 nu biu_thc_1 c gi tr khc 0 (tng ng vi gi tr logic NG), Ngc li: Gi tr ca biu_thc_3 nu biu_thc_1 c gi tr bng 0 (tng ng vi gi tr logic SAI).V d:float x, y, z; // khai bo binx = 3.8; y = 7.6; // gn gi tr cho cc bin x, yz = (x
  • *

    Copyright by SOICT

  • Ni dung Phn 3: Lp trnh CChng 1: Tng quan v ngn ng CChng 2: Kiu d liu v biu thc trong CChng 3: Cu trc lp trnh trong CChng 4: Mng v xu k tChng 5: Cu trcChng 6: HmChng 7: Tp d liu**Copyright by SOICT

    Copyright by SOICT

  • Ni dungCc cu lnh vo ra d liuVo ra d liu vi cc hm printf() v scanf()Cc cu lnh vo ra khcCu trc lnh khiCu trc r nhnhCu trc if, if elseCu trc la chn switchCu trc lpVng lp forVng lp while v do whileCc lnh thay i cu trc lp trnh Cu lnh continueCu lnh break*

    Copyright by SOICT

  • Cc cu lnh vo ra d liuHm vo ra c bn:printf() scanf()Cc lnh vo ra khcgets()puts()getch()*

    Copyright by SOICT

  • Hm vo ra c bna ra d liu:printf() Nhp d liuscanf()Cn np th vin stdio.hkhai bo tp tiu :#include Hoc #include stdio.h*

    Copyright by SOICT

  • Hm vo ra c bnprintf()

    *

    Copyright by SOICT

  • Mc chHin th ra mn hnh cc loi d liu c bn nh: S, k t v xu k tTo mt s hiu ng hin th c bit nh xung dng, sang trang,*

    Copyright by SOICT

  • C phpprintf(xau_dinh_dang [, DS_tham_so]);Xau_dinh_dang: L mt xu qui nh cch thc hin th d liu ra mn hnh my tnh.Bao gm cc nhm k t nh dng Nhm k t nh dng th k xc nh quy cch hin th tham s th k trong DS_tham_sS lng tham s trong DS_tham_s bng s lng nhm cc k t nh dng trong xu_nh_dng.DS_tham_so: Danh sch cc bin s c hin th gi tr ln mn hnh theo cch thc c qui nh trong xau_dinh_dang. *

    Copyright by SOICT

  • V d

    #include void main(){ int a = 5; float x = 1.234; printf(Hien thi mot so nguyen %d v mot so thuc %f,a,x);}*S cho ra kt qu:Hien thi mot so nguyen 5 va mot so thuc 1.234000

    Copyright by SOICT

  • Xu dnh dngCc k t thng thng: c hin th ra mn hnh.Cc k t iu khin: Dng to cc hiu ng hin th c bit nh xung dng (\n) hay sang trang (\f)Cc nhm k t nh dng: Xc nh quy cch hin th cc tham s trong phn danh_sach_tham_so.

    *

    Copyright by SOICT

  • Nhm k t nh dngMi nhm k t nh dng ch dng cho mt kiu d liuV d: %d dng cho kiu nguyn %f dng cho kiu thc DS_tham_so phi ph hp vi cc nhm k t nh dng trong xau_dinh_dang v:S lng; Kiu d liu;Th t

    *Nu khng ph hp s hin th ra kt qu khng nh printf(%d,3.14); //-31457

    Copyright by SOICT

  • *Nhm k t nh dng

    Nhm k t nh dngKiu d liuKt qu%cint, charK t n l%i, %dint, charS thp phn%oint, charS bt phn(khng c 0 ng trc)%x, %Xint, charS hexa (ch thng/ch hoa)%uunsigned int/charS thp phn

    Copyright by SOICT

  • *Nhm k t nh dng

    Nhm k t nh dngKiu d liuKt qu%ld, %lilongS thp phn%lolongS bt phn(khng c 0 ng trc)%lx, %LXlongS hexa (ch thng/ch hoa)%luunsigned longS thp phn

    Copyright by SOICT

  • *Nhm k t nh dng

    Nhm k t nh dngKiu d liuKt qu%schar []Hin th xu k t kt thc bi \0%ffloat/doubleS thc du phy tnh%e, %Efloat/doubleS thc du phy ng%Hin th k t %

    Copyright by SOICT

  • rng hin thVi s nguyn; k t hoc xu k t:C dng %md, vi m l s nguyn khng m, cho bit kch thc dnh cho binV d: C s a = 1234Lnh:printf("%5d",a);//danh 5 cho de hien thi a printf(\n%5d",34); Cho ra kt qu: 1234 34( k hiu cho du cch n (space) )*

    Copyright by SOICT

  • rng hin thV d:printf("\n%3d %15s %3c", 1, "nguyen van a", 'g');printf("\n%3d %15s %3c", 2, "tran van b", 'k');Kt qu:*1nguyen van ag2 tran van bk

    Copyright by SOICT

  • rng hin th: Vi s thcDng%m.nfTrong :m, n l 2 s nguyn khng mm cho bit kch thc hin th s thcn cho bit kch thc dnh cho phn thp phn, nu khng C s lm trn khi hin th*

    Copyright by SOICT

  • rng hin th: Vi s thcV d:printf("\n%f",17.345); printf("\n%.2f",17.345);printf("\n%8.2f",17.345);Kt qu:*17.34500017.3517.35

    Copyright by SOICT

  • rng hin th - Ch Khi s ch cn thit hin th ni dung d liu ln hn trong nh dng: T ng cung cp thm ch mi hin th ch khng ct bt ni dung ca d liu.V d: a=1000printf(So a la: %1d, a);Kt qu:So a la: 1000*

    Copyright by SOICT

  • Cn l phi, l triCn l phi: Khi hin th d liu, khi s dng tham s cho rng hin th, NNLT C mc nh cn l phi Cn l tri:Nu mun cn l tri khi hin th d liu ta ch cn thm du tr - vo ngay sau du %.*

    Copyright by SOICT

  • Cn l phi, l triV dprintf("\n%-3d %-15s %5.2f %-3c", 9, "nguyen van a", 7.5, 'g');printf("\n%-3d %-15s %5.2f %-3c", 10, nguyen ha", 6.75, 'k');Kt qu*9nguyen van a7.50g10 nguyen ha 6.75k

    Copyright by SOICT

  • Hm vo ra c bnScanf()

    Copyright by SOICT

  • Mc chDng nhp d liu t bn phmK t n lChui k tS nguyn Thp phn,Bt phn, HexaS thc Du phy tnh; Du phy ng*

    Copyright by SOICT

  • C phpscanf(xau_dinh_dang,[DS_dia_chi]);Xau_dinh_dang: Gm cc k t c qui nh cho tng loi d liu c nhp vo. VD: d liu nh nhp kiu nguyn th xu nh dng l : %dDS_dia_chi:Bao gm cc a ch ca cc bin (ton t &), phn tch nhau bi du phy (,) Phi ph hp vi cc nhm k t nh dng trong xau_dinh_dang v s lng, kiu d liu, th t*

    Copyright by SOICT

  • Hat ngGhi ch: Thng tin c g vo t bn phm, ban u c lu vng m trc khi c x l bi hm scanf()c cc k t c g vo t bn phmCn c vo xu nh dng, chuyn thng tin nhp sang kiu d liu ph hpGn nhng gi tr va nhp vo cc bin tng ng trong DS_dia_chiV d: int a;printf(Nhap so nguyen:); scanf(%d,&a);*

    Copyright by SOICT

  • *Nhm k t nh dng

    K t nh dngKhun dng d liu nhp%cDui dng k t n l%dDui dng s thp phn%oDui dng s bt phn%xDui dng s hexa%uDui dng s thp phn

    Copyright by SOICT

  • *Nhm k t nh dng

    K t nh dngCh thch%sDui dng xu k t kt thc bi \0%fDui dng s thc du phy tnh%ldDui dng s nguyn kiu long%lfDui dng s thc du phy tnh%c k t %

    Copyright by SOICT

  • V d

    #include void main(){// khai bao bienint a; float x;char ch; char str[30];// Nhap du lieuprintf(Nhap vao mot so nguyen:);scanf(%d,&a);printf(\n Nhap vao mot so thuc:);scanf(%f,&x);*

    Copyright by SOICT

  • V dprintf(\n Nhap vao mot ki tu:);fflush(stdin); scanf(%c,&ch);printf(\n Nhap vao mot xau ki tu:);fflush(stdin); scanf(%s,str);

    // Hien thi du lieu vua nhap vaoprintf(\nNhung du lieu vua nhap vao);printf(\nSo nguyen : %d,a);printf(\nSo thuc : %5.2f,x);printf(\nKy tu : %c,ch);printf(\nXau ky tu : %s,str);getch();}*

    Copyright by SOICT

  • *

    Copyright by SOICT

  • Quy tc cn lu Khi c sHm scanf() quan nim rng mi k t s, du chm (.) u l k t hp l.Khi gp cc du phn cch nh tab, xung dng hay du cch (space bar) th scanf() s hiu l kt thc nhp d liu cho mt s*

    Copyright by SOICT

  • Quy tc cn lu Khi c k t: Hm scanf() cho rng mi k t c trong b m ca thit b vo chun u l hp l, k c cc k t tab, xung dng hay du cch.*

    Copyright by SOICT

  • Quy tc cn lu Khi c xu k t: + Hm scanf() nu gp cc k t du trng, du tab hay du xung dng th n s hiu l kt thc nhp d liu cho mt xu k t. + Trc khi nhp d liu k t hay xu k t nn dng lnh fflush(stdin) xa b m.*

    Copyright by SOICT

  • Vit chng trnh nhp vo t bn phm chiu di 3 cnh ca mt tam gic, ri a ra din tch v cc ng cao ca tam gicNhp vo t bn phm ta 3 im A,B,C ri a ra di cc cnh ca tam gic ABC v ca ng trung tuyn AMCho hm s:Vit chng trnh nhp vo 3 s thc a,b,c v a ra trung bnh cng ca f(a),f(b),f(c) Nhp x vo t bn phm v tnh gi tr ca biu thcMt s bi tp*

    Copyright by SOICT

  • Cc cu lnh vo ra d liuHm vo ra c bn:printf() scanf()Cc lnh vo ra khcgets()puts()getch()*Cn np th vin conio.h#include Cn np th vin stdio.h#include

    Copyright by SOICT

  • gets()Mc ch: Dng nhp vo t bn phm mt xu k t bao gm c du cch, iu m hm scanf() khng lm c. C php :gets (xu_k_t);V d:char str [40];printf(Nhap vao mot xau ki tu:);fflush(stdin); gets(str);*

    Copyright by SOICT

  • puts()Mc ch: Hin th ra mn hnh ni dung xu_k_t v sau a con tr xung dng mi.C php:puts(xu_k_t);V d: puts(Nhap vao xau ki tu:);Tng ng vi lnh: printf(%s\n,Nhap vao xau ki tu:).*

    Copyright by SOICT

  • getch()Mc chi c mt k t bn phmThng dng ch ngi s dng n mt phm bt k ri s kt thc chng trnh.C phpgetch();*

    Copyright by SOICT

  • V d#include #include void main(){char ten[30], lop[10]; //Kieu chuoi, mang ky tuputs("Hay cho biet ten ban : ");fflush(stdin); gets(ten);puts("Hay cho biet lop ban hoc : ");fflush(stdin); gets(lop);

    printf("\nChao ban %s, sinh vin lop %s\n",ten,lop);puts("Chuc ban thi qua mon Tin Hoc Dai Cuong");getch();}*

    Copyright by SOICT

  • *

    Copyright by SOICT

  • Vo ra d liu: tm ttCc hm c bn (stdio.h)printf()/ scanf ()Xu nh dng: %[flags][width][.precision][l][s]flags (+/-): Xc nh s cn l l (h/l/L): Bin dng longs (d/i/o/u/x/X/f/e/E/g/G/c/s/%): kiu hin thCc hm khc (conio.h)puts() / gets() / getch()Tm hiu thmfprintf() / fscanf() Vo/ra t filesprintf(f) / sscanf() Vo ra t xu k t*

    Copyright by SOICT

  • Ni dungCc cu lnh vo ra d liuVo ra d liu vi cc hm printf() v scanf()Cc cu lnh vo ra khcCu trc lnh khiCu trc r nhnhCu trc if, if elseCu trc la chn switchCu trc lpVng lp forVng lp while v do whileCc lnh thay i cu trc lp trnh Cu lnh continueCu lnh break*

    Copyright by SOICT

  • Cu trcTh hin cu trc tun tLnh khi l dy cc cu lnh c t trong cp du ngoc nhn {}C cho php khai bo bin trong lnh khi Phn khai bo phi nm trc cu lnh.{//Khai bo bin cc b trong khilenh_1;lenh_2;lenh_n;}*

    Copyright by SOICT

  • Cu trcTrong mt lnh khi c th cha lnh khi khc :S lng nhau l khng hn ch{ lenh; { lenh;... } } *

    Copyright by SOICT

  • V d#include #include void main()//ham main() cung la mot khoi lenh{ int c, d; c = 10; d= 20; printf(Bien ngoai khoi c = %d; d=%d ,c,d);{ int c; c = 10; printf(\n Bien trong khoi c = %d; d=%d,c,d); printf(\n Gia tri cua cac bien duoc them 10 don vi); c = c + 10; d= d + 10; printf(\n Bien trong khoi c = %d; d=%d,c,d); } printf(\n Bien ra ngoai khoi c = %d; d=%d,c,d); getch();}// ket thuc khoi lenh cua ham main()*

    Copyright by SOICT

  • Bin a phng / Bin ton cc*

    Copyright by SOICT

  • Ni dungCc cu lnh vo ra d liuVo ra d liu vi cc hm printf() v scanf()Cc cu lnh vo ra khcCu trc lnh khiCu trc r nhnhCu trc if, if elseCu trc la chn switchCu trc lpVng lp forVng lp while v do whileCc lnh thay i cu trc lp trnh Cu lnh continueCu lnh break*

    Copyright by SOICT

  • Cu trc ifC php if (iu_kin)Cu_lnh;Cu lnh k tip*iu kin: Mt biu thc; (thng l biu thc logic)Tr v gi tr ng/True (khc 0) sai/False(bng 0)Cu lnh: C th l mt lnh khi ( t trong { } )

    Copyright by SOICT

    iu kin

    Cu lnh

    Cu lnh k tip

    1

    0

  • Cu trc if elseC php if (iu kin) Cu lnh 1;else Cu lnh 2;Cu lnh k tip*if(2>5==0) printf(Helloworld);if(2+5) printf(Helloworld);

    Copyright by SOICT

    iu kin

    Cu lnh 1

    Cu lnh 2

    Cu lnh k tip

    1

    0

  • V d: tm s ln nht trong 2 s thc#include #include void main(){ float a, b; float max; // khai bao bien printf( Nhap gia tri a va b: ); scanf(%f %f,&a,&b);if(a < b)max = b; else max = a; printf(\nSo lon nhat trong 2 so %.4f va %.4f la %.4f ,a,b,max); getch();} //ket thuc ham main()*

    Copyright by SOICT

  • *

    Copyright by SOICT

  • V d: Gii phng trnh ax+b = 0#include #include void main(){ float a, b; printf("\nGiai phuong trinh bac nhat ax + b = 0"); printf("\nCho biet he so a b : "); scanf("%f%f", &a, &b); if (a==0) if (b!=0) printf("Phuong trinh vo nghiem"); else printf("Phuong trinh vo so nghiem"); else printf("Dap so cua phuong trinh tren = %f", -b/a); getch();} //ket thuc ham main()*

    Copyright by SOICT

  • *

    Copyright by SOICT

  • V d: Nhp x v tnh hm #include #include void main(){ float x, fx;printf(\nNhap x: ); scanf(%f,&x);

    if(x < 3)fx = x*x+pow(sin(2*M_PI*x),4)+1; else if (x==3) fx = 5; else fx = sqrt(x-3) +log10(x*x-3);printf(\n Ket qu: %.4f,fx)}*

    Copyright by SOICT

  • Cu trc la chn switch *S khi

    Copyright by SOICT

    0

    0

    0

    1

    1

    1

    1

    0

    biu_thc == gi_tr_1 ?

    lnh_1

    break ?

    1

    0

    biu_thc == gi_tr_2 ?

    lnh_2

    break ?

    1

    0

    biu_thc == gi_tr_n ?

    lnh_n

    break ?

    . . .

  • Cu trc la chn switchC phpswitch (bieu_thuc){case gia_tri_1: lenh_1; [break];case gia_tri_2: lenh_2; [break]; case gia_tri_n: lenh_n; [break]; [default: lenh_n+1; [break];]}*

    Copyright by SOICT

  • Cu trc la chn switchC ch hot ngTnh gi tr ca biu_thc, So snh gi tr ca biu_thc vi cc gi_tr_k (vi k = 1, 2, n) sau caseTn ti gi_tr_i bng gi tr biu thc.Khng tn ti gi_tr_i (vi i = 1, 2, n) no bng gi tr biu thc*

    Copyright by SOICT

  • Cu trc la chn switchTn ti gi_tr_i bng gi tr biu thclnh_i s c thc hin. Nu c lnh break: Thc hin lnh tip sau cu trc switch. Nu khng c lnh break: Thc hin cc lnh sau lnh_i cho n khi gp lnh break u tin hoc sau khi thc hin xong lnh_n. Chuyn sang thc hin lnh tip theo sau cu trc switch.*

    Copyright by SOICT

  • Cu trc la chn switchKhng tn ti gi_tr_i (vi i = 1, 2, n) bng gi tr ca biu_thc:Nu c nhn default: Chng trnh s thc hin lnh_n+1 Thc hin lnh tip theo sau cu trc switch.Nu khng c nhn default: chng trnh chuyn sang thc hin lnh tip theo sau cu trc switch.*

    Copyright by SOICT

  • V dNhp vo s nguyn khng m, a ra ngy trong tun tng ng (theo s d khi chia cho 7).

    *

    Copyright by SOICT

  • V d#include #include void main(){ int a;printf(\nNhap mot gia tri so nguyen khong am: ); scanf(%d,&a); switch(a % 7) { case 0: printf( Chu nhat); break; case 1: printf( Thu Hai); break; case 2: printf( Thu Ba); break; case 3: printf( Thu Tu); break; case 4: printf( Thu Nam); break; case 5: printf( Thu Sau); break; case 6: printf( Thu Bay); break; }getch();}*

    Copyright by SOICT

  • *

    Copyright by SOICT

  • Cu trc la chn switchTnh cht: Khng c lnh break chng trnh s t ng chuyn xung thc hin cc cu lnh tip sau c s dng vit chung m lnh cho cc trng hp khc nhau nhng c x l nh nhau V d:Trong mt nm cc thng c 30 ngy l 4, 6, 9, 11 cn cc thng c 31 ngy l 1, 3, 5, 7, 8, 10, 12. Ring thng hai c th c 28 hoc 29 ngy.Hy vit chng trnh nhp vo 1 thng, sau a ra kt lun thng c bao nhiu ngy.*

    Copyright by SOICT

  • V d#include #include void main () { int thang; clrscr(); printf("\n Nhap vao thang trong nam "); scanf("%d",&thang); switch(thang) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf("\n Thang %d co 31 ngay ",thang); break; *

    Copyright by SOICT

  • case 4: case 6: case 9: case 11: printf("\n Thang %d co 30 ngay ",thang); break; case 2: printf ("\ Thang 2 co 28 hoac 29 ngay"); break; default : printf("\n Khong co thang %d", thang); break; } getch(); } *

    Copyright by SOICT

  • Cu trc la chn switchLu Gi tr ca biu thc kim tra phi l s nguyn (kiu m c):Phi c kiu d liu l char, int, long.Cc gi tr sau case (gia_tri_1, gia_tri_2,) cng phi l s nguyn.*iu kin trong cu trc if/if..else cho php lm vic vi cc kiu d liu khc s nguyn

    Copyright by SOICT

  • V dVit chng trnh tnh cc Taxi theo cng thc: 1km u tin c cc l 10000, 30km tip theo c gi l 8000/1km v cc km sau c gi l 6000/1km.Vit chng trnh gii phng trnh bc hai ax2 + bx + c = 0Vit chng trnh gii h phng trnh bc nht *

    Copyright by SOICT

  • V dVit chng trnh nhp vo nm dng lch v xc nh nm m lch tng ng, bit rng:Tn nm m lch gm Can v ChiCan gm: Gip, t, Bnh, inh, Mu, K, Canh, Tn, Nhm, Qu. Chi gm: T, Su, Dn, Mo Cc can quay vng v lp li 10 nm 1 ln, cc chi quay vng v lp li 12 nm 1 ln.Nm nay 2013 l nm Qu T*

    Copyright by SOICT

  • V d 1#include #include void main() {unsigned long sotien; float sokm; printf("\nBan hay cho biet so km da di duoc : "); scanf("%f", &sokm); if (sokm
  • *sotien= sokm
  • V d 2#include #include void main(){ float a, b, c, delta; printf(\n\nNhap he so a b c : "); scanf("%f%f%f", &a, &b, &c); delta = b * b - 4 * a * c; if( a==0) printf(P/trinh suy bien thanh p/trinh bac 1 %fx+%f=0,b,c); else if (delta < 0) printf("Phuong trinh vo nghiem"); else if (delta == 0) printf("Phuong trinh co nghiem kep x1 = x2 = %f", -b/(2*a)); else printf(Phuong trinh co hai nghiem phan biet\n x1=%f \n x2=%f", (-b + sqrt(delta))/(2*a), (-b - sqrt(delta))/(2*a) ); }*

    Copyright by SOICT

  • *

    Copyright by SOICT

  • V d 3#include #include void main() {float a1,b1,c1,a2,b2,c2,x,y,dx,dy,d; clrscr(); printf(\n\nNhap cac so:\n"); printf("a1,b1,c1=");scanf("%f%f%f",&a1,&b1,&c1); printf("a2,b2,c2=");scanf("%f%f%f",&a2,&b2,&c2); d= a1 * b2 - a2 * b1; dx= c1 * b2 - c2 * b1; dy= a1 * c2 - a2 * c1; if (d != 0) { x = dx/d; y = dy/d; printf("He PT co nghiem x=%f, y=%f\n",x,y); }else if (dx==0) printf("He PT co vo so nghiem!\n"); else printf("He phuong trinh vo nghiem!");}*

    Copyright by SOICT

  • *

    Copyright by SOICT

  • Bi tpVit chng trnh nhp vo mt k t h hexa v a ra gi tr h 10 tng ngLp trnh c ta 4 im A,B,C,M ri kim tra xem im M nm trong, nm trn cnh hay nm ngoi tam gic ABC.Lp trnh c vo t bn phm 2 gi tr a, b ri tnh y = 15 x2+x+7.2 trong *

    Copyright by SOICT

  • Ni dungCc cu lnh vo ra d liuVo ra d liu vi cc hm printf() v scanf()Cc cu lnh vo ra khcCu trc lnh khiCu trc r nhnhCu trc if, if elseCu trc la chn switchCu trc lpVng lp forVng lp while v do whileCc lnh thay i cu trc lp trnh Cu lnh continueCu lnh break*

    Copyright by SOICT

  • Vng lp for*

    Copyright by SOICT

  • Mc ch & C phpDng lp cng vic mt s chnh xc ln nh trc da vo s bin thin ca bin iu khin*for([bieu_thuc_1];[bieu_thuc_2];[bieu_thuc_3])Lnh;bieu_thuc_1: Khi to gi tr ban u cho vng lpbieu_thuc_2: iu kin tip tc vng lpbieu_thuc_3: Thc hin bc tng ca vng lpLnh: C th l lnh n lnh kp hoc lnh rng

    Copyright by SOICT

  • *S c php

    Copyright by SOICT

  • S dng int i;for(i = 0; i < 100; i ++)Cu lnh;*for(int i = 0; i < 100; i+=2)Cu lnh;for(int i = 100; i > 0; i--)Cu lnh;

    Copyright by SOICT

  • V d : a ra cc s nguyn l nh hn 100 (1)#include #include void main(){int i;for(i = 1;i
  • Kt qu thc hin*

    Copyright by SOICT

  • a ra cc s nguyn l nh hn 100 (2)#include #include void main(){int i;for(i = 99;i > 0;i-=2){printf(%5d,i);if((i-1)%20 ==0) printf(\n);}getch();} *

    Copyright by SOICT

  • Kt qu thc hin*

    Copyright by SOICT

  • V d: Nhp n v a ra n!#include #include void main(){long P = 1; int n; printf(Nhap n : );scanf(%d,&n);for(int i = 1;i
  • Nhp n v tnh tng 1 +1/2+..+1/n#include #include void main(){float S = 0.0; int n; printf(Nhap n : );scanf(%d,&n);for(int i = 1;i
  • Tm s 3 ch s tha mn abc=a3+b3+c3#include #include void main(){for(int a = 1;a
  • Tm s 3 ch s tha mn abc=a3+b3+c3#include #include void main(){int a, b, c;for(int i = 100;i
  • Ch Khng nht thit phi c y cc biu thc trong vng lp forBiu thc khi tochar c; int i=0;for( ; (c=getchar())! = '\n ; i++)putchar(c);printf(\nSo ky tu: %d,i);Biu thc iu khinfor(i=0 ; ; c=getchar(), i++)if(c==\n) break; printf(\nSo ky tu: %d,i);*Hello worldHello worldSo ky tu: 11Hello world

    So ky tu: 12

    Copyright by SOICT

  • Vng lp while*

    Copyright by SOICT

  • Mc chDng thc hin lp i lp li mt cng vic no vi s ln lp khng xc nh.Chng trnh kim tra iu kin trc khi lpCc lenh sau while c th khng c thc hin ln noBiu thc lun ng, lp v hn lnC php:while (bieu_thuc)lenh;*

    Copyright by SOICT

  • *S c php

    Copyright by SOICT

  • #include #include void main(){long S = 0; int n; printf(Nhap n : );scanf(%d,&n);while (n > 0){S = S + n; n = n 1; } printf(Ket qua l %ld ,S);getch();} Nhp n v a tng ca n s nguyn u tin*Nhap n : 96Ket qua l 4656

    Copyright by SOICT

  • #include #include #include void main(){clrscr(); int n=0;while (3*pow(n,5)-317*n < 5) n++; printf("%4d",n-1);getch();} Tm s nguyn ln nht tha mn 3n5-317n < 5*n = 3n = 10while (3*pow(n,5)-317*n >= 5)n--;

    Copyright by SOICT

  • #include #include void main(){clrscr(); int i=3;while (i > 1){ if(i % 2==0) i = i / 2; else i = i * 3 + 1; printf("%4d",i); }getch();} Cho bit kt qu thc hin chng trnh*10 5 16 8 4 2 1

    Copyright by SOICT

  • #include #include void main(){int na,pa,kt;char c;na=pa=kt=0;clrscr(); printf(>);while( (c=getchar()) !='\n'){switch(c){case 'a': casee': case i': case o': case u : case A': caseE': case I': case0': case U : na++; break; case ' ': kt++; break; default : pa++;}}printf("Chuoi co :%d nguyen am :%d phu am va %d khoang trang",na,pa,kt);} Nhp chui v m s nguyn m, ph m, khong trng*

    Copyright by SOICT

  • Vng lp do .. while*

    Copyright by SOICT

  • Mc chDng thc hin lp i lp li mt cng vic no vi s ln lp khng xc nh.Chng trnh kim tra iu kin sau khi lpCc lenh sau do c thc hin t nht mt ln Biu thc lun ng, lp v hn lnC php:do{lenh;}while(bieu_thuc);*

    Copyright by SOICT

  • *S c php

    Copyright by SOICT

  • #include #include void main(){long S = 0; int n; printf(Nhap n : );scanf(%d,&n);do {S = S + n; n = n 1; }while (n > 0); printf(Ket qua l %ld ,S);getch();} Nhp n v a tng ca n s nguyn u tin*Nhap n : 96Ket qua l 4656

    Copyright by SOICT

  • #include #include #include void main(){long int n, tong, i;char ch;do{tong = 0;printf("\n\nNhap vao mot so nguyen: "); scanf("%ld",&n);printf("Cac uoc so cua %ld la: ",n);for(i = 1;i
  • Kt qu

    Copyright by SOICT

  • V dNhp vo im ca mt sinh vin, nu im khng [0, 10] th thng bo cho ngi dng nhp li.Cch lm:Nu dng lnh if Ch kim tra c 1 lnKhng dng for c v cha bit trc s ln lp. S dng vng lp while/ do while*

    Copyright by SOICT

  • Vng lp while#include void main(){ float diem; clrscr(); printf(Chuong trinh nhap diem sinh vien\n"); printf("Nhap diem (0
  • Vng lp while (Kt qu)*

    Copyright by SOICT

  • Vng lp do while#include void main(){ float diem; clrscr(); printf(Chuong trinh nhap diem sinh vien\n"); do { printf("Nhap diem (0
  • V dVit chng trnh thc hin cng vic-Nhp vo t bn phm 2 s nguyn-Nhp vo t bn phm mt k t bt k; Nu y l mt ton t s hc th a ra gi tr tng ng vi ton t. Nu khng phi th a ra thng bo sai-Chng trnh thc hin cho ti khi k t nhp vo l q hoc Q*

    Copyright by SOICT

  • #include #include void main() { int a, b; char ch; int Fin = 0; clrscr(); printf("Nhap cac so a, b "); scanf("%d%d",&a,&b);

    do{ printf("\nToan tu (+ ; - ; * ; / ; %) "); ch=getche(); switch(ch){ case '+': printf(" Co ket qua: %d\n",a+b); break; case '-': printf(" Co ket qua: %d\n",a-b); break; case '*': printf(" Co ket qua: %d\n",a*b); break;*

    Copyright by SOICT

  • case '%': if (b==0) printf(" Chia cho 0\n"); else printf(" Co ket qua: %d\n",a%b); break; case '/': if (b==0) printf(" Chia cho 0\n"); else printf(" Co ket qua: %d\n",a/b); break; case 'q': case 'Q': Fin=1; break; default: printf(" khong co toan tu nay\n"); } }while(Fin==0); printf("\nKet thuc, an mot phim..."); getch();}

    *

    Copyright by SOICT

  • *

    Copyright by SOICT

  • V d: Nhp xu, m s k t ca xuKhai bo int n=0; char c;Dng vng forfor(n=0;;c=getchar(),n++) if(c==\n) break;for(n=0 ; getchar() != '\n' ; n++);Dng vng lp whilec = getchar();while (c !=\n){c= getchar();n++;}Dng vng lp do whiledo{c = getchar();n++;}while(c!=n);a kt qu ra printf(Chuoi chua %d ky tu,n);

    Copyright by SOICT

  • Bi tpNhp vo 2 s a, b tha mn 1 < a < a+100< bVit chng trnh nhp vo 3 s nguyn a,b,n tha mn 0
  • Bi tpNhp vo mt dy k t cho ti khi gp k t * a ra tn sut xut hin ca cc nguyn mCho hm s . Lp trnh tnh v a ra mn hnh cc cp gi tr x,f(x) vi x ly dy gi tr -10;-9.9;-9.8; ..; 4.9;5.0. c vo dy s cho ti khi gp s 0; Tm s ln nht, nh nht ca dy v s ln xut hin cc gi tr c vo mt dy cho ti khi tng ca dy ln hn 2010. Tnh trung bnh cng cc s l cc x v eps v tnh biu thc sau vi chnh xc nh hn eps

    Copyright by SOICT

  • Bi tpVit chng trnh c x v n vo t bn phm ri tnh

    Copyright by SOICT

  • Tnh hm#include #include void main(){float x, fx;

    for(x=-10.0; x

  • c dy s., tm v m s max#include #include

    void main(){int a, d=0, max = INT_MIN;do { printf("Nhap mot so : "); scanf("%d",&a); if( a > max){ max = a; d = 1; }elseif (a == max) d++;}while ( a!= 0);printf(Max: %d; Co %d gia tri",max,d);}*

    Copyright by SOICT

  • Ni dungCc cu lnh vo ra d liuVo ra d liu vi cc hm printf() v scanf()Cc cu lnh vo ra khcCu trc lnh khiCu trc r nhnhCu trc if, if elseCu trc la chn switchCu trc lpVng lp forVng lp while v do whileCc lnh thay i cu trc lp trnh Cu lnh continueCu lnh break*

    Copyright by SOICT

  • Mc chCc vng lp while/ do {...}while/ for s kt thc qu trnh lp khi biu thc iu kin ca vng lp khng cn c tha mn. Tuy nhin trong lp trnh i khi ta cng cn thot khi vng lp ngay c khi biu thc iu kin ca vng lp vn cn c tha mn. h tr ngi lp trnh lm vic , ngn ng C cung cp 2 cu lnh l continue v break *

    Copyright by SOICT

  • continue vs break*

    Copyright by SOICT

  • continueB qua vic thc hin cc cu lnh nm sau lnh continue trong thn vng lp.Chuyn sang thc hin mt vng lp mi*

    Copyright by SOICT

  • V d#include #include void main(){int i; int sum = 0;for(i = 1;i
  • breakThot khi vng lp ngay c khi biu thc iu kin ca vng lp vn cn c tha mn.Ch : break dng thot ra khi khi lp hin tibreak cng dng thot ra khi lnh r nhnh switch*

    Copyright by SOICT

  • V d#include #include void main(){int i;for(i = 1;i
  • V d#include #include void main(){int i,j;clrscr();for(i = 0;i i){break; }//if }//for _ j printf("i:%d j:%d\n",i,j);}//for_i getch();} *

    Copyright by SOICT

  • #includ #include void main(){ int N, i, OK = 1; printf("\nNhap gia tri N : "); scanf("%d", &N); if (N
  • Phn tch s nguyn ra tha s nguyn t#include #include #include void main(){ int N, i; do{printf("\n\nNhap vao so nguyen duong "); scanf("%d",&N);printf("%d = ",N);i = 2;while (i < N ){ if (N % i == 0){ printf("%d x ",i); N = N/i; } else i++;}printf("%d \n",N);printf("Tiep tuc ?"); fflush(stdin); }while(toupper(getche()) != 'K');}*

    Copyright by SOICT

  • *

    Copyright by SOICT

  • Nhp chui k t cho n khi gp k t *Tnh tn sut xut hin nguyn m a#include #include #include void main(){char c; int n, d; do{ printf("\n\n"); d=0; n=0; while( (c=getche()) !='*'){n++;if (c=='a') d++; } if(n==0)printf("\nChuoi ky tu rong\n"); elseprintf("\ntan suat xuat hien ky tu 'a' la %5.2f%%\n",(float)100*d/n); printf("Tiep tuc ?: "); }while(toupper(getche()) != 'K');}*

    Copyright by SOICT

  • Vit chng trnh c x v n vo t bn phm ri tnh#include #include void main(){ int n; float x, u = 1.0,S=1.0; clrscr(); printf("Nhap vao so nguyen n : "); scanf("%d",&n); printf("Nhap vao so thuc x : ");scanf("%f",&x); for(int i = 1; i
  • Bi kim tra gia kVit chng trnh thc hin cc cng vic sauNhp vo mt dy s cho ti khiTng ca dy ln hn 1550 hoc lS phn t trong dy ln hn 100a ra s phn t nm trong khong (35, 70)a ra trung bnh cng ca cc phn t chia ht cho 7*

    Copyright by SOICT

  • Nhp mt dy s cho ti khi s phn t trong dy ln hn 100#include void main(){ int a, i; i = 0; do{ printf("Nhap vao so nguyen:"); scanf("%d",&a);i++;}while (i 100

    Nhp s a

    Kt thc

    s

  • #include void main(){ int a, S; S = 0; do{ printf("Nhap vao so nguyen:"); scanf("%d",&a);S+=a;}while (S 1550

    Nhp s a

    Kt thc

    s

  • Nhp mt dy s#include void main(){ int a, i, S; S = 0; i=0; do{ printf("Nhap vao so nguyen:"); scanf("%d",&a);S+=a;i++;}while ( (i 100

    s

  • a ra TBC ca cc phn t chia ht cho 7(1)#include void main(){ int a, i=0,S7=0,d7=0; do{ printf("Nhap vao so nguyen:"); scanf("%d",&a);i++; if(a%7==0){d7++;S7+=a;}}while (i 100

    Nhp s ai i+1

    Kt thc

    s

    a % 7=0

  • a ra TBC ca cc phn t chia ht cho 7(2)#include void main(){ int a, i=0,S7=0,d7=0,S=0; do{ printf("Nhap vao so nguyen:"); scanf("%d",&a);i++; S+=a; if(a%7==0){d7++;S7+=a;}}while ( (i 100

    s

  • Bi kim tra gia k#include void main(){ int a, i=0,S7=0,d7=0,S=0, d = 0; do{ printf("Nhap vao so nguyen:"); scanf("%d",&a);i++; S+=a; if(a%7==0){d7++;S7+=a;}if( (a>35) && (a < 70) ) d++;}while ( (i 100

    s

    s

    a>35 &a

  • Tng ktCc cu lnh vo ra d liuprintf() / scanf()puts()/gets()getch()/getche()/getchar()Cu trc r nhnhif, if elseswitch (case/break/default)Cu trc lpfor{bieu_thuc_1; bieu_thuc_2; bieu_thuc_3} CauLenhwhile {bieu_thuc} CauLenh do Cau_Lenh while{bieu_thuc}Cc lnh thay i cu trc lp trnh continue/ break*

    Copyright by SOICT

  • Ni dung Phn 3: Lp trnh CChng 1: Tng quan v ngn ng CChng 2: Kiu d liu v biu thc trong CChng 3: Cu trc lp trnh trong CChng 4: Mng v xu k tChng 5: Cu trcChng 6: HmChng 7: Tp d liu**Copyright by SOICT

    Copyright by SOICT

  • MngKhi nim mngKhai bo v s dng mngCc thao tc thng gp*

    Copyright by SOICT

  • Khi nim mngThc t, thng gp cc i tng c tnh cht chungThng trong nmim trung bnh ca sinh vin trong lpCc i tng c nhm li di mt tnPhn t c c trng bi tn nhm v th t trong nhmThng th 3 trong nm: Thng 3Sinh vin th 17 trong lp:S th t trong nhm: Ch s phn t*

    Copyright by SOICT

  • Khi nim mngKiu mng l mt kiu d liu gm mt s hu hn thnh phn. Cc thnh phn c cng mt kiu, gi l kiu c s hay l kiu thnh phn.Mi phn t ca mng c tham kho thng qua tn mng v ch s ca phn t trong mng*

    Copyright by SOICT

  • MngKhi nim mngKhai bo v s dng mngCc thao tc thng gp*

    Copyright by SOICT

  • Khai boC phpkiu_d_liu tn_mng [kch_thc_mng];kiu_d_liu: kiu d liu ca cc phn t trong mngtn_mng: tn ca mngkch_thc_mng: s phn t trong mngV d// khai bo mng 10 phn t c kiu d liu int int mang_nguyen[10];*

    Copyright by SOICT

  • Cp pht b nhCc phn t trong mng c cp pht cc nh k tip nhau trong b nhBin mng lu tr a ch nh u tin trong vng nh c cp phtNgn ng C nh ch s cc phn t trong mng bt u t 0Phn t th i trong mang_nguyen c xc nh bi mang_nguyen[i-1]

    *mang_nguyen

    mang_nguyen[0]mang_nguyen[1]..mang_nguyen[9]

    Copyright by SOICT

  • Truy cp n thnh phn ca mngTruy cp vo phn t ca mng thng qua tn mng v ch s ca phn t ca phn t trong mng tn_mng[gi_tr_ch_s_phn_t]Ch : ch s bt u t 0V dint a[10]; //mng nguyn c 10 phn ta[0] : phn t u tin (th nht) ca mnga[9]: phn t cui cng (th 10) ca mng: a[i-1]: l phn t th i ca mng a*

    Copyright by SOICT

  • Mng nhiu chiuMi phn t ca mng cng l mt mng => mng nhiu chiuV dint a[6][5] ; //mng a gm 6 phn t mi phn t l mng gm 5 s nguyn inta[0]: Phn t u tin ca mng a, l mng 1 chiua[i][j] :Phn t th j+1 ca mng a[i]int b[3][4][5]; // mng b gm 3 phn t, mi phn t l mng hai chiu gm 4 phn t. Mi phn t mng hai chiu l mng gm 5 s nguyn int. b l mng 3 chiub[0][1][2] : C kiu nguyn*

    Copyright by SOICT

  • Khi to gi tr cho mngCc phn t ca mng c th c khi to gi tr ngay khi khai boint a[4] = {1,4,6,2};int b[2][3]={ {1,2,3}, {4,5,6} };Ch S lng gi tr khi to khng c ln hn s lng phn t trong mngNu s lng ny nh hn, cc phn t cn li c khi to gi tr 0C th xc nh kch thc mng thng qua s gi tr khi to nu trng kch thc mngint array1 [8] = {2, 4, 6, 8, 10, 12, 14, 16};int array2 [] = {2, 4, 6, 8, 10, 12, 14, 16};*

    Copyright by SOICT

  • MngKhi nim mngKhai bo v s dng mngCc thao tc thng gp*

    Copyright by SOICT

  • Nhp d liu cho mngDng hm scanf()V dint a[10];//Mng nguyn 10 phn tNhp d liu cho phn t a[1]: scanf(%d, & a[1]);Nhp d liu cho ton b phn t ca mng s dng vng lp forfor(int i=0; i < 10; i++)scanf(%d, & a[i]);Nn in ra ch s phn t khi nhp*

    Copyright by SOICT

  • V d#include #define MONTHS 12int main(){ int rainfall[MONTHS], i; for ( i=0; i < MONTHS; i++ ){ printf(Nhap vao phan tu thu %d: , i+1); scanf("%d", &rainfall[i] ); } return 0;}

    *

    Copyright by SOICT

  • Lu Trng hp s phn t ca mng khng bit trc (ch bit trong khi chng trnh ang thc hin) m ch bit trc s phn t ti a ti akhai bo mng vi kch thc ti a s dng bin lu s phn t thc s ca mng.V d: Khai bo mng s nguyn a c ti a 100 phn t. Nhp t bn phm s phn t trong mng v gi tr cc phn t .*

    Copyright by SOICT

  • #include#includevoid main(){int a[100];int n, i; do{printf(\n Cho biet so phan tu cua mang: );scanf(%d,&n);}while (n>100||n
  • Xut d liu trong mngDng hm printf()int a[10];Hin th phn t th 5: printf(%d,a[4]); hin th tt c cc phn t: Vng lp forV dHin th mt phn t bt kHin th tt c cc phn t, mi phn t trn mt dngHin th tt c cc phn t trn mt dng, cch nhau 2 v trHin th tng k phn t trn mt dng*

    Copyright by SOICT

  • Xut d liu trong mng#include #define MONTHS 12void main(){int rainfall[MONTHS], i; for ( i=0; i < MONTHS; i++ ){ printf(Nhap vao phan tu thu %d: , i+1); scanf("%d", &rainfall[i] ); }

    }*for ( i=0; i < MONTHS; i++ ) printf( "%4d , rainfall[i]);for ( i=0; i < MONTHS; i++ ) printf( "%d\n , rainfall[i]);for ( i=0; i < MONTHS; i++ ){ printf( "%4d , rainfall[i]);if( (i+1) %4==0) printf(\n); }

    Copyright by SOICT

  • *

    Copyright by SOICT

  • Nhp v a ra mn hnh mt ma trn#include void main(){int A[20][20], m,n,i,j;printf("Nhap so hang : "); scanf("%d",&m);printf("Nhap so cot : "); scanf("%d",&n);printf("\n");for ( i=0; i < m; i++ ) for(j=0; j < n; j++){ printf("Nhap phan tu [%d,%d]: ", i+1,j+1); scanf("%d", &A[i][j] );}printf("\n\n MA TRAN DA NHAP \n\n");for ( i=0; i < m; i++ ){ for(j=0; j < n; j++)printf( "%4d" ,A[i][j]); printf("\n");}}*

    Copyright by SOICT

  • *

    Copyright by SOICT

  • Tm gi tr ln nht, nh nhtTm gi tr ln nhtGi s phn t l phn t u tinLn lt so snh vi cc phn t cn liNu ln hn hoc bng => so snh tipNu nh hn => coi phn t ny l phn t ln nht v tip tc so snhCch lm?Tm gi tr nh nht: tng t*

    Copyright by SOICT

  • Cc thao tc c bn trn mngmax = rainfall[0];

    for(i = 1; i < n; i++)if(max < a[i])max = a[i];

    printf("\n Luong mua nhieu nhat la: %d", max);

    *

    Copyright by SOICT

  • Tm kim trn mngBi tonCho mng d liu a v mt gi tr kTm cc phn t trong mng a c gi tr bng (ging) vi k. Nu c in ra v tr (ch s) cc phn t ny. Ngc li thng bo khng tm thyCch lmDuyt ton b cc phn t trong mngNu a[i] bng (ging) k th lu li ch s iS dng mt bin xc nh tm thy hay khng tm thy*

    Copyright by SOICT

  • Tm kim trn mngPhn tchDuyt ton b cc phn tVng lp for (while, do while)Lu li i nu a[i] bng (ging) kS dng mng lu ch sBin xc nh tm thy hay khng tm thyBin nhn gi tr 0 hoc 1Bin nhn gi tr 0 hoc >=1 (tm thy th tng gi tr)

    *

    Copyright by SOICT

  • Tm kim trn mng(1)#include #include void main(){int a[100], chi_so[100];int n;//n la s phn t trong mngint i, k, kiem_tra;printf( Nhap vao so phan tu cua mang: );scanf(%d,&n);printf(Nhap vao gi tr tim kiem);scanf(%d,&k);

    *

    Copyright by SOICT

  • Tm kim trn mng(2)kiem_tra = 0;// Duyt qua tt c cc phn tfor(i = 0;i
  • Tm kim trn mng(3)if(kiem_tra > 0){printf(Trong mang co %d phan tu co gia tri bang %d,kiem_tra,k);printf(\nChi so cua cac phan tula:);for(i = 0;i < kiem_tra;i++)printf(%3d,chi_so[i]);}elseprintf(\n Trong mang khong co phan tu nao co gia tri bang %d,k);getch();}*

    Copyright by SOICT

  • Sp xp mngBi tonCho mng a gm n phn t. Sp xp cc phn t ca mng a theo th t tng dn/gim dn*

    Copyright by SOICT

  • Sp xp mngGii thut sp xpSp xp thm dn (insertion sort)Sp xp la chn (selection sort)Sp xp ni bt (bubble sort)Sp xp vun ng (heap sort)Sp xp nhanh (quick sort)Sp xp trn (merge sort).

    *

    Copyright by SOICT

  • Gii thut sp xp la chnTm phn t nh nht cha c sp xp trong mngi ch n vi phn t u tin trong phn cha c sp*

    Copyright by SOICT

  • tngLn sp xp th 1So snh a[0] vi cc a[i], i = 1..n-1 a[0] > a[i] => i ch a[0] v a[i]Thu c a[0] l phn t nh nhtLn sp xp th 2So snh a[1] vi cc a[i], i = 2..n-1a[1] > a[i] => i ch a[1] v a[i]Thu c a[1] l phn t nh th 2*

    Copyright by SOICT

  • tngLn sp xp th kSo snh a[k-1] vi cc a[i], i = k..n-1 a[k-1] > a[i] => i ch a[k-1] v a[i]Thu c a[k-1] l phn t nh th k..Ln sp xp th n-1So snh a[n-2] v a[n-1] a[n-2] > a[n-1] => i ch a[n-2] v a[n-1]Thu c a[n-2] l phn t nh th n-1 => cn li a[n-1] l phn t nh th n (ln nht)*

    Copyright by SOICT

  • Minh ha A = { 12, 5, 3, 4 };

    Lt 1 Lt 2 Lt 3 12 333512443512544512*

    Copyright by SOICT

  • Gii thut//Khai bao cac bienint a[100];int i, j, tmp;//Sap xepfor (i = 0; i < n-1; i++){for (j = i+1; j a[j]){tmp= a[i];a[i]= a[j];a[j] = tmp; } *

    Copyright by SOICT

  • V dNhp vo t bn phm mt mng s nguyn m trong s phn t cng c nhp t bn phmHin th cc phn t va c nhp voSp xp mng m theo th t tng dn trong c hin th cc phn t trong mi lt sp xp.*

    Copyright by SOICT

  • Chng trnh (1)#include #include void main(){int m[100];int n;// n la s phn t trong mngint i, j, k;// Nhp gi tr d liu cho mng mprintf(Cho biet so phan tu co trong mang:);scanf(%d,&n);

    *

    Copyright by SOICT

  • Chng trnh (2)// nhp gi tr cho cc phn tfor(i = 0;i
  • Chng trnh (3)for(i = 0; i
  • Bi tpNhp vo dy s, tnh v a ra mn hnhTng v tch ca dy sCc s chia ht cho 3 v ln hn 10m cc s nm trong on [100,1000]Nhp vo mt dy s; tm s chn nh nht dyNhp dy s; m xem c bao nhiu b 3 s tha mn iu kin xi=(xi-1+xi+1)/2c vo dy s c n phn t (nn, chn x vo v tr n+1.Nhp vo n v dy s (x1,x2,xn) ;(y1,y2,..yn) ri tnh *

    Copyright by SOICT

  • Bi tpNhp vo t bn phm mt dy s nguyn (
  • Bi cha#include#include void main(){int A[100];int N, i;//Nhp d liuprintf("So phan tu : "); scanf("%d",&N);for(i=0; i < N; i ++){printf("A[%d] = ",i);scanf("%d",&A[i]);}//X l mng: chn, xa, sp xp,//a D liu rafor(i=0; i < N; i ++)printf("%4d",A[i]);getch();}*

    Copyright by SOICT

  • Sp xp s chn chia ht 3 ln u dy..{int d = 0, t; for(i=0;i < N; i++)if(A[i]%6==0){t=A[i];A[i]=A[d];A[d] = t;d++;}for(i=d;i < N; i++)if(A[i]%3 != 0){t=A[i];A[i]=A[d];A[d] = t;d++;}}*

    Copyright by SOICT

  • Sp xp tng dn v chn ng v tr{int k = 0,i, j, t; for(i=0;i < N - 1; i++)for(j=i+1;j < N ; j++) if(A[i] > A[j]){t = A[j];A[j] = A[i];A[i]=t; }printf("Phan tu moi:"); scanf("%d",&k);i = N;while( (i > 0) &&(A[i-1] > k) ){A[i] = A[i-1];i--;}A[i] = k;N++;}*

    Copyright by SOICT

  • Xa cc phn t chia ht cho 5{int d = 0, i; for(i=0;i < N; i++)if(A[i] % 5 != 0){A[d] = A[i];d++;}N = d;}*

    Copyright by SOICT

  • Bi tpVit chng trnh nhp vo mt ma trn vung, cc phn t nguyn, sau a ra ma trn tam gic duia ra ma trn tam gic trnNhp M, N (M, N < 30) v mt ma trn MxN. a ma trn ra mn hnhTm hng/ct c tng cc phn t ln nhtTm s ln nht/nh nht v v tr trong ma trna ra ma trn S cng kch thc tha mn

    *

    Copyright by SOICT

  • Nhp vo mt ma trn vung,..#include void main(){int A[20][20], N,i,j;printf("Nhap kich thuoc :"); scanf("%d",&N);printf("\n");for ( i=0; i < N; i++ ) for(j=0; j < N; j++){ printf("Nhap phan tu [%d,%d]:", i+1,j+1); scanf("%d", &A[i][j] );}printf("\n\n MA TRAN DA NHAP \n\n");for ( i=0; i < N; i++ ){ for(j=0; j < N; j++) printf( "%4d" ,A[i][j]); printf("\n");}*

    Copyright by SOICT

  • Nhp vo mt ma trn vung,..printf("\n\n MA TRAN TAM GIAC TREN \n\n");for ( i=0; i < N; i++ ){ for(j=0; j < N; j++) if(j >= i)printf( "%4d" ,A[i][j]); else printf("%4c",32); printf("\n");}printf("\n\n MA TRAN TAM GIAC DUOI \n\n");for ( i=0; i < N; i++ ){ for(j=0; j
  • Xu k tKhi nim xu k tKhai bo v s dng xuCc hm x l k tCc hm x l xu*

    Copyright by SOICT

  • Khi nim xu k tXu k t (string) l mt dy cc k t vit lin tip nhau di xu l s k t c trong xuXu rng l xu khng c k t noV d: Tin hoc, StringLu tr: kt thc xu bng k t \0 hay NUL (m ASCII l 0)

    *

    Ti n hoc\0

    Copyright by SOICT

  • Khi nim xu k t: Lu Xu k t >< mng k tTp hp cc k t vit lin tip nhauTruy nhp mt phn t ca xu k t (l mt k t) ging nh truy nhp vo mt phn t ca mng.Xu k t c k t kt thc xu, mng k t khng c k t kt thc xuXu k t di 1 >< k t (A =A ?)A l 1 k t, c lu tr trong 1 byteA l 1 xu k t, ngoi k t A cn c k t \0 => c lu tr trong 2 byte*

    Copyright by SOICT

  • Xu k tKhi nim xu k tKhai bo v s dng xuCc hm x l k tCc hm x l xu*

    Copyright by SOICT

  • Khai boC phpchar tn_xu [s_k_t_ti_a];Lu : lu tr mt xu c n k t chng ta cn mt mng c kch thc n+1V d lu tr xu Tin hoc chng ta phi khai bo xu c s phn t ti a t nht l 8 char str [8];

    *

    Copyright by SOICT

  • Truy cp vo mt phn t ca xuGing nh truy nhp ti mt phn t ca mng k tC php: tn_xu [ch_s_ca_k_t]V dchar quequan[10]; Gi s xu ny c ni dung l Ha noi quequan[0] lu tr Hquequan[1]aquequan[5]iquequan[6]\0*

    Copyright by SOICT

  • V d: Nhp vo mt xu v m s k t *#include #include

    void main(){char Str[100];int d=0, i=0;printf("Nhap xau ky tu: "); gets(Str);while(Str[i] != '\0'){ if(Str[i]=='*')d++; i++;} printf("Ket qua : %d",d); getch();}*Tnh chiu di ca xud=0;while(Str[d] != '\0') d++;

    Copyright by SOICT

  • Xu k tKhi nim xu k tKhai bo v s dng xuCc hm x l k tCc hm x l xu*

    Copyright by SOICT

  • Cc hm x l k tTp tiu : ctype.h#include *

    Copyright by SOICT

  • Cc hm chuyn i ch hoa/ch thng int toupper(int ch): chuyn k t thng thnh k t hoatoupper(a) => Aint tolower(int ch): chuyn k t hoa thnh k t thngtolower(B) => bV ddo{ . printf(Tiep tuc ? :); fflush(stdin);}while(toupper(getche()) !='K');*

    Copyright by SOICT

  • Cc hm kim tra ch hoa/ch thngint islower(int ch): Kim tra ch thng. Hm tr v gi tr khc 0 nu ch l ch thng, ngc li tr v 0printf("%d ",islower('A')); 0 int isupper(int ch): Kim tra ch hoa. Hm tr v gi tr khc 0 nu ch l ch hoa, ngc li tr v 0 printf("%d ",isupper('A')); 1 *

    Copyright by SOICT

  • Cc hm kim tra ch ci/ch sint isalpha(int ch): Kim tra xem k t trong tham s c phi ch ci hay khng (az,A,..Z). Hm tr v khc 0 nu ng, ngc li t v gi tr bng 0printf("%d ",isalpha('A')); 1 int isdigit(int ch): Kim tra k t trong tham s c phi ch s (0,1,..9) hay khng. Hm tr v khc 0 nu ng, ngc li t v gi tr bng 0printf("%d ",isdigit('A')); 0 *

    Copyright by SOICT

  • Cc hm kim tra k t c bitint iscntrl(int ch): Kim tra k t iu khin (0-31). Hm tr v khc 0 nu ng, ngc li t v gi tr bng 0int isspace(int ch): Kim tra k t du cch (m 32), xung dng (\n 10), u dng (\r 13), tab ngang (\t 9), tab dc (\v 11). Hm tr v khc 0 nu ng, ngc li tr v gi tr bng 0*

    Copyright by SOICT

  • V d: Nhp xu v m t#include #include #include int main(){char Str[100]; int d=0, i=0;printf("Nhap xau ky tu: "); gets(Str);if(Str[0] == '\0') printf( Xau rong ");else{if( ! isspace(Str[0]) ) d=1;i=1;while(Str[i] != '\0'){ if( isspace(Str[i-1] ) && (! isspace(Str[i])) ) d++; i++;} printf("Ket qua : %d",d); }}*

    Copyright by SOICT

  • Xu k tKhi nim xu k tKhai bo v s dng xuCc hm x l k tCc hm x l xu*

    Copyright by SOICT

  • Vo ra xu k tTp tiu : stdio.h / conio.hNhp xu k tgets(tn_xu);scanf(%s,&tn_xu);Hin th xu k tputs(tn_xu);printf(%s,tn_xu);

    S khc nhau gia gets v scanf?*

    Copyright by SOICT

  • Cc hm x l xu k tTp tiu : string.h#include *

    Copyright by SOICT

  • Cc hm x l xu k tsize_t strlen(char[] xu) Tr v di xuprintf("%d ",strlen("Hello world")); 11 char[] strcpy(char[] ch, char[] ngun) sao chp xu, tr v gi tr xu ngunprintf("%s ",strcpy(Str,"Hello")); Helloprintf("%s", Str); Helloint strcmp(char[] xu_1, char[] xu_2)So snh hai xu. Tr v gi tr 0 nu hai xu ging nhau; Gi tr < 0: xu_1 < xu_2 Gi tr >0: xu_1 > xu_2*

    Copyright by SOICT

  • Cc hm x l xu k tchar[] strcat(char[] xch, char[] ngun)Ghp ni xu ngun vo ngay sau xu ch, tr li xu kt quchar Str[20];strcpy(Str,"Hello ");printf("%s ",strcat(Str,"world")); Hello world printf("\n%s",Str); Hello world

    *

    Copyright by SOICT

  • Cc hm x l xu k tKhi nim con trCon tr l mt bin cha a ch ca bin khcKhai bo Type * tn_binTon t & dng ly a ch ca mt binTon t * dng tham kho ti gi tr bin m con tr ch tiV dint N; int * ptrptr = & N;* ptr N (*ptr+=10 N+=10)*

    Copyright by SOICT

  • Cc hm x l xu k tchar * strchr (char * s, int c)Tr v con tr tr ti v tr xut hin u tin ca k t c trong s. Nu khng c tr v con tr nullstrcpy(Str,"Hello world");printf("%s ",strchr(Str,o')); o world char* strstr(char * s1, char * s2Tr v con tr tr ti v tr xut hin u tin ca chui s2 trong s1. Nu khng tn ti, tr v con tr nullprintf("%s ",strstr(Str,llo)); llo world *

    Copyright by SOICT

  • Cc hm x l xu k t (tip)Tp tiu : stdlib.hint atoi(char[] str): Chuyn mt xu k t thnh mt s nguyn tng ngint atol(char[] str): Chuyn thnh s long intfloat atof(char[] str): Chuyn thnh s thcTht bi c 3 hm: tr v 0*

    Copyright by SOICT

  • V d: o ngc xu k t#include#include#includemain(){ char s[100],c; int i, n; printf("Nhap xau: ");gets(s); n =strlen(s); for(i=0;i
  • Kim tr xu k t i xng#include#include#includemain(){ char s[20]; int i,n; printf("Nhap vao xau ki tu: ");gets(s); n=strlen(s); for(i=0;i
  • m s ln xut hin ch ci trong xu#include#include#include#includemain(){ char s[20]; int dem[26]; int i,n; printf("Nhap vao xau ki tu: ");gets(s); for(i=0;i
  • Mng xu k tXu k t c th l kiu phn t ca mngKhai bochar DS[100][30];Mng c ti a 100 phn t, cc phn t l xu c di ti a 30S dngNh mt mng bnh thngMi phn t mng c s dng nh mt xu k t*

    Copyright by SOICT

  • Nhp vo DSSV cho ti khi gp tn rng, in DS#include #include void main(){ int i, n; char DS[100][30]; printf("Nhap DSSV (
  • *

    Copyright by SOICT

  • Nhp vo DS sinh vin, in ra DS sp#include #include void main(){ int i, j, N; char DS[100][30], str[30]; //Nhap DS lop printf("So sinh vien : "); scanf("%d",&N); fflush(stdin); for(i=0;i < N;i++){ printf("Ten sinh vien[%d]: ",i); gets(DS[i]); }*

    Copyright by SOICT

  • Nhp vo DSSV, in ra DS sp (tip)//sap xep theo phuong thuc noi botfor(i = 0; i < N - 1; i ++) for(j = i +1; j < N; j ++) if(strcmp(DS[i],DS[j]) > 0){ strcpy(str,DS[i]); strcpy(DS[i],DS[j]); strcpy(DS[j],str); }

    printf("\nDS sinh vien vua nhap \n");for(i=0;i < N;i++) printf("%s\n",DS[i]); }*

    Copyright by SOICT

  • Nhp vo DSSV, in ra DS sp (tip)//Sap xep theo tn, roi theo ho&dem ho char ten_i[30],ten_j[30];for(i = 0; i < N - 1; i ++) for(j = i +1; j < N; j ++){ strcpy(ten_i,strrchr(DS[i],32)); strcpy(ten_j,strrchr(DS[j],32)); if(strcmp(ten_i,ten_j) > 0){ strcpy(str,DS[i]); strcpy(DS[i],DS[j]); strcpy(DS[j],str); }}*

    Copyright by SOICT

  • *

    Copyright by SOICT

  • Ni dung Phn 3: Lp trnh CChng 1: Tng quan v ngn ng CChng 2: Kiu d liu v biu thc trong CChng 3: Cu trc lp trnh trong CChng 4: Mng v xu k tChng 5: Cu trcChng 6: HmChng 7: Tp d liu**Copyright by SOICT

    Copyright by SOICT

  • Ni dungKhi nim cu trcKhai bo v s dng cu trcX l d liu cu trc*

    Copyright by SOICT

  • Khi nim cu trcKiu d liu cu trc (struct)L kiu d liu phc hp, bao gm nhiu thnh phn c th thuc cc kiu d liu khc nhauCc thnh phn: gi l trng d liu (field)Cc thnh phn ca mt kiu cu trc, khng c truy nhp theo ch s (mng) m theo tn ca trng.C th coi mt bin cu trc l mt tp hp thnh mt bin duy nht ca cc phn t ri rc V dKt qu hc tp ca SV: TenSV, MaSV, Diem.Thng tin cu th: Ten, Tuoi, CLB, SoAo, Vitri,*

    Copyright by SOICT

  • Ni dungKhi nim cu trcKhai bo v s dng cu trcX l d liu cu trc*

    Copyright by SOICT

  • Khai bo v s dng cu trcKhai bo kiu d liu cu trcKhai bo bin cu trcnh ngha kiu d liu vi typedef*

    Copyright by SOICT

  • Khai bo kiu d liu cu trcKhai bo kiu cu trcstruct tn_cu_trc{ }

    V dstruct sinh_vien{char ma_so_sinh_vien[10];char ho_va_ten[30]; float diem_tinDC; }struct point_3D{float x;float y;float z; }*

    Copyright by SOICT

  • Khai bo bin cu trcC php:struct tn_cu_trc tn_bin_cu_trc;V d:struct sinh_vien a, b, c;Kt hp khai bo struct [tn_cu_trc] {; } tn_bin_cu_trc;

    *

    Copyright by SOICT

  • Khai bo bin cu trcCc cu trc c th c khai bo lng nhau struct diem_thi {float dToan, dLy, dHoa;}struct thi_sinh{char SBD[10];char ho_va_ten[30];struct diem_thi ket_qua;} thi_sinh_1, thi_sinh_2;*

    Copyright by SOICT

  • Khai bo bin cu trcC th khai bo trc tip cc trng d liu ca mt cu trc bn trong cu trc khcstruct thi_sinh{char SBD[10];char ho_va_ten[30];struct [diem_thi]{float dToan, dLy, dHoa;} ket_qua;} thi_sinh_1, thi_sinh_2;

    *

    Copyright by SOICT

  • Khai bo bin cu trcC th gn gi tr khi u cho mt bin cu trc, theo nguyn tc nh kiu mngV d: struct Date{ int day; int month; int year; }; struct{ char Ten[20]; struct Date NS; } SV = {Tran Anh", 20, 12, 1990 };*struct{ char Ten[20]; struct Date{ int day; int month; int year; } NS; } SV = {Tran Anh", 20,12, 1990 };

    Copyright by SOICT

  • nh ngha kiu d liu vi typedefMc cht tn mi cho kiu d liu cu trcGip khai bo bin quen thuc v t sai hnC phptypedef struct ;V dtypedef char message[80];typedef long mask;message str="Bonjour tout le monde";mask a, b;*

    Copyright by SOICT

  • nh ngha kiu d liu vi typedefVi kiu cu trctypedef struct tn_c tn_mitypedef struct [tn_c] {;} danh_sch_cc_tn_mi;Ch : cho php t tn_mi trng tn_c*

    Copyright by SOICT

  • V dstruct point_3D{ float x, y, z; } struct point_3D M;typedef struct point_3D toa_do_3_chieu;toa_do_3_chieu N; typedef struct { float x, y, z; }point_3D;point_3D M;point_3D N;*

    Copyright by SOICT

  • V dtypedef struct point_2D{float x, y;}point_2D, diem_2_chieu, ten_bat_ki;point_2D X;diem_2_chieu Y;ten_bat_ki Z;=> point_2D, diem_2_chieu, ten_bat_ki l cc tn cu trc, khng phi tn bin

    *

    Copyright by SOICT

  • Ni dungKhi nim cu trcKhai bo v s dng cu trcX l d liu cu trc*

    Copyright by SOICT

  • X l d liu cu trcTruy cp cc trng d liuPhp gn gia cc bin cu trc*

    Copyright by SOICT

  • Truy cp cc trng d liuC phptn_bin_cu_trc.tn_trngLu Du . l ton t truy cp vo trng d liu trong cu trcNu trng d liu l mt cu trc => s dng tip du . truy cp vo thnh phn mc su hn*

    Copyright by SOICT

  • V d#include void main(){ struct{ char Ten[20]; struct Date{ int day; int month; int year; } NS; } SV = {"Tran Anh", 20,12, 1990 }; printf(" Sinh vien %s (%d/%d/%d)", SV.Ten,SV.NS.day,SV.NS.month,SV.NS.year); }*

    Copyright by SOICT

  • V dXy dng mt cu trc biu din im trong khng gian 2 chiu. Nhp gi tr cho mt bin kiu cu trc ny, sau hin th gi tr cc trng d liu ca bin ny ra mn hnh.Cu trc: tn im, ta x, ta yNhp, hin th tng trng ca bin cu trc nh cc bin d liu khc

    *

    Copyright by SOICT

  • V d#include#includetypedef struct{ char ten[5]; int x,y;}toado;void main(){ toado t; printf("Nhap thong tin toa do\n"); printf("Ten diem: ");gets(t.ten);printf("Toa do x: ");scanf("%d",&t.x);printf("Toa do y: ");scanf("%d",&t.y);printf("Gia tri cac truong\n");printf("%-5s%3d%3d\n",t.ten,t.x,t.y);getch();}*

    Copyright by SOICT

  • Php gn gia cc bin cu trcMun sao chp d liu t bin cu trc ny sang bin cu trc khc cng kiugn ln lt tng trng trong hai bin cu trc => th cngC cung cp php gn hai bin cu trc cng kiu: bin_cu_trc_1 = bin_cu_trc_2;*

    Copyright by SOICT

  • Php gn gia cc bin cu trcV dXy dng cu trc gm h tn v im TC ca sinh vina, b, c l 3 bin cu trc. Nhp gi tr cho bin a.Gn b=a, gn tng trng ca a cho c. So snh a, b v c ?

    *

    Copyright by SOICT

  • Php gn gia cc bin cu trc#include#includetypedef struct{ char hoten[20]; int diem;}sinhvien;void main(){sinhvien a,b,c;printf("Nhap thong tin sinh vien\n");printf("Ho ten: ");gets(a.hoten);printf("Diem:");scanf("%d",&a.diem);*

    Copyright by SOICT

  • Php gn gia cc bin cu trcb=a;strcpy(c.hoten,a.hoten); c.diem=a.diem;printf(Bien a: ");printf("%-20s%3d\n",a.hoten,a.diem);printf(Bien b: ");printf("%-20s%3d\n",b.hoten,b.diem);printf(Bien c: ");printf("%-20s%3d\n",c.hoten,c.diem);getch();}*

    Copyright by SOICT

  • *

    Copyright by SOICT

  • V dLp trnh c vo mt danh sch khng qu 100 sinh vin gm: H tn, nm sinha ra DS nhng sinh vin sinh nm 1990a ra DSSV sp xp theo th t ABCLp trnh c vo DS th sinh gm H tn, im thi 3 mn Ton, L,Ha, kt thc nhp khi gp sinh vin c tn rngc tip vo mt im chun; a ra danh sch th sinh trng tuyn (khng c im lit - 0)a ra th sinh cao im nhtTm im chun, nu ch ly K SV, K nhp vo. Nu c nhiu ngi bng im nhau; loi c*

    Copyright by SOICT

  • Bi 1#include #include typedef struct{char Ten[30];int NS;}SinhVien;void main(){SinhVien DS[100], SV;int N,i,j;printf("Nhap So sinh vien : "); scanf("%d",&N);fflush(stdin);for ( i=0; i < N; i++ ){ fflush(stdin); printf("Nhap du lieu cho sinh vien %d: \n", i+1); printf("Ho ten : "); gets(DS[i].Ten); printf("Nam sinh :");scanf("%d", &DS[i].NS);}*

    Copyright by SOICT

  • Bi 1(tip)printf("\n\n DANH SACH SINH VIEN\n\n");for(i = 0; i < N; i ++) if(DS[i].NS ==1990) printf("%s\n",DS[i].Ten); for(i = 0; i < N - 1; i ++) for(j = i+1; j < N; j ++) if(strcmp(DS[i].Ten,DS[j].Ten) > 0){SV= DS[i];DS[i]=DS[j];DS[j] = SV;}printf("\n\n DANH SACH SINH VIEN DA SAP XEP\n\n");for(i = 0; i < N; i ++) printf("%s\n",DS[i].Ten); }//main*

    Copyright by SOICT

  • Bi 2#include #include

    typedef struct{char Ten[30];struct{int T, L, H, S;} DT;}SinhVien;

    void main(){SinhVien DS[100], TK, SV;int N,i,j,K;float C;*

    Copyright by SOICT

  • Bi 2 (tip)N = 0;do{ printf("\nNhap DL cho sv thu %d\n",N+1); printf("Ten SV : "); gets(DS[N].Ten); if(strlen(DS[N].Ten)==0) break; else{ printf("Diem thi T L H cua SV %s : ",DS[N].Ten); scanf("%d%d%d",&DS[N].DT.T,&DS[N].DT.L,&DS[N].DT.H); fflush(stdin); DS[N].DT.S = DS[N].DT.T + DS[N].DT.L + DS[N].DT.H; N++; }}while(1);printf("\n\n DANH SACH SINH VIEN\n\n");printf(" Ten SV Toan Ly Hoa Tong \n");for(i = 0; i < N; i ++) printf("%-20s%5d%5d%5d%6d\n",DS[i].Ten, DS[i].DT.T,DS[i].DT.L,DS[i].DT.H,DS[i].DT.S);

    Copyright by SOICT

  • Bi 2 (tip)

    printf("\n\nDiem Chuan : ");scanf("%f",&C);printf("\n\n DANH SACH SINH VIEN TRUNG TUYEN \n\n"); for(i = 0; i < N; i ++) if( (DS[i].DT.S >= C)&& (DS[i].DT.T*DS[i].DT.L*DS[i].DT.H > 0)) printf("%s\n",DS[i].Ten);TK = DS[0];for(i = 1; i < N; i ++) if(DS[i].DT.S > TK.DT.S) TK = DS[i];printf("\n\n THU KHOA: %s \n\n",TK.Ten);

    *

    Copyright by SOICT

  • Bi 2 (tip)printf("\nSO nguoi trung tuyen:"); scanf("%d",&K); for(i = 0; i < N - 1; i ++) for(j = i+1; j < N; j ++) if(DS[i].DT.S < DS[j].DT.S ){SV= DS[i];DS[i]=DS[j];DS[j] = SV;} while((K>0)&&(DS[K-1].DT.S==DS[K].DT.S))K--; if(K>0){ printf("Diem Chuan La : %4d",DS[K-1].DT.S); printf("\n\n Danh Sach sinh vien trung tuyen \n"); for(i=0; i < K; i++) printf("%s\n",DS[i].Ten); }}//main*

    Copyright by SOICT

  • Ni dung Phn 3: Lp trnh CChng 1: Tng quan v ngn ng CChng 2: Kiu d liu v biu thc trong CChng 3: Cu trc lp trnh trong CChng 4: Mng v xu k tChng 5: Cu trcChng 6: HmChng 7: Tp d liu**Copyright by SOICT

    Copyright by SOICT

  • Ni dungKhi nim hmKhai bo v s dng hmPhm vi ca binTruyn tham s*

    Copyright by SOICT

  • Khi nim chng trnh conKhi nim L mt chng trnh nm trong mt chng trnh ln hn nhm thc hin mt nhim v c thVai trChia nh chng trnh ra thnh tng phn qun l => Phng php lp trnh c cu trcC th s dng li nhiu ln: printf, scanfChng trnh d dng c v bo tr hn

    *

    Copyright by SOICT

  • Phn loi chng trnh con

    Hm: tr v gi tr trong khi th tc th khngTrong C: Ch cho php khai bo chng trnh con l hm.S dng kiu void vi ngha khng l kiu d liu no c chuyn th tc v dng hmPhn loi chng trnh con*

    Copyright by SOICT

  • Phn loi hm

    Phn loi chng trnh con*

    Copyright by SOICT

  • Ni dungKhi nim hmKhai bo v s dng hmPhm vi ca binTruyn tham s*

    Copyright by SOICT

  • Khai bo hmV d:Chng trnh in ra bnh phng ca cc s t nhin t 1 n 10Gm 2 hm: Hm binhphuong(int x): tr v bnh phng ca xHm main(): vi mi s nguyn t 1 n 10, gi hm binhphuong vi mt gi tr u vo v hin th kt qu.

    *

    Copyright by SOICT

  • #include#includeint binhphuong(int x){ int y; y = x * x; return y;}void main(){ int i; for (i=0; i
  • [] tn_hm ([DS_tham_s]){ [] [] [return Biu_thc;] }

    Khai bo hm*

    Copyright by SOICT

  • [] tn_hm ([DS_tham_s])

    Cc thng tin c trao i gia bn trong v bn ngoi hm. Tn ca hm, Cc tham s u vo Hm cn nhng thng tin g hot ngTham s u ra v gi tr tr v hm cung cp nhng thng tin g cho mi trng Dng u hm phn bit cc hm vi nhau, khng c c 2 hm c dng u hm ging nhau.Dng u hm*

    Copyright by SOICT

  • Tn hm:C th l bt k mt nh danh hp l no. Tuy nhin tn hm nn mang ngha gi chc nng cng vic m hm thc hin. V d mt hm c chc nng tnh v tr v bnh phng ca mt s thc x th nn c tn l binh_phuong. Trong C, cc hm khng c t tn trng nhau Dng u hm*

    Copyright by SOICT

  • Tham s ca hm:Cc thng tin cn cho hot ng ca hm v cc thng tin, kt qu tnh ton c hm tr li. Tham s cha d liu vo cung cp cho hmTham s cha d liu ra m hm tnh ton c.Cc tham s s dng trong khai bo hm l tham s hnh thc.Khai bo tham s hnh thc: kiu d liu ca tham s tn ca tham s Cc tham s cung cp cho hm trong qu trnh thc hin l tham s thc. Kiu d liu ca tham s thc phi ging kiu d liu ca tham s hnh thc tng ng vi tham s thc ,.Mt hm c th c mt, nhiu hoc khng c tham s no cNu c nhiu tham s, phi c phn cch vi nhau bng du phy. khng c tham s vn phi c cp du ngoc n sau tn hmDng u hm*

    Copyright by SOICT

  • Kiu d liu tr v ca hmThng thng hm sau khi c thc hin s tr v mt gi tr kt qu tnh ton no . s dng c gi tr ta cn phi bit n thuc kiu d liu g. Kiu d liu ca i tng tnh ton c hm tr v c gi l kiu d liu tr v ca hm.Trong C, kiu d liu tr v ca hm c th l kiu d liu bt k (kiu d liu c sn hoc kiu d liu do ngi dng t nh ngha) nhng khng c l kiu d liu mng.Nu kiu d liu tr v l kiu void th hm khng tr v gi tr no c.Trng hp ta khng khai bo kiu d liu tr v th chng trnh dch ca C s ngm hiu rng kiu d liu tr v ca hm l kiu int.Dng u hm*

    Copyright by SOICT

  • Danh sch cc cu lnhThng c t nht mt lnh returnThc hin ln lt cc lnh cho n khi Thc hin xong tt c cc cu lnh c trong thn hm Gp lnh returnC php chung: return biu_thc;Khi gp lnh returnTnh ton gi tr ca biu_thc, Ly kt qu tnh ton c lm gi tr tr v cho li gi hm Kt thc vic thc hin hm, tr v chng trnh gi n.Nu return khng c phn biu_thc, Kt thc thc hin hm m khng tr v gi tr no c.Thn hm*

    Copyright by SOICT

  • S dng hmC php:tn_hm (danh_sch_tham_s);V d: N = binhphuong(0);N= binhphuong(1);Lu :Gi hm thng qua tn hm v cc tham s thc cung cp cho hm.Nu hm nhn nhiu tham s th cc tham s ngn cch nhau bi du phyCc tham s ca hm s nhn cc gi tr t tham s truyn voSau khi thc hin xong, tr v im m hm c gi *

    Copyright by SOICT

  • Tm SCLN ca dy s# include int uscln(int a, int b) { while (a !=b){ if(a > b) a = a- b; else b = b - a; } return a;}void main(){ int A[100], N, i, r; printf("So phan tu : "); scanf("%d",&N); for(i=0; i < N; i++){ printf("A[%d] = ",i+1); scanf("%d",&A[i]); } r = A[0]; for(i = 1; i < N; i++) r = uscln(r,A[i]); printf("Ket qua %d \n",r); }*

    Copyright by SOICT

  • Ni dungKhi nim hmKhai bo v s dng hmPhm vi ca binTruyn tham s*

    Copyright by SOICT

  • Phm vi: khi lnh, chng trnh con, chng trnh chnhBin khai bo trong phm vi no th s dng trong phm vi Trong cng mt phm vi cc bin c tn khc nhau.Tnh hungTrong hai phm vi khc nhau c hai bin cng tn. Trong mt phm vi ny nm trong phm vi kia?#include#includeint i;int binhphuong(int x){ int y; y = x * x; return y;}void main(){ int y; for (int i=0; i
  • Phn loi binBin ton cc: bin c khai bo trong chng trnh chnh, c t sau khai bo tp tiu .Bin cc b: bin c khai bo trong lnh khi hoc chng trnh con, c t trc cc cu lnh.Ghi nhHm main() cng l mt chng trnh con nhng l ni chng trnh c bt uBin khai bo trong hm main() cng l bin cc b, ch c phm vi trong hm main().Phn loi bin*

    Copyright by SOICT

  • Bin staticXut pht: bin cc b ra khi phm vi th b nh dnh cho bin c gii phngYu cu lu tr gi tr ca bin cc b mt cch lu di => s dng t kha staticSo snh vi bin ton cc?C php:static tn_bin;Cu lnh static v register*

    Copyright by SOICT

  • # include # include void fct() {static int count = 1;printf("\n Day la lan goi ham fct lan thu %2d", count++);}void main(){int i;for(i = 0; i < 10; i++) fct();getch();}Cu lnh static v register*

    Copyright by SOICT

  • Cu lnh static v registerDay la lan goi ham fct lan thu 1Day la lan goi ham fct lan thu 2Day la lan goi ham fct lan thu 3Day la lan goi ham fct lan thu 4Day la lan goi ham fct lan thu 5Day la lan goi ham fct lan thu 6Day la lan goi ham fct lan thu 7Day la lan goi ham fct lan thu 8Day la lan goi ham fct lan thu 9Day la lan goi ham fct lan thu 10*

    Copyright by SOICT

  • Cu lnh static, registerBin registerThanh ghi c tc truy cp nhanh hn RAM, b nh ngoiLu bin trong thanh ghi s tng tc thc hin chng trnhC phpregister tn_bin;Lu : s lng bin register khng nhiu v thng ch vi kiu d liu nh nh int, char*

    Copyright by SOICT

  • Ni dungKhi nim hmKhai bo v s dng hmPhm vi ca binTruyn tham s*

    Copyright by SOICT

  • V d# include # include void swap(int a, int b) {int x = a;a = b;b = x;return;}void main(){ int a = 5, b = 100; printf("Truoc: a=%d, b=%d \n\n",a,b); swap(a,b); printf("Sau : a=%d, b=%d\n\n",a,b); return;}*

    Copyright by SOICT

  • Truyn theo tr v truyn theo binTruyn theo trDa trn nguyn tc truyn nhng bn sao ca bin c truyn Nhng cu lnh thay i gi tr tham s hnh thc s khng nh hng ti bin c truynTruyn theo binTham s c truyn s thc s l bin v cc thao tc s thi hnh trc tip vi binNhng cu lnh thay i gi tr tham s hnh thc s nh hng ti bin c truyn

    *

    Copyright by SOICT

  • Truyn theo binThc cht l truyn theo a ch ca binKhai bo hmKhai bo l mt con tr, tr ti mt i tng c kiu mun truyn voV d: void swap (int *pa, int *pb);Truyn tham sa ch ca bin c truynV d: swap(&a,&b)*

    Copyright by SOICT

  • V d# include # include void swap(int * pa, int * pb) {int x = *pa;*pa = *pb;*pb = x;return;}void main(){ int a = 5, b = 100; printf("Truoc: a=%d, b=%d \n\n",a,b); swap(&a,&b); printf("Sau : a=%d, b=%d\n\n",a,b); return;}*

    Copyright by SOICT

  • Ni dung Phn 3: Lp trnh CChng 1: Tng quan v ngn ng CChng 2: Kiu d liu v biu thc trong CChng 3: Cu trc lp trnh trong CChng 4: Mng v xu k tChng 5: Cu trcChng 6: HmChng 7: Tp d liu**Copyright by SOICT

    Copyright by SOICT

  • Bi tpVit hm tm bi s chung nh nht ca hai s nguyn dng a,b l tham s ca hmVit chng trnh tm bi s chung nh nht ca mt dy s nguyn dng a1, a2, , an. Dy s c khng qu 100 phn t, n c nhp vo t bn phmVit chng trnh cho ngi dng nhp vo t bn phm mt dy s cho ti khi ngi dng nhp s -1. Lu dy s vo mt mnga ra cc s ca dy s trn c gi tr nm trong khong [a,b] vi a,b l s nguyn c nhp vo t bn phm

    *

    Copyright by SOICT

  • Bi tp5. a ra gi tr ln nht trong dy gi l max, gi tr nh nht trong dy gi l min6. Thng k vo mt mng s cc s c gi tr bng 1,2, max7. Cho ngi dng nhp vo t bn phm cc xu k t cho n khi ngi dng nhp mt xu rng8. m s xu c di n, n nguyn c nhp vo t bn phm9. Xc nh di ca xu di nht gi l max_len10. Thng k vo mtj mng s cc xu c di 1, 2, , max_len*

    Copyright by SOICT

  • Bi tpa ch email l mt chui k t c duy nht 1 du @ phn cch tn ti khon v tn min. V [email protected] ti khon v tn min khng c du cchVit 1 chng trnh C thc hin:Nhp t bn phm mt chui k tKim tra chui trn c l a ch email khng v a ra thng boa ra tn ti khon v tn min trong trng hp chui l a ch email

    *

    Copyright by SOICT

  • Bi tpMt c quan c khng qu 50 xe, Mi h s xe gm: Nhn hiu xe, bin s, tn hng, dung tch xi lanhVit chng trnh C thc hin:Xy dng kiu d liu lu h s xe Nhp h s xe cho c quan. Qu trnh nhp dng khi 50 xe hoc khi ngi nhp tr li No khi c hiSp xp danh sch xe theo dung tch xi lanh ln dnIn ra mn hnh Nhn hiu xe, Dung tch xi lanh cu nhng xe c dung tch xi lanh nh nht.*

    Copyright by SOICT

  • Bi tpNhp t bn phm mt xu, qu trnh nhp dng khi gp k t # hoc di xu vt qu 50. Cc t c ngn cch bng mt hoc nhiu k t trngC bao nhiu t bt u bng ch H?a ra mn hnh theo th t ngc li sau khi xa ht k t trng trong xy. V d:Xu ban u: thi chuyen heXu a ra: ehneyuhciht*

    Copyright by SOICT

  • *

    Copyright by SOICT

    Trong my tnh, vic phn bit kiu d liu l cn thit v qua kiu d liu my tnh bit c i tng m n ang x l thuc dng no, c cu trc ra sao, c th thc hin cc php x l no i vi i tng , hay l cn phi lu tr i tng nh th noV d trong ta cn tnh gi tr ca i lng c tn l y v c gi tr , vi x l mt i lng no , trong chng trnh ta vit cu lnh y = sin(x). Trong cu lnh ny sin() l mt hm, x l i s ca n (hay cn gi l tham s). Khi gp hm trong chng trnh, ngn ng C s t ng gi mt on chng trnh tng ng vi hm tnh ton gi tr ca hm ri tr li kt qu tnh c cho chng trnh.Khi nim hm s c cp k hn bi 15V d trong ta cn tnh gi tr ca i lng c tn l y v c gi tr , vi x l mt i lng no , trong chng trnh ta vit cu lnh y = sin(x). Trong cu lnh ny sin() l mt hm, x l i s ca n (hay cn gi l tham s). Khi gp hm trong chng trnh, ngn ng C s t ng gi mt on chng trnh tng ng vi hm tnh ton gi tr ca hm ri tr li kt qu tnh c cho chng trnh.Khi nim hm s c cp k hn bi 15Bn thn mt bin, hng, hm ng c lp cng c coi l mt biu thc.

    Khi gp k hiu li ch thch trong chng trnh, trnh bin dch s t ng b qua khng dch phn ni dung nm trong phm vi ca vng ch thch .

    V c bn, mi chng trnh vit bng ngn ng C s c cu trc gm 6 phn c th t nh sau Cc thy c gii thch cc b cc cc phn cho sinh vinLu :Turbo C++ c kh nng bin dch chng trnh vit bng c ngn ng C v C++.*Trong v d trn:Hien thi mot so nguyen %d v mot so thuc %f l xu_nh_dnga,x l danh_sch_tham_s%d dng bo cho my bit rng cn phi hin th tham s kiu nguyn (bin a) %f dng bo cho my cn hin th tham s tng ng (bin x) theo nh dng s thc Nhm k t nh dng th k trong xu_nh_dng dng xc nh quy cch hin th tham s th k trong danh_sch_tham_s. S lng tham s trong Danh_sch_tham_s bng s lng nhm cc k t nh dng trong xu_nh_dng. Trong v d trn l 7.

    *y l mt trong nhng im phn bit gia cu trc switch v ifelse.

    *y l mt trong nhng im phn bit gia cu trc switch v ifelse.

    *y l mt trong nhng im phn bit gia cu trc switch v ifelse.

    *y l mt trong nhng im phn bit gia cu trc switch v ifelse.

    **Ging vi khi to gi tr ca bin*C th thay i thnh: printf(Nhp vo lng ma thng %d, i+1);

    **Hin th phn t th 2 => printf(%d, rainfall[1]);Mi phn t trn mt dng: printf( %d\n , rainfall[i]);Mi phn t cch nhau 2 v tr: code trnHin th k phn t trn mt dngint kprintf(Nhap gia tri cua k: ); scanf(%d,&k);for ( i=0; i < MONTHS; i++ ){ printf( "%2d , rainfall[i]); if ((i+1)%k==0) printf(\n); }******Gi s chng ta tm kim trn mng s nguyn a, c khng qu 100 phn t. B qua vic kim tra iu kin ca n phm vi t 1-100***Nh c k t NUL ngi ta c th xc nh c di xu bng cch m cc k t cho n khi gp k t NUL.*Ni cho SV mi quan h gia xu k t v mng => cc thao tc trn xu nh truy cp vo phn t, thay i gi trcng nh vi mng******S khc nhau: scanf khi c n cc k t nh space, tab s dng khng c tip gets c th****Bin trong phm vi nh c u tin dng, che i phm vi ca bin khai bo trong phm vi ln khi ang thc hin lnh phm vi nh.*Ging: ch gii phng vng nh c cp pht khi kt thc chng trnh chnhKhc: phm vi s dng. Bin ton cc s dng trong mi khi/chng trnh con trong chng trnh. Bin static ch s dng trong phm vi c khai bo***********