Bài giảng Lập trình cơ bản C - Chương 1: Khái niệm cơ bản C

Phân biệt sự khác nhau giữa Câu lệnh, Chương trình và Phần mềm

Biết được quá trình hình thành ngôn ngữ C

Biết được khi nào dùng C và tại sao

Nắm được cấu trúc ngôn ngữ C

Hiểu rõ khái niệm giải thuật (algorithms)

Vẽ lưu đồ (flowchart)

Sử dụng được các ký hiệu dùng trong lưu đồ

 

ppt 31 trang yennguyen 3300
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình cơ bản C - Chương 1: Khái niệm cơ bản C", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Lập trình cơ bản C - Chương 1: Khái niệm cơ bản C

Bài giảng Lập trình cơ bản C - Chương 1: Khái niệm cơ bản C
Khái niệm cơ bản C 
Chương 1 
Lập trình cơ bản C/Chương 1/ 2 of 26 
Mục Tiêu 
Phân biệt sự khác nhau giữa Câu lệnh, Chương trình và Phần mềm 
Biết được quá trình hình thành ngôn ngữ C 
Biết được khi nào dùng C và tại sao 
Nắm được cấu trúc ngôn ngữ C 
Hiểu rõ khái niệm giải thuật (algorithms) 
Vẽ lưu đồ (flowchart) 
Sử dụng được các ký hiệu dùng trong lưu đồ 
Lập trình cơ bản C/Chương 1/ 3 of 26 
Phần mềm, chương trình, câu lệnh 
Software 
Program 2 
Program 1 
 Commands 
 Commands 
 Commands 
Lập trình cơ bản C/Chương 1/ 4 of 26 
Bắt đầu C 
C – Dennis Ritchie 
B – Ken Thompson 
BPCL – Martin Richards 
Lịch sử C 
C và Unix có chung nguồn gốc 
C ban đầu được xây dựng và cài đặt trên hệ điều hành Unix máy tính PDP-11 
Dennis Ritchie là tác giả C (1971). 
Năm 1973 Unix được viết lại bằng C 
BCPL (giữa những năm-60s) hay B (1970, cắt gọn của BCPL) là tiền thân của C (không có A) 
BCPL và B ngôn ngữ không định kiểu, C là ngôn ngữ định kiểu. 
Lập trình cơ bản C/Chương 1/ 5 of 26 
Năm 1978 - Kernighan & Ritchie (1st edition) công bố phiên bản chuẩn đầu tiên của C "K&R C“ 
Năm 1983, Viện tiêu chuẩn quốc gia Mỹ American National Standards Institute (ANSI) thành thập một ủy ban để làm rõ và chuẩn hóa ngôn ngữ. 
Năm1988, ANSI C công bố phiên bản đầu tiên. 
Năm 1990, ISO thông qua ANSI C không thay đổi – là chuẩn quốc tế cho đến bây giờ. 
Điều này mang đến lợi ích rất lớn về tính khả chuyển 
See  for more details 
Lập trình cơ bản C/Chương 1/ 6 of 26 
Lịch sử C 
Lập trình cơ bản C/Chương 1/ 7 of 26 
Các lĩnh vực ứng dụng của C 
 C được dùng để lập trình hệ thống 
 Một chương trình hệ thống làm thành một phần hệ điều hành hoặc các tiện ích hỗ trợ của hệ điều hành 
 Hệ điều hành (Operating Systems), trình thông dịch (Interpreters), trình soạn thảo (Editors), trình Hợp Ngữ (Assembly) được gọi là chương trình hệ thống 
Lập trình cơ bản C/Chương 1/ 8 of 26 
Ngôn ngữ cấp trung 
Ngôn ngữ cấp cao 
Ngôn ngữ hợp ngữ 
C 
Lập trình cơ bản C/Chương 1/ 9 of 26 
Ngôn ngữ có cấu trúc 
 C cho ph ép tổng hợp mã lệ nh và dữ liệu 
 Nó có khả năng tập hợp và ẩn đi tất cả thông tin, lệnh khỏi phần còn lại của chương trình để dùng cho những tác v ụ riêng 
 Chương trình C có thể được chia nhỏ thành những hàm (functions) hay những khối mã (code blocks). 
Lập trình cơ bản C/Chương 1/ 10 of 26 
Đặc điểm của C 
C c ó 32 t ừ khóa 
Những từ khóa này kết hợp với cú pháp của C hình thành ngôn ngữ C 
Các quy tắc được áp dụng cho các chương trình C 
 Tất cả từ khóa là chữ thường 
 Ðoạn mã trong chương trình C có phân biệt chữ thường, chữ hoa, do while khác DO WHILE 
Từ khóa không thể dùng đặt tên biến (variable name) hoặc tên hàm (function name) 
main() 
{ 
/* This is a sample Program*/ 
 int i,j; 
 i=100; 
 j=200; 
 : 
 } 
Lập trình cơ bản C/Chương 1/ 11 of 26 
Cấu trúc chương trình C 
main() 
Chương trình C được chia nhỏ thành những đơn vị gọi là hàm 
Không kể 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ình C đượ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ố 
Lập trình cơ bản C/Chương 1/ 12 of 26 
Cấu trúc chương trình C (tt.) 
Dấu phân cách {} 
Sau phần đầu hàm là dấu ngoặc xoắn mở { 
Nó cho biết việc thi hành lệnh trong hàm bắt đầu 
Tương tự, dấu ngoặc xoắn đóng } sau câu lệnh cuối cùng trong hàm chỉ ra điểm kết thúc của hàm 
Lập trình cơ bản C/Chương 1/ 13 of 26 
Cấu trúc chương trình C (tt.) 
Dấu kết thúc câu lệnh  ; 
Một câu lệnh trong C được kết thú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ệnh lỗi trong C 
Lập trình cơ bản C/Chương 1/ 14 of 26 
Cấu trúc chương trình C (tt.) 
/*Dòng chú thích*/ 
Những chú thích thường được viết để mô tả công việc của mộ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ỏ qua phầ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ết thúc là */ 
Lập trình cơ bản C/Chương 1/ 15 of 26 
 Tất cả trình biên dịch C đều chứa một thư viện hàm chuẩn 
 Một hàm được viết bởi lập trình viên có thể được đặt trong thư viện và được dùng khi cần thiết 
 Một số trình biên dịch cho phép thêm hàm vào thư viện chuẩn 
 Một số trình biên dịch yêu cầu tạo một thư viện riêng 
Thư viện C 
Lập trình cơ bản C/Chương 1/ 16 of 26 
Biên dịch và thi hành chương trình 
Lập trình cơ bản C/Chương 1/ 17 of 26 
Các bước lập trình giải quyết vấn đề 
Phòng học 
Rời phòng học 
Ðến cầu thang 
Xuống tầng hầm 
Ði đến quán 
ăn tự phục vụ 
Cafeteria 
Giải thuật gồm một tập hợp các bước thực hiện nhằm giải quyết một vấn đề. Thí dụ sau đây mô tả một giải thuật 
Ðây là các bước thực hiên khi một người muốn đi đến quán ăn tự phục vụ từ phòng học 
Lập trình cơ bản C/Chương 1/ 18 of 26 
Giải quyết một vấn đề 
Ðể giải quyết một vấn đề 
Hiểu vấn đề rõ ràng 
Thu thập thông tin thích hợp 
Xử lý thông tin 
Ðạt được kết quả 
Lập trình cơ bản C/Chương 1/ 19 of 26 
Mã giả (Pseudocode) 
Không là mã thật. Một phương pháp viết giải thuật sử dụng một tập hợp các từ tương tự mã thật 
Mỗi đoạn mã giả phải bắt đầu với một từ BEGIN 
Ðể hiển thị giá trị nào đó, từ DISPLAY được dùng 
Mã giả kết thúc với từ END 
BEGIN 
DISPLAY ‘Hello World !’ 
END 
Lập trình cơ bản C/Chương 1/ 20 of 26 
Lưu đồ (Flowcharts) 
Lưu đồ là một hình ảnh minh hoạ cho giải thuật 
START 
DISPLAY ‘Hello World !’ 
STOP 
Lập trình cơ bản C/Chương 1/ 21 of 26 
Biểu tượng trong lưu đồ 
Lập trình cơ bản C/Chương 1/ 22 of 26 
Lưu đồ cộng hai số 
Lập trình cơ bản C/Chương 1/ 23 of 26 
 Cấu trúc IF 
BEGIN 
INPUT num 
r = num MOD 2 
IF r=0 
	Display “Number is even” 
END IF 
END 
Yes 
No 
Lập trình cơ bản C/Chương 1/ 24 of 26 
 Cấu trúc IFELSE 
BEGIN 
INPUT num 
r=num MOD 2 
IF r=0 
 DISPLAY “Even Number” 
ELSE 
 DISPLAY “Odd Number” 
END IF 
END 
Yes 
No 
Lập trình cơ bản C/Chương 1/ 25 of 26 
Ða điều kiện sử dụng AND/OR 
BEGIN 
INPUT yearsWithUs 
INPUT bizDone 
IF yearsWithUs >= 10 AND bizDone >=5000000 
	DISPLAY “Classified as an MVS” 
ELSE	 
	DISPLAY “A little more effort required!” 
END IF 
END 
Lập trình cơ bản C/Chương 1/ 26 of 26 
Cấu trúc IF lồng nhau 
BEGIN 
INPUT yearsWithUs 
INPUT bizDone 
IF yearsWithUs >= 10 
	IF bizDone >=5000000 
	DISPLAY “Classified as an MVS” 
	ELSE 
	DISPLAY “A little more effort required!” 
END IF 
ELSE	 
	DISPLAY “A little more effort required!” 
END IF 
END 
Lập trình cơ bản C/Chương 1/ 27 of 26 
Cấu trúc IF lồng nhau (tt.) 
START 
INPUT bizDone 
YearsWithUs >= 10 
bizDone > 5000000 
DISPLAY “A Little more effort required” 
STOP 
NO 
YES 
NO 
YES 
DISPLAY “A Little more effort required” 
DISPLAY “Classified as an MVS” 
INPUT YearsWithUs 
Lập trình cơ bản C/Chương 1/ 28 of 26 
 Vòng lặp 
BEGIN 
cnt=0 
WHILE (cnt < 1000) 
DO 
	DISPLAY “Scooby” 
	cnt=cnt+1 
END DO 
END 
Yes 
No 
Bài tập 
Cho tam giác ABC có góc vuông A và cho biết cạnh a và góc B. Hãy viết thuật toán để tính góc C, cạnh b và cạnh c 
Chỉ dùng phép cộng, tính bình phương của một số 
Tính nghiệm xấp xỉ với độ chính xác ε = 0.000001 của phương trình f(x)= e x - x 3 = 0 
Lập trình cơ bản C/Chương 1/ 29 of 26 
Bài tập 
S ử dụng thuật toán chia đôi dựa vào tính chất: nếu một hàm f liên tục trên đoạn [a,b] có f(a) và f(b) thì phương trình f(x) = 0 nhất định thừa nhận một nghiệm c nằm giữa [a,b] 
Phương trình có hai nghiệm như trong hình vẽ. Vây nghiệm nhỏ hơn trong đoạn [1,4] 
Lập trình cơ bản C/Chương 1/ 30 of 26 
Bài tập 
Lập trình cơ bản C/Chương 1/ 31 of 26 
Ta có f(a)>0, f(b)<0. Thuật toán chia đôi tiến hành vây nghiệm, mỗi bước vây, giảm khoảng vây đi 2 lần. 
Tính f(c) với c= (a+b)/2. Không xảy ra f(c) = 0. Tiếp bước 2 
Nếu f(c)> 0 thay a bởi c, sau đó thực hiện bước 4 
Nếu f(c) <0 thay b bởi c. Thực hiện bước tiếp theo 
Nếu b-a > ε , quay về 1, nếu không làm tiếp 
Dừng, lấy c làm nghiệm 

File đính kèm:

  • pptbai_giang_lap_trinh_co_ban_c_chuong_1_khai_niem_co_ban_c.ppt