Bài giảng Ngôn ngữ lập trình C/C++ (Tuần 1)

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

 

ppt31 trang | Chuyên mục: C/C++ | Chia sẻ: dkS00TYs | Lượt xem: 3199 | Lượt tải: 2download
Tóm tắt nội dung Bài giảng Ngôn ngữ lập trình C/C++ (Tuần 1), để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 NGÔN NGỮ LẬP TRÌNH C/C++ Mục tiêu của môn học Trang bị cho sinh viên kiến thức về lập trình trên ngôn ngữ C và một phần mở rộng của C++ Kết thúc môn học: Sinh viên có khả năng sử dụng thành thạo ngôn ngữ C để giải quyết các bài toán cỡ vừa và nhỏ Thông tin môn học Giảng viên Nguyễn Đức Thiện ducthien2701@gmail.com/ 0975 377 377 Trung tâm máy tính nhà G2 ĐHCN-ĐHQGHN Phân bố Lý thuyết: 30 tiết trong 10 tuần Thực hành: 30 tiết trong 10 tuần Thực hành bắt đầu sau lý thuyết 1 tuần Phương thức thi và kiểm tra: Vấn đáp Lập trình 2 bài tập tại phòng máy trong thời gian 45 phút Do đó sinh viên cần chú trọng làm bài tập để rèn luyện kỹ năng lập trình Lịch sử của ngôn ngữ lập trình C 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 Dennis Ritchie Sinh ngày 9/9/1941 Hiện nay làm việc tại Bell Lab (AT&T) Website:  Là người tạo ra ngôn ngữ C và là người tham gia phát triển hệ điều hành UNIX Các yếu tố cơ bản của C++ Bảng ký tự Các chữ cái La Tinh viết thường và hoa (a-z, A-Z). C++ phân biệt chữ thường và chữ hoa Dấu gạch dưới “_” Các chữ số 0, 1, 2,…, 9 Các ký hiệu toán học và ký hiệu đặc biệt: +, -, *, /, %, &, |, !, [], {}, #, dấu cách Từ khóa Từ khóa là từ được qui định trước trong ngôn ngữ lập trình (NNLT) dùng cho các mục đích đặc biệt của ngôn ngữ Từ khóa C++: auto, break, case, char, continue, default, do, double, else, externe, float, for, goto, if, int, long, register, return, short, sizeof, static, struct, switch, typedef, union, unsigned, while... Tên gọi trong C++ Là dãy ký tự liên tiếp (không chứa dấu cách) và phải bắt đầu bằng chữ cái hoặc gạch dưới. Phân biệt kí tự in hoa và thường. Không được trùng với từ khóa. Số lượng chữ cái dùng để phân biệt tên gọi có thể được đặt tuỳ ý. Chú ý các tên gọi có sẵn của C++ cũng tuân thủ theo đúng qui tắc trên Ví dụ về tên gọi trong C++ Tên gọi đúng: i, i1, j, tinhoc, tin_hoc, luu_luong Tên gọi sai: 1i, tin hoc, luu-luong-nuoc Các tên sau đây là khác nhau: ha_noi, Ha_noi, HA_Noi, HA_NOI, ... Chú thích trong chương trình Rất quan trọng khi lập trình Nếu chú thích là một đoạn kí tự bất kỳ liên tiếp nhau (trong 1 dòng hoặc trên nhiều dòng) ta đặt đoạn chú thích đó giữa cặp dấu đóng mở chú thích /* (mở) và */ (đóng). Nếu chú thích bắt đầu từ một vị trí nào đó cho đến hết dòng, thì ta đặt dấu // ở vị trí đó. Môi trường làm việc của C/C++ Môi trường C: Borland C (còn gọi là Turbo C) Microsoft C (còn gọi là MS C) Môi trường C/C++: Dev-C++ (sẽ thực hành trên môi trường này) Visual C++ của Microsoft Cách làm việc trên các môi trường này sẽ được hướng dẫn trong giờ thực hành Dev-C++ Là một phần mềm mã nguồn mở Là môi trường phát triển tích hợp (Integrated Development Environment-IDE) cho C và C++ của BloodShedSoftware  Phiên bản mới nhất: Dev-C++ 5 (beta) Phiên bản ổn định: Dev-C++ 4 Sinh viên download để thực hành tại nhà Cấu trúc một chương trình C++ Một chương trình C++ có thể được đặt trong một hay nhiều tệp Một chương trình có nhiều hàm đảm nhiệm các chức năng khác nhau của chương trình main() là hàm đặc biệt: Hàm này được thực hiện đầu tiên và bắt buộc phải có để hoàn chỉnh một chương trình C++ Cấu trúc một chương trình C++ Phần khai báo: Khai báo tên tệp chứa các thành phần có sẵn Khai báo kiểu dữ liệu, hằng, biến… do người sử dụng (NSD) định nghĩa Danh sách các hàm của chương trình, trong đó có cả hàm main() Ví dụ một chương trình C++ #include // khai báo tệp nguyên mẫu using namespace std; // để được sử dụng toán tử in cout > biến_1 ; cin>> biến_2 ; cin>> biến_3 ; hoặc: 	cin >> biến_1 >> biến_2 >> biến_3 ; In dữ liệu ra màn hình (C++) Để in giá trị của các biểu thức ra màn hình ta dùng câu lệnh sau: 	cout> cd >> cr ; cout > cd; cout > cr; cout Các định dạng: endl: Tương đương với kí tự xuống dòng '\n' setw(n): Sử dụng n cột để in kết quả setprecision(n): Chỉ định in ra n chữ số thập phân setiosflags(ios::showpoint): Do setprecision(n) chỉ có tác dụng trên một dòng, do đó dùng setiosflags(ios::showpoint) để đặt định dạng cho mọi dòng Xem ví dụ trang 13 trong bài giảng Các hàm vào/ra khác trong C++ Chú ý: toán tử nhập >> chủ yếu làm việc với dữ liệu kiểu số. Để nhập kí tự hoặc xâu kí tự, C++ cung cấp các hàm sau: cin.get(c): cho phép nhập một kí tự vào biến kí tự c, và cin.getline(s,n): cho phép nhập tối đa n-1 kí tự vào xâu s. Ví dụ int x; char c; cin >> x; cin.ignore(1); // Lấy một ký tự \n trong bộ đệm cin.get(c); Các hàm vào ra cơ sở trong C In kết quả ra màn hình printf(Định dạng, bt_1, bt_2, ..., bt_n) ; bt_1, bt_2, …, bt_n là các biểu thức Định dạng: xâu ký tự nằm trong “..” Ví dụ: Giả sử x = 4, khi đó câu lệnh: printf(“%d %0.2f”, 3, x + 1) ; in ra 2 số: 3 (ở dạng số nguyên %d) và 5.00 với hai chữ số thập phân %0.2f. Định dạng cho printf và scanf d	in số nguyên dưới dạng hệ thập phân o	in số nguyên dạng hệ 8 x, X	in số nguyên dạng hệ 16 u	in số nguyên dạng không dấu c	in kí tự s	in xâu kí tự e, E	in số thực dạng dấu phẩy động f	in số thực dạng dấu phẩy tĩnh Trước các ký tự định dạng cần có ký tự % Định dạng cho printf và scanf Giữa ký tự % và ký tự định dạng có thể có: Một số: Qui định độ rộng cần in ra, ví dụ: %5s nghĩa là in ra một xâu có độ rộng 5 cột, %-3d in ra một số nguyên có độ rộng 3 cột Nếu độ rộng âm: Căn lề trái, độ rộng dương: căn lề phải Nếu số có dạng thập phân: Qui định tổng số cột và số cột dành cho phần thập phân (Chỉ áp dụng cho biến số thực). Ví dụ: %-5.2f in ra số thực có độ rộng 5 cột với 2 cột dành cho phần thập phân và căn lề trái Nhập dữ liệu từ bàn phím scanf(Định dạng, biến_1, biến_2, ..., biến_n); biến_1, biến_2, …, biến_n là các biến Ví dụ: Nhập dữ liệu vào biến nguyên x, biến thực y và biến nguyên dài z: scanf(“%d %f %ld”, &x, &y, &z); Chú ý dấu & trước tên các biến, nếu không có -> lỗi Ví dụ: Nhập dữ liệu cho biến nguyên i, biến xâu ký tự s: scanf(“%d%8s”, &I, s); Các vấn đề cần ghi nhớ Cách viết chương trình C++ đơn giản nhất Hàm main() Chỉ thị #include , #include , #include Cách nhập dữ liệu vào chương trình từ bàn phím Cách in kết quả ra màn hình Các hàm thư viện sẽ sử dụng nhiều: cin, cout, printf, scanf Cách định dạng kết quả in ra màn hình Bài tập Sinh viên làm các bài tập từ số 1 đến số 7 ở trang 17, 18, 19 trong bài giảng Thử nghiệm các bài tập trên máy tính trong giờ thực hành Cần tích cực trao đổi với giáo viên hướng dẫn thực hành để giải quyết các lỗi gặp phải khi thực hành 

File đính kèm:

  • pptBài giảng Ngôn ngữ lập trình CC++ (Tuần 1).ppt