Upload
ryonguyen
View
11
Download
0
Embed Size (px)
DESCRIPTION
ebook hoc lap trinh c
Citation preview
LP TRNH C CHO
NGI MI HCGing vin: Thc s Trn Thanh Sn
Trng i Hc Khoa Hc T Nhin
GII THIU MN HC
CUNG CP KIN THC NN CHO NGI MI BT U.
LM QUEN VI NGN NG LP TRNH
LP TRNH MT S BI N GIN
2
TI LIU THAM KHO
GS. Phm Vn t, Gio Trnh K Thut Lp Trnh C - Cn Bn &Nng Cao, NXB Hng c, 2009
Trn an Th Gio trnh lp trnh C tp 1-2, NXB i Hc Quc GiaTP.HCM
Gio trnh Lp trnh C cn bn ca Apptech.
3
CHNG 1: LM QUEN VI NGN NG LP TRNH
I. GII THIU V NGN NG LP TRNH.
II. DEMO PROJECT MU (MI TRNG VISUAL STUDIO 2013)
III. CU TRC CA CHNG TRNH
IV. CC KIU D LIU C BN.
V. CC BC LP TRNH
VI. CC HM NHP XUT CHUN
4
I. GII THIU V NGN NG LP TRNH
1. Thut ton
2. Chng trnh
3. Ngn ng lp trnh
5
1. Thut ton (Algorithm)
nh ngha: L mt dy cc thao tc xc nh trn mt i tng, sao chosau khi thc hin mt s hu hn cc bc th t c mc tiu. Theo
R.A. Kowalski th bn cht ca thut ton:
Thut ton = Logic + iu khin.
6
Logic v iu khin
Logic: lm g, gii quyt vn g? Nhng yu t trong bi ton cquan h vi nhau nh th no vv. Gm c kin thc chuyn mn.
V d: tnh din tch hnh cu
iu khin: Gii thut phi lm nh th no? Cch thc tin hnh pdng phn logic.
7
2. Chng trnh (Program)
nh ngha: L mt tp hp cc m t, cc pht biu, nm trong mt hthng qui c v ngha v th t thc hin, nhm iu khin my tnh
lm vic. Theo Niklaus Wirth th:
Chng trnh = Thut ton + Cu trc d liu
Cc thut ton v chng trnh c 3 cu trc iu khin c bn: Tun t(Sequential), Chn lc (Selection), Lp li (repetition)
8
3. Ngn ng lp trnh (Programming language)
nh ngha: l h thng cc k hiu tun theo cc qui c v ng php vng ngha, dng xy dng thnh cc chng trnh cho my tnh.
Ngn ng no cng c 3 thnh phn: Tp k t, t kha v tn.
9
II. DEMO PROJECT MU
Xut ra mn hnh cu This is my first project
Mi trng lp trnh: Visual Studio 2013.
10
III. CU TRC CHNG TRNH
11
# include stdio.h
# include conio.h
/* Chng trnh in 1 cu */
Void main ()
{
printf (This is my first project);
_getch (); // i nhn 1 phm
}
Phn khai bo
Phn chng trnh chnh
/* */ l on ch thch hoc //, khng bin dch.
1. Tp k t
26 ch ci hoa: A B C Z
26 ch ci thng: a b c z
10 ch s: 1 2 3 9
K hiu ton hc: + - * / = ()
K t gch ni: _ (phn bit vi du -)
Cc k t c bit: .,:: []{}? ! \ & | % # $, du cch (space)
12
2. T kha
13
asm break case cdecl
char const continue default
do double else enum
extern far float for
goto huge if int
interrupt long near pascal
register return short signed
sizeof static struct switch
typedef union unsigned void
volatile while
3. Tn
Dng xc nh i tng khc nhau ca chng trnh bao gm: tn hng,tn bin, tn mng, tn hm, tn con tr, tn tp tin, tn cu trc.
Quy tc t tn:
Tn l 1 dy k t: ch, s v du gch ni. K t u phi l ch hoc l dugch ni.
di ti a l 32
Khng trng vi t kha
14
V d tn bin
Cc tn ng: delta, a_1, Num_ODD, Case
Cc tn sai:
3a_1 (k t u l s)
num-odd (s dng du gch ngang)
int (t tn trng vi t kha)
del ta (c khong trng)
f(x) (c du ngoc trn)
15
IV. CC KIU D LIU C BN
16
Kiu Phm vi Kch thc
char 0 .. 255 1 byte
int -32768 .. 32767 2 bytes
long -2147483648 .. 2147484647 4 bytes
unsigned 0 .. 65535 2 bytes
float 3.4e-38 .. 3.4e+38 4 bytes
double 1.7e-308 .. 1.7e+308 8 bytes
1. Cc kiu d liu v phm vi
Kiu logic (Kiu nguyn c bit)
Nhn 2 gi tr: ng (True) hoc 1 v Sai (False) hoc 0
Ta c th s dng cc php logic and (&&), or (||), not (!)
17
a b a && b a||b
Khc 0 Khc 0 1 1
Khc 0 0 0 1
0 Khc 0 0 1
0 0 0 0
a !a
Khc 0 0
0 1
2. Khai bo bin
[ = ];
Gi tr ca bin c th c khi gn khi khai bo.
V d:
int i, j, k=10;
float f;
char ch, ch1 = A, ch2 = \n;
18
3. Khai bo hngHng tng trng:
# define
V d:
# define MAX 100;
# define ECHO "DH KHTN TPHCM";
Hng bin:const =;
V d :
const long MAX = 100L;
const char ECHO[30] = "DHKT TPHCM";19
4. Biu thc (1/4) Cc php ton s hc: +, -, *, /, %
Cc php ton quan h: >, =,
4. Biu thc (2/4) Ton t gn:
< Bin > = < Biu thc >;
Biu thc gn:
< Bin > = < Biu thc >
V d: int a = b =7;
Biu thc rt gn:
< Bin > = < Bin > < op > < Biu thc >
< Bin > < op > = < Biu thc >
V d: i = i + exp; => i += exp;
21
4. Biu thc (3/4)
Biu thc iu kin: BT1 ? BT2 : BT3
V d:
max = (a>b)? a: b;
Php ton ly a ch bin: & < Bin>
V d:
int n;
scanf (%d, &n);
22
4. Biu thc (4/4) Php p kiu: ()
V d: int n = (int) 10.24;
Th t u tin ca cc ton t
23
Ton t Th t kt hp (), [], -> Tri sang phi
~, ++, --, (type) Phi sang tri
*, /, % Tri sang phi
+, - Tri sang phi
Tri sang phi
= Tri sang phi
& Tri sang phi
| Tri sang phi
^ Tri sang phi
&& Tri sang phi
|| Tri sang phi
==, !=, +=, -= Phi sang tri 24
V. CC BC LP TRNH
Bc 1: Phn tch vn v xc nh cc c im. (xc nh I-P-O)
Bc 2: Lp ra gii php. (a ra thut gii)
Bc 3: Ci t. (vit chng trnh)
Bc 4: Chy th chng trnh. (dch chng trnh)
Bc 5: Kim chng v hon thin chng trnh. (th nghim bng nhius liu v nh gi)
25
1. Xc nh I-P-O
Quy trnh x l c bn ca my tnh gm:
V d: Xc nh lng ca cng nhn bit lng = lng c bn * ngy cng
I: lng cn bn, ngy cng
P: Ly lng cn bn nhn vi ngy cng
O: Lng
26
P (Process)I (Input) O (Output)
2. Demo project mu (tip theo)
Bi tp: Tnh tng 2 s nguyn a, b
Phn tch:
u vo l a,b
X l: a+ b
u ra: Kt qu a + b
27
VI. HM NHP XUT CHUN
Cc hm nhp printf (), scanf () ly t th vin stdio.h,
Hm getch (_getch) ly t th vin conio.h
Cc hm ton hc c khai bo trong th vin math.h
Phi khai bo th vin s dng cc hm: #include
28
1. Hm xut chun trong CHm printf ([, , ])
: Chui nh dng
: Cc tham s tng ng
V d:
printf("n = %d\n", -10); /* --> -10 */
printf("A : %4c\n", 'A'); /* --> A */
printf("A : %d\n", 'A'); /* --> 65 */
printf("f = %4.2f", 123.4); /* --> 123.40 */
29
2. Hm nhp chun trong CHm scanf(, {, });
: Chui nh dng
: a ch ca cc tham s tng ng
V d:
int n;
long l;
float f;
printf (Nhp cc gi tr cho cc bin n,l,f:) ;
scanf(%d%ld%f, &n, &l, &f);30