Nội dung chương 1 Các khái niệm cơ bản thuộc bài giảng Ngôn ngữ lập trình C trình bày về những nội dung lần lượt như sau: khái niêm về ngôn ngữ lập trình, lời chú thích, câu lệnh, kểu dữ liệu, biến, hằng, phép toán , biểu thức, các hàm thư viện chuẩn của ngôn ngữ C.
Trang 1PHẦN 1:
NGÔN NGỮ LẬP TRÌNH C
Trang 2CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN
Trang 3KHÁI NIỆM VỀ NGÔN NGỮ LẬP TRÌNH
Một chương trình (CT) là một chuỗi các chỉ thị điều khiển sự hoạt động của máy tính nhằm để giải quyết một công việc hay một vấn đề nào đó
Người ta có thể sử dụng các ngôn ngữ lập trình (NNLT) khác nhau để viết các CT Khi một CT được viết bằng một NNLT thì các chỉ thị, câu lệnh
trong CT phải tuân theo các quy tắc mà NNLT đó quy định
Trang 4• Ví dụ 1: Chương trình in câu thông báo “Chào bạn” ra màn hình
• Chú ý: hàm main() là hàm bắt buộc mọi chương trình phải có Khi chạy
chương trình máy chạy từ câu lệnh đầu tiên của hàm main() đến câu lệnh cuối cùng của nó
Trang 5• Ví dụ 2: CT nhắc người dùng nhập vào 2 số nguyên, tính tổng số của
• int a, b, s; // khai báo ba biến nguyên a, b, và s
• printf (“Nhap so nguyen thu 1:”);
• scanf(“%d”, &a); // hàm scanf() dùng nhập dữ liệu cho biến a printf (“Nhap so nguyen thu 2:”);
• ký hiệu & là toán tử lấy địa chỉ
• ký hiệu %d là định dạng để in giá trị biến nguyên s
Trang 6LỜI CHÚ THÍCH
Lời chú thích là nhưng lời giải thích của người viết chương trình để làm cho chương trình dễ hiểu, nó không có tác dụng gì đối với chương trình dịch
Có hai hình thức chú thích:
Lời chú thích được dặt giữa hai dấu /* và */
Lời chú thích được bắt đầu bởi dấu //
Trang 7• printf(“Chao cac ban”);
Lệnh kép bao gồm một số lệnh riêng lẽ được bao trong cặp dấu {} Những lệnh riêng lẽ này có thể là lệnh biểu thức, lệnh kép hay lệnh điều khiển Lệnh kép không được kết thúc bởi dấu chấm phẩy
Trang 8 Lệnh điều khiển bao gồm các câu lệnh như lệnh rẽ nhánh, lệnh lặp, lệnnh chuyển điều khiển, …
Trang 9 Kiểu float dùng để biểu diễn các số thực với độ chính xác đơn.
Kiểu double dùng để biểu diễn các số thực với độ chính xác kép
Trang 10• float 3.4e-38 3.43+38 4 bytes
• double 1.7e-308 1.7e+308 8 bytes
Chú ý: Máy có thể lưu trữ được số kiểu float có giá trị tuyệt đối từ 3.4e-38
đến 3.43+38 Số có giá trị tuyệt đối nhỏ hơn 3.4e-38 được xem bằng 0 Phạm vi biểu diễn của số double được hiểu theo nghĩa tương tự
Trang 11 Biến là một đại lượng có giá trị thay đổi trong thời gian thực hiện chương trình
Mỗi biến có một tên và một địa chỉ dành riêng cho nó
Mỗi biến có thể chứa giá trị tương ứng với kiểu dữ liệu của biến đã khai báo
Để sử dụng một biến cần khai báo biên đó Cú pháp khai báo như sau:
<tên kiểu dữ liệu> <tên biến>;
• Ví dụ:
• int a; // khai báo một biến a kiểu int
• long b; // khai báo một biến b kiểu long
• float delta; // khai báo một biến delta kiểu float
Trang 12 Hằng là đại lượng mà giá trị của nó không thay đổi trong thời gian thực hiện chương trình
Hằng có thể được định nghĩa bởi toán tử define
• #define <tên hằng> <giá trị>
• Ví dụ:
• #define MAX 100
• #define PI 3.14159
• #define E 2.71828
• Chú ý: Cách định nghĩa này có hai điểm lợi:
Nó thay đổi một tên khó hiểu như 100 bằng một tên có nghĩa là MAX, bởi vậy chương trình trở nên sáng sủa, dễ đọc
Nếu trong chương trình xuất hiện nhiều lần, khi muốn thay đổi giá trị của hằng ta phải sửa giá trị tại những nơi hằng đó xuất hiện, nếu dùng
#define ta chỉ cần sử duy nhất dòng #define
Trang 13PHÉP TOÁN
Phép toán số học
• Gồm có +, -, *, / , %(phép chia lấy phần dư)
• Chú ý:
Phép chia hai số nguyên sẽ chặt cụt phần phân
Phép chia hai số thực hoặc một số thực với mộ số nguyên sẽ cho ra số thực
Phép tóan % không áp dụng cho số thực
Trang 15 Phép toán tăng giảm
• ++: cộng thêm một vào một toán hạng
• : trừ bớt một khỏi toán hạng
• Ví dụ 2:
• int n = 10; //khởi tạo giá trị cho biến n
• n++; // bây giờ n có giá trị 11
• Trong C phân biệt n++ và ++n Với n++ thì giá trị của n được dùng trước khi tăng n, ++n thì giá trị của n được dùng sau khi tăng n Tương tự cho phép toán
Trang 16 Phép toán chuyển kiểu (ép kiểu)
• Phép toán chuyển kiểu dùng để chuyển một kiểu bất kỳ sang một kiểu mong muốn
Trang 18BIỂU THỨC
Biểu thức là sự kết hợp giữa các phép toán và toán hạng để diễn đạt một công thức toán học nào đó Toán hạng có thể xem là một đại lương có một giá trị nào đó bao gồm hằng, biến và hàm
Biểu thức được phân loại theo kiểu giá trị nguyên và thực Trong các mệnh
đề logic, biểu thức được phân thành đúng (giá trị khác không) và sai (giá trị bằng 0)
Trang 19CÁC HÀM THƯ VIỆN CHUẨN C
Thư viện C chuẩn tập hợp các hàm đã định nghĩa sẳn và các phần tử khác vào trong những tập tin tiêu đề *.h (header files) Để sử dụng các hàm
trong thư viện này, chúng ta đặt các chỉ thị #include ở đầu tập tin chương
• ceil(x) Lấy phần nguyên của x cộng thêm 1
• floor(x) Lấy phần nguyên của x
• abs(x) Lấy giá trị tuyệt đối của x
• sprt(x) Lấy căn bậc hai của x
• pow(x, p) Lấy x lũy thừa p
• exp(x) exponential của x(ex)
• log(x) Lấy logarithm tự nhiên của x
Trang 21 Hàm xuất dữ liệu
• cú pháp
• int printf(“chuỗi định dạng”[,danh sách các đối]);
Chuỗi định dạng được đặt trong nháy kép, gồm 3 loại:
+ Chuỗi ký tự ghi như thế nào in ra giống như vậy
+ Ký tự định dạng cho phép xuất giá trị các đối ra màn hình
• \r nhảy về đầu dòng, không xuống dòng
Danh sách các đối được phân cách nhau bởi dấu phẩy Đối có thể là một hằng, một biến, một lời gọi hàm Giá trị của đối sẽ được chuyển dạng và in ra theo cách viết ký tự định dạng