Giáo trình lập trình c căn bản nghề tin học ứng dụng trình độ cao đẳng cđ gtvt trung ương i

Tài liệu giảng dạy Lập trình c căn bản ngành tin học ứng dụng hệ thống hóa kiến thức từ cơ bản đến nâng cao ngành trong thời kỳ mới

Chuyên ngành

Tin học ứng dụng

Người đăng

Ẩn danh

Thể loại

Giáo trình

2019

76
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan giáo trình lập trình C căn bản CĐ GTVT Trung Ương I

Giáo trình lập trình C cơ bản của Trường Cao đẳng Giao thông vận tải Trung ương I là một tài liệu học thuật quan trọng, được biên soạn dành riêng cho sinh viên ngành Tin học ứng dụng trình độ Cao đẳng và Trung cấp. Tài liệu này được ban hành theo Quyết định số 498/QĐ-CĐGTVTTWI-ĐT ngày 25/03/2019, đóng vai trò là giáo trình nội bộ và tài liệu tham khảo chính thức. Mục tiêu cốt lõi của cuốn sách là cung cấp một nền tảng kiến thức vững chắc về ngôn ngữ lập trình C, một công cụ mạnh mẽ và linh hoạt đã định hình ngành công nghiệp phần mềm. Theo lời giới thiệu, ngôn ngữ C ra đời vào khoảng cuối những năm 1960 tại phòng thí nghiệm Bell, được thiết kế để xây dựng các phần mềm hệ thống phức tạp như hệ điều hành UNIX. Sự phổ biến của nó được khẳng định qua cuốn "Ngôn ngữ lập trình C" của Dennish Ritchie và B. Kernighan, xuất bản năm 1978. Cuốn giáo trình lập trình C này kế thừa tinh thần đó, tập trung vào việc trang bị cho người học những kỹ thuật lập trình C từ cơ bản đến các khái niệm quan trọng như con trỏ và cấu trúc. Nội dung được thiết kế không chỉ để giảng dạy mà còn là nguồn tài liệu lập trình C quý giá cho cả giáo viên và sinh viên trong quá trình học tập và nghiên cứu, giúp đáp ứng nhu cầu nhân lực kỹ thuật chất lượng cao cho xã hội. Giáo trình này là bước đệm thiết yếu trước khi tiếp cận các chủ đề nâng cao hơn như giáo trình C++ hay lập trình hướng đối tượng.

1.1. Mục tiêu và đối tượng của tài liệu lập trình C này

Giáo trình được biên soạn với mục tiêu chính là đào tạo nguồn nhân lực kỹ thuật trực tiếp, đáp ứng nhu cầu ngày càng cao của xã hội trong lĩnh vực tin học ứng dụng. Đối tượng chính mà tài liệu hướng đến là học sinh - sinh viên trình độ Trung cấp và Cao đẳng của Trường Cao đẳng GTVT Trung ương I. Nội dung được xây dựng để vừa đảm bảo tính học thuật, vừa phù hợp với khả năng tiếp thu của người học ở trình độ này, giúp họ nắm vững kiến thức lập trình C cơ bản và có thể vận dụng vào giải quyết các bài toán thực tế. Đây không chỉ là sách giáo khoa mà còn là tài liệu tham khảo và slide bài giảng lập trình C cho giảng viên.

1.2. Lịch sử và vai trò của ngôn ngữ lập trình C trong tin học

Ngôn ngữ lập trình C được phát triển tại phòng thí nghiệm Bell và nhanh chóng trở thành một ngôn ngữ vạn năng. Ban đầu, nó được dùng để viết hệ điều hành UNIX, nhưng sức mạnh của C đã được công nhận rộng rãi trong việc xử lý các vấn đề đa dạng của tin học. Giáo trình nhấn mạnh rằng C không bị ràng buộc vào bất kỳ hệ điều hành hay máy tính cụ thể nào. Dù được gọi là "ngôn ngữ lập trình hệ thống", C vẫn cực kỳ tiện lợi cho việc viết các chương trình xử lý số, văn bản và cơ sở dữ liệu. Sự ra đời của C đã mở ra một kỷ nguyên mới cho các ngôn ngữ lập trình bậc cao.

1.3. Phân tích đề cương chi tiết môn lập trình C của giáo trình

Cấu trúc của giáo trình lập trình C được thiết kế một cách khoa học và tuần tự, bao gồm 6 chương chính. Bắt đầu với "Tổng quan về môn học", tiếp đến là "Giới thiệu về ngôn ngữ C và môi trường Turbo C". Chương 3 và 4 đi sâu vào các thành phần cốt lõi như kiểu dữ liệu trong C, nhập xuất, và các cấu trúc điều khiển như lệnh if, switch, và vòng lặp for while. Các chủ đề nâng cao hơn như hàm trong C, mảng và chuỗi trong C được trình bày ở Chương 5. Cuối cùng, Chương 6 tập trung vào một trong những khái niệm quan trọng nhất: con trỏ trong C và các kiểu dữ liệu tự tạo. Đề cương chi tiết môn lập trình C này đảm bảo một lộ trình học tập logic và toàn diện.

II. Thách thức khi tự học lập trình C cơ bản cho người mới bắt đầu

Việc tiếp cận ngôn ngữ lập trình C luôn đi kèm với những thách thức không nhỏ, đặc biệt đối với những người mới bắt đầu trong ngành tin học đại cương. Một trong những rào cản lớn nhất là việc phải nắm bắt các khái niệm trừu tượng và gần với phần cứng máy tính. Khác với các ngôn ngữ bậc cao hiện đại, C yêu cầu người lập trình phải tự quản lý bộ nhớ một cách thủ công thông qua con trỏ trong C. Đây là một khái niệm khó, dễ gây ra lỗi và cần nhiều thời gian để thực hành mới có thể thành thạo. Bên cạnh đó, việc lựa chọn môi trường phát triển (IDE) cũng là một vấn đề. Giáo trình của CĐ GTVT Trung ương I đề cập đến Turbo C, một môi trường cổ điển. Tuy nhiên, trong thực tế, các lập trình viên hiện nay thường sử dụng các công cụ hiện đại hơn như Dev-C++ hoặc Visual Studio Code, đòi hỏi người học phải tự tìm hiểu thêm. Thách thức tiếp theo là sự thiếu hụt một lộ trình học tập có hệ thống và nguồn tài liệu thực hành đáng tin cậy. Nếu không có một giáo trình lập trình C chuẩn, người học dễ bị lạc trong biển thông tin và không biết bắt đầu từ đâu. Việc thiếu các bài tập C có lời giải chi tiết cũng làm giảm hiệu quả học tập, khiến người học khó kiểm chứng kiến thức và sửa lỗi sai của mình.

2.1. Khó khăn trong việc hiểu khái niệm trừu tượng như con trỏ

Con trỏ trong C là một trong những chủ đề gây nhiều khó khăn nhất. Nó đòi hỏi sự hiểu biết về cách bộ nhớ máy tính hoạt động, bao gồm địa chỉ ô nhớ và cách truy cập dữ liệu gián tiếp. Sai lầm trong việc sử dụng con trỏ có thể dẫn đến các lỗi nghiêm trọng như rò rỉ bộ nhớ hoặc chương trình bị treo. Giáo trình đã dành riêng Chương 6 để giải quyết vấn đề này, cung cấp các ví dụ từ khai báo biến con trỏ, truyền địa chỉ sang hàm, cho đến ứng dụng con trỏ với mảng và chuỗi.

2.2. Lựa chọn môi trường Turbo C Dev C hay Visual Studio Code

Giáo trình giới thiệu môi trường Turbo C, một công cụ phổ biến trong quá trình giảng dạy lập trình C cơ bản tại nhiều trường học. Tuy nhiên, Turbo C đã lỗi thời và không còn được hỗ trợ rộng rãi. Sinh viên hiện đại cần làm quen với các IDE mạnh mẽ hơn như Dev-C++ (một lựa chọn nhẹ nhàng, phổ biến cho người mới học C/C++) hoặc Visual Studio Code (một trình soạn thảo mã nguồn linh hoạt, hỗ trợ nhiều tiện ích mở rộng). Việc lựa chọn công cụ phù hợp giúp tối ưu hóa quá trình viết, gỡ lỗi và quản lý mã nguồn C.

2.3. Thiếu nguồn bài tập C có lời giải và lộ trình học hệ thống

Một trong những yếu tố quyết định thành công khi học lập trình là thực hành liên tục. Người học thường gặp khó khăn khi không có đủ bài tập C có lời giải để đối chiếu và học hỏi. Giáo trình của CĐ GTVT Trung ương I cung cấp các ví dụ và bài tập sau mỗi phần lý thuyết, tạo ra một lộ trình học tập rõ ràng. Việc bám sát đề cương chi tiết môn lập trình C và chủ động tìm kiếm thêm các nguồn bài tập trên mạng sẽ giúp củng cố kiến thức và nâng cao kỹ thuật lập trình C.

III. Hướng dẫn các thành phần cốt lõi trong ngôn ngữ lập trình C

Để vượt qua các thách thức ban đầu, giáo trình lập trình C của CĐ GTVT Trung ương I tập trung xây dựng nền tảng vững chắc thông qua việc giới thiệu các thành phần cốt lõi của ngôn ngữ. Chương 3 và 4 của giáo trình là trọng tâm của phần kiến thức này. Nội dung bắt đầu từ những khái niệm cơ bản nhất như từ khóa, tên biến, và các kiểu dữ liệu trong C. Giáo trình định nghĩa rõ 32 từ khóa chuẩn của C và quy tắc đặt tên hợp lệ, nhấn mạnh sự phân biệt chữ hoa-thường. Các kiểu dữ liệu cơ bản như char, int, float, double được giải thích chi tiết về kích thước và miền giá trị. Một phần quan trọng khác là các cấu trúc điều khiển, cho phép chương trình đưa ra quyết định và lặp lại các hành động. Lệnh if-else được giới thiệu với cả dạng thiếu và đủ, cùng với cấu trúc else if để xử lý nhiều điều kiện. Lệnh switch-case là một giải pháp thay thế hiệu quả cho if-else trong các trường hợp so sánh bằng. Cuối cùng, các cấu trúc vòng lặp là công cụ không thể thiếu. Giáo trình đi sâu vào cú pháp và cách hoạt động của vòng lặp for whiledo-while, giúp sinh viên hiểu rõ khi nào nên sử dụng loại vòng lặp nào để tối ưu hóa mã nguồn C.

3.1. Các kiểu dữ liệu trong C và cách khai báo biến chuẩn xác

Chương 3 của giáo trình trình bày chi tiết về các kiểu dữ liệu cơ bản. Bảng thống kê cung cấp thông tin về kích thước và miền giá trị cho từng kiểu, từ unsigned char (1 byte, 0 đến 255) đến long double (10 bytes). Quy tắc khai báo biến được định nghĩa rõ ràng với cú pháp: <Kiểu dữ liệu> <Danh sách tên biến>;. Giáo trình cũng khuyến khích việc sử dụng quy tắc Hungarian Notation (ví dụ: int iTuoi) để làm cho mã nguồn C trở nên rõ ràng và dễ bảo trì hơn, giúp phân biệt nhanh chóng kiểu dữ liệu của biến.

3.2. Phân tích cấu trúc điều khiển Lệnh if else và switch case

Chương 4 là nơi tập trung vào logic của chương trình thông qua các cấu trúc điều khiển. Lệnh if được phân tích kỹ lưỡng qua các dạng: if thiếu, if đủ (if-else), và cấu trúc lồng nhau. Mỗi dạng đều có cú pháp, lưu đồ và ví dụ minh họa cụ thể, chẳng hạn như bài toán tìm số lớn nhất. Lệnh switch được giới thiệu như một công cụ lựa chọn đa nhánh mạnh mẽ, đi kèm với các từ khóa case, break, và default. Các ví dụ như chương trình xác định quý trong năm giúp sinh viên hiểu rõ cách áp dụng switch vào thực tế.

3.3. Bí quyết làm chủ vòng lặp for while và do while hiệu quả

Các cấu trúc lặp là một phần không thể thiếu trong kỹ thuật lập trình C. Giáo trình giải thích cặn kẽ ba loại vòng lặp chính. Vòng lặp for được định nghĩa là vòng lặp xác định, lý tưởng khi biết trước số lần lặp. Cú pháp for (biểu thức 1; biểu thức 2; biểu thức 3) được phân tích chi tiết. Vòng lặp while là vòng lặp không xác định, thực hiện khối lệnh khi biểu thức điều kiện còn đúng. Cuối cùng, do-while đảm bảo khối lệnh được thực thi ít nhất một lần trước khi kiểm tra điều kiện. Việc hiểu rõ sự khác biệt này giúp lập trình viên lựa chọn cấu trúc phù hợp nhất cho từng bài toán.

IV. Phương pháp tiếp cận cấu trúc dữ liệu và giải thuật với C

Sau khi nắm vững các kiến thức nền tảng, giáo trình lập trình C của CĐ GTVT Trung ương I dẫn dắt sinh viên đến các chủ đề phức tạp hơn, đặt nền móng cho cấu trúc dữ liệu và giải thuật. Chương 5 và 6 của tài liệu đóng vai trò then chốt trong giai đoạn này. Chương 5 giới thiệu về ba khái niệm quan trọng: hàm trong C, mảng và chuỗi trong C. Hàm được xem là đơn vị cơ bản để cấu trúc hóa chương trình, giúp tái sử dụng mã nguồn và làm cho chương trình trở nên module hóa. Giáo trình giải thích cách định nghĩa, gọi hàm, cũng như các khái niệm về tham số tham biến và tham trị. Mảng là cấu trúc dữ liệu tuyến tính đầu tiên được giới thiệu, cho phép lưu trữ một tập hợp các phần tử cùng kiểu. Cách khai báo, truy xuất, và khởi tạo mảng được trình bày rõ ràng. Tương tự, chuỗi ký tự, vốn là một mảng các ký tự, cũng được đề cập cùng với các hàm xử lý chuỗi phổ biến. Chương 6 tập trung vào con trỏ trong C, một công cụ mạnh mẽ nhưng cũng đầy thách thức. Việc hiểu và sử dụng thành thạo con trỏ là điều kiện tiên quyết để làm việc với các cấu trúc dữ liệu động và quản lý bộ nhớ hiệu quả. Đây là bước đệm quan trọng để sinh viên có thể tiếp tục nghiên cứu các giáo trình C++lập trình hướng đối tượng sau này.

4.1. Kỹ thuật lập trình C với mảng và chuỗi trong C hiệu quả

Chương 5 cung cấp một cái nhìn chi tiết về cách làm việc với mảng và chuỗi trong C. Đối với mảng, giáo trình hướng dẫn cách khai báo với kích thước cố định, cách tham chiếu đến từng phần tử thông qua chỉ số, và cách nhập dữ liệu cho mảng. Đối với chuỗi, cách khai báo, khởi tạo và sử dụng các hàm nhập/xuất chuyên dụng như gets()puts() được minh họa. Việc nắm vững các kỹ thuật này là nền tảng để giải quyết các bài toán liên quan đến lưu trữ và xử lý tập hợp dữ liệu.

4.2. Hiểu sâu về hàm trong C Tham số và biến toàn cục cục bộ

Hàm trong C được trình bày như một phương pháp để chia nhỏ chương trình thành các khối chức năng độc lập. Giáo trình phân biệt rõ ràng giữa biến toàn cục (khai báo ngoài tất cả các hàm, có phạm vi toàn chương trình) và biến cục bộ (khai báo trong hàm, chỉ có tác dụng nội bộ). Khái niệm về tham số cũng được làm rõ, bao gồm truyền tham biến (truyền địa chỉ, thường dùng với con trỏ) và tham trị (truyền giá trị). Hiểu rõ những điều này giúp quản lý dữ liệu và luồng thực thi của chương trình một cách hiệu quả.

4.3. Giới thiệu về con trỏ trong C và ứng dụng quản lý bộ nhớ

Chương 6 là chương chuyên sâu về con trỏ trong C. Nội dung bắt đầu bằng việc định nghĩa con trỏ là biến lưu trữ địa chỉ của biến khác. Giáo trình hướng dẫn cú pháp khai báo biến con trỏ, cách lấy địa chỉ của một biến bằng toán tử &, và cách truy cập giá trị mà con trỏ trỏ tới bằng toán tử *. Các ứng dụng thực tế của con trỏ được minh họa qua việc truyền địa chỉ sang hàm, sử dụng con trỏ để thao tác với mảng và chuỗi. Đây là kiến thức cốt lõi, tạo tiền đề cho việc học các cấu trúc dữ liệu và giải thuật phức tạp hơn.

V. Ứng dụng thực tiễn và cách ôn thi lập trình C hiệu quả nhất

Giá trị của một giáo trình lập trình C không chỉ nằm ở lý thuyết mà còn ở khả năng ứng dụng và hỗ trợ người học trong thực hành và kiểm tra. Giáo trình của CĐ GTVT Trung ương I được xây dựng với nhiều ví dụ minh họa và bài tập C có lời giải được phác họa chi tiết. Mỗi khái niệm lý thuyết, từ cấu trúc điều khiển đến con trỏ trong C, đều đi kèm với các đoạn mã nguồn C cụ thể. Điều này cho phép sinh viên không chỉ đọc hiểu mà còn có thể tự gõ lại, biên dịch và chạy thử chương trình trên các môi trường như Turbo C, Dev-C++ hoặc Visual Studio Code. Việc thực hành thường xuyên với các bài tập trong sách giúp củng cố kiến thức và phát triển kỹ thuật lập trình C. Đối với việc ôn thi lập trình C, giáo trình này là một tài liệu không thể thiếu. Lộ trình kiến thức được sắp xếp logic từ cơ bản đến nâng cao, giúp sinh viên hệ thống hóa lại những gì đã học. Các ví dụ và bài tập trong sách thường là dạng bài tiêu biểu có thể xuất hiện trong các bài kiểm tra. Ngoài ra, việc tự giải lại các bài tập và thử thách bản thân với các dạng trắc nghiệm lập trình C trực tuyến dựa trên nền tảng kiến thức từ giáo trình sẽ là chiến lược ôn tập hiệu quả nhất.

5.1. Xây dựng chương trình từ mã nguồn C mẫu trong giáo trình

Giáo trình cung cấp rất nhiều ví dụ mã nguồn C hoàn chỉnh, từ chương trình "Hello, World!" đầu tiên đến các bài toán phức tạp hơn như tìm số lớn nhất, xếp loại học lực. Sinh viên được khuyến khích nhập lại toàn bộ đoạn mã, dịch và chạy để quan sát kết quả. Quá trình này giúp làm quen với cú pháp, cấu trúc của một chương trình C và hiểu được vai trò của từng dòng lệnh, đặc biệt là các hàm thư viện như printf()scanf() từ stdio.h.

5.2. Hướng dẫn giải quyết bài tập C có lời giải từ cơ bản đến nâng cao

Mỗi phần kiến thức quan trọng đều có các bài tập vận dụng. Ví dụ, sau khi học về lệnh if, có bài tập viết chương trình tìm số lớn nhất trong hai số. Giáo trình không chỉ đưa ra đề bài mà còn phác họa lời giải chi tiết qua các bước: mô tả bằng ngôn ngữ tự nhiên, vẽ lưu đồ giải thuật, và cuối cùng là viết chương trình C. Phương pháp này giúp sinh viên rèn luyện tư duy logic và kỹ năng giải quyết vấn đề một cách có hệ thống, thay vì chỉ sao chép bài tập C có lời giải một cách máy móc.

5.3. Chiến lược ôn thi và làm trắc nghiệm lập trình C hiệu quả

Để ôn thi lập trình C hiệu quả, việc đầu tiên là nắm chắc các khái niệm cốt lõi đã được trình bày: kiểu dữ liệu trong C, toán tử, cấu trúc điều khiển, vòng lặp for while, hàm, mảng và con trỏ. Sinh viên nên tóm tắt lại lý thuyết của từng chương. Sau đó, thực hành lại các bài tập trong sách. Đối với các kỳ thi có phần trắc nghiệm lập trình C, cần chú ý đến các câu hỏi về cú pháp, thứ tự ưu tiên của toán tử, và kết quả đầu ra của các đoạn mã nhỏ. Việc luyện tập với các bộ đề trắc nghiệm sẽ giúp tăng tốc độ phản xạ và tránh được các lỗi sai phổ biến.

VI. Tóm tắt giá trị và định hướng học lập trình C từ nền tảng C

Giáo trình lập trình C căn bản của Trường Cao đẳng GTVT Trung ương I đóng một vai trò nền tảng không thể thiếu trong chương trình đào tạo ngành tin học ứng dụng. Tài liệu này không chỉ cung cấp kiến thức toàn diện về ngôn ngữ lập trình C mà còn trang bị cho sinh viên tư duy lập trình cấu trúc một cách bài bản. Từ việc hiểu rõ các khái niệm cơ bản như biến, kiểu dữ liệu trong C, các cấu trúc điều khiển, cho đến việc làm chủ các kỹ thuật phức tạp hơn như hàm trong C, mảng, chuỗi và đặc biệt là con trỏ trong C, giáo trình đã xây dựng một lộ trình học tập vững chắc. Việc hoàn thành tốt môn học này sẽ tạo ra một lợi thế cạnh tranh lớn, giúp sinh viên dễ dàng tiếp thu các công nghệ và ngôn ngữ lập trình khác. Đặc biệt, kiến thức về C là bước đệm hoàn hảo để chuyển tiếp lên lập trình hướng đối tượng với C++. C++ có thể được xem là một phiên bản mở rộng của C, kế thừa gần như toàn bộ cú pháp và các khái niệm cốt lõi, nhưng bổ sung thêm các tính năng mạnh mẽ như lớp (class), đối tượng (object), kế thừa và đa hình. Do đó, một người đã thành thạo C sẽ học giáo trình C++ nhanh hơn rất nhiều.

6.1. Vai trò của giáo trình C trong đào tạo nghề tin học ứng dụng

Trong bối cảnh ngành công nghệ thông tin phát triển nhanh chóng, việc nắm vững một ngôn ngữ lập trình nền tảng như C là cực kỳ quan trọng. Giáo trình này giúp sinh viên ngành tin học ứng dụng không chỉ học một ngôn ngữ, mà còn học cách tư duy logic, giải quyết vấn đề, và hiểu sâu hơn về cách máy tính hoạt động. Những kỹ thuật lập trình C được học sẽ là hành trang quý giá để phát triển sự nghiệp trong lĩnh vực lập trình hệ thống, lập trình nhúng, hoặc phát triển game.

6.2. Từ lập trình C cơ bản đến lập trình hướng đối tượng với C

Con đường phát triển tự nhiên sau khi nắm vững lập trình C cơ bản là tiến tới lập trình hướng đối tượng (OOP), và C++ là lựa chọn hàng đầu. Nhiều khái niệm trong C như quản lý bộ nhớ thủ công với con trỏ, các kiểu dữ liệu, và cú pháp lệnh vẫn được giữ nguyên trong C++. Sinh viên sẽ chỉ cần tập trung vào việc học các khái niệm mới của OOP. Nền tảng C vững chắc giúp việc chuyển đổi sang học giáo trình C++ trở nên mượt mà và hiệu quả, mở ra nhiều cơ hội nghề nghiệp hơn trong thế giới phần mềm hiện đại.

30/09/2025

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

CHƯƠNG 1:TONG QUAN VE MON HOC Thời gian: 5 giờ Mục tiêu: Học xong chương này học sinh sẽ vận dụng được các van dé sau: - Khái niệm về ngôn ngữ lập trình. - Khái niệm về kiểu đữ liệu - Kiểu dữ liệu có cấu trúc (cấu trúc dữ liệu) - Ngôn ngữ biểu diễn giải thuật - Ngôn ngữ sơ đồ (lưu đồ), sử dụng lưu đồ đề biểu diễn các giải thuật. Nội dung chương: 1. Giải thuật (Algorithm) Là một dãy các thao tác xác định trên một đối tượng, sao cho sau khi thực hiện một số hữu hạn các bước thì đạt được mục tiêu.Kowalski thì bản chất của thuật giải: Thuật gidi = Logic + Điều khiển * Logic: Day là phần khá quan trọng, nó trả lời câu hỏi "Thuật giải làm gì, giải quyết vấn đề gì", những yếu tố trong bài toán có quan hệ với nhau như thế nào v.

Chẳng hạn: Để giải một bài toán tính diện tích hình cầu, mà bạn không còn nhớ công thức tính hình cầu thì bạn không thẻ viết chương trình cho máy để giải bài toán này được. * Điều khiển: Thành phần này trả lời câu hỏi: giải thuật phải làm như thế nào?. Chính là cách thức tiến hành áp dụng thành phần logic đề giải quyết vấn đề. Chương trình (Program) Là một tập hợp các mô tả, các phát biểu, nằm trong một hệ thống qui ước về ý nghĩa và thứ tự thực hiện, nhằm điều khiển máy tính làm việc.

Theo Niklaus Wirth thì: Chương trình = Thuật toán + Cấu trúc dữ liệu Các thuật toán và chương trình đều có cấu trúc dựa trên 3 cấu trúc điều khiển cơ bản: *Tuân tự (Sequential): Các bước thực hiện tuần tự một cách chính xác từ trên xuống, mỗi bước chỉ thực hiện đúng một lần. *Chọn lọc (Selection): Chọn 1 trong 2 hay nhiều thao tác để thực hiện. *Lặp lai (Repetition): Một hay nhiều bước được thực hiện lặp lại một số lần. Để viết được chương trình chuẩn xác.

Ta thực hiện theo các bước sau: Tìm, xây dựng thuật giải (trên giấy) —> viết chương trình trên máy —> dịch chương trình —> chạy và thử chương trình 1. Ngôn ngữ lập trình (Programming language) Ngôn ngữ lập trình là hệ thống các ký hiệu tuân theo các qui ước về ngữ pháp và ngữ nghĩa, dùng để xây dựng thành các chương trình cho máy tính. 15 Một chương trình được viết bằng một ngôn ngữ lập trình cụ thể (vi du Pascal, C, .) gọi là chương trình nguồn, chương trình dịch làm nhiệm vụ địch chương trình nguồn thành chương trình thực thi được trên máy tính. Ngôn ngữ tự nhiên Được thực hiện qua các bước: Bước 1: Phân tích vấn đề và xác định các đặc điểm.

(xác định I-P-O) Bước 2: Lập ra giải pháp. (đưa ra thuật giải) Bước 3: Cài đặt. (viết chương trình) Bước 4: Chạy thử chương trình. (dịch chương trình) Bước 5: Kiểm chứng và hoàn thiện chương trình.

(thử nghiệm bằng nhiều số liệu và đánh giá) I-P-O Cycle (Input-Pprocess-Oufput Cycle) (Quy trình nhập-xử lý-xuất) Ngôn ngữ tự nhiên sử dụng quy trình xử lý cơ bản của máy tính gồm I-P-O. Input _|_ Output Process Ví dụ 1: Xác định Input, Process, Output của chương trình giải phương trình bậc nhất ax+b=0 Input : hệ số a,b Process : chia—bchoa Output : nghiệm x Vi dụ 2: Xác định Input, Process, Output của chương trình tìm số lớn nhất của 2 số a và b. Input : a,b Process : Néua>b thi Output = a 16n nhat Ngugc lai Output = b 1é6n nhat Ví dụ 3: Xác định Input, Process, Output của chương trình tính tiền lương công nhân tháng 10/2002 biết rằng lương = lương căn bản * ngày công Input : luong can ban, ngày công Process : nhan lvong can ban véi ngay công Output : lương 1. Hình dạng (symbol) Hành động (Activity) 16 Hinh dang (symbol) Hanh dong (Activity) Dữ liệu vào (Input) Xử lý (Process) é_ ) Dữ liệu ra (Output) Quyết định (Decision), sử dụng điều kiện —— Luồng xử lý (Flow lines) Gọi CT con, hàm.) C Bắt đầu, kết thúc (Begin, End) Điểm ghép nối (Connector) Ví dụ 1: Chuẩn bị cà phê Vi du 2: M6 ta vi du 1 Ví dụ 3: Mô tả ví dụ3 Cà phê, nước sôi LCB, ngày công | Hòa cà phê vào nước sôi | | Chia —b cho a Nhân LCB với ngày công Kết quả lương —[KMáyđàuhỏnhpj _ ( Kếthúc) — (Kãm) “ Cà phê đã sẵn sảng Kết thúc i 17 Ví dụ 4: Cộng hai số Ví dụ 5: So sánh 2 số ( Bắtđầu ) Số a, Số b Số a có bằng oe TA Số b không? Noon) Có Số a bằng Số b Số a không bằng Số b ị Ví dụ 7: Kiểm tra loại số Ví dụ 8: Kiểm tra tính hợp lệ của điểm Bit dau [si] [ Đềmj i>07 >A Sé dung Điểm>=0và_ Không eee > Không Có %<0ì>,/ sé Điểm hợp lệ) <ÍÍ Điểm khônghợplệ) Không T Kết thúc (Sókhôn) Kếtthúc 18 CHUONG 2: GIGI THIEU VE NGON NGU C VA MOI TRUONG TURBO C Thời gian: 10 giờ Mục tiêu: Học xong chương này, học sinh sẽ vận dụng các kiến thức kỹ năng cơ bản sau: - Tổng quan về ngôn ngữ C ~- Môi trường làm việc và cach su dung Turbo C 3.0 ~ Cách lập trình trên C ~ Tiếp cận một số lệnh đơn giản thông qua các ví dụ - Nắm bắt được một số kỹ năng đơn giản Nội dung chương: 2.1 Tông quan về ngôn ngữ lập trình C.

C là ngôn ngữ lập trình cấp cao, được sử dụng rất phổ biến để lập trình hệ thống cùng với Assembler và phát triên các ứng dụng. Lúc ban đầu, C được thiết kế nhằm lập trình trong môi trường của hệ điều hành Unix nhằm mục đích hỗ trợ cho các công việc lập trình phức tạp. Nhưng về sau, với những nhu cầu phát triển ngày một tăng của công việc lập trình, C đã vượt qua khuôn khổ của phòng thí nghiệm Bell và nhanh chóng hội nhập vào thế giới lập trình để rồi các công ty lập trình sử dụng một cách rộng rãi. Sau đó, các công ty sản xuất phần mềm lần lượt đưa ra các phiên bản hỗ trợ cho việc lập trình bằng ngôn ngữ C và chuẩn ANSLC cũng được khai sinh từ đó.

Ngôn ngữ lập trình C là một ngôn ngữ lập trình hệ thống rất mạnh và rất “mềm dẻo”, có một thư viện gồm rất nhiều các hàm (function) đã được tạo sẵn. Hơn thế nữa, ngôn ngữ C hỗ trợ rất nhiều phép toán nên phù hợp cho việc giải quyết các bài toán kỹ thuật có nhiều công thức phức tạp. Ngoài ra, C cũng cho phép người lập trình tự định nghĩa thêm các kiểu đữ liệu trừu tượng khác. Ngôn ngữ C có những đặc điểm cơ bản sau: - Tinh c6 dong (compact): C chỉ có 32 từ khóa chuẩn và 40 toán tử chuẩn, nhưng hầu hết đều được biểu diễn bằng những chuỗi ký tự ngắn gọn.

- Tỉnh cấu trúc (structred): C có một tập hợp những chỉ thị của lập trình như cầu trúc lựa chọn, lặp. Từ đó các chương trình viết bằng C được tổ chức rõ ràng, dé hiểu. - Tính tương thích (compaiible): C có bộ tiền xử lý và một thư viện chuẩn vô cùng phong phú nên khi chuyển từ máy tính này sang máy tính khác các chương trình viết bằng C vẫn hoàn toàn tương thích. - Tinh linh d6ng (flexible): C là một ngôn ngữ rất uyên chuyển và cú pháp, có thể thu gọn kích thước của các mã lệnh làm chương trình chạy nhanh hơn.

- Bién dich (compile): C cho phép biên dịch nhiều tập tin chương trình riêng rẽ thành các tập tin đối tugng (object) va lién kết (link) các đối tượng đó lại với nhau thành một chương trình có thể thực thi được (executable) thống nhất.2 Môi trường làm việc và cách sử dụng Turbo C 3. Turbo C là môi trường hỗ trợ lập trình C do hãng Borland cung cấp. Môi trường này cung cấp các chức năng như: soạn thảo chương trình, dịch, thực thi chương trình. Phiên bản được sử dụng ở đây là Turbo C 3.1 Khởi động và thoát Borland C.

Khởi động Gọi TurboC cũng giỗng như chạy các chương trình khác trong môi trường DOS hay Windows, màn hình sẽ xuất hiện menu của Turbo C có dạng như sau: Dòng trên cùng gọi là thanh menu (menu bar). Mỗi mục trên thanh menu lại có thể có nhiều mục con nằm trong một menu kéo xuống. Dòng dưới cùng ghi chức năng của một số phím đặc biệt. Chẳng hạn khi gõ phím FI thì ta có được một hệ thống trợ giúp mà ta có thể tham khảo nhiều thông tin bổ ích.

Muốn vào thanh menu ngang ta gõ phím F10. Sau đó dùng các phím mũi tên qua trái hoặc phải để di chuyển vùng sáng tới mục cần chọn rồi gõ phím Enter. Trong menu kéo xuống ta lại dùng các 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 rồi gõ Enter. Ta cũng có thể chọn một mục trên thanh menu bằng cách giữ phím Alt và gõ vào một ký tự đại điện của mục đó (ký tự có màu sắc khác với các ký tự khác).

Chẳng hạn để chọn mục File ta gõ Alt-F (F là ký tự đại diện của Eile) 2. Thoát Án phím F10 (kích hoat Menu), chon menu File, chon Quit; Hoặc ấn tổ hợp phím Alt — X.2 Dich và Chạy chương trình. Đê thực hiện chương trình (Dịch và chạy chương trình, ta sử dụng Ctrl-F9 (giữ phím Ctrl và gõ phím F9). Sau khi bạn nhập xong đoạn chương trình vào máy.

Bạn Ấn và giữ phím Ctưrl, 26 20 F9 dé dich và chạy chương trình. Khi đó bạn thấy chương trình chớp rất nhanh và không thấy kết quả gì cả. Bạn Ấn và giữ phím Alt. gõ F5 để xem kết quả, khi xem xong, bạn ấn phím bắt kỳ để quay về màn hình soạn thảo chương trình.

Ví dụ 1 Dòng | File Edit Search Run Compile Debug Project Option Window Help /* Chuong trinh in ra cau bai hoc C dau tien */ WNE #include <stdio.h> void main(void) { NADU printf("Bai hoc C dau tien."); } Fl Help Alt-F8 Next Msg Alt-F7 Prey Msg Alt-F9 Compile F9 Make F10 Menu 2 Két qua in ra màn hình Bai hoc C dau tien. _ Dong thir 1: bat đầu bang /* và kết thúc bằng */ là hàng diễn giải (chú thích) giúp chương trình rõ ràng hơn. Khi dịch và chạy chương trình, dòng này không được dịch và cũng không thi hành lệnh gì cả. Dòng thứ 2: Chứa phat biéu tién xtr ly #include <stdio.

Vi trong chương trình nay ta sử dụng hàm thư viện của C 1a printf, do đó ban cần phải có khai báo của hàm thư viện này để báo cho trình biên dịch C biết. Nếu không khai báo chương trình sẽ báo lỗi. Dòng thứ 3: hàng trắng viết ra với ý đồ làm cho bảng chương trình thoáng, dễ đọc.

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