1. Trang chủ
  2. » Giáo Dục - Đào Tạo

LẬP TRÌNH CĂN BẢN - CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ C potx

13 451 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 236,46 KB

Nội dung

1 LẬP TRÌNH CĂN BẢN CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ C 2 Nộidung l Bộ chữ viếttrongC lCáctừkhóa l Cặpdấuchúthích l Cáckiểudữliệusơcấpchuẩn l Tênvàhằng l Biếnvàbiểuthức l CấutrúccủamộtchươngtrìnhC 3 Bộ chữ viếttrongC lBộchữ viếttrongCbaogồmcáckýtựsau: l 26 chữ cáilatinhlớnA,B,C Z l 26 chữ cáilatinhnhỏ a,b,c z. l 10 chữ số thậpphân0,1,2 9. l Cáckýhiệutoán học: +, -, *, /, =, <, >, ( ,) l Cáckýhiệu đặcbiệt: ., : ;" ' _ @ # $ ! ^ [ ] { } l Dấucáchhay khoảngtrống. l Phânbiệtchữ HOA HOA vàchữ thư thư ờ ờ ng ng 4 CáctừkhóatrongC lTừkhóalàcáctừdànhriêngcủaC: hàm, lệnh, thư viện,… l Không được dùngtừkhóa đểđặttêntrong chương trình. 5 Cặpdấuchúthích (comment) l Khibiêndịchcácphầnchúthíchbịbỏqua l Dùng/* và*/: chúthíchdàinhiềudòng l Dùng//: chúthíchchỉ 1 dòng #include <stdio.h> #include<conio.h> int main (){ char ten[50]; /* khaibaobien ten kieuchar 50 kytu */ printf(“Xinchobietten cuaban !”); scanf(“%s”,ten); /*Doc vao1 chuoila ten ban*/ printf(“Xinchaoban %s\n ”,ten); //Dung chuongtrinh, chogo phim getch(); return 0; } 6 Cáckiểudữliệusơcấpchuẩn l Kiểusốnguyên (integer) l 1 byte, 2 byte và4 byte l Códấu hay không dấu l Kiểusốthực (real) l Dấu chấm động l 4 byte, 8 byte và10 byte l Kiểu rỗng: void 7 Kiểusốnguyên l Được dùng để lưucác giátrị nguyên hay còngọilà kiểu đếm được. 8 Kiểusốthực l Đượcdùng để lưucác số thực hay cácsốcódấu chấmthậpphân l Kiểu void l Cóý nghĩalàkiểu rỗng khôngchứagiátrị gì l Vídụ: void main(){ ….} 9 Hàm sizeof() l Xác định kích thước 1 kiểu dữ liệu khi chạy chương trình (runtime) l Cúpháp: sizeof(tên kiểu dữ liệu) l Kết quả trả về: số byte kích thước l Vídụ: sizeof(int) sizeof(long double) 10 Kiểu enum (1) l enum gần giống với tiền xử lý #define. l Cho phép định nghĩa 1 danh sách các bídanh (aliase) để trình bày các số nguyên. l Vídụ: #define MON 1 #define TUE 2 #define WED 3 cóthể dùng enum: enum week{ Mon=1, Tue, Wed, Thu, Fri Sat, Sun} days; l Ưu điểm của enum so với #define lànó cóphạm vi, nghĩa là1 biến chỉ cótác dụng trong khối nó được khai báo. 11 Kiểu enum (2) 12 Kiểu enum (3) 13 TênvàhằngtrongC lTên (identifier) l Được dùng đểđặtcho chươngtrình, hằng, kiểu, biến, chươngtrìnhcon, l Có2 loại: l Tênchuẩn (từ khóa): làtêndo C đặtsẵnnhư tênkiểu: int, char, float,…; tênhàm: sin, cos l Têndo ngườilậptrìnhtựđặt. 14 Chúý khi đặt tên l Phân biệt HOA và thường 15 Têndo ngườilậptrìnhtựđặt l Vídụ: l Tên đặt hợp lệ: Chieu_dai, Chieu_Rong, Chu_Vi l Tên không hợp lệ: Do Dai, 12A2 l Phảituânthủ quytắc: l Sử dụng bộ chữ cái, chữ số vàdấu gạch dưới (_) l Bắt đầubằngmộtchữ cáihoặcdấugạchdưới. l Khôngcókhoảngtrống ở giữatên. l Không đượctrùngvớitừkhóa. l Độ dàitốiđacủatênlà32 kýtự, tuynhiêncầnđặtsao chorõràng, dễ nhậnbiếtvàdễnhớ. l Khôngcấmviệc đặttêntrùngvớitênchuẩnnhưngkhi đóý nghĩacủatênchuẩnkhôngcòngiátrị nữa. 16 Hằng(Constant) l Là đạilượng không đổi trongsuốtquátrìnhthực thichương trình => không thể gán lạI giátrị cho hằng l Hằng cóthể là: l 1 con số, 1kýtự l1 chuỗikýtự 17 Hằngsốthực l Giátrị kiểu: float, double, long double l 2 cáchthể hiện l Cách1:123.34 -223.333 3.00 -56.0 l Cách2:viếttheosốmũhay số khoahọc 1234.56e-3 = 1.23456 (làsố1234.56*10 -3 ) -123.45E4 = -1234500 ( là-123.45*10 4 ) 18 Hằngsốnguyên(1) l Hằngsốnguyên2 byte (int) hệ thậpphân l Sử dụng 10 ký số 0 9 l Hằngsốnguyên2 byte (int) hệ bátphân l Sử dụng 8kýsố0 7 l Cáchbiểudiễn: 0<cáckýsốtừ0 đến7> 19 Hằngsốnguyên(2) l Hằngsốnguyên2 byte (int) hệ thậplục phân l Làkiểusốnguyêndùng: l 10 kýsố0 9 và l 6 kýtựA, B, C, D, E ,F l Cáchbiểudiễn: 0x<cáckýsốtừ0 đến9 và6 kýtựtừA đến F> l Số thậplụcphân: 0xd n d n-1 d n-2 …d 1 d 0 20 Hằng số nguyên (3) l Vídụ: Kết quả của chương trình sau làgi? 21 Hằngsốnguyên(4) l Hằngsốnguyên4 byte (long) l Đượcbiểudiễnnhư số inttronghệthập phânnhưngkèmtheokýtựlhoặc L. l Vídụ: 45345L hay 45345l hay 45345 22 Hằngkýtự(char) l Vídụ: ‘a’, ‘A’, ‘0’, ‘9’ l Là1 kýtựđượcviếttrong cặpdấunháy đơn(‘). l Mỗimộtkýtựtương ứngvới 1 giátrị trongbảngmã ASCII. l Hằngkýtựcũng đượcxem như trị số nguyên. l Chúngtacóthể thựchiện cácphéptoán số họctrên2 kýtự(dùnggiátrị ASCII của chúng) ASCII = American Standard Code for Information Interchange 23 Hằngchuỗikýtự lVídụ: “Ngon ngu lap trinh C” l Là1chuỗihay 1 xâukýtựđược đặttrongcặpdấu nháykép (“). Chúý: l “”: chuỗirỗng -không cónội dung l Khilưutrữ trongbộnhớ, mộtchuỗi đượckếtthúcbằngký tự NULL (‘\0’: mãAsciilà0). l Để biểudiễnkýtựđặcbiệtbêntrongchuỗitaphảithêm dấu\phíatrước. l Vídụ: Viết “I\’m a student” cho “I’m a student” Viết “Day la kytu\“dacbiet\”” cho “Day la kytu“dacbiet”” 24 BiếnvàBiểuthức (variable and expression) l Biếndùng để chứadữliệutrongquátrìnhthựchiện chươngtrình. l Giátrị củabiếncóthể bị thay đổi. l Cúphápkhaibáobiến: <Kiểudữliệu> Danh sáchcáctênbiếncáchnhau bởidấu phẩy; 25 Khởi tạo giátrị cho biến lúc khai báo l Vídụ: l Cách viết giátrị cho biết luôn kiểu của nó: l Chúý:8864L cókiểu long, còn 8864 cókiểu int 26 Vị tríkhaibáobiến (1) l Biếnngoài l Được đặt bên ngoài tất cả các hàm l Ảnh hưởng đến toàn bộ chương trình (biếntoàn cục) 27 Vị tríkhai báo biến(2) l Biến trong l Được đặtbên trong hàm, chương trình chính hay một khối lệnh l Ảnh hưởng đến hàm, chương trình hay khối lệnh chứa nó (biến cục bộ). 28 Biểu thức (1) l Vídụ: (-b +sqrt(Delta))/(2*a) l Biểu thức làmột sự kết hợp giữa l Các toán tử (operator) và l Các toán hạng (operand) l Các loại toán tử trong C l Toán tử số học l Toán tử quan hệ vàlogic l Toán tử Bitwise l Toán tử ? l Toán tử contrỏ &và* l Toán tử dấu phẩy 29 Các toán tử số học (1) 30 Các toán tử số học (2) • Tăng vàgiảm(++ & ) ++x hay x++ giống x = x + 1 x hay x giống x = x –1 •Tuy nhiên: x = 10; y = ++x; //y = 11, x=11 • Còn: x = 10; y = x++; //y = 10, x=11 31 Các toán tử số học (3) l Đâu làsựkhác nhau? x++ trả về giátrị hiện hành của x và sau đó tăng x ++x tăng x trước và sau đótrả về giátrị mới của x 32 Biểu thức Boolean (boolean expression) l Chúý! Không cókiểu Boolean rõ ràng trong C. Thay vào đóC dùng các giátrị nguyên để tượng trưng cho giátrị Boolean, với qui ước: l Chúý! C dùng “=” cho phép gán, vàdùng “==“ cho phép so sánh. Nótrả về 1 nếu bằng và 0 nếu ngược lại false Giátrị 0 true Bất kỳ giátrị nào ngoại trừ 0 33 Các toán tử quan hệ vàcác toán tử Logic (1) l Các phép so sánh sau tạo ra các biểu thức logic cógiátrị kiểu Boolean 34 Các toán tử quan hệ vàcác toán tử Logic (2) l Vídụ: lCácbiểu thức logic trả về 0 nếu false(sai) 1 nếu true(đúng) 35 Các toán tử quan hệ vàcác toán tử Logic (3) l Bảng chân trị cho các toán tử Logic l Thứ tự ưu tiên l Vídụ:10>5&&!(10<9)||3<=4 => đúng (1) 36 Các toán tử Bitwise l Toán tử Bitwise giúp kiểm tra,gán hay thay đổi các bitthật sự trong1 bytecủaword. l Chỉ dùng cho kiểu char và int. 37 Toán tử ? l Toán tử ? thực hiện như lệnhif-else. l Cúpháp: E1? E2 : E3 l Vídụ: X = (10 > 9) ? 100 : 200; =>X=100 X = (10 >15 )? 100 : 200; =>X=200 38 Toán tử contrỏ &và* lVídụ: int *p; //con tro so nguyen int count=5, x; p= &count; =>Đặt vào biếnm địa chỉ bộ nhớ của biếncount l Toán tử * trả về nộidung củaô nhớ màmột con trỏ đang chỉ vào l Vídụ: x= *p;// x=5 39 Toán tử dấu phẩy l Vídụ: l x = (y=3,y+1); l Trước hết gán 3 cho y rồi gán 4 cho x. l Đượcsửdụng để kết hợp các biểu thức lại với nhau. l Bên trái của dấu(,) luôn được xem làkiểu void. l Biểu thức bên phải trở thành giátrị của tổng các biểu thức được phân cách bởi dấu phẩy. 40 Tổng kết về độ ưu tiên [...]... ngoài C i đặt c c hàm 44 Chia chương trình ra c c module (1) Tiền xử lý và biên dịch (preprocess and compile) l l C c chỉ thị định hướng (directive): l l l 1 chương trình ph c tạp c thể đư c chia ra vài module #include…, #define… C thể chứa c c lệnh ph c tạp như if-else Bộ tiền xử lý (preprocessor) sẽ thông dịch c c directive và xóa bỏ nó trư c khi cung c p cho trình biên dịch C 45 Chia chương trình. .. gán đư c viết gọn lại C u tr c c a 1 chương trình C (1) l C u tr c một chương trình C l Tiền xử lý và biên dịch l Prototype l C c tập tin thư viện thông dụng x= x y; c thể đư c viết gọn lại (short form): 41 C c tập tin thư viện thông dụng l l l l l l 43 C u tr c c a 1 chương trình C (2) stdio.h: Định nghĩa c c hàm vào/ra chuẩn (standard input/output):printf(), scanf(), getc(), putc(), gets(),... calloc(), realloc(), malloc(), free(), farmalloc(), farcalloc(), farfree(), … io.h: Định nghĩa c c hàm vào ra c p thấp: open(), _open(), read(), _read(), close(), _close(), creat(), _creat(), creatnew(), eof(), filelength(), lock(),… graphics.h: Định nghĩa c c hàm liên quan đến đồ họa: initgraph(), line(), circle(), putpixel(), getpixel(), setcolor(), … 42 C c chỉ thị tiền xử lý Chương trình chính Định... c c module (2) #define l l 47 l #define khai báo một tên macro (macro symbol) Sau đó, mỗi lần tên macro này xuất hiện, nó sẽ đư c thay thế bởi giá trị c a nó l Vấn đề: testmodule .c phải biết c c prototype c a foor và bar Giải pháp 1 (tệ): l l l Giải pháp 2 (tốt): l 46 Chèn tay c c prototype vào c c file c có dùng nó Bất lợi: Mỗi khi prototype bị thay đổi => phải chỉnh lại prototype trong tất c c c. .. /usr/include (linux) #include C: \\TC\\file.h”: tìm file.h trong đường dẫn 49 Header file l C c header file c thể chứa: Prototype cho c c hàm (function) l Định nghĩa kiểu (structs, unions, enums, typedefs) l (Định nghĩa c c class trong C+ +) l #define macro l #pragma cho compiler l C c biến toàn c c l C i đặt tr c tiếp c c hàm l 50 51 ... fopen(), fclose(), fread(), fwrite(), getchar(), putchar(), getw(), putw()… conio.h: Định nghĩa c c hàm vào ra trong chế độ DOS: clrscr(), getch(), getche(), getpass(), cgets(), cputs(), putch(), clreol(),… math.h: Định nghĩa c c hàm tính toán: abs(), sqrt(), log() log10(), sin(), cos(), tan(), acos(), asin(), atan(), pow(), exp(),… alloc.h: Định nghĩa c c hàm liên quan đến vi c quản lý bộ nhớ: calloc(),... tất c c c file c dùng nó Lưu c c prototype vào 1 file riêng biệt mymodule.h (h: header) 48 #include l Với #include, bộ tiền xử lý sẽ thêm và thay thế token #include filename bằng nội dung c a filename Hết chương l C c header file sẽ đư c tìm ở đâu? l l #include : tìm file.h trong thư m c đã đư c x c định trong INCLUDE DIRECTORIES Ho c trong /usr/include (linux) #include C: \\TC\\file.h”: tìm . 1 LẬP TRÌNH C N BẢN C C THÀNH PHẦN C BẢN C A NGÔN NGỮ C 2 Nộidung l Bộ chữ viếttrongC lCáctừkhóa l C pdấuchúthích l C ckiểudữliệus c pchuẩn l Tênvàhằng l Biếnvàbiểuth c l C utrúccủamộtchươngtrìnhC 3 Bộ. th c logic c giátrị kiểu Boolean 34 C c toán tử quan hệ v c c toán tử Logic (2) l Vídụ: lCácbiểu th c logic trả về 0 nếu false(sai) 1 nếu true(đúng) 35 C c toán tử quan hệ v c c toán tử Logic. compile) l C c chỉ thị định hướng (directive): l #include…, #define… l C thể chứa c c lệnh ph c tạp như if-else. l Bộ tiềnxửlý (preprocessor) sẽ thông dịch c c directive vàxóa bỏ nó trư c khi cung c p

Ngày đăng: 26/07/2014, 07:20

TỪ KHÓA LIÊN QUAN

w