際際滷

際際滷Share a Scribd company logo
CH働NG 1 : C叩C KHI NI畛M C B畉N C畛A NGN NG畛 C
1.1/ T畉p k箪 t畛 h畛p l畛 d湛ng trong ng担n ng畛 C
- C叩c ch畛 c叩i : A, B, C ..., 2, a,n,c,...z ( 26 ch畛 c叩i th動畛ng)
- C叩c ch畛 s畛 : 0,1,..., 9.
- K箪 t畛 g畉ch n畛i _ ( ch炭 箪 ph但n bi畛t d畉u - ).
- D畉u c叩ch ( space) : d湛ng 畛 ph但n bi畛t c叩c t畛 :
V鱈 d畛 : lop H畛c( 7 k鱈 t畛) - LopHoc( 6 k鱈 t畛).
1.2/ T棚n ( 畛nh danh ) :
l 1 d達y k鱈 t畛 b畉t 畉u b畉ng ch畛 ho畉c k箪 t畛 g畉ch d動畛i, theo sau l ch畛 c叩i, ch畛 s畛
ho畉c k箪 t畛 g畉ch n畛i (-).
- T棚n : d湛ng lm t棚n h畉np, t棚n bi畉n , nh達n , t棚n hm....
V鱈 d畛 : T棚n 炭ng : _abc, Delta_1, BETA.
T棚n sai : 1xyz ( v狸 b畉t 畉u l 1 ch畛 s畛 )
A#B ( v狸 c坦 d但u #)
Delta ( v狸 c坦 kho畉ng tr畛ng) , X-1 (v狸 s畛 d畛ng d畉u g畉ch ngang).
* Ch炭 箪 :
+ T棚n : ch畛 hoa v ch畛 th動畛ng 動畛c xem l kh叩c nhau
+ Th担ng th動畛ng :
. 畉t ch畛 hoa cho h畉ng, ch畛 th動畛ng cho c叩c 畉i l動畛ng c嘆n l畉i(bi畉n, hm..).
. N棚n 畉t 1 c叩ch g畛i nh畛 ( 8 k鱈 t畛 畉u c坦 ngh挑a v tu畛 thu畛c ch動董ng tr狸nh ).
1.3/ T畛 kho叩 :
l t畛 dnh ri棚ng cho ng担n ng畛. T棚n bi畉n, h畉ng, hm ...kh担ng 動畛c tr湛ng v畛i t畛
kho叩, lu担n lu担n vi畉t b畉ng ch畛 th動畛ng.
C叩c t畛 kho叩 trong C g畛m : Break, char, continue, case, do, double, default, else,
float, for, goto, int,if, long, return, struct, switch, unsigned, while, typedef, union voi,
volatile,..
1.4/ C叩c ki畛u d畛 li畛u c董 b畉n trong C :
4 ki畛u : char, Int, float, double.
- Ki畛u char (1 byte ) : bi畛u di畛n 1 k箪 t畛 thu畛c ASCII
K箪 t湛 M揃 ASCII
1
0 048
1 049
2 050
A 065
B 066
a 097
b 098
Ph息n lo孫i k箪 t湛 : C達 th chia 256 k箪 t湛 l袖m ba nh達m :
Nh達m 1: Nh達m c存c k箪 t湛 速iu khin c達 m揃 t探 0 速n 31. Ch村ng h孫n k箪
t湛 m揃 13 d誰ng 速 chuyn con tr叩 v 速u dng, k箪 t湛 10 chuyn con tr叩
xu竪ng dng d鱈i ( tr捉n c誰ng m辿t c辿t ). C存c k箪 t湛 nh達m n袖y n達i chung kh束ng hin
th ra m袖n hnh.
Nh達m 2 : Nh達m c存c k箪 t湛 v即n b其n c達 m揃 t探 32 速n 126. C存c k箪 t湛 n袖y c達
th 速樽c 速a ra m袖n hnh hoc m存y in.
Nh達m 3 : Nh達m c存c k箪 t湛 速奪 ho孫 c達 m揃 s竪 t探 127 速n 255. C存c k箪 t湛
n袖y c達 th 速a ra m袖n hnh nhng kh束ng in ra 速樽c ( b損ng c存c lnh DOS ).
- Ki畛u Int : 3 lo畉i : Int, long Int ( long ) v unsigned Int ( unsigned). Kch c狸 v袖
ph孫m vi biu din c単a ch坦ng 速樽c ch ra trong b其ng d鱈i 速息y :
Kiu Ph孫m vi biu din Kch th鱈c
int -32768 速n 32767 2 byte
unsigned int 0 速n 65535 2 byte
long -2147483648 速n
2147483647
4 byte
unsigned
long
0 速n 4294967295 4 byte
- Ki畛u Float v Ki畛u double : bi畛u di畛n c叩c s畛 th畛c .
Kiu Ph孫m vi biu din S竪 ch歎 s竪 c達 ngha Kch th鱈c
Float 3.4E-38 速n 3.4E+38 7 速n 8 4 byte
Double 1.7E-308 速n
1.7E+308
15 速n 16 8 byte
2
long
double
3.4E-4932 速n
1.1E4932
17 速n 18 10 byte
- Ki畛u void : Ki畛u kh担ng gi叩 tr畛, c畛 d湛ng 畛 bi畛u di畛n k畉t qu畉 hm c滴ng nh動 n畛i
dung c畛 pointer. Ki畛u ny s畉 n坦i chi ti畉t 畛 c叩c ph畉n li棚n quan.
1.5/ Bi畉n v m畉ng :
a/ Bi畉n :
Bi畉n 畉i l動畛ng thay 畛i; m畛i bi畉n c坦 1 t棚n v 畛a ch畛 v湛ng nh畛 danh ri棚ng cho n坦.
Khai b叩o bi畉n :
C炭 ph叩p < Ki畛u d畛 li畛u > < Danh s叩ch c叩c bi畉n >;
V鱈 d畛 :
int i,j ;
long cucdai;
double tongsothue;
int a,b = 20;
float e = 35.1; x=30.5;
b/ M畉ng:
L t畉p h畛p c叩c ph畉n t畛 c坦 c湛ng 1 ki畛u v chung 1 t棚n. Khai b叩o :
< Ki畛u d畛 li畛u > < T棚n m畉ng >;
V鱈 d畛 :
int Mang1[ 10 ];
float Bang [10][10];
- M畉ng m畛t chi畛u : l m畛t d達y c叩c k箪 t畛 ph畉n t畛 tu畉n t畛 trong b畛 nh畛, m畛i m畛t ph畉n
t畛 chi畉m m畛t s畛 byte t動董ng 畛ng v畛i ki畛u c畛a n坦.
- M畉ng nhi畛u chi畛u : G畛m c叩c ph畉n t畛 s畉p li棚n ti畉p t畛 hng ny sang hng kia. C叩c
ch畛 s畛 動畛c 叩nh s畛 t畛 0 tr畛 i.
V鱈 d畛 :
- M達ng 1[0] ..M達ng1[9]
- Bang [0][0] Bang [0][1] .. Bang [0][9].
Bang[1][0] .. Bang[1][9]
.....
Bang[9][0] .. Bang[9][9]
* Ch炭 箪 : &Mang1[3] 炭ng nh動ng &Bang[2][5]sai
3
( 炭ng 畛i v畛i 1 chi畛u v sai 畛i v畛i nhi畛u chi畛u)
1.6 / H畉ng :
畉i l動畛ng kh担ng thay 畛i
a/ H畉ng nguy棚n ( Int ): c坦 gi叩 tr畛 t畛 -32768 畉n 32767
- C坦 th畛 vi畉t theo h畛 16 b畉ng c叩ch th棚m ti畛n t畛 Ox ho畉c theo c董 s畛 8 b畉ng c叩ch
th棚m ti畛n t畛 O ( Octal = b叩t ph但n ).
V鱈 d畛 :
O306 vi畉t theo c董 s畛 8 : Gi叩 tr畛 = 6 * 8 0 + 3* 8 * 8 = 198 trong h畛 10.
O345 = 3*8*8 + 4*8 + 5 = 229
Ox147 = 1*16*16 + 4*16 +7 =327 trong h畛 10.
OxAa= 10*16+13=173
b/ H畉ng long ( long Int : nguy棚n l畛n ) : gi畛ng nh動 h畉ng nguy棚n, ch畛 kh叩c th棚m L
ho畉c l 畛 畉u.
V鱈 d畛 :
180L, 123456789l
( H畉ng nguy棚n l gi叩 tr畛 v動畛t qu叩 s畛 nguy棚n l h畉ng nguy棚n l畛n (long)
c/ H畉ng th畛c ( float v double ) : C坦 2 c叩ch vi畉t
- C叩ch 1 : (d畉ng th畉p ph但n) S畛 g畛m : ph畉n nguy棚n, d畉u ch畉m th畉p ph但n v ph畉n
th畉p ph但n.
V鱈 d畛 : 214.35 , - 234.34.
- C叩ch 2 : Vi畉t theo d畉ng khoa h畛c
V鱈 d畛 : 1.543e7 = 15430000
123.456E-4 = 0.123456 ( 123.456/105)
d/ H畉ng k箪 t畛 : Vi畉t trong 2 d畉u nh叩y 董n. Gi叩 tr畛 c畛a h畉ng ch鱈nh l m達 ASCII .
V鱈 d畛 : 'A' = 65; 'd' = 100, '9 ' - '0 ' = 57 - 48 = 9
- H畉ng k箪 t畛 c坦 th畛 vi畉t X1X2X3 , x1x2x3 : trong 坦 x1,x2,x3 l s畛 nguy棚n h畛 8.
V鱈 d畛 : ch畛 a m達 h畛 10 l 97 畛i ra h畛 8 l O141 => 141='a';  101='A';  142 ='b'
M畛t s畛 h畉ng 畉c bi畛t 動畛c vi畉t theo qui 動畛c nh動 sau :
Vi畉t K箪 t畛 Di畛n gi畉i
'  " ' d畉u nh叩y 董n
' " ' " d畉u nh叩y k辿p
'  '  d畉u ch辿o ng動畛c
4
'n ' n k箪 t畛 xu畛ng d嘆ng
' 0 ' 0 k箪 t畛 r畛ng ( null)
Ch炭 箪 :
- Ph但n bi畛t k箪 t畛 '0 ' v ' 0 '. H畉ng ' 0 ' c湛ng v畛i ch畛 s畛 0 c坦 m達 = 48
- H畉ng '0 ' c湛ng v畛i k箪 t畛 0 (null) c坦 m達 0.
- H畉ng k箪 t畛 th畛c s畛 l s畛 nguy棚n => c坦 th畛 d湛ng s畛 nguy棚n h畛 10 棚 bi畛u di畛n k箪 t畛 .
V鱈 d畛 : printf( " %c%c", 65,66) s畉 in ra AB.
e/H畉ng x但u k箪 t畛 : 畉t trong d畉u nh叩y k辿p ( " "). H畉ng 動畛c l動u tr畛 trong 1 m達ng
k箪 t畛 m k箪 t畛 cu畛i c湛ng l r畛ng (null) ' 0 '.
V鱈 d畛 : "L董p Hoc"
- H畉ng c坦 th畛 動畛c inh ngh挑a 畛i v畛i to叩n t畛 define .
C炭 ph叩p : # define < t棚n h畉ng > < gi叩 tr畛>
Trong ch動董ng tr狸nh m畛i bi畉n max 畛u 動畛c thay 畛i gi叩 tr畛 100.
V鱈 d畛 :
# define MAX 100
# define pi 3.141593
1.7/ Ph辿p to叩n :
+ Ph辿p to叩n s畛 h畛c g畛m :
,-,*, / ( Ph辿p chia l畉y ph畉n nguy棚n ), % ( ph辿p chia l畉y ph畉n d動).
+ Ph辿p to叩n quan h畛 : <, >, <=,>=, = =, ! = ( kh叩c).
+ Ph辿p to叩n logic :
|| ( ho畉c ) , && ( v) ! ( not ), #0 hay =1 : True( 炭ng) ; =0 : Falsse ( sai)
+ Ph辿p to叩n tng gi畉m : ++ c畛ng th棚m 1 vo to叩n h畉ng.
V鱈 d畛 : int n=10; n++; t畛c l n=11 <=> n=n+1;
Ch炭 箪 :
- n++ : gi叩 tr畛 n 動畛c l畉y tr動畛c khi tng n.
- ++n : gi叩 tr畛 n 動畛c l畉y sau khi tng n
- t動董ng t畛 n-- , --n ;
+ To叩n t畛 thao t叩c bit : Kh担ng 叩p d畛ng cho ki畛u float ho畉c double.
& : ph辿p h畛i c叩c b鱈t ( v)
| : ph辿p tuy畛n c叩c bit ( ho畉c)
^ : ph辿p tuy畛n c叩c bit lo畉i tr畛
<< : ph辿p d畛ch tr叩i
>> : ph辿p d畛ch ph畉i.
5
: ph辿p l畉y ph畉n b湛.
V鱈 d畛 :
105 & 7 = 1
0111 1001 & 0000 0111 = 0000 0001
105 | 17 = 127
0111 1001 | 0000 0111 = 0111.1111
+ To叩n t畛 chuy畛n 畛i ki畛u : ta c坦 th畛 d湛ng to叩n t畛 chuy畛n ki畛u 畛 chuy畛n 1 ki畛u
b畉t k畛 sang ki畛u mong mu畛n b畉ng c叩ch d湛ng to叩n t畛 s畉c th叩i ( cast) theo quy t畉c sau :
辿p Ki畛u ( type cast ) : ( ki畛u ) Bi畉n Ki畛u mong mu畛n
V鱈 d畛 : int i = 10
v ( float ) i => 10.0
- Ch炭 箪 :
+ M畛t s畛 ki畛u float khi chuy畛n sang ki畛u Int s畉 b畛 ch畉t c畛t ph畉n th畉p ph但n.
+M畛t s畛 ki畛u long khi chuy畛n sang ki畛u Int s畉 c畉t b畛 vi ch畛 s畛.
V鱈 d畛 : n = 2560.70 th狸 (int)n = 2560
+ To叩n t畛 g叩n : C炭 ph叩p : < bi畉n> = < bi畛u th畛c>
V鱈 d畛 :
c = a + b ; d= t + 3 ;
i= i+2 (Vi畉t g畛n i+=2; )
i= i*2 (i*=2; )
x = x >> 1 (x >> = 1;)
Ch炭 箪 : C叩c ph辿p to叩n trong C c坦 畛 動u ti棚n kh叩c nhau v quy t畉c k畉t h畛p kh叩c nhau
B畉ng li畛t k棚 c叩c ph辿p to叩n theo th畛 t畛 動u ti棚n t畛 tr棚n xu畛ng d動畛i, c叩c ph辿p to叩n
tr棚n d嘆ng c坦 th畛 t畛 nh動 nhau.
Ph辿p to叩n Tr狸nh t畛 k畉t h畛p
(),[ ], tr叩i qua ph畉i
|, d畉u ng達, &*, - -, + + , ( type ) size of ph畉i qua tr叩i
*,/, % tr叩i qua ph畉i
+, - tr叩i qua ph畉i
<< ,>> tr叩i qua ph畉i
<,<= ,> ,>= tr叩i qua ph畉i
&, | , && , || tr叩i qua ph畉i
? ph畉i qua tr叩i
6
= =, !=, +=, -= ph畉i qua tr叩i
1.8/ Bi畛u th畛c : 動畛c x但y d畛ng b畉ng c叩c to叩n t畛 , to叩n h畉ng l c叩c h畉ng, bi畉n, hm....
- Bi畛u th畛c g叩n : V鱈 d畛 : A = B =C =5 => A=5, B = 5, C = 5.
- Bi畛u th畛c i畛u ki畛n c坦 d畉ng : B1?E1 : E2 : N畉u B 1 炭ng gi叩 tr畛 bi畛u th畛c = E1.
ng動畛c l畉i E2.
V鱈 d畛 : S=x>y ? x:y cho gi叩 tr畛 l畛n nh畉t c畛a x v y.
1.9/ C畉u tr炭c t畛ng qu叩t c畛a ch動董ng tr狸nh vi畉t b畉ng ng担n ng畛 C :
#include < Thuvien.h>
#define ....
/* C叩c khai b叩o ki畛u d畛 li畛u, h畉ng */
Type of....
{ C叩c bi畉n ton c畛c, bi畉n ngoi}
prototype { khai b叩o ti棚u 畛 hm}
void main ()
{ x1,x2,........xn}
V鱈 d畛 : Vi畉t ch動董ng tr狸nh s畛 l畛n nh畉t cho tr動畛c a, b, c
# include < stdio.h>
# include < conio.h>
void main ()
{
int n1,n2, n3, nmax ;
do
{
printf(" nh畉p s畛 th畛 nh畉t : "); scanf( " %d", &n1);
printf(" nh畉p s畛 th畛 hai : "); scanf( " %d", &n2);
printf(" nh畉p s畛 th畛 ba : "); scanf( " %d", &n3);
/* t狸m s畛 l畛n nh畉t */
nmax = n1>n2 ? n1:n2;
nmax = nmax > n3 ? nmax : n3;
/* In ra k畉t qu畉 */
printf ( " s畛 l畛n nh畉t trong 3 s畛 %d%d%d l : %d  n ", n1,n2,n3 ,nmax);
printf ( " 畉n ESC 畛 k畉t th炭c );
} while ( getch ()! = 27 );
}
2/ CC L畛NH XU畉T NH畉P CHU畉N:
2.1/ Hm printf
7
printf (" formated string ", <bi畛u th畛c> );
Bi畛u th畛c c坦 th畛 l : const ( h畉ng), var ( bi畉n), function (hm).
V鱈 d畛 : int Siso= 30;
printf ( " In s挑 s畛 l畛p h畛c l %d, Siso );
a/ C叩c k箪 t畛 i畛u khi畛n :
n : sang d嘆ng m畛i
b : l湛i l畉i 1 tab.
f : sang trang m畛i
t : d畉u tab
' : In ra d畉u '
" : in ra d畉u "
  : in ra d畉u 
2.2/ Hm scanf :
scanf (" formated string ", c叩c 畛a ch畛 bi畉n );
V鱈 d畛 :
int a ;
float x,y;
char cr[6], ct[6];
scanf (" %f %5f3d%35%5 ", &x , &y , &a , c r, ct);
Nh畉p vo 5.4 25 124 523 48ab
K畉t qu畉 l : x=5.4 ; y=25.0; a = 124; cr= "523"; ct = "48ab"
CH働NG 2 : C畉U TRC I畛U KHI畛N V VNG L畉P
3.1/
a/Kh叩i ni畛m : m畛i ch動董ng tr狸nh 畛u c坦 th畛 bi畛u di畛n qua 3 c畉u tr炭c :
- tu畉n t畛 : m畉c 畛nh ( default)
- l畛a ch畛n ( l畛nh if ho畉c l畛nh switch)
- l畉p ( for, while ho畉c do while)
b/ Kh畛i l畛nh : l t畉p h畛p c叩c c但u l畛nh 動畛c khai b叩o b畛i 2 d畉u { v } .
kh担ng 畉t d畉u ch畉m ph畉y ( ; ) sau m畛t kh畛i l畛nh tr畛 m畛t vi tr動畛ng h畛p 畉c bi畛t.
8
3.2 / C叩c c但u l畛nh
3.2.1 L畛nh if :
- C炭 ph叩p : if ( bi畛u th畛c) < l畛nh> ;
- Di畛n gi畉i : n畉u Bi畛u th畛c 炭ng ( kh叩c 0 ) --> th畛c hi畛n <l畛nh>
ng動畛c l畉i n畉u bi畛u th畛c sai ( = 0 ) th畛c hi畛n l畛nh 畛ng sau c但u l畛nh if.
if ( bi畛u th畛c) <l畛nhA>;
else < l畛nh B);
V鱈 d畛 : t狸m s畛 l畛n nh畉t trong 2 s畛 a, b :
if (a<b)
max = b ;
else
max = a ;
* C叩ch kh叩c : max = (a>b)? a:b;
- Ch炭 箪 : trong tr動畛ng h畛p c坦 nhi畛u l畛nh if l畛ng nhau th狸 else s畉 g畉n li畛n v畛i if g畉n
nh畉t.
if(bt1) <l畛nh1>;
else
if (bt2)
if(bt3) < l畛nh2>;
else <l畛nh 3>; /* bt3 = = 0 */
else <l畛nh 4>; /* bt2= = 0 */
V鱈 d畛 : Vi畉t ch動董ng tr狸nh gi畉i ph動董ng tr狸nh b畉c nh畉t : Ax + B = 0 (A, B : s畛 th畛c).
Gi畉i : X辿t c叩c tr動畛ng h畛p x畉y ra :
- N畉u A! =0 th狸 nghi畛m x = -B/A
- N畉u A = 0 +> B=0 => N畉u B=0 : v担 s畛 nghi畛m
B != 0 ( ng動畛c l畉i) : v担 nghi畛m.
/* Gi畉i ph動董ng tr狸nh b畉c nh畉t : Ax + B = 0 */
#Include <stdio.h>
#Include < conio.h>
void main ( )
{
float a, b ;
/* nh畉p d畛 li畛u t畛 bn ph鱈m */
print ( " nh畉p 2 s畛 a,b : "); scanf(" %f %f ", &a, &b);
/* gi畉i ph動董ng tr狸nh*/
if ( a= = 0 )
if( b= =0 )
printf (" Ph動董ng tr狸nh c坦 v担 s畛 nghi畛m ! n " );
else
printf (" ph動董ng tr狸nh v担 nghi畛m n ");
else / * a kh叩c 0 */
printf (" ph動董ng tr狸nh c坦 nghi畛m l : x= %f n ", -b/a);
getch();
}
9
Bi t畉p 1 : T狸m nh畛ng l畛i c炭 ph叩p c叩c o畉n ch動董ng tr狸nhh sau :
A/ scanf ( "d", value);
B/ printf ("t鱈ch c叩c %d v %d l %d " n, x,y);
C/ printf (" ph畉n d動 c畛a %d chia cho %d l n ", x , y , x%y );
D/ if(x=y);
printf (" %d b畉ng %d n ", x,y);
E/ if ( age>=65);
printf (" gia 狸! ');
else
printf(' Tre! ');
3.2.2 L畛nh switch
- C炭 ph叩p : Switch (bi畛u th畛c nguy棚n).
{
Case N1 : l畛nh 1;
Case N2 : l畛nh 2;
.....
[ default : l畛nh;]
}
- Bi畛u th畛c nguy棚n l gi叩 tr畛 nguy棚n : Ni(i=1,2...) l c叩c s畛 nguy棚n.
- V畛i bi畛u th畛c kh叩c v畛i m畛i Ni => th畛c hi畛n l畛nh sau default.
- Ch炭 箪 : n畉u nh坦m c但u l畛nh sau nh達n case Ni kh担ng c坦 c但u l畛nh break th狸 m叩y s畉
chuy畛n sang nh坦m c但u l畛nh sau nh達n case Ni+1
V鱈 d畛 : 畛i 1 s畛 nguy棚n sang chu畛i k箪 t畛 l t棚n c叩c m担n h畛c
#Include<stdio.h>
#Include<conio.h>
void main( )
{
int ma ;
do
{
printf(" n cho m達 c畉n chuy畛n "); scanf(" %d ", &ma);
switch(ma)
{
case 0 : printf(" n l畛p tin h畛c a ");
break;
case 1 : printf( " n l畛p tin h畛c b");
break;
case 2 : printf(" n l畛p trung c畉p ");
break;
case 3 : printf (" n l坦p chuy棚n vi棚n ");
break;
default : printf( " n l畛p thi畉 ti畛n h畛c ph鱈");
}
10
printf( " n c坦 ti畉p t畛c kh担ng ?(Y/N)");
}
while( toupper ( getch () ! = 'N '); /* Chuy畛n san k箪 t畛 hoa */
}
3.2.3 / L畛nh For :
- C炭 ph叩p : for ( bt1; bt2 ; bt3) l畛nh;
- Gi畉i th鱈ch :
+ bt1 : l to叩n t畛 g叩n 畛 t畉o gi叩 tr畛 ban 畉u cho bi畉n i畛u khi畛n.
+ bt2 : bi畛u th畛c i畛u ki畛n 畛 th畛c hi畛n v嘆ng l畉p.
+ bt3 : bi畛u th畛c tng gi叩 tr畛 c畛a bi畉n i畛u khi畛n c畛a v嘆ng l畉p.
V鱈 d畛 : T鱈nh T畛ng S=1+2+3+..+n
S=0;
for ( i=1; i<=n; i++ )
#include <stdio.h>
#include<conio.h>
#include<math>
/* int i, j, t, n ; double gt, s; */
void main()
{
int i, s;
clrscr () ;
printf ("nh畉p n= ");
scanf(" %d ", &n);
s=0 ;
for (i=1; i<=n ; i++ )
s = s+i;
printf ( " tong s = %d ", s);
getch();
}
3.24/ C但u l畛nh while :
- C炭 ph叩p : while ( bi畛u th畛c 1) l畛nh 1 ;
- Nguy棚n t畉c th畛c hi畛n :
+b1. T鱈nh gi叩 tr畛 c畛a bi畛u th畛c 1.
+b2. N畉u gi叩 tr畛 c畛a bi畛u th畛c 1 sai ( = 0 ) th狸 ch動董ng tr狸nh ra kh畛i v嘆ng while
+b3. N畉u gi叩 tr畛 c畛a bi畛u th畛c 炭ng th狸 th畛c hi畛n l畛nh 1 v quay l畉i b動畛c 1(b1).
- Ch炭 箪 : Bi畛u th畛c 1 c坦 th畛 g畛m nhi畛u bi畛u th畛c nh動ng t鱈nh 炭ng sai ph畛 thu畛c vo
bi畛u th畛c cu畛i c湛ng.
3.25/ C但u l畛nh Do while ( lm tr動畛c h畛i sau )
- C炭 ph叩p : do l畛nh 1 ;
while ( bi畛u th畛c 1 ) ;
- Nguy棚n t畉c th畛c hi畛n :
11
+b1. M叩y th畛c hi畛n c但u l畛nh 1 ;
+b2. Sau 坦 t鱈nh gi叩 tr畛 c畛a bi畛u th畛c 1, n畉u gi叩 tr畛 c畛a bi畛u th畛c 1 sai th狸 ch動董ng tr狸nh
tho叩t ra kh畛i v嘆ng l畉p. N畉u gi叩 tr畛 c畛a bi畛u th畛c 1 炭ng th狸 quay l畉i b動畛c 1.
Ch炭 箪 : - while : i畛u ki畛n 動畛c ki畛m tra tr動畛c, n畉u 炭ng m畛i th畛c hi畛n.
- do while : c但u l畛nh 動畛c th畛c hi畛n tr動畛c khi ki畛m tra. C但u l畛nh th畛c hi畛n bao gi畛 鱈t
nh畉t l 1 l畉n. ( do while ng動畛c v畛i
Repeat until c畛a Pascal : l畛nh Do while sai th狸 d畛ng, c嘆n l畛nh repeat until 炭ng th狸
d畛ng ).
-Bi畛u th畛c 1 c坦 th畛 g畛m nhi畛u bi畛u th畛c, tuy nhi棚n t鱈nh 炭ng sai cn c畛 theo bi畛u th畛c
cu畛i c湛ng.
3.2.6/ C但u l畛nh Break :
- C炭 ph叩p : D湛ng 畛 tho叩t kh畛i v嘆ng l畉p. Khi g畉p c但u l畛nh ny trong v嘆ng l畉p, m叩y ra
kh畛i v ch畛 畉n c但u l畛nh sau c叩c l畛nh tr棚n. N畉u nhi畛u v嘆ng l畉p ----> break s畉 tho叩t ra
kh畛i v嘆ng l畉p g畉n nh畉t.
3.3/ To叩n t畛 goto v nh達n ( label );
- V鱈 d畛 : tiep tuc : st = a[ i ]; => tiep tuc l nh達n c畛a l畛nh st = a [ i ];
- L畛nh goto nh達n => nh畉y 畉n c但u l畛nh 畛ng sau nh達n.
- CH  : PH畉M VI NHN TRONG CNG 1 HM.
BI T畉P CH働NG 2
1/ Ki畛m tra t狸m l畛i :
while ( x<.= 10 )
Total t=x;
++x ;
2/ Gi畉i ph動董ng tr狸nh b畉c 2 : ax2 + bx + c = 0 v畛i a, b, c l s畛 th畛c nh畉p t畛 bn ph鱈m.
3/ Nh畉p s畛 li畛u vo bn ph鱈m, k畉t th炭c nh畉p b畉ng c叩ch 畉n ^Z ho畉c F6 ( m滴 = 255 ).
Bi畉t :
InWord = on khi 畛 trong 1 t畛. InWord = off khi ng動畛c l畉i. 畉m s畛 d嘆ng, s畛 t畛, s畛 k箪
t畛.
4/ T狸m c叩c s畛 n畉m trong kho畉ng t畛 150 畉n 140 tho畉 t鱈nh ch畉t s畛 b畉ng t畛ng l畉p
ph動董ng c叩c ch畛 s畛 c畛a ch炭ng :
V鱈 d畛 : 153 = 13 + 53 + 33 ho畉c 370 = 33 + 73 + 03
5/ S畛 tuy畛t h畉o l s畛 b畉ng t畛ng c叩c 動畛c s畛 th畛c s畛 c畛a n坦. V鱈 d畛 : 6 = 1 + 2 + 3.T狸m
c叩c s畛 tuy畛t h畉o trong kho畉ng t畛 1 畉n 3000.
6/Nh畉p s畛 li畛u vo m達ng A g畛m 10 ph畉n t畛 v s畉p x畉p theo th畛 t畛 tng d畉n.
7/ T狸m t畉t c畉 c叩c s畛 nguy棚n t畛 t畛 2 畉n 100 b畉ng l畛nh For.
8/ T狸m c叩c s畛 nguy棚n c坦 3 ch畛 s畛 sao cho t畛ng 3 ch畛 b畉ng t鱈ch 3 ch畛. V鱈 d畛 : 123.
9/ a/ D湛ng l畛nh while 畛 vi畉t ch動董ng tr狸nh t鱈nh :
S1 = 1 x 3 x 5 x 7 x 9. . . . . x ( 2n - 1 ).
S2 = 2 x 4 x 6 x 8 x ......x (2n).
b/ lm l畉i bi tr棚n b畉ng c叩ch d湛ng do...while.
10/Gi畉i bi to叩n c畛 i畛n v畛a g v畛a ch坦 b坦 l畉i cho tr嘆n 36 con 100 ch但n ch畉n.
12

More Related Content

Bai giangtrenlop

  • 1. CH働NG 1 : C叩C KHI NI畛M C B畉N C畛A NGN NG畛 C 1.1/ T畉p k箪 t畛 h畛p l畛 d湛ng trong ng担n ng畛 C - C叩c ch畛 c叩i : A, B, C ..., 2, a,n,c,...z ( 26 ch畛 c叩i th動畛ng) - C叩c ch畛 s畛 : 0,1,..., 9. - K箪 t畛 g畉ch n畛i _ ( ch炭 箪 ph但n bi畛t d畉u - ). - D畉u c叩ch ( space) : d湛ng 畛 ph但n bi畛t c叩c t畛 : V鱈 d畛 : lop H畛c( 7 k鱈 t畛) - LopHoc( 6 k鱈 t畛). 1.2/ T棚n ( 畛nh danh ) : l 1 d達y k鱈 t畛 b畉t 畉u b畉ng ch畛 ho畉c k箪 t畛 g畉ch d動畛i, theo sau l ch畛 c叩i, ch畛 s畛 ho畉c k箪 t畛 g畉ch n畛i (-). - T棚n : d湛ng lm t棚n h畉np, t棚n bi畉n , nh達n , t棚n hm.... V鱈 d畛 : T棚n 炭ng : _abc, Delta_1, BETA. T棚n sai : 1xyz ( v狸 b畉t 畉u l 1 ch畛 s畛 ) A#B ( v狸 c坦 d但u #) Delta ( v狸 c坦 kho畉ng tr畛ng) , X-1 (v狸 s畛 d畛ng d畉u g畉ch ngang). * Ch炭 箪 : + T棚n : ch畛 hoa v ch畛 th動畛ng 動畛c xem l kh叩c nhau + Th担ng th動畛ng : . 畉t ch畛 hoa cho h畉ng, ch畛 th動畛ng cho c叩c 畉i l動畛ng c嘆n l畉i(bi畉n, hm..). . N棚n 畉t 1 c叩ch g畛i nh畛 ( 8 k鱈 t畛 畉u c坦 ngh挑a v tu畛 thu畛c ch動董ng tr狸nh ). 1.3/ T畛 kho叩 : l t畛 dnh ri棚ng cho ng担n ng畛. T棚n bi畉n, h畉ng, hm ...kh担ng 動畛c tr湛ng v畛i t畛 kho叩, lu担n lu担n vi畉t b畉ng ch畛 th動畛ng. C叩c t畛 kho叩 trong C g畛m : Break, char, continue, case, do, double, default, else, float, for, goto, int,if, long, return, struct, switch, unsigned, while, typedef, union voi, volatile,.. 1.4/ C叩c ki畛u d畛 li畛u c董 b畉n trong C : 4 ki畛u : char, Int, float, double. - Ki畛u char (1 byte ) : bi畛u di畛n 1 k箪 t畛 thu畛c ASCII K箪 t湛 M揃 ASCII 1
  • 2. 0 048 1 049 2 050 A 065 B 066 a 097 b 098 Ph息n lo孫i k箪 t湛 : C達 th chia 256 k箪 t湛 l袖m ba nh達m : Nh達m 1: Nh達m c存c k箪 t湛 速iu khin c達 m揃 t探 0 速n 31. Ch村ng h孫n k箪 t湛 m揃 13 d誰ng 速 chuyn con tr叩 v 速u dng, k箪 t湛 10 chuyn con tr叩 xu竪ng dng d鱈i ( tr捉n c誰ng m辿t c辿t ). C存c k箪 t湛 nh達m n袖y n達i chung kh束ng hin th ra m袖n hnh. Nh達m 2 : Nh達m c存c k箪 t湛 v即n b其n c達 m揃 t探 32 速n 126. C存c k箪 t湛 n袖y c達 th 速樽c 速a ra m袖n hnh hoc m存y in. Nh達m 3 : Nh達m c存c k箪 t湛 速奪 ho孫 c達 m揃 s竪 t探 127 速n 255. C存c k箪 t湛 n袖y c達 th 速a ra m袖n hnh nhng kh束ng in ra 速樽c ( b損ng c存c lnh DOS ). - Ki畛u Int : 3 lo畉i : Int, long Int ( long ) v unsigned Int ( unsigned). Kch c狸 v袖 ph孫m vi biu din c単a ch坦ng 速樽c ch ra trong b其ng d鱈i 速息y : Kiu Ph孫m vi biu din Kch th鱈c int -32768 速n 32767 2 byte unsigned int 0 速n 65535 2 byte long -2147483648 速n 2147483647 4 byte unsigned long 0 速n 4294967295 4 byte - Ki畛u Float v Ki畛u double : bi畛u di畛n c叩c s畛 th畛c . Kiu Ph孫m vi biu din S竪 ch歎 s竪 c達 ngha Kch th鱈c Float 3.4E-38 速n 3.4E+38 7 速n 8 4 byte Double 1.7E-308 速n 1.7E+308 15 速n 16 8 byte 2
  • 3. long double 3.4E-4932 速n 1.1E4932 17 速n 18 10 byte - Ki畛u void : Ki畛u kh担ng gi叩 tr畛, c畛 d湛ng 畛 bi畛u di畛n k畉t qu畉 hm c滴ng nh動 n畛i dung c畛 pointer. Ki畛u ny s畉 n坦i chi ti畉t 畛 c叩c ph畉n li棚n quan. 1.5/ Bi畉n v m畉ng : a/ Bi畉n : Bi畉n 畉i l動畛ng thay 畛i; m畛i bi畉n c坦 1 t棚n v 畛a ch畛 v湛ng nh畛 danh ri棚ng cho n坦. Khai b叩o bi畉n : C炭 ph叩p < Ki畛u d畛 li畛u > < Danh s叩ch c叩c bi畉n >; V鱈 d畛 : int i,j ; long cucdai; double tongsothue; int a,b = 20; float e = 35.1; x=30.5; b/ M畉ng: L t畉p h畛p c叩c ph畉n t畛 c坦 c湛ng 1 ki畛u v chung 1 t棚n. Khai b叩o : < Ki畛u d畛 li畛u > < T棚n m畉ng >; V鱈 d畛 : int Mang1[ 10 ]; float Bang [10][10]; - M畉ng m畛t chi畛u : l m畛t d達y c叩c k箪 t畛 ph畉n t畛 tu畉n t畛 trong b畛 nh畛, m畛i m畛t ph畉n t畛 chi畉m m畛t s畛 byte t動董ng 畛ng v畛i ki畛u c畛a n坦. - M畉ng nhi畛u chi畛u : G畛m c叩c ph畉n t畛 s畉p li棚n ti畉p t畛 hng ny sang hng kia. C叩c ch畛 s畛 動畛c 叩nh s畛 t畛 0 tr畛 i. V鱈 d畛 : - M達ng 1[0] ..M達ng1[9] - Bang [0][0] Bang [0][1] .. Bang [0][9]. Bang[1][0] .. Bang[1][9] ..... Bang[9][0] .. Bang[9][9] * Ch炭 箪 : &Mang1[3] 炭ng nh動ng &Bang[2][5]sai 3
  • 4. ( 炭ng 畛i v畛i 1 chi畛u v sai 畛i v畛i nhi畛u chi畛u) 1.6 / H畉ng : 畉i l動畛ng kh担ng thay 畛i a/ H畉ng nguy棚n ( Int ): c坦 gi叩 tr畛 t畛 -32768 畉n 32767 - C坦 th畛 vi畉t theo h畛 16 b畉ng c叩ch th棚m ti畛n t畛 Ox ho畉c theo c董 s畛 8 b畉ng c叩ch th棚m ti畛n t畛 O ( Octal = b叩t ph但n ). V鱈 d畛 : O306 vi畉t theo c董 s畛 8 : Gi叩 tr畛 = 6 * 8 0 + 3* 8 * 8 = 198 trong h畛 10. O345 = 3*8*8 + 4*8 + 5 = 229 Ox147 = 1*16*16 + 4*16 +7 =327 trong h畛 10. OxAa= 10*16+13=173 b/ H畉ng long ( long Int : nguy棚n l畛n ) : gi畛ng nh動 h畉ng nguy棚n, ch畛 kh叩c th棚m L ho畉c l 畛 畉u. V鱈 d畛 : 180L, 123456789l ( H畉ng nguy棚n l gi叩 tr畛 v動畛t qu叩 s畛 nguy棚n l h畉ng nguy棚n l畛n (long) c/ H畉ng th畛c ( float v double ) : C坦 2 c叩ch vi畉t - C叩ch 1 : (d畉ng th畉p ph但n) S畛 g畛m : ph畉n nguy棚n, d畉u ch畉m th畉p ph但n v ph畉n th畉p ph但n. V鱈 d畛 : 214.35 , - 234.34. - C叩ch 2 : Vi畉t theo d畉ng khoa h畛c V鱈 d畛 : 1.543e7 = 15430000 123.456E-4 = 0.123456 ( 123.456/105) d/ H畉ng k箪 t畛 : Vi畉t trong 2 d畉u nh叩y 董n. Gi叩 tr畛 c畛a h畉ng ch鱈nh l m達 ASCII . V鱈 d畛 : 'A' = 65; 'd' = 100, '9 ' - '0 ' = 57 - 48 = 9 - H畉ng k箪 t畛 c坦 th畛 vi畉t X1X2X3 , x1x2x3 : trong 坦 x1,x2,x3 l s畛 nguy棚n h畛 8. V鱈 d畛 : ch畛 a m達 h畛 10 l 97 畛i ra h畛 8 l O141 => 141='a'; 101='A'; 142 ='b' M畛t s畛 h畉ng 畉c bi畛t 動畛c vi畉t theo qui 動畛c nh動 sau : Vi畉t K箪 t畛 Di畛n gi畉i ' " ' d畉u nh叩y 董n ' " ' " d畉u nh叩y k辿p ' ' d畉u ch辿o ng動畛c 4
  • 5. 'n ' n k箪 t畛 xu畛ng d嘆ng ' 0 ' 0 k箪 t畛 r畛ng ( null) Ch炭 箪 : - Ph但n bi畛t k箪 t畛 '0 ' v ' 0 '. H畉ng ' 0 ' c湛ng v畛i ch畛 s畛 0 c坦 m達 = 48 - H畉ng '0 ' c湛ng v畛i k箪 t畛 0 (null) c坦 m達 0. - H畉ng k箪 t畛 th畛c s畛 l s畛 nguy棚n => c坦 th畛 d湛ng s畛 nguy棚n h畛 10 棚 bi畛u di畛n k箪 t畛 . V鱈 d畛 : printf( " %c%c", 65,66) s畉 in ra AB. e/H畉ng x但u k箪 t畛 : 畉t trong d畉u nh叩y k辿p ( " "). H畉ng 動畛c l動u tr畛 trong 1 m達ng k箪 t畛 m k箪 t畛 cu畛i c湛ng l r畛ng (null) ' 0 '. V鱈 d畛 : "L董p Hoc" - H畉ng c坦 th畛 動畛c inh ngh挑a 畛i v畛i to叩n t畛 define . C炭 ph叩p : # define < t棚n h畉ng > < gi叩 tr畛> Trong ch動董ng tr狸nh m畛i bi畉n max 畛u 動畛c thay 畛i gi叩 tr畛 100. V鱈 d畛 : # define MAX 100 # define pi 3.141593 1.7/ Ph辿p to叩n : + Ph辿p to叩n s畛 h畛c g畛m : ,-,*, / ( Ph辿p chia l畉y ph畉n nguy棚n ), % ( ph辿p chia l畉y ph畉n d動). + Ph辿p to叩n quan h畛 : <, >, <=,>=, = =, ! = ( kh叩c). + Ph辿p to叩n logic : || ( ho畉c ) , && ( v) ! ( not ), #0 hay =1 : True( 炭ng) ; =0 : Falsse ( sai) + Ph辿p to叩n tng gi畉m : ++ c畛ng th棚m 1 vo to叩n h畉ng. V鱈 d畛 : int n=10; n++; t畛c l n=11 <=> n=n+1; Ch炭 箪 : - n++ : gi叩 tr畛 n 動畛c l畉y tr動畛c khi tng n. - ++n : gi叩 tr畛 n 動畛c l畉y sau khi tng n - t動董ng t畛 n-- , --n ; + To叩n t畛 thao t叩c bit : Kh担ng 叩p d畛ng cho ki畛u float ho畉c double. & : ph辿p h畛i c叩c b鱈t ( v) | : ph辿p tuy畛n c叩c bit ( ho畉c) ^ : ph辿p tuy畛n c叩c bit lo畉i tr畛 << : ph辿p d畛ch tr叩i >> : ph辿p d畛ch ph畉i. 5
  • 6. : ph辿p l畉y ph畉n b湛. V鱈 d畛 : 105 & 7 = 1 0111 1001 & 0000 0111 = 0000 0001 105 | 17 = 127 0111 1001 | 0000 0111 = 0111.1111 + To叩n t畛 chuy畛n 畛i ki畛u : ta c坦 th畛 d湛ng to叩n t畛 chuy畛n ki畛u 畛 chuy畛n 1 ki畛u b畉t k畛 sang ki畛u mong mu畛n b畉ng c叩ch d湛ng to叩n t畛 s畉c th叩i ( cast) theo quy t畉c sau : 辿p Ki畛u ( type cast ) : ( ki畛u ) Bi畉n Ki畛u mong mu畛n V鱈 d畛 : int i = 10 v ( float ) i => 10.0 - Ch炭 箪 : + M畛t s畛 ki畛u float khi chuy畛n sang ki畛u Int s畉 b畛 ch畉t c畛t ph畉n th畉p ph但n. +M畛t s畛 ki畛u long khi chuy畛n sang ki畛u Int s畉 c畉t b畛 vi ch畛 s畛. V鱈 d畛 : n = 2560.70 th狸 (int)n = 2560 + To叩n t畛 g叩n : C炭 ph叩p : < bi畉n> = < bi畛u th畛c> V鱈 d畛 : c = a + b ; d= t + 3 ; i= i+2 (Vi畉t g畛n i+=2; ) i= i*2 (i*=2; ) x = x >> 1 (x >> = 1;) Ch炭 箪 : C叩c ph辿p to叩n trong C c坦 畛 動u ti棚n kh叩c nhau v quy t畉c k畉t h畛p kh叩c nhau B畉ng li畛t k棚 c叩c ph辿p to叩n theo th畛 t畛 動u ti棚n t畛 tr棚n xu畛ng d動畛i, c叩c ph辿p to叩n tr棚n d嘆ng c坦 th畛 t畛 nh動 nhau. Ph辿p to叩n Tr狸nh t畛 k畉t h畛p (),[ ], tr叩i qua ph畉i |, d畉u ng達, &*, - -, + + , ( type ) size of ph畉i qua tr叩i *,/, % tr叩i qua ph畉i +, - tr叩i qua ph畉i << ,>> tr叩i qua ph畉i <,<= ,> ,>= tr叩i qua ph畉i &, | , && , || tr叩i qua ph畉i ? ph畉i qua tr叩i 6
  • 7. = =, !=, +=, -= ph畉i qua tr叩i 1.8/ Bi畛u th畛c : 動畛c x但y d畛ng b畉ng c叩c to叩n t畛 , to叩n h畉ng l c叩c h畉ng, bi畉n, hm.... - Bi畛u th畛c g叩n : V鱈 d畛 : A = B =C =5 => A=5, B = 5, C = 5. - Bi畛u th畛c i畛u ki畛n c坦 d畉ng : B1?E1 : E2 : N畉u B 1 炭ng gi叩 tr畛 bi畛u th畛c = E1. ng動畛c l畉i E2. V鱈 d畛 : S=x>y ? x:y cho gi叩 tr畛 l畛n nh畉t c畛a x v y. 1.9/ C畉u tr炭c t畛ng qu叩t c畛a ch動董ng tr狸nh vi畉t b畉ng ng担n ng畛 C : #include < Thuvien.h> #define .... /* C叩c khai b叩o ki畛u d畛 li畛u, h畉ng */ Type of.... { C叩c bi畉n ton c畛c, bi畉n ngoi} prototype { khai b叩o ti棚u 畛 hm} void main () { x1,x2,........xn} V鱈 d畛 : Vi畉t ch動董ng tr狸nh s畛 l畛n nh畉t cho tr動畛c a, b, c # include < stdio.h> # include < conio.h> void main () { int n1,n2, n3, nmax ; do { printf(" nh畉p s畛 th畛 nh畉t : "); scanf( " %d", &n1); printf(" nh畉p s畛 th畛 hai : "); scanf( " %d", &n2); printf(" nh畉p s畛 th畛 ba : "); scanf( " %d", &n3); /* t狸m s畛 l畛n nh畉t */ nmax = n1>n2 ? n1:n2; nmax = nmax > n3 ? nmax : n3; /* In ra k畉t qu畉 */ printf ( " s畛 l畛n nh畉t trong 3 s畛 %d%d%d l : %d n ", n1,n2,n3 ,nmax); printf ( " 畉n ESC 畛 k畉t th炭c ); } while ( getch ()! = 27 ); } 2/ CC L畛NH XU畉T NH畉P CHU畉N: 2.1/ Hm printf 7
  • 8. printf (" formated string ", <bi畛u th畛c> ); Bi畛u th畛c c坦 th畛 l : const ( h畉ng), var ( bi畉n), function (hm). V鱈 d畛 : int Siso= 30; printf ( " In s挑 s畛 l畛p h畛c l %d, Siso ); a/ C叩c k箪 t畛 i畛u khi畛n : n : sang d嘆ng m畛i b : l湛i l畉i 1 tab. f : sang trang m畛i t : d畉u tab ' : In ra d畉u ' " : in ra d畉u " : in ra d畉u 2.2/ Hm scanf : scanf (" formated string ", c叩c 畛a ch畛 bi畉n ); V鱈 d畛 : int a ; float x,y; char cr[6], ct[6]; scanf (" %f %5f3d%35%5 ", &x , &y , &a , c r, ct); Nh畉p vo 5.4 25 124 523 48ab K畉t qu畉 l : x=5.4 ; y=25.0; a = 124; cr= "523"; ct = "48ab" CH働NG 2 : C畉U TRC I畛U KHI畛N V VNG L畉P 3.1/ a/Kh叩i ni畛m : m畛i ch動董ng tr狸nh 畛u c坦 th畛 bi畛u di畛n qua 3 c畉u tr炭c : - tu畉n t畛 : m畉c 畛nh ( default) - l畛a ch畛n ( l畛nh if ho畉c l畛nh switch) - l畉p ( for, while ho畉c do while) b/ Kh畛i l畛nh : l t畉p h畛p c叩c c但u l畛nh 動畛c khai b叩o b畛i 2 d畉u { v } . kh担ng 畉t d畉u ch畉m ph畉y ( ; ) sau m畛t kh畛i l畛nh tr畛 m畛t vi tr動畛ng h畛p 畉c bi畛t. 8
  • 9. 3.2 / C叩c c但u l畛nh 3.2.1 L畛nh if : - C炭 ph叩p : if ( bi畛u th畛c) < l畛nh> ; - Di畛n gi畉i : n畉u Bi畛u th畛c 炭ng ( kh叩c 0 ) --> th畛c hi畛n <l畛nh> ng動畛c l畉i n畉u bi畛u th畛c sai ( = 0 ) th畛c hi畛n l畛nh 畛ng sau c但u l畛nh if. if ( bi畛u th畛c) <l畛nhA>; else < l畛nh B); V鱈 d畛 : t狸m s畛 l畛n nh畉t trong 2 s畛 a, b : if (a<b) max = b ; else max = a ; * C叩ch kh叩c : max = (a>b)? a:b; - Ch炭 箪 : trong tr動畛ng h畛p c坦 nhi畛u l畛nh if l畛ng nhau th狸 else s畉 g畉n li畛n v畛i if g畉n nh畉t. if(bt1) <l畛nh1>; else if (bt2) if(bt3) < l畛nh2>; else <l畛nh 3>; /* bt3 = = 0 */ else <l畛nh 4>; /* bt2= = 0 */ V鱈 d畛 : Vi畉t ch動董ng tr狸nh gi畉i ph動董ng tr狸nh b畉c nh畉t : Ax + B = 0 (A, B : s畛 th畛c). Gi畉i : X辿t c叩c tr動畛ng h畛p x畉y ra : - N畉u A! =0 th狸 nghi畛m x = -B/A - N畉u A = 0 +> B=0 => N畉u B=0 : v担 s畛 nghi畛m B != 0 ( ng動畛c l畉i) : v担 nghi畛m. /* Gi畉i ph動董ng tr狸nh b畉c nh畉t : Ax + B = 0 */ #Include <stdio.h> #Include < conio.h> void main ( ) { float a, b ; /* nh畉p d畛 li畛u t畛 bn ph鱈m */ print ( " nh畉p 2 s畛 a,b : "); scanf(" %f %f ", &a, &b); /* gi畉i ph動董ng tr狸nh*/ if ( a= = 0 ) if( b= =0 ) printf (" Ph動董ng tr狸nh c坦 v担 s畛 nghi畛m ! n " ); else printf (" ph動董ng tr狸nh v担 nghi畛m n "); else / * a kh叩c 0 */ printf (" ph動董ng tr狸nh c坦 nghi畛m l : x= %f n ", -b/a); getch(); } 9
  • 10. Bi t畉p 1 : T狸m nh畛ng l畛i c炭 ph叩p c叩c o畉n ch動董ng tr狸nhh sau : A/ scanf ( "d", value); B/ printf ("t鱈ch c叩c %d v %d l %d " n, x,y); C/ printf (" ph畉n d動 c畛a %d chia cho %d l n ", x , y , x%y ); D/ if(x=y); printf (" %d b畉ng %d n ", x,y); E/ if ( age>=65); printf (" gia 狸! '); else printf(' Tre! '); 3.2.2 L畛nh switch - C炭 ph叩p : Switch (bi畛u th畛c nguy棚n). { Case N1 : l畛nh 1; Case N2 : l畛nh 2; ..... [ default : l畛nh;] } - Bi畛u th畛c nguy棚n l gi叩 tr畛 nguy棚n : Ni(i=1,2...) l c叩c s畛 nguy棚n. - V畛i bi畛u th畛c kh叩c v畛i m畛i Ni => th畛c hi畛n l畛nh sau default. - Ch炭 箪 : n畉u nh坦m c但u l畛nh sau nh達n case Ni kh担ng c坦 c但u l畛nh break th狸 m叩y s畉 chuy畛n sang nh坦m c但u l畛nh sau nh達n case Ni+1 V鱈 d畛 : 畛i 1 s畛 nguy棚n sang chu畛i k箪 t畛 l t棚n c叩c m担n h畛c #Include<stdio.h> #Include<conio.h> void main( ) { int ma ; do { printf(" n cho m達 c畉n chuy畛n "); scanf(" %d ", &ma); switch(ma) { case 0 : printf(" n l畛p tin h畛c a "); break; case 1 : printf( " n l畛p tin h畛c b"); break; case 2 : printf(" n l畛p trung c畉p "); break; case 3 : printf (" n l坦p chuy棚n vi棚n "); break; default : printf( " n l畛p thi畉 ti畛n h畛c ph鱈"); } 10
  • 11. printf( " n c坦 ti畉p t畛c kh担ng ?(Y/N)"); } while( toupper ( getch () ! = 'N '); /* Chuy畛n san k箪 t畛 hoa */ } 3.2.3 / L畛nh For : - C炭 ph叩p : for ( bt1; bt2 ; bt3) l畛nh; - Gi畉i th鱈ch : + bt1 : l to叩n t畛 g叩n 畛 t畉o gi叩 tr畛 ban 畉u cho bi畉n i畛u khi畛n. + bt2 : bi畛u th畛c i畛u ki畛n 畛 th畛c hi畛n v嘆ng l畉p. + bt3 : bi畛u th畛c tng gi叩 tr畛 c畛a bi畉n i畛u khi畛n c畛a v嘆ng l畉p. V鱈 d畛 : T鱈nh T畛ng S=1+2+3+..+n S=0; for ( i=1; i<=n; i++ ) #include <stdio.h> #include<conio.h> #include<math> /* int i, j, t, n ; double gt, s; */ void main() { int i, s; clrscr () ; printf ("nh畉p n= "); scanf(" %d ", &n); s=0 ; for (i=1; i<=n ; i++ ) s = s+i; printf ( " tong s = %d ", s); getch(); } 3.24/ C但u l畛nh while : - C炭 ph叩p : while ( bi畛u th畛c 1) l畛nh 1 ; - Nguy棚n t畉c th畛c hi畛n : +b1. T鱈nh gi叩 tr畛 c畛a bi畛u th畛c 1. +b2. N畉u gi叩 tr畛 c畛a bi畛u th畛c 1 sai ( = 0 ) th狸 ch動董ng tr狸nh ra kh畛i v嘆ng while +b3. N畉u gi叩 tr畛 c畛a bi畛u th畛c 炭ng th狸 th畛c hi畛n l畛nh 1 v quay l畉i b動畛c 1(b1). - Ch炭 箪 : Bi畛u th畛c 1 c坦 th畛 g畛m nhi畛u bi畛u th畛c nh動ng t鱈nh 炭ng sai ph畛 thu畛c vo bi畛u th畛c cu畛i c湛ng. 3.25/ C但u l畛nh Do while ( lm tr動畛c h畛i sau ) - C炭 ph叩p : do l畛nh 1 ; while ( bi畛u th畛c 1 ) ; - Nguy棚n t畉c th畛c hi畛n : 11
  • 12. +b1. M叩y th畛c hi畛n c但u l畛nh 1 ; +b2. Sau 坦 t鱈nh gi叩 tr畛 c畛a bi畛u th畛c 1, n畉u gi叩 tr畛 c畛a bi畛u th畛c 1 sai th狸 ch動董ng tr狸nh tho叩t ra kh畛i v嘆ng l畉p. N畉u gi叩 tr畛 c畛a bi畛u th畛c 1 炭ng th狸 quay l畉i b動畛c 1. Ch炭 箪 : - while : i畛u ki畛n 動畛c ki畛m tra tr動畛c, n畉u 炭ng m畛i th畛c hi畛n. - do while : c但u l畛nh 動畛c th畛c hi畛n tr動畛c khi ki畛m tra. C但u l畛nh th畛c hi畛n bao gi畛 鱈t nh畉t l 1 l畉n. ( do while ng動畛c v畛i Repeat until c畛a Pascal : l畛nh Do while sai th狸 d畛ng, c嘆n l畛nh repeat until 炭ng th狸 d畛ng ). -Bi畛u th畛c 1 c坦 th畛 g畛m nhi畛u bi畛u th畛c, tuy nhi棚n t鱈nh 炭ng sai cn c畛 theo bi畛u th畛c cu畛i c湛ng. 3.2.6/ C但u l畛nh Break : - C炭 ph叩p : D湛ng 畛 tho叩t kh畛i v嘆ng l畉p. Khi g畉p c但u l畛nh ny trong v嘆ng l畉p, m叩y ra kh畛i v ch畛 畉n c但u l畛nh sau c叩c l畛nh tr棚n. N畉u nhi畛u v嘆ng l畉p ----> break s畉 tho叩t ra kh畛i v嘆ng l畉p g畉n nh畉t. 3.3/ To叩n t畛 goto v nh達n ( label ); - V鱈 d畛 : tiep tuc : st = a[ i ]; => tiep tuc l nh達n c畛a l畛nh st = a [ i ]; - L畛nh goto nh達n => nh畉y 畉n c但u l畛nh 畛ng sau nh達n. - CH : PH畉M VI NHN TRONG CNG 1 HM. BI T畉P CH働NG 2 1/ Ki畛m tra t狸m l畛i : while ( x<.= 10 ) Total t=x; ++x ; 2/ Gi畉i ph動董ng tr狸nh b畉c 2 : ax2 + bx + c = 0 v畛i a, b, c l s畛 th畛c nh畉p t畛 bn ph鱈m. 3/ Nh畉p s畛 li畛u vo bn ph鱈m, k畉t th炭c nh畉p b畉ng c叩ch 畉n ^Z ho畉c F6 ( m滴 = 255 ). Bi畉t : InWord = on khi 畛 trong 1 t畛. InWord = off khi ng動畛c l畉i. 畉m s畛 d嘆ng, s畛 t畛, s畛 k箪 t畛. 4/ T狸m c叩c s畛 n畉m trong kho畉ng t畛 150 畉n 140 tho畉 t鱈nh ch畉t s畛 b畉ng t畛ng l畉p ph動董ng c叩c ch畛 s畛 c畛a ch炭ng : V鱈 d畛 : 153 = 13 + 53 + 33 ho畉c 370 = 33 + 73 + 03 5/ S畛 tuy畛t h畉o l s畛 b畉ng t畛ng c叩c 動畛c s畛 th畛c s畛 c畛a n坦. V鱈 d畛 : 6 = 1 + 2 + 3.T狸m c叩c s畛 tuy畛t h畉o trong kho畉ng t畛 1 畉n 3000. 6/Nh畉p s畛 li畛u vo m達ng A g畛m 10 ph畉n t畛 v s畉p x畉p theo th畛 t畛 tng d畉n. 7/ T狸m t畉t c畉 c叩c s畛 nguy棚n t畛 t畛 2 畉n 100 b畉ng l畛nh For. 8/ T狸m c叩c s畛 nguy棚n c坦 3 ch畛 s畛 sao cho t畛ng 3 ch畛 b畉ng t鱈ch 3 ch畛. V鱈 d畛 : 123. 9/ a/ D湛ng l畛nh while 畛 vi畉t ch動董ng tr狸nh t鱈nh : S1 = 1 x 3 x 5 x 7 x 9. . . . . x ( 2n - 1 ). S2 = 2 x 4 x 6 x 8 x ......x (2n). b/ lm l畉i bi tr棚n b畉ng c叩ch d湛ng do...while. 10/Gi畉i bi to叩n c畛 i畛n v畛a g v畛a ch坦 b坦 l畉i cho tr嘆n 36 con 100 ch但n ch畉n. 12