intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Tài liệu Kỹ thuật lập trình C

Chia sẻ: Tranvanhung Tranvanhung | Ngày: | Loại File: PDF | Số trang:358

64
lượt xem
23
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Đây là tài liệu thực sự hữu ích cho các bạn sinh viên ngành Công nghệ thông tin, hi vọng với tài liệu này các bạn sẽ nâng cao thêm kỹ năng lập trình của mình. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Tài liệu Kỹ thuật lập trình C

MỤC LỤC<br /> Phần 1: Mở đầu.............................................................................................................. 9<br /> Bài 1. Các ngôn ngữ lập trình....................................................................................... 9<br /> 1.1. Ngôn ngữ lập trình ................................................................................................. 9<br /> 1.2. Ra lệnh cho máy tính làm việc ............................................................................ 10<br /> 1.3. Phân loại Ngôn ngữ lập trình cấp thấp và cấp cao .............................................. 12<br /> 1.4. Tổng quát và chuyên biệt ..................................................................................... 13<br /> 1.5. Mô hình tính toán của một NNLT ....................................................................... 14<br /> 1.6. Chọn NNLT ......................................................................................................... 14<br /> 1.6.1. Yếu tố kỹ thuật ............................................................................................. 14<br /> 1.6.2. Yếu tố phi kỹ thuật ....................................................................................... 14<br /> 1.6.3. Chọn đúng công cụ cho công việc ................................................................ 15<br /> 1.6.4. Sự lựa chọn của các nhà phát triển ............................................................... 15<br /> 1.7. CÁC NGÔN NGỮ LẬP TRÌNH ......................................................................... 16<br /> Bài 2. Giới thiệu ngôn ngữ C / C++............................................................................ 23<br /> 2.1. Ngôn ngữ C .......................................................................................................... 23<br /> 2.2. C – Ngôn ngữ bậc trung....................................................................................... 23<br /> 2.3. C - Ngôn ngữ cấu trúc.......................................................................................... 24<br /> 2.4. C++ ...................................................................................................................... 25<br /> 2.5. Biên dịch chương trình C/C++ ............................................................................ 25<br /> 2.6. Tại sao dùng C/C++?? ......................................................................................... 26<br /> Phần 2. Lập trình cấu trúc C (8 tuần) ...................................................................... 27<br /> Bài 3. Phân tích và thiết kế chương trình .................................................................. 27<br /> 3.1. Cấu trúc chương trình C ...................................................................................... 27<br /> 3.1.1. Ðịnh nghĩa Hàm............................................................................................ 28<br /> 3.1.2. Dấu phân cách (Delimiters) .......................................................................... 28<br /> 3.1.3. Dấu kết thúc câu lệnh (Terminator).............................................................. 28<br /> 3.1.4. Dòng chú thích (Comment) .......................................................................... 28<br /> 3.1.5. Thư viện C (Library) .................................................................................... 28<br /> 3.2. Biên dịch và thực thi một chương trình (Compiling and Running) .................... 29<br /> <br /> 1<br /> <br /> 3.3. Các bước lập trình giải quyết vấn đề ................................................................... 30<br /> 3.3.1. Mã giả (pseudo code) ................................................................................... 31<br /> 3.3.2. Lưu đồ (Flowcharts) ..................................................................................... 33<br /> Bài 4. Cài đặt và làm quen với môi trường lập trình C/C++ với Visual Studio .... 49<br /> 4.1. Giới thiệu Microsoft Visual C++ ......................................................................... 49<br /> 4.2. Các đặc trưng ....................................................................................................... 49<br /> 4.3. Lịch sử ................................................................................................................. 49<br /> Bài 5. Biến, kiểu, dữ liệu, Toán tử, Biểu Thức .......................................................... 57<br /> 5.1. Biến và Kiểu dữ liệu ............................................................................................ 57<br /> 5.1.1. Biến (variable) .............................................................................................. 57<br /> 5.1.2. Hằng (constant)............................................................................................. 59<br /> 5.1.3. Các nguyên tắc cho việc chỉ đặt tên.............................................................. 60<br /> 5.1.4. Các kiểu dữ liệu (Data types) ....................................................................... 61<br /> 5.1.5. Những kiểu dữ liệu cơ bản và dẫn xuất ........................................................ 64<br /> 5.1.6. Các toán tử số học (Arithmetic Operators) ................................................... 68<br /> 5.2. Toán tử và Biểu thức ............................................................................................ 74<br /> Mục tiêu: ....................................................................................................................... 74<br /> 5.2.1. Biểu thức (Expressions)................................................................................ 74<br /> 5.2.2. Toán tử quan hệ (Relational Operators) ....................................................... 76<br /> 5.2.3. Toán tử luận lý (Logical Operators) và biểu thức ........................................ 77<br /> 5.2.4. Toán tử luận lý nhị phân (Bitwise Logical Operators) và biểu thức ............ 78<br /> 5.2.5. Biểu thức dạng hỗn hợp & Chuyển đổi kiểu ................................................ 79<br /> 5.2.6. Độ ưu tiên của toán tử (Precedence) ............................................................ 81<br /> Bài 6. Nhập và Xuất trong C ....................................................................................... 90<br /> 6.1. Tập tin tiêu đề ..................................................................................... 91<br /> 6.2. Nhập và xuất trong C (Input and Output) ............................................................ 91<br /> 6.2.1. printf() ........................................................................................................... 91<br /> 6.2.2. scanf() .........................................................................................................102<br /> 6.3. Bộ nhớ đệm Nhập và Xuất (Buffered I/O) ........................................................109<br /> 6.3.1.getchar() .......................................................................................................110<br /> <br /> 2<br /> <br /> 6.3.2. putchar()......................................................................................................111<br /> Bài 7. Điều kiện ..........................................................................................................117<br /> 7.1. Câu lệnh điều kiện là gì ? ..................................................................................117<br /> 7.2. Các câu lệnh lựa chọn: .......................................................................................118<br /> 7.2.1. Câu lệnh ‘if’: ...............................................................................................118<br /> 7.2.2 Câu lệnh ‘if … else’: ....................................................................................120<br /> 7.2.3. Nhiều lựa chọn – Các câu lệnh ‘if … else’: ................................................122<br /> 7.2.4 Các cấu trúc if lồng nhau: ...........................................................................125<br /> 7.2.5 Câu lệnh ‘switch’:........................................................................................131<br /> Bài 8. Vòng lặp ...........................................................................................................139<br /> 8.1. Vòng lặp: .............................................................................................................139<br /> 8.2. Vòng lặp ‘for’: ...................................................................................................139<br /> 8.1.2. Vòng lặp ‘while’: ........................................................................................146<br /> 8.2. Các lệnh nhẩy: ...................................................................................................153<br /> 8.2.1. Lệnh ‘return’: .............................................................................................153<br /> 8.2.2. Lệnh ‘goto’: ................................................................................................153<br /> 8.2.3. Lệnh ‘break’: ..............................................................................................155<br /> 8.2.4. Lệnh ‘continue’: .........................................................................................156<br /> 8.2.5. Hàm ‘exit()’: ...............................................................................................157<br /> Bài 9. Mảng .................................................................................................................161<br /> 9.1. Các phần tử mảng và các chỉ mục: ....................................................................162<br /> 9.2. Việc quản lý mảng trong C: ...............................................................................164<br /> 9.3. Mảng hai chiều: .................................................................................................171<br /> Bài 10. Các thao tác với BITs và kỹ thuật lập trình với bit ...................................181<br /> 10.1. Bit.....................................................................................................................181<br /> 10.2. Các toán tử thao tác bit ....................................................................................181<br /> Bài 11. Macro .............................................................................................................185<br /> 11.1 Chỉ thị #define ..................................................................................................185<br /> 11.1.1 Hằng tượng trưng.......................................................................................185<br /> 11.1.2 Macro rỗng ................................................................................................185<br /> <br /> 3<br /> <br /> 11.1.3 Macro có tham số ......................................................................................186<br /> 11.1.4 Truyền một số lượng tham số không định trước vào macro .....................186<br /> 11.2 Chỉ thị undef .....................................................................................................188<br /> 11.3 Toán tử macro ...................................................................................................188<br /> 11.3.1. Toán tử # ..........................................................................................................188<br /> 11.4. Toán tử defined ............................................................................................189<br /> 11.5. Chỉ thị có điều kiện (#ifdef, #ifndef, #if, #endif, #else and #elif) ...................189<br /> 11.6. Chỉ thị #line .....................................................................................................190<br /> 11.7. Chỉ thị #error ....................................................................................................191<br /> 11.8. Chỉ thị #pragma ...............................................................................................192<br /> Bài 12. Kỹ thuật lập trình với hàm ..........................................................................192<br /> 12.1 Sử dụng các hàm ...............................................................................................193<br /> 12.2 Cấu trúc hàm .....................................................................................................194<br /> 12.2.1 Các đối số của một hàm.............................................................................194<br /> 12.2.2 Sự trả về từ hàm.........................................................................................196<br /> 12.2.3 Kiểu của một hàm ......................................................................................197<br /> 12.3 Gọi hàm.............................................................................................................197<br /> 12.4 Khai báo hàm ....................................................................................................198<br /> 12.5 Các nguyên mẫu hàm........................................................................................199<br /> 12.6 Các biến.............................................................................................................200<br /> 12.6.1 Biến cục bộ ................................................................................................200<br /> 12.6.2 Tham số hình thức .....................................................................................202<br /> 12.6.3 Biến toàn cục .............................................................................................203<br /> 12.7 Lớp lưu trữ (Storage Class)...............................................................................205<br /> 12.7.1 Biến tự động...............................................................................................206<br /> 12.7.2 Biến ngoại ..................................................................................................206<br /> 12.7.3 Biến tĩnh .....................................................................................................208<br /> 12.7.4 Biến thanh ghi ............................................................................................210<br /> 12.8 Các qui luật về phạm vi của một hàm ...............................................................212<br /> 12.9 Gọi hàm .............................................................................................................213<br /> <br /> 4<br /> <br /> 12.9.1 Truyền bằng giá trị ....................................................................................213<br /> 12.9.2 Truyền bằng tham chiếu ............................................................................215<br /> 12.10 Sự lồng nhau của lời gọi hàm .........................................................................218<br /> 12.11 Hàm trong chương trình nhiều tập tin .............................................................219<br /> 12.12 Con trỏ đến hàm ..............................................................................................220<br /> Bài 13. Kỹ thuật lập trình với con trỏ ......................................................................222<br /> 13.1 Con trỏ là gì? .....................................................................................................222<br /> 13.1.2 Tại sao con trỏ được dùng? .......................................................................223<br /> 13.2 Các biến con trỏ ................................................................................................223<br /> 13.3 Các toán tử con trỏ ............................................................................................224<br /> 13.4 Con trỏ và mảng một chiều ...............................................................................228<br /> 13.4.1 Con trỏ và mảng nhiều chiều .....................................................................231<br /> 13.5 Cấp phát bộ nhớ ................................................................................................234<br /> Bài 14 Kỹ thuật lập trình với chuỗi ký tự ................................................................246<br /> 14.1 Các biến và hằng kiểu chuỗi .............................................................................247<br /> 14.1.1 Con trỏ trỏ đến chuỗi .................................................................................248<br /> 14.1.2 Các thao tác nhập xuất chuỗi .....................................................................248<br /> 14.2 Các hàm về chuỗi ..............................................................................................251<br /> 14.2.1 Hàm strcat() ...............................................................................................251<br /> 14.2.2 Hàm strcmp() .............................................................................................252<br /> 14.2.3 Hàm strchr() ...............................................................................................254<br /> 14.2.4 Hàm strcpy() ..............................................................................................256<br /> 14.2.5 Hàm strlen() ...............................................................................................257<br /> 14.3 Truyền mảng vào hàm ......................................................................................258<br /> 14.4 Truyền chuỗi vào hàm ......................................................................................261<br /> Bài 15. CHUYỂN ĐỔI KIỂU DỮ LIỆU & CẤP PHÁT BỘ NHỚ ĐỘNG..........265<br /> 15.1. Nhu cầu chuyển đổi dữ liệu .............................................................................265<br /> 15.2. Chuyển đổi dữ liệu kiểu tự động .....................................................................265<br /> 15.3. Ép kiểu tường minh ..........................................................................................265<br /> 15.4. Cấp phát động trong C .....................................................................................266<br /> <br /> 5<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2