1. Trang chủ
  2. » Cao đẳng - Đại học

Lập trình cơ bản (Cao đẳng Quản trị mạng máy tính) - Nguồn: BCTECH

98 13 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 98
Dung lượng 0,9 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- Trình bày được công dụng của các phép toán - Trình bày được các lệnh nhập, xuất dữ liệu - Áp dụng các phép toán vào trong các bài toán - Sử dụng câu lệnh nhập xuất vào trong các bài tậ[r]

Trang 1

UBND TỈNH BÀ RỊA- VŨNG TÀU

TRƯỜNG CAO ĐẲNG KỸ THUẬT CÔNG NGHỆ

GIÁO TRÌNH

MÔ ĐUN: LẬP TRÌNH CƠ BẢN

NGHỀ: QUẢN TRỊ MẠNG TRÌNH ĐỘ: CAO ĐẲNG

Ban hành kèm theo Quyết định số: /QĐ-CĐKTCN

ngày….tháng….năm của Hiệu trưởng Trường Cao đẳng Kỹ thuật Công nghệ BR – VT)

BM/QT10/P.ĐTSV/04/04 Ban hành lần: 3

Trang 2

BÀ RỊA–VŨNG TÀU, NĂM 2020 TUYÊN BỐ BẢN QUYỀN

Nhằm đáp ứng nhu cầu học tập và nghiên cứu cho giảng viên và sinh viên nghề Quản trị mạng trong trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa – Vũng Tàu, chúng tôi đã thực hiện biên soạn tài liệu Lập trình cơ bản này

Tài liệu được biên soạn thuộc loại giáo trình phục vụ giảng dạy và học tập, lưu hành nội bộ trong Nhà trường nên các nguồn thông tin có thể được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo.Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm

Trang 3

LỜI GIỚI THIỆU

Giáo trình lập trình cơ bản C được xây dựng và biên soạn trên cơ sở chương trình khung đào tạo cao đẳng nghề Quản trị mạng đã được Trường Cao Đẳng Kỹ thuật Công nghệ Bà Rịa – Vũng Tàu phê duyệt

Giáo Trình được biên soạn nhằm đáp ứng yêu cầu học tập của sinh viên bước đầu làm quen với công việc lập trình, đồng thời giúp cho sinh viên có một tài liệu học tập, rèn luyện tốt khả năng lập trình, tạo nền tảng vững chắc cho các môn học tiếp theo

Nội dung giáo trình được chia làm 16 bài:

Bài 1: Giới thiệu về thuật toán

Bài 2: Giới thiệu ngôn ngữ lập trình C

Bài 3: Trình bày các thành phần cơ bản của ngôn ngữ lập trình C

Bài 4: Sử dụng các phép toán và câu lệnh nhập, xuất trong lập trình CBài 5: Sử dụng câu lệnh có cấu trúc điều kiện

Bài 6: Sử dụng cấu trúc vòng lặp for

Bài 7: Sử dụng cấu trúc vòng lặp while

Bài 8: Sử dụng cấu trúc vòng lặp do while

Bài 9: Sử dụng các câu lệnh break, continue, goto

Bài 10: Giới thiệu về hàm

Bài 11: Truyền tham số cho hàm

Bài 12: Nhập xuất dữ liệu cho mảng một chiều

Bài 13: Sử dụng mảng một chiều làm tham số cho hàm

Bài 14: Sắp xếp mảng một chiều

Bài 15: Nhập xuất chuỗi ký tự

Bài 16: Thao tác trên chuỗi ký tự

Trong quá trình biên soạn giáo trình, tác giả đã cố gắng cập nhật thông tinmới, đồng thời tham khảo nhiều giáo trình khác, nhưng chắc chắn sẽ khôngtránh khỏi những hạn chế nhất định Rất mong nhận được ý kiến đóng góp của

1

Trang 4

các nhà chuyên môn, các anh chị đồng nghiệp và các bạn độc giả để giáo trìnhđược hoàn thiện hơn.

Bà Rịa – Vũng Tàu, ngày tháng năm 2020

Biên soạn

Nguyễn Thị Mai

Trang 5

MỤC LỤC

LỜI GIỚI THIỆU 1

MỤC LỤC 3

BÀI 1: THUẬT TOÁN 10

1 Ví dụ 10

2 Khái niệm 10

2.1 Khái niệm về bài toán 10

2.2 Khái niệm thuật toán 11

3 Các đặc trưng của thuật toán 11

3.1 Liệt kê 11

3.2 Dùng sơ đồ khối 12

BÀI 2: GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH C 15

1 Lịch sử hình thành 15

2 Đặc điểm của ngôn ngữ c 16

3 Cấu trúc của một chương trình c 16

4 Một số ví dụ mẫu 17

5 Cài đặt chương trình 18

6 Khởi động chương trình 18

7 Soạn thảo chương trình 18

8 Thoát khỏi chương trình 19

BÀI 3: TRÌNH BÀY CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ LẬP TRÌNH C 20

1 Bộ ký tự, từ khóa và tên 20

1.1 Bộ ký tự 20

1.2 Từ khóa 20

1.3 Tên 21

2 Các kiểu dữ liệu căn bản 21 2.1 Kiểu số nguyên (int): Trong C cho phép sử dụng các kiểu số nguyên sau: 21

3

Trang 6

2.2 Kiểu ký tự (char) 22

2.3 Kiểu dấu phẩy động 22

3 Hằng, biến, biểu thức 23

3.1 Hằng 23

3.2 Biến 25

3.3 Biểu thức 26

BÀI 4: SỬ DỤNG CÁC PHÉP TOÁN VÀ CÂU LỆNH NHẬP, XUẤT TRONG LẬP TRÌNH C 28

1 Các phép toán 28

1.1 Các phép toán toán học 28

1.2 Các phép toán quan hệ và logic 29

1.2.1 Các phép toán quan hệ 29

1.2.2 Các phép toán logic 29

1.2.3 Phép toán tăng giảm 30

1.2.4 Các phép toán lấy địa chỉ biến 31

1.2.5 Chuyển đổi kiểu dữ liệu 31

1.2.6 Thứ tự ưu tiên các phép toán 32

2 Các lệnh nhập, xuất dữ liệu 33

2.1 Các lệnh xuất 33

2.2 Các lệnh nhập 35

2.3 Các hàm nhập xuất dữ liệu khác: 36

2.3.1 Hàm getch(): 36

2.3.2.Hàm gets 36

2.3.3.Hàm getchar 37

2.3 4 Hàm putchar 37

2.3.5 Hàm puts 37

Trang 7

BÀI 5: SỬ DỤNG CÂU LỆNH CÓ CẤU TRÚC ĐIỀU KIỆN 39

1 Lệnh có cấu trúc điều kiện if 39

1.1 Cấu trúc if dạng khuyết 39

1.1.1.Cú pháp 39

1.1.2 Sự hoạt động 40

1.1.3 Lưu đồ khối 40

1.1.4 Bài tập 41

1.2 Cấu trúc if dạng đầy đủ 42

1.2.1 Cú pháp 42

1.2.2 Sự hoạt động: 43

1.2.3 Lưu đồ khối 43

1.1.4 Bài tập 43

2 Lệnh có cấu trúc lựa chọn switch case 45

2.1 Cú pháp 45

2.2 Sự hoạt động 45

2.3 Lưu đồ khối 46

2.4 Bài tập 46

BÀI 6: SỬ DỤNG CẤU TRÚC VÒNG LẶP FOR 48

1.Cú pháp 48

2 Sự hoạt động 48

3 Lưu đồ khối 49

4 Bài tập 49

BÀI 7: SỬ DỤNG CẤU TRÚC VÒNG LẶP WHILE 52

1 Cú pháp 52

2 Sự hoạt động 52

3 Lưu đồ khối 52

4 Bài tập 53

5

Trang 8

BÀI 8: SỬ DỤNG CẤU TRÚC VÒNG LẶP DO WHILE 55

1 Cú pháp 55

2 Sự hoạt động 55

3 Lưu đồ khối 56

4 Bài tập 56

BÀI 9: SỬ DỤNG CÁC CÂU LỆNH BREAK, CONTINUE, GOTO 58

1 Lệnh break 58

2 Lệnh continue 59

3.Câu lệnh goto 59

BÀI 10: GIỚI THIỆU VỀ HÀM 62

1 Khái niệm 62

2 Khai báo hàm 64

2.1 Khai báo hàm không định kiểu dữ liệu 64

2.2 Khai báo hàm có định kiểu dữ liệu 65

3 Kết quả trả về của hàm- lệnh return- lệnh exit 66

3.1 Kết quả trả về của một hàm 66

3.2 Lệnh return: dùng để thoát khỏi một hàm và có thể trả về một giá trị nào đó 67

4 Bài tập 68

BÀI 11: TRUYỀN THAM SỐ CHO HÀM 70

1 Cách truyền tham số cho hàm 70

2 Bài tập 71

BÀI 12: NHẬP XUẤT DỮ LIỆU CHO MẢNG MỘT CHIỀU 73

1 Khái niệm 73

2 Khai báo mảng một chiều 73

3 Khởi tạo mảng 74

3.1 Khởi tạo mảng 74

3.2 Chỉ số của mảng 75

3.3 Lấy địa chỉ của phần tử mảng một chiều 75

Trang 9

4.Nhập xuất dữ liệu cho các phần tử của mảng một chiều 75

BÀI 13: SỬ DỤNG MẢNG MỘT CHIỀU LÀM THAM SỐ CHO HÀM 77

1.Dùng mảng làm tham số cho hàm 77

2 Tìm kiếm trong mảng một chiều 79

2.1 Ý tưởng 79

Xét từng phần của mảng a Nếu phần tử đang xét bằng x thì trả về vị trí đó Nếu kô tìm được thì trả về -1 79

2.2 Các bước tiến hành 79

2.3 Giải thuật 79

BÀI 14: SẮP XẾP MẢNG MỘT CHIỀU 84

1 Ý tưởng 84

2 Các bước tiến hành như sau 84

3 Giải thuật 85

BÀI 15: NHẬP XUẤT CHUỖI KÝ TỰ 88

1 Khái niệm 88

2 Khai báo biến chuỗi 88

2.1 Khai báo theo mảng 88

2.2 Vừa khai báo vừa gán giá trị 89

3 Vào ra với xâu ký tự 89

3.1 Nhập chuỗi từ bàn phím 89

3.2 Xuất chuỗi lên màn hình 89

BÀI 16: THAO TÁC TRÊN CHUỖI KÝ TỰ 91

1 Các phép toán trên chuỗi ký tự 91

2 Bài tập 94

TÀI LIỆU THAM KHẢO 96

7

Trang 10

GIÁO TRÌNH MÔ ĐUN Tên mô đun: Lập trình cơ bản

Mã mô đun: MĐ10

Vị trí, tính chất, ý nghĩa và vai trò của mô đun:

- Vị trí: Mô đun được bố trí sau khi học xong môn tin học và tin học nâng cao

- Tính chất: Mô đun này yêu cầu phải có tư duy logic và kiến thức về toán

Mục tiêu của mô đun:

- Về kiến thức:

+ Phân tích và xây dựng được thuật toán

+ Khai báo được hằng và biến dùng trong chương trình

+ Trình bày được các lệnh nhập xuất và các phép toán trong lập trình c+ Trình bày và vẽ được lưu đồ thuật toán của cấu trúc điều khiển và cấutrúc lặp

+ Trình bày được hàm và kết quả trả về của một hàm

+ Trình bày được các kiểu dữ liệu có cấu trúc điều kiện

- Về kỹ năng:

+ Sử dụng câu lệnh nhập xuất vào trong các bài tập tính toán

+ Sử dụng câu lệnh có cấu trúc điều khiển và cấu trúc lặp vào trong cácbài tập

+ Vận dụng hàm vào trong các chương trình

+ Sử dụng các kiểu dữ liệu có cấu trúc điều kiện vào trong các bài tập + Viết được các chương trình

+ Biên dịch, kiểm tra và sửa được các lỗi chương trình

+ Chạy được chương trình và kiểm nghiệm được kết quả

Trang 11

+ Có khả năng tổ chức và điều hành một nhóm, đánh giá được các thànhviên trong nhóm.

+ Rèn luyện tính cẩn thận, kiên trì, sáng tạo, độc lập và hoạt động nhóm + Bảo đảm an toàn và vệ sinh cho người và thiết bị trong phòng máy

Nội dung của mô đun:

9

Trang 12

BÀI 1: THUẬT TOÁN

- Giới thiệu về thuật toán

- Trình bày được các đặc trưng của thuật toán

- Nêu được các phương pháp biểu diễn của thuật toán

- Rèn luyện tính cẩn thận, kiên trì, sáng tạo

- Bảo đảm an toàn và vệ sinh cho người và thiết bị trong phòng máy

Nội dung chính:

1 Ví dụ

Xét các yêu cầu sau:

- Bài 1: Tính chu vi, diện tích hình chữ nhật

- Bài 2: Viết một dòng chữ ra màn hình máy tính

- Bài 3: Quản lý các cán bộ trong một cơ quan

- Bài 4: Tìm số lớn nhất của hai số nguyên dương a và b

- Bài 5: Xếp loại học tập các học sinh trong lớp

àTrong các yêu cầu trên, yêu cầu nào được xem như là một bài toán?

2 Khái niệm

2.1 Khái niệm về bài toán

- Bài toán là một việc nào đó mà con người muốn máy tính thực hiện

- Các yếu tố của một bài toán:

+ Input: Thông tin đã biết, thông tin đưa vào máy tính

+ Output: Thông tin cần tìm, thông tin lấy ra từ máy tính

Ví dụ 1: Tính chu vi, diện tích hình chữ nhật

- Input: Các cạnh của hình chữ nhật

- Output: chu vi và diện tích hình chữ nhật

Trang 13

Hướng dẫn các thao tác cho máy thực hiện để tìm ra lời giải

Bài toán Input Bằng cách nào? Output

Giải bài toán

Thuật toán

Ví dụ 2 : Tìm giá trị nhỏ nhất của các số trong một dãy số.

- Input: Các số trong dãy số

- Output: Giá trị nhỏ nhất trong dãy số

Ví dụ 3 : Xếp loại học tập các học sinh trong lớp

- Input: Bảng điểm của học sinh

- Output: Bảng xếp loại học tập

2.2 Khái niệm thuật toán

 Thuật toán: Là tập hợp (dãy) hữu hạn các chỉ thị (hành động) được định nghĩa rõ ràng nhằm giải quyết một bài toán cụ thể nào đó

Tính chất của thuật toán:

- Tính chính xác: quá trình tính toán hay các thao tác máy tính thực hiện là chínhxác

- Tính rõ ràng: các câu lệnh minh bạch được sắp xếp theo thứ tự nhất định

- Tính khách quan: được viết bởi nhiều người trên máy tính nhưng kết quả phải như nhau

- Tính phổ dụng: có thể áp dụng cho một lớp các bài toán có đầu vào tương tự nhau

- Tính kết thúc: hữu hạn các bước tính toán

3 Các đặc trưng của thuật toán

Trong giáo trình này giới thiệu 2 cách mô tả thuật toán:

3.1 Liệt kê

Nêu ra tuần tự các thao tác cần tiến hành

11

Trang 14

Ví dụ: Tìm nghiệm phương trình bậc nhất tổng quát: ax + b = 0 (ã)

 Giải toán thông thường:

- Nếu a = 0 thì (ã) không phải là pt bậc nhất

+ Nếu b = 0 thì (ã) vô số nghiệm

+ Nếu b ≠ 0 thì (ã) vô nghiệm

- Nếu a ≠ 0 thì (ã) có nghiệm x = -b/a

 Liệt kê:

- Bước 1: Nhập a, b

- Bước 2: Nếu a = 0 thì quay lại bước 1, ngược lại thì qua bước 3

- Bước 3: Gán cho x giá trị -b/a, rồi qua bước 4

- Bước 4: Đưa ra kết quả x và kết thúc

3.2 Dùng sơ đồ khối

Dùng một số biểu tượng thể hiện các thao tác

- Trong sơ đồ khối, người ta dùng một số biểu tượng thể hiện các thao tác như:

Bảng 1.1: Bảng các ký hiệu biểu diễn trong thuật toán

Ví dụ 1: Tìm nghiệm phương trình bậc nhất tổng quát: ax + b = 0

 Liệt kê:

- Bước 1: Nhập a, b

- Bước 2: Nếu a = 0 thì quay lại bước 1, ngược lại thì qua bước 3

Trang 15

- Bước 3: Gán cho x giá trị -b/a, rồi qua bước 4.

- Bước 4: Đưa ra kết quả x và kết thúc

- Hiển thị chu vi

- Hiển thị diện tích

Kết thúc

Trang 16

Lưu ý:

Ta cần diễn tả thuật toán bằng một ngôn ngữ sao cho máy tính có thể hiểu

và thực hiện được, ngôn ngữ đó gọi là ngôn ngữ lập trình Kết quả diễn tả thuật toán như vậy gọi là chương trình.

Câu hỏi, bài tập:

1.1 Lưu đồ là phương pháp hình thức giúp diễn đạt một giải thuật, trong đó….:

a Hình ô van dùng để bắt đầu và kết thúc chương trình

b Hình thoi được dùng để điều khiển lựa chọn (hay kiểm tra điều kiện)

c Hình chữ nhật được dùng để xử lý, tính toán hoặc gán

d Tất cả các câu trên đều đúng

1.2 Trình bày các đặc trưng và các ký hiệu của thuật toán

1.3 Viết thuật toán nhập vào một số nguyên dương a kiểm tra xem đó là số chẵnhay là số lẻ

1.4 Viết thuật toán nhập vào 2 số nguyên a, b Tìm giá trị lớn nhất của hai số đó

Trang 17

BÀI 2: GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH C

Mã bài: 10.2

Giới thiệu:

Bài học này giới thiệu về lịch sử hình thành và phát triển của ngôn ngữ lập trình c, cấu trúc của một chương trình c, thực hiện các thao tác cài đặt Dev c++, khởi động và thoát khỏi một chương trình Dev c++

Mục tiêu:

- Mô tả lịch sử hình thành và phát triển của ngôn ngữ C

- Trình bày được cấu trúc của một chương trình C

- Thực hiện được cài đặt, khởi động, soạn thảo và thoát khỏi chương trình C

- Rèn luyện tính cẩn thận, kiên trì, sáng tạo

- Bảo đảm an toàn và vệ sinh cho người và thiết bị trong phòng máy

Nội dung chính:

1 Lịch sử hình thành

- Ngôn ngữ lập trình C ra đời năm 1972, do Dennis Ritchie khởi xướng

- C được tạo ra để sử dụng như một phần căn bản của hệ điều hành UNIX (Ken Thompson, Dennis Ritchie và Douglas McIlroy, 1969)

- C được sử dụng rộng rãi và có ảnh hưởng lớn đến nhiều ngôn ngữ lập trình hiện đại, trong đó có C++, được xem là mở rộng của C

- Là ngôn ngữ lập trình có cấu trúc và phân biệt chữ Hoa - thường (case

sensitive)

- Môi trường C:

+ Borland C (còn gọi là Turbo C)

+ Borland C++ 3.1 for DOS

- Môi trường C/C++:

+ Dev-C++

+ Visual C++ của Microsoft

+ Visual Stdio sẽ thực hành trên môi trường này

15

Trang 18

2 Đặc điểm của ngôn ngữ c

C gồm các từ khóa, những từ khóa này kết hợp với cú pháp của C hìnhthành ngôn ngữ C Nhưng nhiều trình biên dịch cho C đã thêm vào những từkhóa dùng cho việc tổ chức bộ nhớ ở những giai đoạn tiền xử lý nhất định

 Quy tắc khi lập trình C như sau:

- Không được lưu tên tập tin dưới dạng tiếng Việt có dấu và khoảng cách, các

ký tự đặc biệt

- Tất cả từ khóa là chữ thường (không in hoa)

- Ðoạn mã trong chương trình C có phân biệt chữ thường và chữ hoa

Ví dụ: do while thì khác với DO WHILE

- Từ khóa không thể dùng cho các mục đích khác như đặt tên biến (variablename) hoặc tên hàm (function name)

- Hàm main() luôn là hàm đầu tiên được gọi đến khi một chương trình bắt đầuchạy (chúng ta sẽ xem xét kỹ hơn ở phần sau)

3 Cấu trúc của một chương trình c

Ví dụ viết chương trình hiển thị câu “xin chào”

Hình 2.1: Ví dụ mô phỏng một chương trình c

#include <stdio.h>: khai báo sử dụng thư viện xuất/nhập chuẩn (standard I/Olibrary) Các thư viện khác: string, time, math, conio.h, iostream.h…

 main():

Trang 19

- Chương trình C được chia nhỏ thành những đơn vị gọi là hàm

- Cho dù có bao nhiêu hàm trong chương trình, hệ điều hành luôn trao quyềnđiều khiển cho hàm main() khi một chương trìnhC được thực thi

- Theo sau tên hàm là dấu “ngoặc đơn”

- Dấu ngoặc đơn có thể có chứa hay không chứa những tham số

- Dấu phân cách {…}: mở và đóng một khối mã

- Dấu kết thúc câu lệnh là dấu chấm phẩy “;”: Một câu lệnh trong C được kếtthúc bằng dấu chấm phẩy

- Trình biên dịch C không hiểu việc xuống dòng, khoảng trắng hay tab

- Một câu lệnh không kết thúc bằng dấu chấm phẩy sẽ được xem như dòng lệnhlỗi trong C

- //: Dòng chú thích: Những chú thích thường được viết để mô tả công việc củamột lệnh đặc biệt, một hàm hay toàn bộ chương trình Trình biên dịch sẽ bỏ quaphần chú thích

+ Trong trường hợp chú thích nhiều dòng, nó sẽ bắt đầu bằng ký hiệu /* và kếtthúc là */

printf(“TRAN TRONG KINH MOI”);

printf(“Ban: Hai Ha”);

printf(“Den du sinh nhat”);

printf(“vao luc 17h ngay 10-8-2020”);

Trang 20

- Chạy file cài đặt DEV-C++ (file devcpp.exe) Làm theo hướng dẫn của máy

- Vào menu "Tools" chọn "Compiler Options"

- Vào tab "Settings" tab, nhấn vào "Link" ở khung bên trái và thay đổi thông số

"Generate debugging information" sang "Yes":

- Nhấn OK

Hình 2.2: Hộp hội thoại cài đặt Dev C++

6 Khởi động chương trình

Khởi động chương trình: Start/ programs / Dev C++

7 Soạn thảo chương trình

Vào file/ new/ source File/ Xuất hiện khung cửa sổ để soạn thảo chương trình

Trang 21

Hình 2.3: Hộp hội thoại mở màn hình soạn thảo Dev C++

8 Thoát khỏi chương trình

Thoát khỏi Dev C++

Dùng File/Exit hoặc Alt-X

Câu hỏi, bài tập:

2- Chạy chương trình để kiểm tra kết qủa

3- Biên dịch chương trình theo ngôn ngữ

4- Tìm một giải thuật để giải bài toán

c Hàm main() là hàm được gọi cuối cùng khi chương trình chạy

d Từ khóa được dùng để đặt tên biến, tên hàm

19

Trang 22

BÀI 3: TRÌNH BÀY CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ

Mục tiêu:

- Nêu và sử dụng được hệ thống kí hiệu và từ khóa

- Nêu và phân tích được các kiểu dữ liệu

- Phân tích và vận dụng được các loại biến, hằng biểu thức cho từng chươngtrình cụ thể

-Áp dụng các các bộ từ khóa, biến, hằng, biểu thức vào trong các bài tập

- Rèn luyện tính cẩn thận, kiên trì, sáng tạo, độc lập và hoạt động nhóm

- Bảo đảm an toàn và vệ sinh cho người và thiết bị trong phòng máy

- Ký tự gạch nối _ (chú ý phân biệt dấu -)

- Dấu cách (space): dùng để phân biệt các từ:

Trang 23

tử và các câu lệnh Bảng dưới đây liệt kê các từ khoá của lập trình C:

Bảng 3.1: Các từ khóa trong ngôn ngữ lập trình C

volatile while

Ý nghĩa và cách sử dụng của mỗi từ khóa sẽ được đề cập sau này, ở đây ta cầnchú ý:

- Không được dùng các từ khóa để đặt tên cho các hằng, biến, mảng, hàm

- Từ khoá phải được viết bằng chữ thường, ví dụ: viết từ khóa khai báo kiểunguyên là int chứ không phải là INT

1.3 Tên

Là 1 dãy ký tự bắt đầu bằng chữ hoặc ký tự gạch dưới, theo sau là chữ cái,chữ số hoặc ký tự gạch nối (-)

- Tên: dùng làm tên hằng, tên biến, nhãn, tên hàm

Ví dụ: Tên đúng: _abc, Delta_1, BETA.

Tên sai: 1xyz (vì bắt đầu là 1 chữ số)

A#B (vì có dấu #)

Delta (vì có khoảng trống), X-1 (vì sử dụng dấu gạch ngang)

2 Các kiểu dữ liệu căn bản

2.1 Kiểu số nguyên (int): Trong C cho phép sử dụng các kiểu số nguyên sau:

21

Trang 24

Bảng 3.2: Bảng các ký hiệu biểu diễn kiểu số nguyên

unsigned long

(int)

2.2 Kiểu ký tự (char)

Một giá trị kiểu ký tự (char) chiếm 1 byte trong bộ nhớ và biểu diễn một

ký tự thông qua bảng mã ASCII

Có hai kiểu ký tự (char) sau:

Bảng 3.3: Bảng các ký hiệu biểu diễn kiểu ký tự

diễn

2.3 Kiểu dấu phẩy động

Trong C sử dụng ba loại giá trị dấu phẩy động: float (độ chính xác đơn),double và long double (độ chính xác kép)

Bảng 3.4: Bảng các ký hiệu biểu diễn kiểu dấu phẩy động

Trang 25

float 3.4E-38 -> 3.4E+38 7-8 4 byte

long double 3.4E-4932-> 1.1E+4932 17-184 byte 10 byte

3 Hằng, biến, biểu thức

3.1 Hằng

- Khái niệm

Là một giá trị bất biến trong chương trình không thay đổi, không biến đổi

Các loại hằng được sử dụng trong C tương ứng với các kiểu dữ liệu nhất định

- Trong C, thường có các loại hằng sau:

- Một hằng kiểu ký tự được viết trong dấu ngoặc đơn (') như 'A' hoặc 'z'

- Hằng ký tự 'A' thực sự đồng nghĩa với giá trị nguyên 65, là giá trị trong bảng

mã ASCII của chữ hoa 'A' (Như vậy giá trị của hằng chính là mã ASCII của nó)

23

Trang 26

Ðối với một vài hằng ký tự đặc biệt, ta cần sử dụng cách viết thêm dấu \, như '\t'tương ứng với phím tab:

Bảng 3.5: Bảng các ký hiệu biểu diễn kiểu ký tự

Là chuỗi ký tự nằm trong cặp dấu nháy kép " " Các ký tự này cũng có thể

là các ký tự được biểu diễn bằng chuỗi thoát

Ví dụ: "Turbo C", "Ngôn ngữ C++ \n\r"

Một hằng chuỗi được lưu trữ tận cùng bằng một ký tự Null (\0), ví dụ chuỗi

"Turbo C" được lưu trữ trong bộ nhớ như sau:

Cách định nghĩa hằng sử dụng trong chương trình

Với các giá trị hằng thường được dùng trong một chương trình ta nên định nghĩa

ở đầu chương trình (sau các dòng khai báo những thư viện chuẩn) theo cú pháp:

#define <tên hằng><giá trị>

Trang 27

hiện chương trình và giá trị của biến có thể bị thay đổi trong quá trình này Cáchđặt tên biến giống như cách đặt tên đã nói trong phần trên Mỗi biến thuộc vềmột kiểu dữ liệu xác định và có giá trị thuộc kiểu đó.

Khởi đầu cho các biến

Ngay trên dòng khai báo ta có thể gán cho biến một giá trị Việc làm này gọi

là khởi đầu cho biến

Ví dụ: int a,b=6,d=1;

Truy xuất đến địa chỉ của biến

Một số hàm của C dùng đến địa chỉ của biến ví dụ như hàm scanf Ðể nhận

địa chỉ của biến dùng toán tử: & tên_biến;

char ki_tu; /* Khai báo một ký tự*/

int so_nguyen; /* Khai báo một số nguyên*/

float so_thuc; /* Khai báo một số thực*/

ki_tu = 'a';

so_nguyen = 15;

so_thuc = 27.62;

printf("%c la mot ky tu.\n",ki_tu);

printf("%d la mot so nguyen.\n",so_nguyen);

25

Trang 28

printf("%f la mot so thuc.\n",so_thuc);

Ví dụ 1:

int x=2,y=7;

x=(x+2*y); /* x,y là các biến tương ứng với các toán hạng ; phép cộng (+)

và (*) và dấu (=) là các toán tử của biểu thức*/

Ví dụ 2:

int i, a=3;

a=(i=a*11); /*là một biểu thức hợp lệ (với a là một biến đã có giá trịtrước đó).*/

Câu hỏi, bài tập:

3.1 Tên nào đặt đúng qui định của lập trình C

a 26 chữ cái in thường, in hoa c Dấu cách, dấu gạch nối

b 10 chữ số (0,1,…,9) d Tất cả các câu trên đều đúng3.4 Kiểu số nguyên có phạm vi biểu diễn nằm trong khoảng

Trang 30

BÀI 4: SỬ DỤNG CÁC PHÉP TOÁN VÀ CÂU LỆNH NHẬP, XUẤT

Mục tiêu:

- Trình bày được công dụng của các phép toán

- Trình bày được các lệnh nhập, xuất dữ liệu

- Áp dụng các phép toán vào trong các bài toán

- Sử dụng câu lệnh nhập xuất vào trong các bài tập

- Tích cực hóa người học, rèn luyện tính cẩn thận, kiên trì, sáng tạo, độc lập vàhoạt động nhóm

- Bảo đảm an toàn và vệ sinh cho người và thiết bị trong phòng máy

/ Phép chia a/b (Cho phần nguyên của phép chia a cho b)

% Phép lấy phần dư a%b (Cho phần dư của phép chia a cho b)

Ví dụ:

11/3 = 3

11%3 = 2

-(2+6) = -8

Trang 31

Các phép toán + và - có cùng thứ tự ưu tiên, có thứ tự ưu tiên nhỏ hơn cácphép *, /, % và cả ba phép này lại có thứ tự ưu tiên nhỏ hơn phép trừ một ngôi.Các phép toán số học được thực hiện từ trái sang phải Số ưu tiên và khả năngkết hợp của phép toán được chỉ ra trong một mục sau này

1.2 Các phép toán quan hệ và logic

Phép toán quan hệ và logic cho ta giá trị đúng (1) hoặc giá trị sai (0) Nói cáchkhác, khi các điều kiện nêu ra là đúng thì ta nhận được giá trị 1, trái lại ta nhậngiá trị 0

Các phép toán quan hệ có số thứ tự ưu tiên thấp hơn so với các phép toán

số học, cho nên biểu thức: i<n-1 được hiểu là i<(n-1)

Trang 32

Các phép quan hệ có số ưu tiên nhỏ hơn so với “!” nhưng lớn hơn so với && và

||, vì vậy biểu thức như:

(a<b)&&(c>d)

có thể viết lại thành:

a<b&&c>d

Chú ý: Cả a và b có thể là nguyên hoặc thực.

1.2.3 Phép toán tăng giảm

C đưa ra hai phép toán một ngôi để tăng và giảm các biến (nguyên và thực) Toán tử tăng là ++ sẽ cộng 1 vào toán hạng của nó, toán tử giảm thì sẽ trừ toán hạng đi 1

Trang 33

Sự khác nhau của ++n và n++ ở chỗ: trong phép n++ thì tăng sau khi giá trị của

nó đã được sử dụng, còn trong phép ++n thì n được tăng trước khi sử dụng Sựkhác nhau giữa n và n cũng như vậy

Ðịa chỉ của biến là số thứ tự của byte đầu tiên trong một dãy các byte liên tiếp

mà máy dành cho biến

Phân loại địa chỉ biến

Từ khái niệm về địa chỉ, ta nhận xét thấy: Ðịa chỉ của hai biến kiểu int liêntiếp cách nhau 2 byte, địa chỉ của hai biến kiểu float liên tiếp cách nhau 4 byte.Nên có thể phân biệt được các kiểu địa chỉ: Ðịa chỉ kiểu int, địa chỉ kiểu float,địa chỉ kiểu double

Phép lấy địa chỉ của một biến

Phép toán: &x cho ta địa chỉ của biến x

1.2.5 Chuyển đổi kiểu dữ liệu

Khi hai toán hạng trong một phép toán khác kiểu dữ liệu thì kiểu dữ liệuthấp được nâng thành kiểu dữ liệu cao trước khi tính toán Ví dụ: nếu f có kiểufloat, i có kiểu int, thì trong biểu thức f +i, i sẽ tạm thời được chuyển sang kiểufloat để thực hiện phép cộng

- Cú pháp:

(<Tên kiểu dữ liệu cần chuyển>)<Biểu thức>

Nếu f có kiểu float, i1 và i2 có kiểu int và có giá trị 10 và 3 thì biểu thứcf=i1/i2 sẽ gán vào f giá trị 3.0 Trong trường hợp này, để thu được kết quả chínhxác, cần sử dụng phép ép kiểu: f=(float) i1/i2

Ví dụ:

int a,b=4;c=5;float x,y=6.8,z=3.8;

a=y; /*a =6*/

31

Trang 34

a=-y; /*a =-6*/

x=a/b+c; /*x=4.0*/

x=a/b+(float) c; /*x=4.0*/

x=(float) a/b+ c; /*x=3.5*/

a=y-z ; /*a=2 (nếu kết quả là 2.999.) hoặc 3*/

1.2.6 Thứ tự ưu tiên các phép toán

Các phép toán có độ ưu tiên khác nhau, điều này có ý nghĩa trong cùngmột biểu thức sẽ có một số phép toán này được thực hiện trước một số phép toánkhác Thứ tự ưu tiên của các phép toán được trình bày trong bảng sau:

Bảng 4.4: Bảng thứ tự ưu tiên của các pháp toán

2 ! ~ & * - ++ (type) sizeof Phải qua trái

14 = += -= *= /= %= <<= >>= &= ^= |= Phải qua trái

* px=*( px) (Phải qua trái)

8/4*6=(8/4)*6 (Trái qua phải)

Trang 35

Nên dùng các dấu ngoặc tròn để viết biểu thức một cách chính xác.

2 Các lệnh nhập, xuất dữ liệu

Hàm thư viện: Thư viện nhập xuất trong C cũng như rong C++ có tên là:

#include <stdio.h> (standard input/output)

Cú pháp: printf("Dòng điều khiển",[các biểu thức]);

Dòng điều khiển gồm 3 loại:

+ Chuỗi ký tự mang tính chất thông báo (hằng chuỗi)

+ Các ký tự điều khiển (\n, \r, \t )

+ Các mã đặc tả để in các biểu thức tương ứng (mỗi biểu thức khi in phải

có một đặc tả) Các đặc tả được dùng trong hàm printf như sau:

Bảng 4.5: Bảng các ký tự đặc tả của hàm printf

%[n]d int in một số nguyên với chiều dài tối thiểu là n

%[n]ld long int in một số nguyên (long int)

%[n]o int in một số nguyên ở hệ bát phân tương ứng

%[n.m]f float in một số thực vối chiều dài n và lấy m số

Trang 36

printf(“%d”, a); è Xuất ra 10

}

 Sử dụng hàm cout

Cú pháp: cout << "Gia Tri";

Sử dụng toán tử << đằng sau cout để ngăn cách giữa các giá trị Nếu bạn muốn

in nhiều giá trị thì sử dụng cú pháp sau:

cout << "Gia Tri 1"<< "Gia Tri 2"<< "Gia Tri 3";

Trang 37

%d int nhập một số nguyên

 Ví dụ 1: Nhập năm sinh của một người Tính tuổi người đó

- Cú pháp: cin >> Tên biến;

Trường hợp ban muốn nhập nhiều giá trị cùng một lênh cin thì sử dụng cú phápsau:

cin >> Tên biến 1 >> Tên biến 2>> Tên biến 3;;

Trang 38

+ Ý nghĩa: có thể sử dụng theo nhiều cách khác nhau, nếu viết getch(); là dùng

để dừng màn hình

2.3.2.Hàm gets

- Cú pháp:gets(Tên của mảng ký tự);

- ý nghĩa: Hàm này cho phép nhận một chuỗi từ bàn phím cho đến khi gặp ký tự

\n (cho phép nhập khoảng trắng giữa các từ)

- Ví dụ

/* Chương trình minh họa nhập dữ liệu (nhập một chuỗi (xâu) ký tự) bằng hàm gets() */

#include<stdio.h>

char a[5];//Khai báo một chuỗi(xâu) gồm 5 ký tự

main() /* Ham chinh */

{

int i;

printf("Nhap chuoi 5 ky tu: ");gets(a);

//giả sử nhập vào là ABCDEFGH,có thể nhập được khoảngtrắng

//Khi nhập chuỗi ta không cần phải lấy địa chỉ

printf("%s",a); //In ra ABCDEFGH

Trang 39

- ý nghĩa: Xuất một chuỗi lên màn hình với *s là con trỏ kiểu char trỏ tới ô nhớ

đầu của vùng nhớ chứa chuỗi ký tự muốn xuất Hàm này khi xuất sẽ đưa thêm

ký tự \n vào cuối, kết quả của hàm =\n nếu thành công ngược lại = EOF.

Câu hỏi, bài tập:

4.1 Nhập 2 số a và b Tính tổng, hiệu, tính và thương của hai số đó

4.2 Nhập tên sản phẩm, số lượng và đơn giá Tính tiền và thuế giá trị gia tăngphải trả, biết:

37

Trang 40

tiền = số lượng * đơn giáthuế giá trị gia tăng = 10% tiền4.3 Viết chương trình nhập vào các cạnh của hình chữ nhật, tính chu vi, diệntích

4.4 Viết chương trình tính diện tích, chu vi hình tam giác

4.5 Lập trình nhập vào ba số thực a,b,c sau đó in ra màn hình các số vừa nhập

Ngày đăng: 01/04/2021, 18:17

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[7] Tham khảo các tài liệu ở mạng Internet: http://www.slideshare.net/tuoitrecomvn/giao-trinhc-aptechhttp://ww.tailieuhoctap.vn Link
[1] Lê Xuân Việt, Lập trình cơ bản, Nhà xuất bản xây dựng, 2018 Khác
[2] GS Phạm Văn Ất, Kỹ thuật lập trình, Nhà xuất bản Bách Khoa Hà Nội, 2018 Khác
[3] Nguyễn Đình Tê, Hoàng Đức Hải, Giáo trình lý thuyết và bài tập ngôn ngữ C, Nhà xuất bản Giáo dục, 1999 Khác
[4] Nguyễn Cẩn, C – Tham khảo toàn diện, Nhà xuất bản Đồng Nai, 1996 Khác
[5] Võ Văn Viện, Giúp tự học Lập Trình với ngôn ngữ C, Nhà xuất bản Đồng Nai, 2002 Khác
[6] Brain W. Kernighan &amp; Dennis Ritchie, The C Programming Language, Prentice Hall Publisher, 1988 Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w