Bi n và Ki u d li u
Bài 2
ể ữ ệ
ế
M c tiêu: ụ
K t thúc bài h c này, b n có th : ể ế ạ ọ
Hi u và s d ng đ c bi n (variables) ử ụ ể ượ ế
Phân bi ệ ự t s khác nhau gi a bi n và h ng (constants) ế ữ ằ
N m v ng và s d ng các ki u d li u khác nhau trong ch ng trình C ể ữ ệ ử ụ ữ ắ ươ
s h c. Hi u và s d ng các toán t ử ụ ể ử ố ọ
Gi i thi u ớ ệ
ầ ơ ể ư ầ c l u tr g i là b nh . Nh ng v trí khác nhau trong b nh có th đ ữ ệ ớ ữ ọ ử ộ ớ ị ữ ạ ộ ầ ậ ữ ữ ậ ướ ữ ị ư ư ậ ứ ấ ứ ươ ụ y. N i mà d li u đ ượ ư ơ ị ỉ ở ỗ ị ỉ ữ ậ ể ặ ớ c đ n gi n hoá nh s ra đ i c a khái ni m bi n . ng trình ng d ng nào c n x lý d li u cũng c n có n i đ l u tr t m th i d li u ờ ữ ệ B t c ch c ể ượ ữ ệ ấ xác đ nh b i các đ a ch duy nh t. Nh ng ngôn ng l p trình tr ả c đây yêu c u l p trình viên qu n ị ấ ữ lý m i v trí ô nh thông qua đ a ch , cũng nh giá tr l u trong nó. Các l p trình viên dùng nh ng ị ớ đ a ch này đ truy c p ho c thay đ i n i dung c a các ô nh . Khi ngôn ng l p trình phát tri n, ể ủ ậ ị vi c truy c p hay thay đ i giá tr ô nh đã đ ượ ơ ỉ ổ ộ ớ ờ ủ ờ ự ế ệ ệ ả ậ ổ ị
2.1 Bi n (variable) ế
ụ ườ ươ ề ể ợ ng trình ng d ng có th qu n lý nhi u lo i d li u. Trong tr ươ ả ị ữ ệ ị ỉ ng h p này, ch ể ạ ữ ệ ộ ỉ ầ ư ỗ ơ ớ ị
ứ ớ ớ ẽ ượ ng trình M t ch ộ ph i ch đ nh b nh cho m i đ n v d li u. Khi ch đ nh b nh , có hai đi m c n l u ý nh sau : ư ả 1. Bao nhiêu b nh s đ 2. M i đ n v d li u đ c gán c l u tr ộ ộ ị ữ ệ ượ ư đâu trong b nh . ớ ỗ ơ ữ ở ộ
t ch ươ ồ c đây, các l p trình viên ph i vi ế ị ữ ộ ớ Tr ả ướ ữ mu n l u tr m t giá tr t m th i, v trí chính xác n i mà d li u đ ờ ố ư tính ph i đ ế ng trình theo ngôn ng máy g m các mã 1 và 0. N u c l u tr trong b nh máy ượ ư c ch đ nh. V trí này là m t con s c th , g i là đ a ch b nh . ớ ỉ ộ ơ ố ụ ể ọ ậ ữ ộ ỉ ữ ệ ị ị ạ ị ả ượ ộ ị
ệ ạ ượ ế ng tr ng g i là bi n ọ ư Các ngôn ng l p trình hi n đ i cho phép chúng ta s d ng các tên t ử ụ (variable), ch đ n m t vùng b nh n i mà các giá tr c th đ c l u tr . ữ ớ ơ ộ ị ụ ể ượ ư ữ ậ ỉ ế ộ
c ch đ nh. Nh ng tên đ c gán cho bi n giúp chúng ta ể ữ ệ ố ộ ế ị ớ ượ ữ ỉ ị ượ ế Ki u d li u quy t đ nh t ng s b nh đ i d li u khi c n đ n. s d ng l ử ụ ạ ữ ệ ổ ầ ế
đ i di n trong m t công th c. Ví d , di n tích hình ử ụ ự ạ ứ ụ ệ ệ ộ ớ c tính b i : Chúng ta đã quen v i cách s d ng các ký t ch nh t đ ở ữ ậ ượ
Di n tích = A = chi u dài x chi u r ng = L x B ề ộ ệ ề
Cách tính lãi su t đ n gi n đ c cho nh sau: ấ ơ ả ượ ư
Ti n lãi = I = S ti n ban đ u x Th i gian x T l /100 = P x T x R /100 ố ề ỷ ệ ề ầ ờ
1
Bi n và Ki u d li u ể ữ ệ
ế
Các ký t A, L, B, I, P, T, R là các bi n và là các ký t t đ i di n cho các giá tr khác nhau. vi ự ế t t ự ế ắ ạ ệ ị
Xem ví d sau đây : ụ
ổ ị ế ể ể ệ ả ổ ượ c th c hi n theo h ệ ự ướ ẫ ng d n Tính t ng đi m cho 5 sinh viên và hi n th k t qu . Vi c tính t ng đ sau.
Hi n th giá tr t ng c a 24, 56, 72, 36 và 82 ủ ị ổ ể ị
ượ ể ộ ả ử ế s , n u Khi giá tr t ng đ ượ ư ị chúng ta mu n tính đi m trung bình, thì giá tr t ng đó ph i đ c hi n th , giá tr này không còn đ ị ể c l u trong b nh máy tính. Gi c tính m t l n n a. ả ượ ớ ộ ầ ữ ị ổ ố ị ổ
i nó khi c n đ n. T t h n là chúng ta s l u k t qu vào b nh máy tính, và s l y l ả ẽ ư ế ẽ ấ ạ ố ơ ộ ớ ế ầ
sum = 24 + 56 + 72 + 36 + 82
ượ ể ự c dùng đ ch a t ng c a 5 s . Khi c n tính đi m trung bình, có th th c ầ ể ứ ổ ủ ể ố đây, Ở hi n nh sau: ệ sum là bi nế đ ư Avg = sum / 5
Trong C, t t c bi n c n ph i đ c khai báo tr c khi dùng chúng. ấ ả ế ầ ả ượ ướ
Chúng ta hãy xét ví d nh p hai s và hi n th t ng c a chúng trong ví d 1. ụ ậ ị ổ ủ ụ ể ố
Ví d 1:ụ
BEGIN
DISPLAY ‘Enter 2 numbers’ INPUT A, B C = A + B DISPLAY C END
ế ỉ ủ ị ớ ị c vi ế ự ượ ả ệ ấ ệ ả ớ ố ộ ị ớ ộ ế ớ ế ớ ớ ỉ ng ị ỉ ầ ượ ư ị ủ ụ ế ộ ị ế ượ ể ượ c c ng và k t qu đ ế ượ ộ ị ế ứ ế ố A, B và C trong đo n mã trên là các bi n. Tên bi n giúp chúng ta tránh ph i nh đ a ch c a v trí b ộ ế ạ nh . Khi đo n mã đ t và th c thi, h đi u hành đ m nhi m vi c c p không gian nh còn ạ ệ ề tr ng cho nh ng bi n này. H đi u hành ánh x m t tên bi n đ n m t v trí xác đ nh trong b nh ớ ạ ộ ữ ế ệ ề ế (ô nh ). Và đ tham chi u t t trong b nh , chúng ta ch c n ch ra tên c a ủ i m t giá tr riêng bi ệ ộ ể ộ i dùng và chúng đ c nh p t bi n. Trong ví d trên, giá tr c a hai bi n đ c l u tr n i nào ữ ơ ậ ừ ườ ướ c truy c p thông qua các tên bi n A và B. Trong b đó trong b nh . Nh ng v trí này có th đ c ậ ế ữ ớ k ti p, giá tr c a hai bi n đ c l u trong bi n th 3 là bi n C. Cu i cùng, ị ủ ế ả ượ ư ế ế c hi n th . giá tr bi n C đ ể ượ ị ế ị
ộ ớ ớ ữ ậ ữ ầ ậ ữ ạ ệ ề ư ng trình. Trong c hai tr ườ ấ ớ ệ ấ ệ ề ươ ề ả Trong khi m t vài ngôn ng l p trình cho phép h đi u hành xóa n i dung trong ô nh và c p phát ộ i thì nh ng ngôn ng khác nh C yêu c u l p trình viên xóa vùng nh không b nh này đ dùng l ể ộ ng h p, h đi u hành đ u lo vi c c p phát s d ng thông qua mã ch ợ ử ụ và thu h i ô nh . ớ ồ
2.2
ạ ộ ữ ậ ớ ề ị ệ ệ ể ả ậ ộ H đi u hành ho t đ ng nh m t giao di n gi a các ô nh và l p trình viên. L p trình viên không ệ ề ớ ị c n l u tâm v v trí ô nh mà đ cho h đi u hành đ m nhi m. V y vi c đi u khi n b nh (v ầ ư trí mà d li u thích h p l u tr ) s do h đi u hành đ m trách, ch không ph i l p trình viên. ư ộ ể ữ ẽ ệ ệ ề ệ ề ậ ề ả ậ ớ ợ ư ữ ệ ứ ả
H ng ằ (constant)
2
L p trình c b n C
ơ ả
ậ
i t ườ ế ồ ạ ừ ế ợ ộ lúc khai báo đ n Trong tr ế ị khi thoát kh i ph m vi dùng nó. Nh ng câu l nh trong ph m vi kh i mã này có th truy c p giá tr ậ ể c l u s thay đ i. M t bi n t n t ổ ạ ng h p ta dùng bi n, giá tr đ ỏ ị ượ ư ẽ ệ ữ ạ ố
ế ị ủ ự ế ể ậ ổ , đôi khi c n s d ng m t vài ầ ử ụ ộ ế b thay đ i. c a bi n, và th m chí có th thay đ i giá tr c a bi n. Trong th c t ủ kho n m c mà giá tr c a chúng không bao gi ị ủ ờ ị ụ ả ổ
ị ộ ằ ờ ị ọ ị b thay đ i. Ví d , ổ ng t , ươ ộ ể ị ượ ằ ụ 5 là m t h ng, mà giá tr toán h c luôn là ự ‘Black’ là m t h ng, nó bi u th cho màu đen. ỗ (string c g i là ọ ị ể h ng chu i ằ ộ ằ ộ ằ ượ ố (numeric constant), ‘Black’ đ M t h ng là m t giá tr không bao gi 5 và không th b thay đ i b i b t c ai. T ổ ở ấ ứ Khi đó, 5 đ h ng s c g i là ọ constant).
2.3 Đ nh danh (Identifier) ị
ế ủ i dùng đ nh nghĩa g i là đ nh danh. Nh ng đ nh danh này có th ch a m t hay nhi u ký t ị ữ ọ ị ố ượ ể ứ ộ ướ _ ). Các ký t i ( ng khác nhau do . Ký ề ự ti p theo có ự ế ộ ấ ữ ạ ả ộ i. Tên c a các bi n (variables), các hàm (functions), các nhãn (labels) và các đ i t ng ườ đ u tiên c a đ nh danh ph i là m t ch cái hay m t d u g ch d t ự ầ th là các ch cái, các con s hay d u g ch d ấ ể ị ủ ị ữ ướ ạ ố
ụ ề ữ ị Arena, s_count, marks40, và class_one là nh ng đ nh danh đúng. Các ví d v các đ nh danh sai là ị 1sttest, oh!god, và start... end.
ư ở ị ị ượ ậ ể ổ ậ ệ ố ị Các đ nh danh có th có chi u dài tuỳ ý, nh ng s ký t c nh n di n b i trình ệ ố ề biên d ch thì thay đ i theo trình biên d ch. Ví d , n u m t trình biên d ch nh n di n 31 con s có ý ụ ế nghĩa đ u tiên cho m t tên đ nh danh thì các câu sau s hi n th cùng m t k t qu : ả trong m t bi n đ ộ ự ộ ẽ ể ế ị ộ ế ầ ộ ị ị
Đây là bi n testing.... testing Đây là bi n testing.... testing ... testing ế ế
Các đ nh danh trong C có phân bi t ch hoa và ch th ng, c th , arena thì khác ARENA. ị ệ ữ ườ ữ ụ ể
2.3.1
tên
Các nguyên t c cho vi c ch đ ắ
ệ ỉ
tặ
c chu n đ c tuân ắ ặ ữ ậ ế ướ ẩ ượ Các quy t c đ t tên bi n khác nhau tuỳ ngôn ng l p trình. Tuy nhiên, vài quy theo nh :ư
ch cái. Tên bi n ph i b t đ u b ng m t ký t ả ắ ầ ế ằ ộ ự ữ
ữ ể ặ ộ ỗ ố ự đ c bi t nh d u g ch d i. Các ký t ký t ự ặ theo sau ký t ư ấ ệ đ u b ng m t chu i các ch cái ho c con s và cũng có th bao g m ồ ự ầ ạ ằ ướ
Tránh dùng ký t O t ng t ch cái ớ ố ữ ẫ ị ươ ự ữ l (ch th ng c a ch hoa L) có th l m l n v i s 1. ữ ườ i nh ng v trí mà có th gây l m l n v i s không (0) và t ầ ớ ố ể ẫ ể ầ ạ ữ ự ủ
Tên riêng nên tránh đ t tên cho bi n. ế ặ
ng và hoa thì xem nh khác nhau ví d . bi n ADD, add và Theo tiêu chu n C các ch cái th ẩ ữ ườ ư ụ ế Add là khác nhau.
Tên m t bi n nên có ý nghĩa, g i t
Vi c phân bi ng khác nhau tuỳ theo ngôn ng l p trình. Do đó, t ệ ệ ữ ậ ố ấ t nh t nên đ t tên cho bi n theo cách th c chu n. ẩ ặ t ch hoa và ch th ữ ườ ứ ữ ế
3
Bi n và Ki u d li u ể ữ ệ
ế
và mô t ộ ế ợ ả ả ụ ế ổ rõ ki u d li u c a nó. Ví d , n u tìm t ng c a ủ s hay ab12 thì không hay ế ư ặ ổ ố ữ ệ ủ ế . N u đ t tên là ặ ể hai s thì tên bi n l u tr t ng nên đ t là sum (t ng) ữ ổ l m.ắ
2.3.2 T khóa (Keywords) ừ
nh t đ nh cho m c đích riêng. Nh ng t ộ ố ừ ụ ữ ừ c xem là “t ấ ị ữ này có m t ý nghĩa ộ ế khóa”. Khi đ t tên cho các bi n, ặ ừ ượ khóa nào làm tên bi n. T t c các ngôn ng dành m t s t ấ ả đ c bi ệ ặ chúng ta c n b o đ m r ng không dùng b t c t ằ t trong ng c nh c a t ng ngôn ng , và đ ủ ừ ấ ứ ừ ữ ữ ả ả ầ ả ế
Tên ki u d li u t t c đ c coi là t khóa. ể ữ ệ ấ ả ượ ừ
int s phát sinh m t l i, nh ng đ t tên cho bi n là integer thì ế ặ ộ ộ ỗ ẽ ư ế ặ Do v y, đ t tên cho m t bi n là ậ không.
ữ ậ ư ể ủ c khi dùng bi n đó th t s . B c này đ ế ẽ ọ ướ ầ ầ ậ ậ ự ướ ề ậ ề ớ ả ậ ự ấ ượ ữ ệ ả ầ ớ ế Vài ngôn ng l p trình yêu c u l p trình viên ch ra tên c a các bi n cũng nh ki u d li u c a nó ữ ệ ủ ế ỉ c này trong c g i là khai báo bi n. Ta s nói rõ b tr ướ ế c này ph n ti p theo khi th o lu n v các ki u d li u. Ði u quan tr ng c n nh bây gi là b ể ế ướ ờ ọ giúp h đi u hành th t s c p phát m t kho ng không gian vùng nh cho bi n tr ắ ầ c khi b t đ u ướ ộ ệ ề s d ng nó. ử ụ
2.4 Các ki u d li u (Data types) ể ữ ệ
Các lo i d li u khác nhau đ c l u tr trong bi n là : ạ ữ ệ ượ ư ữ ế
S (Numbers) ố
Ví d : 10 hay 178993455.
Ví d : 15.22 hay 15463452.25. ng. • Các s nguyên. ố ụ • Các s th c. ố ự ụ • Các s d ố ươ • Các s âm. ố
Tên. Ví d : John. ụ
ị ậ Ví d : Y hay N. Giá tr lu n lý. ụ
c l u tr trong các bi n có ki u d li u khác nhau, nó yêu c u dung l ữ ệ ượ ư ữ ệ ữ ế ể ầ ượ ng b nh ộ ớ Khi d li u đ s khác nhau. ẽ
Dung l c ch đ nh cho m t bi n tùy thu c vào ki u d li u c a nó. ượ ng b nh đ ộ ớ ượ ể ữ ệ ủ ế ộ ộ ỉ ị
ị ữ ệ ộ ơ ế ể ả ộ ớ ộ ớ ộ ị Ð ch đ nh b nh cho m t đ n v d li u, chúng ta ph i khai báo m t bi n v i m t ki u d li u ữ ệ ể ỉ c th . ụ ể
ộ ế ộ ộ ớ
c l u tr trong bi n. Vì v y, m t ki u d li u s mô t ớ ế Dung l c tham chi u thông qua tên c a bi n. ữ ụ ớ ượ ấ ể ộ ủ ượ ư ữ ệ ẽ ữ ệ ậ c gán cho bi n. Vùng b nh đó sau này Khai báo m t bi n có nghĩa là m t vùng nh nào đó đã đ ượ ế c c p cho bi n b i h đi u ng b nh đ s đ ở ệ ề ế ộ ượ ế ẽ ượ ả ạ lo i hành ph thu c vào ki u d li u đ ế ộ d li u phù h p v i bi n. ớ ợ ữ ệ ể ế
D ng th c chung cho vi c khai báo m t bi n: ứ ệ ế ạ ộ
Ki u d li u ể ữ ệ (Tên bi n)ế
4
L p trình c b n C
ơ ả
ậ
ng đ c dùng trong các công c l p trình có th đ c phân chia thành: Ki u d li u th ể ữ ệ ườ ượ ụ ậ ể ượ
ữ ư – l u tr thông tin mô t 1 Ki u d li u s - l u tr giá tr s . ể ữ ệ ố ị ố 2 Ki u d li u ký t ể ữ ệ ự ư ữ ả
ể ữ ậ i Visual Basic đ int trong khi đó t integer. T c g i là ượ ọ ạ c g i trong C là ự ượ ặ ượ ư ữ ố char trong C trong khi đó trong Visual Basic nó đ ể ữ ệ c đ t tên là ng h p nào, các d li u đ ợ c dùng trong m t công c ph i đ ộ ữ ệ ụ ả ượ ể ộ Nh ng ki u d li u này có th có tên khác nhau trong các ngôn ng l p trình khác nhau. Ví d , m t ể ữ ệ ữ ụ ự ki u d li u s đ , ng t ươ ể ữ ệ ố ượ ọ đ m t ki u d li u ký t c đ t tên ượ ặ ể ữ ệ ộ c l u tr luôn gi ng nhau. Ði m khác duy là string. Trong b t c tr ấ ứ ườ ượ c c khai báo theo tên c a ki u d li u đ nh t là các bi n đ ủ ượ ế ấ h tr b i chính công c đó. ỗ ợ ở ụ
ể ữ ệ ơ ả ấ ả ữ ố ữ ự ể ộ C có 5 ki u d li u c b n. T t c nh ng ki u d li u khác d a vào m t trong s nh ng ki u này. ể ữ ệ 5 ki u d li u đó là: ể ữ ệ
int là m t s nguyên, v c b n nó bi u th kích c t float và double đ có th có t i 6 con s ph n sau d u th p phân, trong khi ầ ể ấ 10 con s ph n th p phân. ố ầ ế c dùng đi n hình đ khai báo m t hàm không tr v giá tr . Ði u này s đ ượ
char chi m 1 byte và có kh năng l u m t ký t void đ ể . h n trong ph n hàm ơ
integers). ể ộ ố ề ơ ả ượ nhiên c a các s nguyên ( ỡ ự ộ ấ ố double chi m 8 bytes và có th có t ớ ủ ị ố ể float (s th c) c dùng cho các s có d u ch m đ ng. Ki u ấ ế ố ậ ố ự chi m 4 byte và ế ớ i ể ậ đ n ( ự ơ character). ư c nói rõ ả ề ả ể ộ ộ ề ị ẽ ượ ầ
ng nh và ph m vi giá tr c a nh ng ki u này thay đ i theo m i lo i b x lý và vi c cài ượ ạ ộ ử ị ủ ữ ệ ể ạ ớ ổ ỗ Dung l đ t các trình biên d ch C khác nhau. ặ ị
Các con s d u ch m đ ng đ c dùng đ bi u th các giá tr c n có đ chính xác ố ấ ấ ộ ượ ể ể ị ầ ộ ị ở ầ ph n L u ý:ư th p phân. ậ
Ki u d li u int ể ữ ệ
d li u s và là m t trong nh ng ki u d li u c b n trong b t c ể ữ ệ ư ữ ữ ệ ơ ả ấ ứ ữ ố Là ki u d li u l u tr ữ ệ ngôn ng l p trình nào. Nó bao g m m t chu i c a m t hay nhi u con s . ố ộ ỗ ủ ể ề ữ ậ ộ ộ ồ
m t giá tr s nguyên trong m t bi n tên là ‘num’, ta khai báo nh ụ ể ư ữ ộ ị ố ế ộ ư Thí d trong C, đ l u tr sau:
int num;
ữ ấ ứ ể ữ ệ ư i 32767 đ ữ ệ ố Ki u d li u s ể ấ c l u tr . H đi u hành c p ệ ề ữ c khai báo ki u int. Ví d : 12322, 0, -232. Bi n ế num không th l u tr ể ư này cho phép các s nguyên trong ph m vi -32768 t ố phát 16 bit (2 byte) cho m t bi n đã đ ộ b t c ki u d li u nào nh “Alan” hay “abc”. ớ ế ượ ư ụ ạ ượ ế
ế ị ế ế ể num thì bi n này là bi n ki u s ố ằ ố N u chúng ta gán giá tr 12322 cho nguyên và 12322 là h ng s nguyên.
Ki u d li u s th c (float) ể ữ ệ ố ự
c dùng đ l u tr các giá tr ch a ph n th p phân. Trình ộ ữ ệ ố ự ượ ị ứ ể ư ữ ầ ậ M t bi n có ki u d li u s th c đ ể ế t các ki u d li u biên d ch phân bi ệ ể ữ ệ float và int. ị
5
Bi n và Ki u d li u ể ữ ệ
ế
ể ữ ệ int ch bao g m các s nguyên, trong khi ki u ồ ố ỉ Ði m khác nhau chính c a chúng là ki u d li u ể ủ ể thêm c các phân s . ữ ệ float có th l u gi d li u ố ể ư ữ ả
m t giá tr ể ư ữ ộ ị float trong m t bi n tên g i là ‘num’, vi c khai báo s ọ ế ệ ộ ẽ Ví d , trong C, đ l u tr ụ nh sau : ư
float num;
ữ ệ ể ư ể ộ ớ ố i 6 con s . Bi n đã khai báo là ki u d li u float có th l u giá tr th p phân có đ chính xác t Bi n này đ c c p phát 32 bit (4 byte) c a b nh . Ví d : 23.05, 56.5, 32. ủ ộ ị ậ ụ ượ ấ ế ế ớ
ế ế ố ế ị ự ự ằ ộ ố N u chúng ta gán giá tr 23.5 cho num, thì bi n num là bi n s th c và 23.5 là m t h ng s th c.
Ki u d li u double ể ữ ệ
c l u tr v ị ượ ư ượ ể ể ữ ệ ể i h n v dung l ớ ạ ề double có th l u tr nhi u h n kho ng hai l n s ơ ề t quá gi ữ ữ ượ ể ư ng c a ủ ầ ố ả ữ ệ double đ c dùng khi giá tr đ Ki u d li u ượ ki u d li u ữ ệ float. Bi n có ki u d li u là ế ể float. các ch s c a ki u ữ ố ủ
ữ ố ể ữ ệ float ho cặ double có th l u tr ể ư ữ tùy thu c vào h ộ ệ S các ch s chính xác mà ki u d li u . đi u hành c th c a máy tính ụ ể ủ ố ề
c l u tr c xem nh nhau trong h ố ượ ư trong ki u d li u ể ư ử ụ ữ ệ float hay double đ ể ệ ể t ki m b nh m t n a so v i ki u ớ ộ ử ữ ệ float ti ượ ộ ế ệ ớ Các con s đ ữ th ng tính toán. Tuy nhiên, s d ng ki u d li u ố ữ ệ double. d li u
i 10 con s ). M t bi n khai báo ki u d ể ữ ệ double cho phép đ chính xác cao h n (t ộ ơ ớ ể ế ố ộ ữ Ki u d li u li u ệ double chi m 64 bit (8 byte) trong b nh . ớ ế ộ
Thí d trong C, đ l u tr m t giá tr ể ư ữ ộ ụ ị double cho m t bi n tên ‘num’, khai báo s nh sau: ẽ ư ế ộ
double num;
ế ế ị ế ể ể ằ ộ N u chúng ta gán giá tr 23.34232324 cho num, thì bi n num là bi n ki u double và 23.34232324 là m t h ng ki u double.
Ki u d li u char ể ữ ệ
c dùng đ l u tr m t ký t đ n. ể ữ ệ char đ ượ ữ ộ ể ư ự ơ
đ n đ c bao đóng trong hai d u nháy đ n (‘’). ể ộ ữ ệ char có thể l u m t ký t ư ộ ự ơ ượ ấ ơ Ki u d li u M t ki u d li u Thí d ki u d li u ụ ể ữ ệ char nh :ư ‘a’, ‘m’, ‘$’ ‘%’.
ể ư ự ằ ữ ố ặ ấ b ng cách bao chúng bên trong c p d u nháy ư cợ ư nh ng ký t ữ ữ ữ ầ ị ố ụ ẽ ẫ ớ Ta có th l u tr nh ng ch s nh ữ đ n. Không nên nh m l n chúng v i nh ng giá tr s . Ví d , ‘1’, ‘5’ và ‘9’ s không đ ơ nh m l n v i nh ng s 1, 5 và 9. ữ ầ ẫ ố ớ
Xem xét nh ng câu l nh c a mã C d i đây: ữ ủ ệ ướ
char gender; gender='M';
6
L p trình c b n C
ơ ả
ậ
ầ ủ ể ế ở ạ ữ ệ char. Hàng th hai l u gi ư và ‘M’ là m t h ng ký t ự ứ ộ ằ m t giá tr ữ ộ . Bi n này đ ế ị ư cợ ự Hàng đ u tiên khai báo bi n ế gender c a ki u d li u kh i t o cho nó là ‘M’. Bi n gender là m t bi n ký t ộ ế c p phát 8 bit (1 byte) trong b nh . ớ ấ ộ
Ki u d li u void ể ữ ệ
t g i là ộ ặ ể ữ ệ ể ữ ệ ữ ệ ủ ấ ứ ể void. Ki u d li u này ch cho trình biên d ch C bi ỉ ố ườ ả ề ữ ệ ế ằ t r ng ị ộ ng tr v d li u thu c m t ộ ể c s d ng đ ượ ử ụ ể ữ ệ void đ ể ả ề ộ C có m t ki u d li u đ c bi ệ ọ không có d li u c a b t c ki u nào. Trong C, các hàm s th ki u nào đó. Tuy nhiên, khi m t hàm không có gì đ tr v , ki u d li u ch ra đi u này. ề ể ỉ
2.4.1 Nh ng ki u d li u c b n và d n xu t ấ ể ữ ệ ơ ả ữ ẫ
trên đ ố ậ ở ả ữ ệ ớ ủ ữ ể ộ c s d ng cho vi c ệ ể ư c s a đ i ợ ử ổ ượ c ế ả ố ộ nh ng ki u c b n này. B n ki u d li u (char, int, float và double) mà chúng ta đã th o lu n ượ ử ụ ể ữ ệ trình bày d li u th c s trong b nh c a máy tính. Nh ng ki u d li u này có th đ ữ ệ sao cho phù h p v i nh ng tình hu ng khác nhau m t cách chính xác. K t qu , chúng ta có đ ợ các ki u d li u d n xu t t ể ữ ệ ự ự ữ ớ ấ ừ ữ ẫ ể ơ ả
đ ơ ả ổ ợ ữ ệ ữ ệ ể ể
c s d ng đ thay đ i ki u d li u c b n nh m phù h p v i các tình ằ ể ượ ử ụ ổ ừ t c các ki u d li u khác có th cho phép nh ng b t ạ ừ ể void, t ki u ể ấ ả signed, unsigned, long và short. T t c chúng có ớ ổ ừ ượ ử ụ ụ c áp d ng ổ ừ long cũng có th đ và ki u s nguyên. B t c s d ng v i C là ự ớ ữ ấ ả ể ượ đ ữ ệ ể ố ụ ể (modifier) M t b t ộ ổ ừ hu ng đa d ng. Ngo i tr ạ ố đ ng tr c chúng. B t ướ ứ th để ư c áp d ng cho d li u ki u ký t ợ cho double.
M t vài b t nh : ổ ừ ư ộ
1. 2. 3. unsigned long short
ặ ư c khai báo bi n thông th ế ộ khóa c a b t ấ i thích chi ti này và cách th c s d ng chúng đ ầ ớ t v các b t ổ ừ ế ề ả ờ ứ ử ụ ư ng m t trong ộ ư- Ð khai báo m t bi n ki u d n xu t, chúng ta c n đ t tr ế ể ẫ ể . M t gi nh ng t ộ ủ ổ ừ ừ ữ i.ướ c trình bày bên d ợ
ấ ấ
Các ki uể có d u (signed) và không d u(unsigned)
ộ ố ộ ố ặ ọ ị Khi khai báo m t s nguyên, m c đ nh đó là m t s nguyên có d u. Tính quan tr ng nh t c a ấ ủ signed là đ b sung cho ki u d li u char, vì char là ki u không d u theo m c đ nh. vi c dùng ể ữ ệ ặ ị ể ổ ấ ể ệ ấ
này có th đ ỉ ể ế ơ ỉ ớ ụ ể ể ư c sợ ử ị ư ng. B t ổ ừ ữ ữ ệ float. Ki u ể unsigned có th áp d ng cho ki u d ể ể ể portability) c a mã ủ ả ng h p nh ng đi u này gi m b t tính kh chuy n ( ả ư ề ớ ợ Ki u ể unsigned ch rõ r ng m t bi n ch có th có giá tr d ộ ằ d ng v i ki u d li u ữ ệ int và ki u d li u ụ ể li u float trong vài tr ườ ệ l nh.ệ
c ki u d li u ướ ể ữ ệ int, mi n giá tr cho nh ng s d ố ư ng có th ữ ề ơ ị ể c tăng lên g p đôi. V i vi c thêm t ừ unsigned vào tr ệ ớ đ ấ ượ
bên d ữ ể ư i, nó khai báo m t bi n theo ki u ế ộ ớ Ta xem nh ng câu l nh c a mã C cung c p ấ ở unsigned int và kh i t o bi n này có giá tr 23123. ệ ở ạ ủ ế ị
unsigned int varNum; varNum = 23123;
7
Bi n và Ki u d li u ể ữ ệ
ế
ấ ằ ế ẫ ể ể ư nguyên. Nghĩa là, bi n varNum đ ữ ộ ị ữ i 32767 mà ki u 0 đ n 65535, thay vì là -32768 t ư- ế ể unsgned int ỗ ợ ể int h tr . ả ớ Chú ý r ng không gian c p phát cho ki u bi n này v n gi c c p phát 2 byte nh khi nó dùng ki u int. Tuy nhiên, nh ng giá tr mà m t ki u ợ ấ h tr s n m trong kho ng t ỗ ợ ẽ ằ Theo m c đ nh, int là m t ki u d li u có d u. ộ ừ ế ể ữ ệ ặ ị ấ
Các ki u long và short ể
ề ề ắ ặ ơ ườ ộ ố ợ ụ ầ ắ ng và m t b t ể ữ ệ ợ ơ ơ ề ầ Chúng đư c s d ng khi m t s nguyên có chi u dài ng n h n ho c dài h n chi u dài bình ợ ử ụ ơ ề ộ ổ ừ short đư c áp d ng cho ki u d li u khi chi u dài yêu c u ng n h n chi u ng. M t b t th ề dài s nguyên bình th ề ộ ổ ừ long đư c dùng khi chi u dài yêu c u dài h n chi u ố dài s nguyên bình th ố ườ ư ng.ờ
ợ ử ụ ổ ừ short đư c s d ng v i ki u d li u ử ổ ướ ể ớ ữ ệ int. Nó s a đ i ki u d li u int theo h ế ớ ơ ế ể ộ ộ ng chi m ế ữ ệ 16 bit (2 byte) thì m t bi n ế ữ ạ 8 bit (1 byte) và cho phép nh ng s có trong ph m ở ậ ỉ ữ ữ ế ố B t ể ít v trí b nh h n. B i v y, trong khi m t bi n ki u int chi m gi ộ ị ki u ể short int (ho c ch là short), chi m gi vi t ặ i 127. -128 t ừ ớ
ng ng m t mi n giá tr r ng h n. Nó có th đ ổ ừ long đư c s d ng t ị ộ ề ộ ơ ể c s d ng v i ki u d li u ợ ử ụ ươ ư ớ ki u d li u ể ượ ử ụ ể ứ ữ ệ double. Khi đ ừ ữ ế ả 128 bit (16 byte). , ki u ng t B t int cũng nh v i nh ng giá tr s trong kho ng t ị ố ữ byte). T ự c s d ng v i ớ ượ ử ụ ậ ữ ệ int, bi n ch p nh n ấ ế ớ 32 bit ( 4 -2,147,483,648 đ n 2,147,483,647 và chi m gi ữ ể long double c a m t bi n chi m gi ế ế ươ ủ ế ộ
M t bi n sau: ế long int đư c khai báo nh ợ ộ ư
long int varNum;
ể ượ ơ ộ ố long integer có th đ ể ượ c short int hay short. , ta có Nó cũng có th đ khai báo như long int hay ch là c khai báo đ n gi n nh long varNum. M t s ư ng t ự ả long. T ươ ỉ
ả i đây trình bày ph m vi giá tr cho các ki u d li u khác nhau và s bit nó chi m gi ể ữ ệ ế ạ ố ị ữ ự d a NSI. B ng d ướ theo tiêu chu n Aẩ
ượ ng x p x (đ n v là bit) ấ ỉ ơ ị i 127
ớ i 255 ớ i 32,767 i 127 ớ i 65,535 ư ể ớ
iớ 2,147,483,647
ố ớ
Ki uể char unsigned signed char int unsigned int signed int short int unsigned short int signed short int long int signed long int unsigned long int float double long double Dung l 8 8 8 16 16 16 16 16 16 32 32 32 32 64 128 Ph m vi ạ -128 t 0 t ớ -128 t -32,768 t 0 t ớ Gi ng nh ki u int ố i 127 -128 t 0 t i 65, 535 ớ Gi ng nh ki u short int ư ể ố -2,147,483,648 t Gi ng nh ki u long int ư ể 0 t i 4,294,967,295 6 con s th p phân ố ậ 10 con s th p phân ố ậ 10 con s th p phân ố ậ
Table 2.1: Các ki u d li u và ph m vi ể ữ ệ ạ
Thí d sau trình bày cách khai báo nh ng ki u d li u trên. ể ữ ệ ữ ụ
Ví d 2:ụ
8
L p trình c b n C
ơ ả
ậ
main() {
char abc; int xyz; float length; double area; long liteyrs; short arm; /*abc of type character */ /*xyz of type integer */ /*length of type float */ /* area of type double */ /*liteyrs of type long int */ /*arm of type short integer*/ }
Chúng ta xem l ng tr c. Mã gi nh sau : ạ i ví d c ng hai s và hi n th t ng ố ụ ộ ị ổ ể ch ở ươ ướ ả ư
Ví d 3:ụ
BEGIN
INPUT A, B C = A + B DISPLAY C END
ụ ị ượ ộ ế ậ ổ ị ế c c ng và t ng đ ế ữ ằ c nh p. Các giá tr đ ệ s h c c a C ầ ở ượ ư Trong ví d này, các giá tr cho hai bi n A và B đ c l u ượ cho bi n C b ng cách dùng câu l nh C = A + B. Trong câu l nh này, A và B là nh ng bi n và ký ữ hi u + g i là toán t ph n sau đây. Tuy nhiên, có nh ng ọ lo i toán t ử khác trong C s đ ph n k ti p. ệ . Chúng ta s nói v toán t ử ố ọ ủ ẽ c bàn t ế ế ầ ẽ ượ ề i ớ ở ệ ạ ử
2.5 Các toán t s h c (Arithmetic Operators) ử ố ọ
ữ ữ ệ ư cợ ử ố ọ ư c s d ng đ th c hi n nh ng thao tác mang tính s h c. Chúng đ unary) và toán t ố ọ binary). s h c hai ngôi ( s h c đ Nh ng toán t chia thành hai l p : Toán t ớ ợ ử ụ ể ự s h c m t ngôi ( ử ố ọ ử ố ọ ộ
B ng 2.2 li s h c và ch c năng c a chúng. ả ệ t kê nh ng toán t ữ ử ố ọ ủ ứ
m t ngôi hai ngôi ử ộ ử ấ
Các toán t - ++ -- Ch c năng ứ L y đ i s ố ố Tăng m t giá tr ị ộ Gi m m t giá tr ị ộ ả ầ ư
Các toán t + - * % / ^ Ch c năng ứ C ngộ Trừ Nhân L y ph n d ấ Chia L y s mũ ấ ố
B ng 2.2: Các toán t s h c và ch c năng ả ử ố ọ ứ
Các toán t hai ngôi ử
ử ứ ữ ữ ố ữ ệ ụ ẵ ợ ụ ặ ầ ố ư ủ ố ế ữ ụ ả ớ Trong C, các toán t ử hai ngôi có ch c năng gi ng nh trong các ngôn ng khác. Nh ng toán t ư nh +, -, * và / có th đ ử / ể ư c áp d ng cho h u h t ki u d li u có s n trong C. Khi toán t ế ầ ư ể ư nào s đẽ ư c c t b . Ví d , 5/2 , b t kỳ ph n d đ c áp d ng cho m t s nguyên ho c ký t ụ ợ ắ ỏ ự ấ ộ ố ượ ố s b ng 2 trong phép chia s nguyên. Toán t ử % s cho ra k t qu là s d c a phép chia s ả ẽ ế ẽ ằ nguyên. Ví d : 5%2 s có k t qu là 1. Tuy nhiên, ể % không th để ư c s d ng v i nh ng ki u ợ ử ụ ẽ có d u ch m đ ng. ấ ấ ộ
Chúng ta hãy xem xét m t ví d c a toán t s mũ. ụ ủ ộ ử ố
9^2
9
Bi n và Ki u d li u ể ữ ệ
ế
đây 9 là c s và 2 là s mũ. Ở ơ ố ố
S bên trái c a ‘^’ là c s và s bên ph i ‘^’ là s mũ. ơ ố ủ ả ố ố ố
K t qu c a 9^2 là 9*9 = 81. ả ủ ế
Thêm ví d khác: ụ
5 ^ 3
Có nghĩa là:
5 * 5 * 5
Do đó: 5 ^ 3 = 5 * 5 * 5 = 125.
mũ. Tuy nhiên, ANSI C không h ữ ư ữ ậ ỗ ợ ử ợ ừ ừ ể c đ nh nghĩa trong math.h. Cú pháp c a nó th hi n qua ví d sau: ượ ị ể ệ ủ ụ
ỗ
Ghi chú: Nh ng ngôn ng l p trình nh Basic, h tr toán t
tr ký hi u ^ cho phép tính lũy th a. Ta có th dùng cách khác tính lũy th a trong C là dùng hàm
ệ
pow() đã đ
...
#include
…. /* the following function will calculate x to the power y. */ z = pow(x, y); …. }
hai ngôi đ ụ ấ ả ử c dùng trong C. Chú ý r ng ta ch a nói v hàm ằ ư ề Ví d sau trình bày t printf() và getchar(). Chúng ta s bàn trong nh ng ph n sau. t c toán t ẽ ượ ữ ầ
Ví d 4:ụ
#include
: %d & %d\n", x, y); : %d\n", x + y); : %d\n", x - y); : %d\n", x * y); : %d\n", x / y); : %d\n", x % y); int x,y; x = 5; y = 2; printf("The integers are printf("The addition gives printf("The subtraction gives printf("The multiplication gives printf("The division gives printf("The modulus gives getchar(); }
K t qu là: ế ả
10
L p trình c b n C
ơ ả
ậ
: 5 & 2 : 7 : 3 The integers are The addition gives The subtraction gives The multiplication gives : 10
The division gives The modulus gives : 2 : 1
Các toán t m t ngôi (unary) ử ộ
Các toán t m t ngôi là toán t tr m t ngôi ‘-’, toán t tăng ‘++’ và toán t gi m ‘--’ ử ộ ử ừ ộ ử ử ả
Toán t tr m t ngôi ử ừ ộ
ố ố ể ỉ ạ ố ủ ổ ấ ừ ư ấ Ký hi u gi ng nh phép tr hai ngôi. L y đ i s đ ch ra hay thay đ i d u đ i s c a m t ộ ố ệ giá tr . Ví d : ụ ị
a = -75; b = -a;
ị -75 và b đ ượ ượ c s d ng nh th g i là toán t K t qu c a vi c gán trên là a đ ệ D u tr đ ư ế ọ ả ủ ừ c gán giá tr ử ộ ượ ử ụ c gán cho giá tr ị 75 (-(- 75)). m t ngôi vì nó ch có m t toán h ng. ạ ỉ ế ấ ộ
Nói m t cách chính xác, không có toán t ộ ử ộ m t ngôi + trong C. Vì v y, m t l nh gán nh . ư ộ ệ ậ
invld_pls = +50;
ợ ệ ố ộ trong chu n c a C. Tuy nhiên, ủ ẩ khi mà invld_pls là m t bi n s nguyên là không h p l ế ư v y. ậ nhi u trình biên d ch không ph n đ i cách dùng nh ề ả ố ị
Các toán t Tăng và Gi m ử ả
h u ích mà ta không tìm th y đ ử ữ ấ ượ ữ ữ m t đ n v ộ ơ ++ thêm vào toán h ng c a nó ạ c trong nh ng ngôn ng máy tính ị, trong khi toán tử ủ C bao ch a hai toán t ứ khác. Chúng là ++ và --. Toán t -- gi m đi ả toán h ng c a nó ử ộ ơ ị. m t đ n v ủ ạ
C th : ụ ể x = x + 1;
c vi t là: có th để ượ ế
x++;
và: x = x - 1;
có th đ c vi t là: ể ượ ế
x--;
C hai toán t này có th đ ng tr ả ử ể ứ ướ c ho c sau toán h ng, ch ng h n: ạ ạ ẳ ặ
x = x + 1;
có th đ c vi i là ể ượ t l ế ạ
x++ hay ++x;
11
Bi n và Ki u d li u ể ữ ệ
ế
Và cũng t ng t cho toán t --. ươ ự ử
a = 10;
ướ ử ộ ứ ệ ạ c hay sau trong toán t đ ng tr ớ ử ứ ị ủ ử ụ ả ạ đi sau toán h ng, thì giá tr c a toán h ng đ c s d ng tr ư- m t ngôi th t s có ích khi nó đ ậ ự ư c toán h ng, C th c hi n vi c tăng ự pre-fixing). ề ặ ư c khi tăng ho c ị ủ ử ớ ạ S khác nhau gi a vi c x lý tr ữ ộ ợ ho c gi m giá tr tr ị N u toán t gi m giá tr c a nó. Ðây là h u x lý ( post-fixing). Xem xét ví d sau : ự ệ ử c dùng trong m t bi u th c. Khi toán t ể ệ c khi s d ng giá tr c a toán h ng. Ðây là ti n x lý ( ặ ướ ế ạ ả ượ ử ụ ụ ử ị ủ ậ ử
b = 5; c = a * b++;
ờ ủ ứ ể ị ủ ư c s d ng cho tính toán và sau đó giá tr c a Trong bi u th c trên, giá tr hi n th i c a b đ b s tăng sau. T c là, c đ c tăng lên thành 6. ị ệ ợ ư c gán 50 và sau đó giá tr c a b đ ợ ử ụ ị ủ ứ ẽ ượ
Tuy nhiên, n u bi u th c trên là: ứ ế ể
c = a * ++b;
c tăng 1 tr ị ủ ở ượ ướ ớ c khi th c hi n phép nhân v i ự ệ thì giá tr c a c s là 60, và b s là 6 b i vì b đ a, sau đó giá tr đ ẽ c gán vào c. ẽ ị ượ
thì toán t ng h p mà tác đ ng c a vi c tăng hay gi m là riêng l ệ ả ợ ẻ ử ể ứ có th đ ng c ho c sau toán h ng đ u đ c. Trong tr tr ướ ườ ặ ạ ộ ủ ề ượ
12
L p trình c b n C
ơ ả
ậ
ầ ệ ệ ấ ị t h n so v i khi ta dùng toán t ả ố ớ gán. Vì v y, các toán t ậ ử ả ớ c dùng b t c khi nào có th . ị H u h t trình biên d ch C sinh mã r t nhanh và hi u qu đ i v i vi c tăng và gi m giá tr . ả ế Mã này s t tăng và gi m nên ử đ ượ ẽ ố ơ ấ ứ ể
Tóm t ắ t bài h c ọ
Thông th t m th i d li u này. N i mà d li u đ ạ
ng, khi ch ể ư ứ ầ ơ ữ ng trình ng d ng c n x lý d li u, nó c n có n i nào đó đ l u tr ữ ệ ươ ộ ơ ử c l u tr g i là b nh ữ ọ ầ ụ ữ ệ ượ ư ườ ờ ữ ệ ớ.
Các ngôn ng l p trình hi n đ i ngày nay cho phép chúng ta s d ng các tên t ử ụ ữ ậ ượ ọ bi n (variable), dùng đ ch đ n m t vùng trong b nh n i mà các giá tr c th đ ị ụ ể ượ ư ớ ơ ế ộ ộ ệ ạ ể ỉ ế ng tr ng g i là ư c l u tr . ữ
Không có gi i h n v s v trí b nh mà m t ch ng trình có th dùng. ớ ạ ề ố ị ộ ộ ớ ươ ể
M t h ng ( ộ ằ
constant) là m t giá tr không bao gi b thay đ i. ộ ị ờ ị ổ
Tên c a các bi n (variable), các hàm (function), các nhãn (label) và các đ i t ng khác nhau do ố ượ ế ủ i dùng đ nh nghĩa g i là đ nh danh. ng ọ ị ị ườ
T t c ngôn ng dành m t s t nh t đ nh cho m c đích riêng. Nh ng t này đ c g i là là “t ộ ố ừ ấ ị ấ ả ụ ữ ữ ừ ượ ọ ừ khóa” (keywords).
Các ki u d li u chính c a C là character, integer, float, double và void. ể ữ ệ ủ
c s d ng đ thay đ i ki u d li u c b n sao cho phù h p v i nhi u tình ể ơ ả ợ ề ữ ệ c s d ng trong C là đ ớ signed, unsigned, long và short. M t b t ộ ổ ừ đ ượ ử ụ hu ng đa d ng. Các b t ạ ố ể ổ ổ ừ ượ ử ụ
C h tr hai lo i toán t s h c: m t ngôi và hai ngôi. ỗ ợ ạ ử ố ọ ộ
tăng ‘++’ và toán t gi m ‘--’ là nh ng toán t ử ả ữ ử ộ ế m t ngôi. Nó ch ho t đ ng trên bi n ạ ộ ỉ Toán t ử ki u s . ể ố
Toán t ử hai ngôi s h c là +, -, *, /, %, nó ch tác đ ng lên nh ng h ng s , bi n hay bi u th c. ộ ố ọ ữ ứ ế ể ằ ố ỉ
13
Bi n và Ki u d li u ể ữ ệ
ế
ph n d ‘%’ ch áp d ng trên các s nguyên và cho k t qu là ph n d c a phép chia ư ủ ụ ư ế ầ ả ầ ố ỉ ử Toán t s nguyên. ố
1 C có phân bi
Ki m tra ti n đ h c t p ế ộ ọ ậ ể
t ch th ng và hoa. (True / False) ệ ữ ườ
3 Ký t
2 S 10 là m t _______________. ố ộ
4 Dùng ki u _________ s ti
(True / False) ự ầ ủ ị đ u c a đ nh danh có th là m t s . ộ ố ể
ẽ ế ể ớ t ki m b nh do nó chi m ch n a không gian nh so v i ỉ ử ế ệ ớ ớ ộ _________.
c dùng đ ch cho trình biên d ch C bi t r ng không có giá tr nào ượ ể ỉ ị ế ằ ị đ 5 Ki u d li u _______ đ ể ữ ệ c tr v . ả ề ượ
6 _______ và _______ là hai nhóm toán t s h c. ử ố ọ
ộ A. Bitwise & và | C. Lu n lý AND B. M t ngôi và hai ngôi D. Không câu tr l i nào c ậ ả ờ ả
7 Các toán t m t ngôi s h c là __ và __. ử ộ ố ọ
14
L p trình c b n C
ơ ả
ậ
A. ++ và -- C. ^ và $ B. % và ^ D. Không câu tr l i nào c ả ờ ả
1.
Bài t p t làm ậ ự
Ch n t ng ng cho c t ọ ươ ứ ộ A và B:
C t Bộ C t Aộ
8
Tên đ nh danh sai 10.34 ị
ABC H ng s nguyên ố ằ
H ng ký t abc ằ ự
Double 23
12112134.86868686886 S ch m đ ng ố ấ ộ
Tên đ nh danh đúng _A1 ị
$abc
‘A’
H ng d n : ng ng t i m t m c đ n t i c t B. ẫ Nhi u m c trên c t A có th t ướ ể ươ ứ ụ ề ộ ớ ụ ơ ạ ộ ộ
2. Tính giá tr c a các bi n sau m i câu l nh d i đây: ị ủ ế ệ ỗ ướ
a. int a = 4^4
b. int a = 23.34
c. a = 10 b = a + a++
15
Bi n và Ki u d li u ể ữ ệ
ế
d. a = -5 b = -a