Chương 02 CẤU TRÚC VÀ CÁC THÀNH PHẦN CHƯƠNG TRÌNH C Lê Thành Sách Trần Quang Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Tốn © 2016 Lập trình C/C++ Nội dung Chương trình C đơn giản Phong cách lập trình Rèn luyện việc xuất hình Đọc liệu từ bàn phím Xử lý đơn giản Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Tốn © 2016 Lập trình C/C++ Chương trình C đơn giản #include #include /* This is a simple program The objective of this program is to print the following information on different lines University's name Course's name */ void main(){ // "printf" is a function, which is defined in printf("Ho Chi Minh city University of Technology\n"); printf("Programming Fundamentals"); // "pause" causes the program pause before executing the next statement // “system" is a function, which is defined in system("pause"); } Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Tốn © 2016 Lập trình C/C++ Chương trình C đơn giản Các thành phần Khai báo thư viện sử dụng Chỉ thị #include: #include Hàm main có sử dụng (gọi) đến hai hàm printf #include system Hàm printf khai báo thư viện stdio, void main(){ cụ thể tập tin printf(" "); Hàm system khai báo thư viện printf(" "); stdlib, cụ thể tập tin viện nói để biên dịch không báo lỗi Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Tốn © 2016 system("pause"); Do đó, cần dùng thị #include với hai thư } Lập trình C/C++ Chương trình C đơn giản Các thành phần Lệnh thực thi Lệnh sau hàm main() Mỗi chương trình viết C phải có hàm có tên main void main(){ } Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Tốn © 2016 Dấu “{“ đánh dấu bắt đầu phần thân hàm main Dấu “}“ đánh dấu điểm kết thúc phần thân hàm main Lập trình C/C++ Chương trình C đơn giản Các thành phần Lệnh thực thi Lệnh sau hàm main() Mỗi chương trình viết C phải có hàm có tên main int main(){ } Nơi xác định kiểu trả hàm (main) int: Hàm main trả mã trạng thái: = khơng có lỗi; = có lỗi EXIT_SUCCESS = 0; EXIT_FAILURE = Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Tốn © 2016 Lập trình C/C++ Chương trình C đơn giản Các thành phần #include Chú thích #include Chú thích văn khơng cần có văn phạm /* C The objective of Chú thích chèn vào nhằm giải thích, ghi This is chú, đánh dấu, hay lập tài liệu cho phần tử void main(){ */ printf(" "); // "printf" is C printf(" "); Hai dạng thích: Chú thích gồm nhiều dịng, nằm cặp system("pause"); // "pause" causes } đánh dấu “/*” “*/” Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Tốn © 2016 Chú thích đến cuối dịng, đánh dấu “//” Lập trình C/C++ Phong cách lập trình Chương trình văn ngơn ngữ tự nhiên Do đó, cần viết cho dễ đọc, dễ hiểu, dễ phát sai sót Trong dự án lớn, phong cách lập trình quan trọng nhằm Dễ dàng phối hợp thành viên phát triển Dễ dàng phát sai sót Dễ dàng bảo trì nâng cấp Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Tốn © 2016 Lập trình C/C++ Phong cách lập trình Danh sách chủ đề xem chi tiết trang sau Sinh viên phải rèn luyện phong cách suốt q trình học, thơng qua thực hành Tất nộp cho giảng viên xem phải tuân thủ hầu hết gợi ý Xem thêm: http://users.ece.cmu.edu/~eno/coding/CCodingStandard.html http://www.cs.swarthmore.edu/~newhall/unixhelp/c_codestyle.html Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Tốn © 2016 Lập trình C/C++ Phong cách lập trình Các gợi ý Về quy cách đặt tên: Hàm Bắt đầu động từ (verb), hàm đơn vị xử lý (i.e., thực thi hành động) Tên phải nêu bật tính hàm Ví dụ: Nên dùng: check_for_errors() Thay cho: error_checking() hay dump_data_to_file() Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Tốn © 2016 Lập trình C/C++ 10 Dữ liệu kết xuất C Kiểu ký tự Tên kiểu: “char”, nói sâu chương sau Ví dụ: ‘A’, ‘a’, etc Sử dụng đặc tả “%c” printf ví dụ bên #include void main(){ Giá trị ghi code (literal constant): #include Câu hỏi: “%3c” hình bên nghĩa printf("%c\n", 'A'); printf("%3c\n", 'A'); printf("%03c\n", 'A'); system("pause"); } gì? Câu hỏi: “%03c” hình bên nghĩa gì? Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Tốn © 2016 Lập trình C/C++ 22 Dữ liệu kết xuất C Kiểu chuỗi (string) #include C không hổ trợ “string” trực tiếp Thay vào “string” thực kiểu mảng (array), nói sâu chương array #include Giá trị ghi code (literal constant): void main(){ printf("%s\n", "01234567890123456789"); printf("%s\n", "University"); printf("%20s\n", "University"); printf("%020s\n", "University"); Ví dụ: “Programming Fundamentals”, system("pause"); } “Computer”, etc Sử dụng đặc tả “%s” printf ví dụ bên Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Tốn © 2016 Lập trình C/C++ 23 Dữ liệu kết xuất C Tổng kết hàm printf Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Tốn © 2016 Lập trình C/C++ 24 Dữ liệu kết xuất C Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Tốn © 2016 Lập trình C/C++ 25