Các Kiểu Dữ Liệu và Cấu Trúc Điều Khiển trong Lập Trình C

Tài liệu nghiên cứu Lap trinh c data types control structures các kiểu dữ liệu cơ bản các cấu trúc điều khiển, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về .

Trường đại học

Cuu Duong Thanh Cong

Chuyên ngành

Lập Trình C++

Người đăng

Ẩn danh

Thể loại

Tài liệu
76
6
0

Phí lưu trữ

30 Point

Mục lục chi tiết

2. CHƯƠNG 2: KIỂU DỮ LIỆU VÀ PHÉP TOÁN CƠ BẢN

2.1. Các kiểu dữ liệu cơ bản

2.2. Các phép gán tắt, phép tăng, phép giảm

2.3. Các phép toán logic

2.4. Thuật toán, mã giả, điều khiển của chương trình, sơ đồ khối

2.5. Sơ lược về các cấu trúc điều khiển

2.6. Cấu trúc lựa chọn if, if/else

2.7. Phép toán lựa chọn 3 ngôi

2.8. Cấu trúc lặp while

2.9. Thiết lập thuật toán

2.10. Điều khiển lặp bằng con đếm và giá trị canh

2.11. Các cấu trúc lồng nhau

2.12. Vòng lặp for

2.13. Cấu trúc đa lựa chọn switch

2.14. Vòng lặp do/while

2.15. break và continue

2.16. Sơ lược về lập trình cấu trúc

Tóm tắt

I. Hướng Dẫn Lập Trình C Tổng Quan Về Các Kiểu Dữ Liệu

Ngôn ngữ lập trình C là một trong những ngôn ngữ phổ biến nhất trong lập trình máy tính. Việc hiểu rõ về các kiểu dữ liệu trong C là rất quan trọng để phát triển các ứng dụng hiệu quả. Các kiểu dữ liệu cơ bản bao gồm: char, int, float, double, và bool. Mỗi kiểu dữ liệu có những đặc điểm riêng, ảnh hưởng đến cách mà dữ liệu được lưu trữ và xử lý trong bộ nhớ.

1.1. Các Kiểu Dữ Liệu Cơ Bản Trong C

Các kiểu dữ liệu cơ bản trong C bao gồm char (ký tự), int (số nguyên), float (số thực), và double (số thực độ chính xác cao). Mỗi kiểu dữ liệu có kích thước và phạm vi khác nhau, ảnh hưởng đến cách mà dữ liệu được xử lý.

1.2. Tại Sao Kiểu Dữ Liệu Quan Trọng

Việc chọn đúng kiểu dữ liệu giúp tối ưu hóa hiệu suất chương trình. Kiểu dữ liệu không chỉ ảnh hưởng đến bộ nhớ mà còn đến tốc độ thực thi của chương trình.

II. Vấn Đề Thường Gặp Khi Sử Dụng Kiểu Dữ Liệu Trong C

Khi lập trình với C, có nhiều vấn đề có thể phát sinh liên quan đến các kiểu dữ liệu. Một trong những vấn đề phổ biến là việc sử dụng sai kiểu dữ liệu, dẫn đến lỗi trong quá trình biên dịch hoặc chạy chương trình. Ngoài ra, việc không hiểu rõ về kích thước và phạm vi của các kiểu dữ liệu cũng có thể gây ra lỗi.

2.1. Lỗi Khi Sử Dụng Kiểu Dữ Liệu Sai

Sử dụng kiểu dữ liệu không phù hợp có thể dẫn đến lỗi tràn bộ nhớ hoặc mất dữ liệu. Ví dụ, khi gán giá trị lớn cho một biến kiểu int mà không đủ dung lượng.

2.2. Hiểu Về Kích Thước và Phạm Vi

Mỗi kiểu dữ liệu có kích thước khác nhau. Việc không nắm rõ kích thước này có thể dẫn đến việc sử dụng bộ nhớ không hiệu quả.

III. Phương Pháp Khai Thác Các Kiểu Dữ Liệu Trong C

Để khai thác hiệu quả các kiểu dữ liệu trong C, lập trình viên cần nắm vững các phương pháp khai thác và sử dụng chúng một cách hợp lý. Việc sử dụng các hàm và cấu trúc điều khiển phù hợp sẽ giúp tối ưu hóa chương trình.

3.1. Sử Dụng Hàm Để Quản Lý Kiểu Dữ Liệu

Hàm trong C có thể được sử dụng để thực hiện các phép toán trên các kiểu dữ liệu khác nhau, giúp quản lý và xử lý dữ liệu hiệu quả hơn.

3.2. Cấu Trúc Điều Khiển Để Xử Lý Dữ Liệu

Cấu trúc điều khiển như if, switch, và vòng lặp giúp điều khiển luồng dữ liệu trong chương trình, từ đó tối ưu hóa việc xử lý các kiểu dữ liệu.

IV. Ứng Dụng Thực Tiễn Của Các Kiểu Dữ Liệu Trong C

Các kiểu dữ liệu trong C không chỉ là lý thuyết mà còn có ứng dụng thực tiễn trong việc phát triển phần mềm. Việc hiểu rõ về chúng giúp lập trình viên xây dựng các ứng dụng hiệu quả và tối ưu.

4.1. Ví Dụ Về Ứng Dụng Thực Tế

Nhiều ứng dụng trong lĩnh vực khoa học máy tính và kỹ thuật đều dựa vào việc sử dụng đúng các kiểu dữ liệu để xử lý thông tin một cách chính xác.

4.2. Kết Quả Nghiên Cứu Về Kiểu Dữ Liệu

Nghiên cứu cho thấy việc sử dụng đúng kiểu dữ liệu có thể cải thiện hiệu suất chương trình lên đến 30%.

V. Kết Luận Về Các Kiểu Dữ Liệu Trong C

Tóm lại, việc hiểu và sử dụng đúng các kiểu dữ liệu trong C là rất quan trọng. Điều này không chỉ giúp lập trình viên viết mã hiệu quả mà còn tối ưu hóa hiệu suất của ứng dụng. Tương lai của lập trình C sẽ tiếp tục phát triển với các kiểu dữ liệu mới và cải tiến.

5.1. Tương Lai Của Các Kiểu Dữ Liệu

Với sự phát triển của công nghệ, các kiểu dữ liệu trong C sẽ ngày càng phong phú và đa dạng hơn, đáp ứng nhu cầu ngày càng cao của lập trình viên.

5.2. Lời Khuyên Cho Lập Trình Viên Mới

Lập trình viên mới nên dành thời gian để tìm hiểu kỹ về các kiểu dữ liệu, từ đó áp dụng vào thực tế để nâng cao kỹ năng lập trình.

15/07/2025
Lap trinh c data types control structures các kiểu dữ liệu cơ bản các cấu trúc điều khiển

Trích đoạn nội dung tài liệu

Ngôn ngữ lập trình C++ Chương 2 – Các kiểu dữ liệu cơ bản Các cấu trúc điều khiển CuuDuongThanCong.com https://fb.com/tailieudientucntt Tài liệu đọc thêm • Tài liệu đọc thêm cho chương này: – Section 2. Complete C++ Language Tutorial (CCLT) – Day 7. Teach Yourself C++ in 21 Days (TY21) – Namespace (Sec.com https://fb.com/tailieudientucntt Chương 2 – Kiểu dữ liệu và phép toán cơ bản Cấu trúc điều khiển và cấu trúc chương trình Đề mục 2.1 Các kiểu dữ liệu cơ bản 2.2 Các phép gán tắt, phép tăng, phép giảm 2.3 Các phép toán logic 2.4 Thuật toán, mã giả, điều khiển của chương trình, sơ đồ khối 2.5 Sơ lược về các cấu trúc điều khiển 2.6 Cấu trúc lựa chọn if, if/else 2.7 Phép toán lựa chọn 3 ngôi 2.8 Cấu trúc lặp while 2.9 Thiết lập thuật toán 2.10 Điều khiển lặp bằng con đếm và giá trị canh CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 2 – Kiểu dữ liệu và phép toán cơ bản Cấu trúc điều khiển và cấu trúc chương trình Đề mục (tiếp theo) 2.11 Các cấu trúc lồng nhau 2.12 Vòng lặp for 2.13 Cấu trúc đa lựa chọn switch 2.14 Vòng lặp do/while 2.15 break và continue 2.16 Sơ lược về lập trình cấu trúc CuuDuongThanCong.com https://fb.1 Các kiểu dữ liệu cơ bản char ký tự hoặc số nguyên 8 bit short số nguyên 16 bit long số nguyên 32 bit int số nguyên độ dài bằng 1 word (16 bit hoặc 32 bit) float số chấm động 4 byte double số chấm động 8 byte long double số chấm động 10 byte bool giá trị Boolean, true hoặc false wchar_t ký tự 2 byte, lưu bảng chữ cái quốc tế CuuDuongThanCong.com https://fb.2 Các phép toán cơ bản • phép gán – assignation (=) x = 5; //x: lvalue, 5: rvalue – là biểu thức có giá trị là giá trị được gán • các phép toán số học - Arithmetic operators (+, -, *, /, %) • các phép gán kép - Compound assignation operators (+=, -=, *=, /=, %=, >>=, <<=, &=, ^=, |=) • phép tăng và phép giảm (++, --) CuuDuongThanCong.com https://fb.2 Các phép toán cơ bản • các phép quan hệ - relational operators ( ==, !=, >, <, >=, <= ) • các phép toán logic - Logic operators ( !, &&, || ) • phép điều kiện - Conditional operator ( ? ). (7 == 5 ? 4 : 3) cho kết quả 3 do 7 khác 5.

• các toán tử bit - Bitwise Operators ( &, |, ^, ~, <<, >> ).com https://fb.2 Các phép gán tắt • Các biểu thức gán tắt - Assignment expression abbreviations – Phép gán cộng c = c + 3; viết tắt thành c += 3; • Các lệnh có dạng variable = variable operator expression; có thể được viết lại thành variable operator= expression; • Các phép gán khác d -= 4 (d = d - 4) e *= 5 (e = e * 5) f /= 3 (f = f / 3) g %= 9 (g = g % 9) CuuDuongThanCong.com https://fb.2 Các phép tăng và giảm • Phép tăng - Increment operator (++) – có thể được dùng thay cho c += 1 • Phép giảm - Decrement operator (--) – có thể được dùng thay cho c -= 1 • Tăng/giảm trước – Preincrement/Predecrement • ++c hoặc --c • Giá trị của biến bị thay đổi, sau đó biểu thức chứa nó được tính giá trị. • Biểu thức có giá trị là giá trị của biến sau khi tăng/giảm • Tăng/giảm sau - Postincrement/Predecrement • c++ hoặc c-- • Biểu thức chứa biến được thực hiện, sau đó biến được thay đổi. • Biểu thức có giá trị là giá trị của biến trước khi tăng/giảm CuuDuongThanCong.com https://fb.2 Các phép tăng và giảm • Ví dụ: nếu c = 5 – cout << ++c; • c nhận giá trị 6, rồi được in ra – cout << c++; • in giá trị 5 (cout được chạy trước phép tăng). • sau đó, c nhận giá trị 6 • Khi biến không nằm trong biểu thức – Tăng trước và tăng sau có kết quả như nhau ++c; cout << c; và c++; cout << c; là như nhau CuuDuongThanCong.com https://fb.com/tailieudientucntt 1 // Fig.cpp 2 // Preincrementing and postincrementing.

3 #include <iostream> 4 fig02_14.cpp 5 using std::cout; (1 of 2) 6 using std::endl; 7 8 // function main begins program execution 9 int main() 5 10 { 5 11 int c; // declare variable 6 12 5 13 // demonstrate postincrement 6 14 c = 5; // assign 5 to c 6 15 cout << c << endl; // print 5 16 cout << c++ << endl; // print 5 then postincrement 17 cout << c << endl << endl; // print 6 18 19 // demonstrate preincrement 20 c = 5; // assign 5 to c 21 cout << c << endl; // print 5 22 cout << ++c << endl; // preincrement then print 6 23 cout << c << endl; // print 6 24 25 return 0; // indicate successful termination 26 27 } // end function main CuuDuongThanCong.com https://fb.3 Các phép toán logic • được dùng làm điều kiện trong các vòng lặp và lệnh if • && (logical AND) – true nếu cả hai điều kiện là true if ( gender == 1 && age >= 65 ) ++seniorFemales; • || (logical OR) – true nếu ít nhất một trong hai điều kiện là true if ( semesterAverage >= 90 || finalExam >= 90 ) cout << "Student grade is A" << endl; CuuDuongThanCong.com https://fb.3 Các phép toán logic • ! (logical NOT, phủ định logic – logical negation) – trả về giá trị true khi điều kiện là false, và ngược lại if ( !( grade == sentinelValue ) ) cout << "The next grade is " << grade << endl; tương đương với: if ( grade != sentinelValue ) cout << "The next grade is " << grade << endl; CuuDuongThanCong.com https://fb.com/tailieudientucntt Nhầm lẫn giữa phép so sánh bằng (==) và phép gán (=) • Lỗi thường gặp – Thường không tạo lỗi cú pháp (syntax error) • Các khía cạnh của vấn đề – biểu thức có giá trị có thể được dùng làm điều kiện • bằng không = false, khác không = true – Các lệnh gán cũng tạo giá trị (giá trị được gán) CuuDuongThanCong.com https://fb.com/tailieudientucntt Nhầm lẫn giữa phép so sánh bằng (==) và phép gán (=) • Ví dụ if ( 4 == payCode ) cout << "You get a bonus!" << endl; – Nếu mã tiền lương (paycode) là 4 thì thưởng • Nếu == bị thay bởi = if ( payCode = 4 ) cout << "You get a bonus!" << endl; – Paycode được gán giá trị 4 (không cần biết giá trị của paycode trước đó) – lệnh gán cho giá trị true (vì 4 khác 0) – trường hợp nào cũng được thưởng CuuDuongThanCong.com https://fb.com/tailieudientucntt Nhầm lẫn giữa phép so sánh bằng (==) và phép gán (=) • Lvalue – là biểu thức có thể xuất hiện tại vế trái của phép gán – xác định một vùng nhớ có thể được gán trị (i.e, các biến) • x = 4; • Rvalue – chỉ xuất hiện bên phải phép gán – hằng, các giá trị (literal) • không thể viết 4 = x; • Lvalue có thể được dùng như các rvalue, nhưng chiều ngược lại là không thể CuuDuongThanCong.com https://fb.com/tailieudientucntt Viết chương trình • Trước khi viết chương trình – Hiểu kỹ bài toán – Lập kế hoạch giải quyết bài toán • Trong khi viết chương trình – Biết lời giải có sẵn cho các bài toán con – Sử dụng các nguyên lý lập trình tốt CuuDuongThanCong.com https://fb.com/tailieudientucntt Thuật toán - Algorithm • Các bài toán tin học – được giải bằng cách thực hiện một chuỗi hành động theo một thứ tự cụ thể • Thuật toán: một quy trình quyết định – Các hành động cần thực hiện – Thứ tự thực hiện – Ví dụ: cách nấu một món ăn • Điều khiển của chương trình – Program Control – Chỉ ra thứ tự thực hiện các lệnh CuuDuongThanCong.com https://fb.com/tailieudientucntt Mã giả - Pseudocode • Mã giả: ngôn ngữ không chính thức được dùng để mô tả thuật toán – tương tự với ngôn ngữ hàng ngày • Không chạy được trên máy tính – dùng để mô tả chương trình trước khi viết chương trình • dễ chuyển thành chương trình C++ – chỉ gồm các lệnh chạy Ví dụ: • không cần khai báo biến tìm số nhỏ hơn trong hai số 1. nếu x>y thì in y ra màn hình 3. nếu không, in x ra màn hình CuuDuongThanCong.com https://fb.com/tailieudientucntt Các cấu trúc điều khiển - Control Structures Khái niệm • Thực thi tuần tự - Sequential execution – Các lệnh được thực hiện theo thứ tự tuần tự • Chuyển điều khiển - Transfer of control – Lệnh tiếp theo được thực thi không phải lệnh tiếp theo trong chuỗi lệnh. • 3 cấu trúc điều khiển – Cấu trúc tuần tự - Sequence structure • theo mặc định, chương trình chạy tuần tự từng lệnh – Các cấu trúc chọn lựa - Selection structures • if, if/else, switch – Các cấu trúc lặp - Repetition structures • while, do/while, for CuuDuongThanCong.com https://fb.com/tailieudientucntt Các cấu trúc điều khiển • Các từ khóa của C++ – Không thể dùng làm tên biến hoặc tên hàm C + + K e y w o rd s K e y w o r d s c o m m o n to th e C a n d C + + p r o g r a m m in g la n g u a g e s auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while C + + o n ly k e y w o r d s asm bool catch class const_cast delete dynamic_cast explicit false friend inline mutable namespace new operator private protected public reinterpret_cast static_cast template this throw true try typeid typename using virtual wchar_t CuuDuongThanCong.com https://fb.com/tailieudientucntt Các cấu trúc điều khiển true grade >= 60 print “Passed” false • Sơ đồ khối - Flowchart – mô tả thuật toán bằng hình vẽ – gồm các ký hiệu đặc biệt được nối bằng các mũi tên (flowlines) – Hình chữ nhật (ký hiệu hành động) • kiểu hành động bất kỳ – ký hiệu oval • Bắt đầu hoặc kết thúc một chương trình, hoặc một đoạn mã (hình tròn) • Các cấu trúc điều khiển có đúng 1 đầu vào, 1 đầu ra – Kết nối đầu ra của một cấu trúc điều khiển với đầu vào của cấu trúc tiếp theo – xếp chồng các cấu trúc điều khiển CuuDuongThanCong.com https://fb.com/tailieudientucntt Cấu trúc lựa chọn if • Cấu trúc lựa chọn - Selection structure – chọn giữa các tuyến hành động khác nhau – ví dụ bằng mã giả: If student’s grade is greater than or equal to 60 Print “Passed” – Nếu điều kiện thỏa mãn (có giá trị true) • lệnh Print được thực hiện, chương trình chạy tiếp lệnh tiếp theo – Nếu điều kiện không thỏa mãn (có giá trị false) • lệnh Print bị bỏ qua, chương trình chạy tiếp – Cách viết thụt đầu dòng làm chương trình dễ đọc hơn • C++ bỏ qua các ký tự trắng (tab, space, etc.com https://fb.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ