Nội dung giáo trình Lập trình căn bản được chia thành 6 chương: Làm quen ngôn ngữ lập trình; các thành phần trong ngôn ngữ lập trình; các cấu trúc điều khiển; hàm và thủ tục; dữ liệu kiểu tập hợp, mảng và bản ghi; dữ liệu kiểu chuỗi. mời các bạn cùng tham khảo.
TRƯỜNG CAO ĐẲNG NGHỀ CÔNG NGHIỆP HÀ NỘI Chủ biên: Vũ Thị Kim Phượng Đồng tác giả: Nguyễn Thái Hà Giáo trình LẬP TRÌNH CĂN BẢN (Lưu hành nội bộ) Hà Nội năm 2011 Tuyên bố quyền Giáo trình sử dụng làm tài liệu giảng dạy nội trường cao đẳng nghề Công nghiệp Hà Nội Trường Cao đẳng nghề Công nghiệp Hà Nội không sử dụng không cho phép cá nhân hay tổ chức sử dụng giáo trình với mục đích kinh doanh Mọi trích dẫn, sử dụng giáo trình với mục đích khác hay nơi khác phải đồng ý văn trường Cao đẳng nghề Công nghiệp Hà Nội Chương I Giới thiệu ngôn ngữ C Giới thiệu a Tổng quan ngơn ngữ lập trình C C ngơn ngữ lập trình cấp cao, sử dụng phổ biến để lập trình hệ thống với Assembler phát triển ứng dụng Vào năm cuối thập kỷ 60 đầu thập kỷ 70 kỷ XX, Dennish Ritchie (làm việc phịng thí nghiệm Bell) phát triển ngơn ngữ lập trình C dựa ngơn ngữ BCPL (do Martin Richards đưa vào năm 1967) ngôn ngữ B (do Ken Thompson phát triển từ ngôn ngữ BCPL vào năm 1970 viết hệ điều hành UNIX máy PDP-7) cài đặt lần hệ điều hành UNIX máy DEC PDP-11 Năm 1978, Dennish Ritchie B.W Kernighan cho xuất “Ngơn ngữ lập trình C” phổ biến rộng rãi đến Lúc ban đầu, C thiết kế nhằm lập trình mơi trường hệ điều hành Unix nhằm mục đích hỗ trợ cho cơng việc lập trình phức tạp Nhưng sau, với nhu cầu phát triển ngày tăng cơng việc lập trình, C vượt qua khn khổ phịng thí nghiệm Bell nhanh chóng hội nhập vào giới lập trình để cơng ty lập trình sử dụng cách rộng rãi Sau đó, cơng ty sản xuất phần mềm đưa phiên hỗ trợ cho việc lập trình ngơn ngữ C chuẩn ANSI C khai sinh từ Ngơn ngữ lập trình C ngơn ngữ lập trình hệ thống mạnh “mềm dẻo”, có thư viện gồm nhiều hàm (function) tạo sẵn Người lập trình tận dụng hàm để giải tốn mà khơng cần phải tạo Hơn nữa, ngôn ngữ C hỗ trợ nhiều phép toán nên phù hợp cho việc giải tốn kỹ thuật có nhiều cơng thức phức tạp Ngồi ra, C cho phép người lập trình tự định nghĩa thêm kiểu liệu trừu tượng khác Tuy nhiên, điều mà người vừa học lập trình C thường gặp “rắc rối” “hơi khó hiểu” “mềm dẻo” C Dù vậy, C phổ biến rộng rãi trở thành cơng cụ lập trình mạnh, sử dụng ngơn ngữ lập trình chủ yếu việc xây dựng phần mềm Ngôn ngữ C có đặc điểm sau: o Tính đọng (compact): C có 32 từ khóa chuẩn 40 toán tử chuẩn, hầu hết biểu diễn chuỗi ký tự ngắn gọn o Tính cấu trúc (structured): C có tập hợp thị lập trình cấu trúc lựa chọn, lặp… Từ chương trình viết C tổ chức rõ ràng, dễ hiểu o Tính tương thích (compatible): C có tiền xử lý thư viện chuẩn vô phong phú nên chuyển từ máy tính sang máy tính khác chương trình viết C hồn tồn tương thích o Tính linh động (flexible): C ngôn ngữ uyển chuyển cú pháp, chấp nhận nhiều cách thể hiện, thu gọn kích thước mã lệnh làm chương trình chạy nhanh o Biên dịch (compile): C cho phép biên dịch nhiều tập tin chương trình riêng rẽ thành tập tin đối tượng (object) liên kết (link) đối tượng lại với thành chương trình thực thi (executable) thống Ngày có số ngơn ngữ lập trình cấp cao khác C++, C#, … Đây ngơn ngữ lập trình hướng đối tượng xem ngơn ngữ C nâng cấp Do đó, tồn bạn học ngơn ngữ C áp dụng cho ngơn ngữ nâng cấp b Mơi trường lập trình Turbo C Turbo C mơi trường hỗ trợ lập trình C hãng Borland cung cấp Môi trường cung cấp chức như: soạn thảo chương trình, dịch, thực thi chương trình… Phiên sử dụng Turbo C 3.0 + Gọi Turbo C Chạy Turbo C giống chạy chương trình khác mơi trường DOS hay Windows, hình xuất menu Turbo C có dạng sau: Dịng gọi menu (menu bar) Mỗi mục menu lại có nhiều mục nằm menu kéo xuống Dòng ghi chức số phím đặc biệt Chẳng hạn gõ phím F1 ta có hệ thống trợ giúp mà ta tham khảo nhiều thơng tin bổ ích Muốn vào menu ngang ta gõ phím F10 Sau dùng phím mũi tên qua trái phải để di chuyển vùng sáng tới mục cần chọn gõ phím Enter Trong menu kéo xuống ta lại dùng phím mũi tên lên xuống để di chuyển vùng sáng tới mục cần chọn gõ Enter Ta chọn mục menu cách giữ phím Alt gõ vào ký tự đại diện mục (ký tự có màu sắc khác với ký tự khác) Chẳng hạn để chọn mục File ta gõ Alt-F (F ký tự đại diện File) + Soạn thảo chương trình Muốn soạn thảo chương trình ta chọn mục New menu File (File ->New) Trên hình xuất vùng trống ta soạn thảo nội dung chương trình Trong trình soạn thảo chương trình ta sử dụng phím sau: Các phím xem thơng tin trợ giúp: - F1: Xem tồn thơng tin phần trợ giúp - Ctrl/F1: Trợ giúp theo ngữ cảnh (tức trỏ từ đo, chẳng hạn int mà bạn gõ phím Ctrl-F1 bạn có thơng tin kiểu liệu int) Các phím di chuyển trỏ vùng soạn thảo chương trình: Các phím xố ký tự/ dịng: Các phím chèn ký tự/ dịng: Sử dụng khối : Khối đoạn văn chương trình hình chữ nhật xác định đầu khối góc bên trái cuối khối góc bên phải hình chữ nhật Khi khối xác định (trên hình khối có màu sắc khác chỗ bình thường) ta chép khối, di chuyển khối, xoá khối Sử dụng khối cho phép soạn thảo chương trình cách nhanh chóng sau thao tác khối: Các phím, phím tắt thực thao tác khác: Ví dụ: Bạn gõ đoạn chương trình sau: #include #include int main () { char ten[50]; printf(“Xin cho biet ten cua ban !”); scanf(“%s”,ten); printf(“Xin chao ban %s”,ten); getch(); return 0; } + Ghi chương trình soạn thảo vào đĩa Sử dụng File/Save gõ phím F2 Có hai trường hợp xảy ra: - Nếu chương trình chưa ghi lần hội thoại xuất cho phép bạn xác định tên tập tin (FileName) Tên tập tin phải tuân thủ quy cách đặt tên DOS khơng cần có phần mở rộng (sẽ tự động có phần mở rộng C CPP nói thêm phần Option) Sau gõ phím Enter - Nếu chương trình ghi lần ghi thay đổi bổ sung lên tập tin chương trình cũ Chú ý: Để đề phịng điện soạn thảo chương trinh bạn nên gõ phím F2 Quy tắc đặt tên tập tin DOS: Tên tập tin gồm phần: Phần tên phần mở rộng o Phần tên tập tin phải bắt đầu ký tự từ a z (khơng phân biệt hoa thường), theo sau ký tự từ a z, ký số từ hay dấu gạch (_), phần dài tối đa ký tự o Phần mở rộng: phần dài tối đa ký tự Ví dụ: Ghi chương trình vừa nhập với tên CHAO.C + Thực chương trình Để thực chương trình dùng Ctrl-F9 (giữ phím Ctrl gõ phím F9) Ví dụ: Thực chương trình vừa soạn thảo xong quan sát hình để thấy kết việc thực thi chương trình sau gõ phím để trở lại với Turbo + Mở chương trình có đĩa Với chương trình có đĩa, ta mở để thực sửa chữa bổ sung Để mở chương trình ta dùng File/Open gõ phím F3.Sau gõ tên tập tin vào hộp File Name lựa chọn tập tin danh sách tập tin gõ Enter Ví dụ: Mở tập tin CHAO.C sau bổ sung để có chương trình sau: #include #include int main () { char ten[50]; printf(“Xin cho biet ten cua ban !”); scanf(“%s”,ten); printf(“Xin chao ban %s\n ”,ten); printf(“Chao mung ban den voi Ngon ngu lap trinh C”); getch(); return 0; } Ghi lại chương trình (F2) cho thực (Ctrl-F9) Hãy so sánh xem có khác trước? + Thốt khỏi Turbo C trở DOS (Windows) Dùng File/Exit Alt-X Khởi động chương trình - Khởi động vào chương trình Turbo C tương tự vào chương trình khác Windows cách Click vào biểu tượng shortcut Turbo C Desktop, vào Window Explorer, chọn ổ đĩa chứa thư mục Turbo C, vào thư mục Turbo C, vào thư mục BIN, khởi động tập tin TC.EXE - Thốt khỏi chương trình: Dùng File/Exit ấn tổ hợp phím Alt-X 10 ia[2], ia[7]… phần tử thứ 3, 8… mảng xem biến kiểu int 1.3 Nhập liệu cho mảng for (i = 0; i < 10; i++) //vịng for có giá trị i chạy từ đến { printf("Nhap vao phan tu thu %d: ", i + 1); scanf("%d", &ia[i]); } 1.4 Đọc liệu từ mảng for(i = 0; i < 10; i++) printf("%3d ", ia[i]); Ví dụ : Viết chương trình nhập vào n số ngun Tính in trung bình cộng Chương trình /* Tinh trung binh cong n so nguyen */ #include #include void main(void) { int ia[50], i, in, isum = 0; printf("Nhap vao gia tri n: "); scanf("%d", &in); //Nhap du lieu vao mang for(i = 0; i < in; i++) { 87 printf("Nhap vao phan tu thu %d: ", i + 1); scanf("%d", &ia[i]); //Nhap gia tri cho phan tu thu i } //Tinh tong gia tri cac phan tu for(i = 0; i < in; i++) isum += ia[i]; //cong don tung phan tu vao isum printf("Trung binh cong: %.2f\n", (float) isum/in); getch(); } Kết in hình Nhap vao gia tri n: Nhap vao phan tu thu 1: Nhap vao phan tu thu 2: Nhap vao phan tu thu 3: Trung binh cong: 5.33 _ * Điều xảy cho đoạn chương trình bạn nhập n > 50 bạn khai báo mảng ia tối đa 50 phần tử Bạn dùng lệnh if để ngăn chặn điều trước vào thực lệnh for Thay dòng 7, đoạn lệnh sau : { printf("Nhap vao gia tri n: "); scanf("%d", &in); } while (in 50); //chi chap nhan gia tri nhap vao khoang 50 Chạy chương trình nhập n với giá trị -6, 0, 51, Quan sát kết 88 1.5 Sử dụng kỹ thuật Sentinal Sử dụng kỹ thuật để nhập liệu giá trị cho phần tử mảng mà rõ số lượng phần tử nhập vào (không biết số n) Ví dụ : Viết chương trình nhập vào dãy số dương in tổng số dương Phác họa lời giải: Chương trình u cầu nhập vào dãy số dương mà trước số lượng phần tử cần nhập bao nhiêu, để chấm dứt nhập liệu thỏa mãn cách nhập vào số âm khơng Chương trình /* Nhap vao day so nguyen duong, in day chan, day le */ #include #include #define MAX 50 void main(void) { float fa[MAX], fsum = 0; int i = 0; { printf("Nhap vao phan tu thu %d: ", i + 1); scanf("%f", &fa[i]); //Nhap gia tri cho phan tu thu i } while (fa[i++] > 0); //con nhap lieu gia tri phan tu > i ; //giam i di lan cuoi cung tang truoc thoat //Tinh tong for(int ij = 0; ij < i; ij++) fsum += fa[ij]; //cong don tung phan tu vao isum printf("Tong : %5.2f\n", fsum); getch(); } 89 Kết in hình Nhap vao phan tu thu 1: 1.2 Nhap vao phan tu thu 2: Nhap vao phan tu thu 3: 4.6 Nhap vao phan tu thu 4: -9 Tong : 8.80 _ * Điều xảy cho đoạn chương trình bạn nhập số lượng phần tử vượt 50 bạn khai báo mảng fa tối đa MAX = 50 phần tử Bạn dùng lệnh break để thoát khỏi vòng lặp do…while trước bước sang phần tử thứ 51 Thêm đoạn lệnh sau vào trước dòng 11: if(i >= MAX) //kiem tra phan tu buoc sang 51 { printf("Mang da day!\n"); //thong bao "Mang da day" i++; break; //tang i len dong 14 giam i xuong //thoat khoi vong lap do…while } 1.6 Khởi tạo mảng Ví dụ : Có loại tiền 1, 5, 10, 25 50 đồng Hãy viết chương trình nhập vào số tiền sau cho biết số số tiền gồm loại tiền, loại tờ Phác họa lời giải: Số tiền 246 đồng gồm tờ 50 đồng, tờ 25 đồng, tờ 10 đồng, tờ đồng tờ đồng, Nghĩa bạn phải xét loại tiền lớn trước, hết khả xét tiếp loại Chương trình /* Nhap vao so tien va doi tien cac loai 50, 25, 10, 5, */ #include #include #define MAX 90 void main(void) { int itien[MAX] = {50, 25, 10, 5, 1}; //Khai bao va khoi tao mang voi phan tu int i , isotien, ito; printf("Nhap vao so tien: "); scanf("%d", &isotien); //Nhap vao so tien for (i = 0; i < MAX; i++) { ito = isotien/itien[i]; //Tim so to cua loai tien thu i printf("%4d to %2d dong\n", ito, itien[i]); isotien = isotien%itien[i]; //So tien lai sau da loai tru cac loai tien da co } getch(); } Kết in hình Nhap vao so tien: 246 tờ 50 đồng tờ 25 đồng tờ 10 đồng tờ đồng tờ đồng _ * Điều xảy số phần tử mảng lớn số mục, số phần tử dôi không khởi tạo điền vào số Nếu số phần tử nhỏ số mục khởi tạo trình biên dịch báo lỗi Ví dụ : int itien[5] = {50, 25}, phần tử itien[0] có giá trị 50, itien[1] có giá trị 25, 91 itien[2], itien[3], itien[4] có giá trị int itien[3] = {50, 25, 10, 5, 1} → trình biên dịch báo lỗi 1.7 Khởi tạo mảng khơng bao hàm kích thước Trong ví dụ giả sử ta khai báo int itien[] = {50, 25, 10, 5, 1} Khi trình biên dịch đếm số mục danh sách khởi tạo dùng số làm kích thước mảng 1.8 Mảng nhiều chiều Ví dụ : khai báo mảng chiều int ia[5][10]; với int kiểu mảng, ia tên mảng, số phần tử mảng x 10 Ý nghĩa: Khai báo mảng chiều số nguyên gồm 50 phần tử, phần tử có kiểu int 1.9 Tham chiếu đến phần tử mảng chiều Sau khai báo, phần tử mảng chiều có số để tham chiếu, số hàng số cột Chỉ số hàng đến số hàng – số cột đến số cột – Tham chiếu đến phần tử mảng chiều ia: ia[chỉ số hàng][chỉ số cột] 92 ia[3][2] phần tử hàng cột mảng chiều xem biến kiểu int 1.10 Nhập liệu cho mảng chiều for (i = 0; i < 5; i++) //vòng for có giá trị i chạy từ đến cho hàng for (ij = 0; ij < 10; ij++) //vòng for có giá trị ij chạy từ đến cho cột { printf("Nhap vao phan tu ia[%d][%d]: ", i + 1, ij + 1); scanf("%d", &ia[i][ij]); } * Thứ tự nhập liệu vào mảng chiều Chuỗi Chuỗi xem mảng chiều gồm phần tử có kiểu char mẫu tự, số ký tự đặc biệt +, -, *, /, $, #… Theo quy ước, chuỗi kết thúc ký tự null ('\0' : kí tự rỗng) Ví dụ: chuỗi "Infoworld" lưu trữ sau: 93 2.1 Cách khai báo chuỗi Ví dụ : char cname[30]; Ý nghĩa: Khai báo chuỗi cname có chiều dài 30 kí tự Do chuỗi kết thúc kí tự null, nên bạn khai báo chuỗi có chiều dài 30 kí tự chứa 29 kí tự Ví dụ : Nhập vào in tên Chương trình /* Chuong trinh nhap va in ten*/ #include #include void main(void) { char cname[30]; printf("Cho biet ten cua ban: "); scanf("%s", cname); printf("Chao ban %s\n", cname); getch(); } Kết in hình Cho biet ten cua ban: Minh Chao ban Minh Lưu ý: khơng cần sử dụng tốn tử địa & cname lệnh scanf("%s", fname), thân fname địa Dùng hàm scanf để nhập chuỗi có hạn chế sau: Khi bạn thử lại chương trình với liệu nhập vào Mai Lan, in bạn nhận Mai Vì hàm scanf nhận vào liệu đến gặp khoảng trắng kết thúc 94 2.2 Hàm nhập (gets), xuất (puts) Sử dụng hàm gets, puts phải khai báo #include - Hàm gets dùng để nhập chuỗi kí tự từ bàn phím thơng qua stdin Dạng hàm: char * gets(char *s); Hoạt động: Hàm tiến hành nhận dãy kí tự từ stdin gặp kí tự ‘\n’ (do stdin có sẵn kí tự ‘\n’ hàm gets khơng chờ người sử dụng nhập liệu vào nữa, ta nói hàm gets bị trơi) Kí tự ‘\n’ loại khỏi stdin không đặt vào chuỗi Chuỗi nhận tự động bổ sung thêm kí tự ‘\0’ để đánh dấu kết thúc chuỗi đặt vào vùng nhớ trỏ s trỏ tới Hàm trả địa chuỗi nhận Ví dụ để nhập từ bàn phím chuỗi kí tự lưu vào biến HoTen ta viết sau: Char HoTen[25]; gets(HoTen); - Hàm puts dùng để đưa chuỗi kí tự ngồi hình thơng qua stdout Dạng hàm: int puts(const char *s); Hoạt động: Hàm đưa chuỗi trỏ s quản lý kí tự ‘\n’ lên stdout Nếu thành công hàm trả kí tự cuối xuất (chính kí tự ‘\n’), ngược lại hàm trả EOF Ví dụ câu lệnh puts(“Hello”);, đưa hình dịng chữ “Hello” sau xuống dịng Tương tự câu lệnh printf(“Hello\n”); Ví dụ 10 Chương trình /* Chuong trinh nhap va in ten*/ #include #include void main(void) { 95 char cname[30]; puts("Cho biet ten cua ban: "); gets(cname); puts("Chao ban "); puts(cname); getch(); } Kết in hình Cho biet ten cua ban: Mai Lan Chao ban Mai Lan _ Lưu ý: Đối với hàm puts kí tự kết thúc chuỗi null (\0) thay kí tự newline (\n) Hàm gets puts có đối số khơng sử dụng dạng thức nhập liệu xuất hình 2.3 Khới tạo chuỗi Ví dụ 11 Chương trình /* Chuong trinh nhap va in ten*/ #include #include void main(void) { char cname[30]; char chao[] = "Chao ban"; printf("Cho biet ten cua ban: "); gets(cname); 96 printf("%s %s.\n", chao, cname); getch(); } Kết in hình Cho biet ten cua ban: Mai Lan Chao ban Mai Lan _ Lưu ý: Chiều dài tối đa chuỗi khởi tạo số kí tự + (kí tự null) Với chuỗi chao có chiều dài 2.4 Mảng chuỗi Ví dụ 12 Chương trình /* Chuong trinh nhap thang (so) in thang (chu) tuong ung*/ #include #include void main(void) { char cthang[12][15] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; int ithang; printf("Nhap vao thang (1-12): "); scanf("%d", &ithang); printf("%s.\n", cthang[ithang-1]); getch(); } Kết in hình 97 Nhap vao thang (1-12): February _ 98 Bài tập hết chương Bài Viết hàm tìm số lớn nhất, nhỏ mảng n số nguyên Bài Viết hàm xếp tăng dần, giảm dần dãy số cho trước Bài Viết hàm tách tên họ lót từ chuỗi cho trước Bài Viết hàm cắt bỏ khoảng trắng thừa giữa, hai đầu Bài Viết hàm chuyển đổi chuỗi sang chữ thường hàm chuyển đổi sang chữ HOA Bài Viết hàm chuyển đổi chuỗi sang dạng Title Case (kí tự đầu từ chữ HOA, kí tự cịn lại chữ thường) Bài Viết chương trình nhập vào chuỗi in chuỗi đảo ngược Ví dụ: Nhập vào chuỗi "Lap trinh C can ban" In "nab nac C hnirt paL" Bài Viết chương trình nhập vào chuỗi ký tự đếm xem chuỗi có chữ 'th' Bài Biết năm năm Canh thân (năm kỵ có chu kì 3, năm hợp có chu kì 4) Hãy viết chương trình cho phép gõ vào năm dương lịch (ví dụ 1997), xuất năm âm lịch (Đinh sửu) năm kỵ hợp Có 12 chi: Tý, Sửu, Dần, Mão, Thìn, Tỵ, Ngọ, Mùi, Thân, Dậu, Tuất, Hợi Có 10 can: Giáp, Ất, Bính, Đinh, Mậu, Kỷ, Canh, Tân, Nhâm, Quý 99 Mục lục Chương I Giới thiệu ngôn ngữ C 1 Giới thiệu Khởi động chương trình Chương II Các thành phần ngôn ngữ C 11 Từ khóa 11 Tên 11 Kiểu liệu 12 Ghi 15 Khai báo biến 16 Nhập/ xuất liệu 21 Chương III Cấu trúc rẽ nhánh có điều kiện 27 Lệnh khối lệnh 27 1.1 Lệnh 27 1.2 Khối lệnh 27 Lệnh if 27 2.1 Dạng (if thiếu) 27 2.2 Dạng (if đủ) 31 2.3 Cấu trúc else if 35 2.4 Cấu trúc if lồng 37 Lệnh switch 40 3.1 Cấu trúc switch….case (switch thiếu) 41 3.2 Cấu trúc switch….case (switch đủ) 44 3.3 Cấu trúc switch lồng 46 Chương IV Cấu trúc vòng lặp 53 Lệnh for 53 Lệnh break 59 Lệnh continue 60 Lệnh while 62 Lệnh do…while 64 Vòng lặp lồng 67 So sánh khác vòng lặp 69 Chương V Hàm 71 100 Các ví dụ hàm 71 Tham số dạng tham biến tham trị 80 Sử dụng biến toàn cục 81 Dùng dẫn hướng #define 84 Chương VI Mảng chuỗi 86 Mảng 86 1.1 Cách khai báo mảng 86 1.2 Tham chiếu đến phần tử mảng 86 1.3 Nhập liệu cho mảng 87 1.4 Đọc liệu từ mảng 87 1.5 Sử dụng kỹ thuật Sentinal 89 1.6 Khởi tạo mảng 90 1.7 Khởi tạo mảng khơng bao hàm kích thước 92 1.8 Mảng nhiều chiều 92 1.9 Tham chiếu đến phần tử mảng chiều 92 1.10 Nhập liệu cho mảng chiều 93 Chuỗi 93 2.1 Cách khai báo chuỗi 94 2.2 Hàm nhập (gets), xuất (puts) 95 2.3 Khới tạo chuỗi 96 2.4 Mảng chuỗi 97 101 ... quyền Giáo trình sử dụng làm tài liệu giảng dạy nội trường cao đẳng nghề Công nghiệp Hà Nội Trường Cao đẳng nghề Công nghiệp Hà Nội không sử dụng không cho phép cá nhân hay tổ chức sử dụng giáo trình. .. dụng giáo trình với mục đích khác hay nơi khác phải đồng ý văn trường Cao đẳng nghề Công nghiệp Hà Nội Chương I Giới thiệu ngôn ngữ C Giới thiệu a Tổng quan ngôn ngữ lập trình C C ngơn ngữ lập trình. .. lập trình để cơng ty lập trình sử dụng cách rộng rãi Sau đó, cơng ty sản xuất phần mềm đưa phiên hỗ trợ cho việc lập trình ngơn ngữ C chuẩn ANSI C khai sinh từ Ngơn ngữ lập trình C ngơn ngữ lập