Bài Giảng Ngôn Ngữ Lập Trình C Cơ Bản Cho Sinh Viên

Chuyên khảo phân tích Bai giang ngôn ngữ lập trình c cơ bản cho sinh vien, đánh giá các khía cạnh quan trọng, đề xuất hướng nghiên cứu tiếp theo.

Chuyên ngành

Tin Học

Người đăng

Ẩn danh

Thể loại

Bài Giảng

2020

155
1
0

Phí lưu trữ

45 Point

Mục lục chi tiết

MỞ ĐẦU

1. GIỚI THIỆU CHUNG

1.1. Ngôn ngữ lập trình

1.2. Sự ra đời và phát triển của ngôn ngữ C

2. MỘT SỐ KIẾN THỨC CƠ SỞ

2.1. Bộ kí tự, từ khóa,tên

2.1.1. Bộ kí tự trong C

2.1.2. Các từ khoá (Keywords)

2.1.3. Tên và cách đặt tên

2.1.4. Lời giải thích

2.2. Cấu trúc chương trình trong C

2.2.1. Cấu trúc tổng quát của chương trình trong C

2.2.2. Chương trình đơn giản nhất trong C

2.3. Các kiểu dữ liệu cơ sở

2.4. Biến,hằng, câu lệnh và các phép toán

2.4.1. Biến và hằng

2.5. Thủ tục vào và ra chuẩn

2.5.1. Vào ra ra bằng getchar(), putchar()

2.5.2. In ra theo khuôn dạng - Printf

2.5.3. Nhập vào có khuôn dạng - scanf

2.5.4. Thâm nhập vào thư viện chuẩn

3. CÁC CẤU TRÚC LỆNH ĐIỀU KHIỂN

3.1. Câu lệnh khối

3.2. Cấu trúc lệnh if

3.3. Cấu trúc lệnh switch

3.4. Vòng lặp for

3.5. Vòng lặp không xác định while

3.6. Vòng lặp không xác định do

3.7. Lệnh break và lệnh Continue

4. HÀM VÀ PHẠM VI HOẠT ĐỘNG CỦA BIẾN

4.1. Tính chất của hàm

4.2. Khai báo, thiết kế hàm

4.3. Phương pháp truyền tham biến cho hàm

4.4. Biến địa phương, biến toàn cục

4.5. Tính đệ qui của hàm

5. CẤU TRÚC DỮ LIỆU KIỂU MẢNG (Array)

5.1. Khái niệm về mảng

5.2. Các thao tác đối với mảng

5.3. Mảng và đối của hàm

6. Kiểu dữ liệu Con trỏ

6.1. Con trỏ và địa chỉ

6.2. Con trỏ và đối của hàm

6.3. Con trỏ và mảng

6.4. Cấp phát bộ nhớ cho con trỏ. Mảng các con trỏ

6.5. Đối của hàm main()

6.6. Con trỏ hàm

7. DỮ LIỆU KIỂU TỆP (FILE)

7.1. Thâm nhập vào thư viện chuẩn

7.2. Thâm nhập tệp

7.3. Xử lý lỗi - Stderr và Exit

7.4. Đưa vào và đưa ra cả dòng

7.5. Đọc và ghi file bằng fscanf, fprintf

7.6. Một số hàm thông dụng khác

7.7. Định nghĩa cấu trúc

7.8. Khai báo và sử dụng cấu trúc

7.9. Sử dụng từ khóa typedef khi làm việc với cấu trúc

7.10. Truy cập vào các thành phần của cấu trúc

7.11. Cấu trúc và hàm. Cấu trúc lồng

7.12. Cấu trúc và con trỏ

7.13. Cấu trúc và file

Bai giang ngôn ngữ lập trình c cơ bản cho sinh vien

Tài liệu "Hướng Dẫn Ngôn Ngữ Lập Trình C Cơ Bản Dành Cho Sinh Viên" cung cấp một cái nhìn tổng quan về ngôn ngữ lập trình C, giúp sinh viên nắm bắt các khái niệm cơ bản và kỹ thuật lập trình cần thiết. Tài liệu này không chỉ giải thích các cú pháp và cấu trúc của ngôn ngữ C mà còn hướng dẫn cách áp dụng chúng vào thực tế thông qua các ví dụ cụ thể. Độc giả sẽ được trang bị kiến thức vững chắc để phát triển các chương trình đơn giản, từ đó tạo nền tảng cho việc học hỏi các ngôn ngữ lập trình phức tạp hơn trong tương lai.

Để mở rộng kiến thức của bạn, bạn có thể tham khảo tài liệu Thực hành ngôn ngữ lập trình C, nơi cung cấp các bài tập thực hành giúp củng cố kỹ năng lập trình. Ngoài ra, tài liệu Tổng quan về ngôn ngữ lập trình C sẽ giúp bạn hiểu rõ hơn về các tính năng nổi bật của ngôn ngữ này. Cuối cùng, tài liệu Giáo trình kỹ thuật lập trình nghề công nghệ thông tin trình độ cao đẳng 2 cung cấp hướng dẫn chi tiết cho sinh viên cao đẳng, giúp bạn nắm vững các kỹ thuật lập trình cần thiết trong ngành công nghệ thông tin. Những tài liệu này sẽ là nguồn tài nguyên quý giá để bạn phát triển kỹ năng lập trình của mình.

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

BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG  BÀI GIẢNG TIN HỌC CƠ SỞ 2 . Hà Nội – Năm 2020 BÀI GIẢNG TIN HỌC CƠ SỞ 2 – KHOA CNTT1 MỤC LỤC 1. GIỚI THIỆU CHUNG . Ngôn ngữ lập trình . Sự ra đời và phát triển của ngôn ngữ C. MỘT SỐ KIẾN THỨC CƠ SỞ . Bộ kí tự, từ khóa,tên .1 Bộ kí tự trong C .3 Tên và cách đặt tên .4 Lời giải thích . Cấu trúc chương trình trong C .1 Cấu trúc tổng quát của chương trình trong C .2 Chương trình đơn giản nhất trong C . Các kiểu dữ liệu cơ sở . Biến,hằng, câu lệnh và các phép toán .1 Biến và hằng . Thủ tục vào và ra chuẩn .1 Vào ra ra bằng getchar(), putchar() .2 In ra theo khuôn dạng - Printf .3 Nhập vào có khuôn dạng - scanf .4 Thâm nhập vào thư viện chuẩn . CÁC CẤU TRÚC LỆNH ĐIỀU KHIỂN . Câu lệnh khối . Cấu trúc lệnh if . Cấu trúc lệnh switch . Vòng lặp for . Vòng lặp không xác định while Cú pháp: . 36 2 BÀI GIẢNG TIN HỌC CƠ SỞ 2 – KHOA CNTT1 3. Vòng lặp không xác định do . Lệnh break và lệnh Continue . HÀM VÀ PHẠM VI HOẠT ĐỘNG CỦA BIẾN. Tính chất của hàm . Khai báo, thiết kế hàm . Phương pháp truyền tham biến cho hàm . Biến địa phương, biến toàn cục . Tính đệ qui của hàm . CẤU TRÚC DỮ LIỆU KIỂU MẢNG (Array) . Khái niệm về mảng . Các thao tác đối với mảng . Mảng và đối của hàm . Kiểu dữ liệu Con trỏ .1 Con trỏ và địa chỉ .2Con trỏ và đối của hàm.3 Con trỏ và mảng .4 Cấp phát bộ nhớ cho con trỏ. Mảng các con trỏ . Đối của hàm main() . Con trỏ hàm . DỮ LIỆU KIỂU TỆP (FILE) . Thâm nhập vào thư viện chuẩn . Thâm nhập tệp . Xử lý lỗi - Stderr và Exit . Đưa vào và đưa ra cả dòng . Đọc và ghi file bằng fscanf, fprintf . Một số hàm thông dụng khác . Định nghĩa cấu trúc . Khai báo và sử dụng cấu trúc . 145 3 BÀI GIẢNG TIN HỌC CƠ SỞ 2 – KHOA CNTT1 7. Sử dụng từ khóa typedef khi làm việc với cấu trúc . Truy cập vào các thành phần của cấu trúc: . Cấu trúc và hàm. Cấu trúc lồng . Cấu trúc và con trỏ . Cấu trúc và file . 152 4 BÀI GIẢNG TIN HỌC CƠ SỞ 2 – KHOA CNTT1 MỞ ĐẦU Tin học cơ sở 2 là môn học quan trọng trong chương trình giáo dục đại cương ở bậc đại học, đây là môn bắt buộc đối với tất cả các sinh viên trong Học Viện CNBCVT. Tài liệu này nhằm cung cấp cho sinh viên các kiến thức tổng quan và cơ bản về ngôn ngữ lập trình C. Qua đó sinh viên có thể nắm được các khái niệm cơ bản về lập trình và thiết lập được một số chương trình đơn giản phục vụ cho khoa học kĩ thuật và đặc biệt là làm công cụ để phục vụ cho các môn học về tin học và viễn thông mà các em sắp học. Chúng tôi đã biên soạn bài giảng này cho tất cả các sinh viên các ngành kỹ thuật ở bậc đại học với mục đích giúp cho các sinh viên có một tài liệu học cần thiết cho môn học này và cũng để đáp ứng nhu cầu càng ngày càng cao về tư liệu dạy và học tin học. 5 BÀI GIẢNG TIN HỌC CƠ SỞ 2 – KHOA CNTT1 GIỚI THIỆU CHUNG 1. Ngôn ngữ lập trình Trong phần “Tin học cơ sở 1” chúng ta đã tìm hiểu Winword và Excel, là các phần mềm ứng dụng trong công việc soạn thảo văn bản và làm các bảng tính toán được. Đặc điểm của các phần mềm ứng dụng là luôn định rõ phạm vi ứng dụng và cung cấp càng nhiều càng tốt các công cụ để hoàn thành chức năng đó. Tuy nhiên người sử dụng cũng hầu như bị bó buộc trong phạm vi quy định của phần mềm. Chẳng hạn ta khó có thể dùng Excel để giải một bài toán gồm nhiều bước tính toán như tính nghiệm gần đúng một phương trình vi phân hay giải một hệ phương trình tuyến tính. Mặc dầu các phần mềm ứng dụng ngày càng nhiều và thuộc đủ các lĩnh vực như xây dựng, thiết kế, hội họa, âm nhạc.nhưng không thể bao trùm hết các vấn đề nẩy sinh trong thực tế vô cùng phong phú. Rõ ràng không chỉ những chuyên gia tin học mà ngay cả những người sử dụng, nhất là các cán bộ kỹ thuật, rất cần đến những phần mềm uyển chuyển và mềm dẻo hơn, có khả năng thực hiện được nhiều hơn các chỉ thị của người sử dụng để giúp họ giải quyết những công việc đa dạng bằng máy tính. Phần mềm có tính chất như thế được gọi là ngôn ngữ lập trình. Chính xác hơn ngôn ngữ lập trình là một ngôn ngữ nhân tạo bao gồm một tập các từ vựng (mà ta sẽ gọi là từ khóa để phân biệt với ngôn ngữ thông thường) và một tập các quy tắc (gọi là Syntax - cú pháp) mà ta có thể sử dụng để biên soạn các lệnh cho máy tính thực hiện. Như ta đã biết, các ô nhớ của máy tính chỉ có thể biểu diễn các số 0 và 1. Vì vậy ngôn ngữ mà máy có thể hiểu trực tiếp là ngôn ngữ trong đó các lệnh là các dãy số nhị phân và do đó được gọi là ngôn ngữ máy (machine language) . Mọi ngôn ngữ khác đều phải thông dịch hoặc biên dịch sang ngôn ngữ máy (Interpreter - thông dịch và cho chạy từng lệnh. Compiler - biên dịch thành 1 chương trình ngôn ngữ máy hoàn chỉnh, do vậy chạy nhanh hơn thông dịch). Có nhiều loại ngôn ngữ lập trình, và hầu hết các nhà khoa học về máy tính đều cho rằng không có một ngôn ngữ độc nhất nào có đủ khả năng phục vụ cho các yêu cầu của tất cả các lập trình viên. Theo truyền thống, các ngôn ngữ lập trình được phân làm 2 loại: các ngôn ngữ bậc thấp và ngôn ngữ bậc cao. Ngôn ngữ lập trình bậc thấp (low-level programming language): Ngôn ngữ máy, hợp ngữ (assembler: chương trình dịch hợp ngữ, assembly language: ngôn ngữ hợp ngữ). Hợp ngữ là ngôn ngữ lập trình bậc thấp từ ngôn ngữ 6 BÀI GIẢNG TIN HỌC CƠ SỞ 2 – KHOA CNTT1 máy. Nó chỉ khác với ngôn ngữ máy trong việc sử dụng các mã biểu thị các chức năng chính mà máy thực hiện. Lập trình bằng hợp ngữ rất phiền toái: có đến vài tá dòng mã cần thiết chỉ để thực hiện phép cộng 2 con số. Các chương trình hợp ngữ rất khó viết; chúng không có cấu trúc hoặc modun hóa rõ ràng. Chương trình hợp ngữ cũng không dễ chuyển từ loại máy tính này sang loại máy tính khác. Các chương trình này được viết theo các tập lệnh đặc thù của loại bộ vi xử lý nhất định. Lập trình bằng hợp ngữ thì mã gọn và chạy nhanh. Do đó hầu hết các chương trình điều hành hệ thống đều được viết bằng hợp ngữ. Tuy nhiên do sự phức tạp của công việc lập trình nên các hãng sản xuất phần mềm chuyên dụng thích viết chương trình bằng ngôn ngữ C (do Bell Laboratories của hãng AT&T xây dựng) là loại ngôn ngữ kết hợp được cấu trúc của ngôn ngữ bậc cao hiện đại với tốc độ và tính hiệu quả của hợp ngữ bằng cách cho phép nhúng các lệnh hợp ngữ vào chương trình. Ngôn ngữ lập trình bậc cao: Các ngôn ngữ lập trình bậc cao như Basic, Pascal, C, C++. cho phép các lập trình viên có thể diễn đạt chương trình bằng các từ khóa và các câu lệnh gần giống với ngôn ngữ tự nhiên. Các ngôn ngữ này dược gọi là “bậc cao” vì chúng giải phóng các lập trình viên khỏi những quan tâm về từng lệnh sẽ được máy tính tiến hành như thế nào, bộ phận thông dịch hoặc biên dịch của chương trình sẽ giải quyết các chi tiết này khi mã nguồn được biến đổi thành ngôn ngữ máy. Một câu lệnh trong ngôn ngữ bậc cao tương ứng với một số lệnh ngôn ngữ máy, cho nên bạn có thể thảo chương theo ngôn ngữ bậc cao nhanh hơn so với bậc thấp. Tuy nhiên bạn cũng phải trả giá cho việc này. Chương trình ngôn ngữ máy được dịch ra từ mã nguồn được viết bằng ngôn ngữ bậc cao chứa rất nhiều chi tiết thừa, do đó tốc độ chạy sẽ chậm hơn nhiều so với chương trình viết bằng hợp ngữ. Thông thường một trình biên dịch đặc trưng thường sinh ra số lệnh mã máy gấp 2 lần hay nhiều hơn số lệnh cần thiết nếu viết bằng mã máy. Một cách phân loại khác của các ngôn ngữ lập trình: Ngôn ngữ thủ tục (Procedural Language) và ngôn ngữ khai báo (Declarative Language) Ngôn ngữ thủ tục: Lập trình viên phải xác định một thủ tục mà máy tính sẽ tuân theo để hoàn thành một công việc định trước. Thí dụ: Basic, C, Fortran, . Ngôn ngữ khai báo: Ngôn ngữ sẽ định nghĩa một loạt các yếu tố và các quan hệ, đồng thời cho phép bạn có thể tiến hành xếp hàng đối với những kết quả xác định. Thí dụ: Prolog, SQL (Structured Query Language) 7 BÀI GIẢNG TIN HỌC CƠ SỞ 2 – KHOA CNTT1 Điều then chốt trong việc lập trình chuyên dụng là môdun hóa ngôn ngữ - đó là sự phát triển sao cho nhiệm vụ lập trình có thể phân phối được cho các thành viên của một nhóm lập trình, và kết quả đạt được là các bộ phận khác nhau sẽ hoạt động phù hợp với nhau khi nhiệm vụ của từng người hoàn thành. Ngôn ngữ lập trình môdun, như Module-2 hoặc ngôn ngữ hướng đối tượng như C++, sẽ cho phép từng lập trình viên có thể tập trung vào việc lập mã, biên dịch và gỡ rối các module chương trình riêng biệt, đồng thời có thể cho chạy (kiểm tra thử) riêng từng module của mình. Khi từng module riêng đã chạy tốt chúng sẽ được liên kết với nhau mà không gây trục trặc nào. Thuật toán (Algorithm) Thuật ngữ Algorithm được dịch ra tiếng Việt là thuật toán, thuật giải hoặc giải thuật. Ở đây dùng từ thuật toán là cách gọi quen thuộc với nhiều người. Thuật toán là một dãy hữu hạn các bước, mỗi bước mô tả chính xác các phép toán hoặc hành động cần thực hiện, để giải quyết một vấn đề. Để hiểu đầy đủ ý nghĩa của khái niệm thuật toán, chúng ta nêu ra 6 đặc trưng sau đây của thuật toán: Input Mỗi thuật toán thường có một số dữ liệu vào. Output Mỗi thuật toán thường có một số dữ liệu ra.

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