1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Kỹ thuật lập trình: Bài 3 - Phạm Đình Sắc

24 3 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 24
Dung lượng 1,59 MB

Nội dung

Nhằm giúp các bạn sinh viên và các giảng viên có thêm tài liệu tham khảo. Dưới đây là bài giảng Kỹ thuật lập trình bài 3: Các kiểu dữ liệu cơ sở trình bày về biến - hằng - câu lệnh và biểu thức, các lệnh nhập xuất, các kiểu số nguyên, kiểu ký tự, các toán tử học, viết biểu thức cho các mệnh đề.

Trường Cao đẳng Kỹ thuật Công nghệ Đồng Nai Khoa Điện tử - Cơng nghệ thơng tin NHẬP MƠN LẬP TRÌNH Phạm Đình Sắc sacvn@yahoo.com CÁC KIỂU DỮ LIỆU CƠ SỞ VC VC && BB BB Nội dung Các kiểu liệu sở Biến, Hằng, Câu lệnh & Biểu thức Các lệnh nhập xuất Một số ví dụ minh họa NMLT - Các kiểu liệu sở VC VC && BB BB Các kiểu liệu sở ™Turbo C có kiểu sở sau: ƒ Kiểu số nguyên: giá trị số nguyên 2912, -1706, … ƒ Kiểu số thực: giá trị số thực 3.1415, 29.12, -17.06, … ƒ Kiểu luận lý: giá trị sai ƒ Kiểu ký tự: 256 ký tự bảng mã ASCII NMLT - Các kiểu liệu sở VC VC && BB BB Kiểu số nguyên ™Các kiểu số nguyên (có dấu) ƒ n bit có dấu: –2n – … +2n – – Kiểu (Type) Độ lớn (Byte) Miền giá trị (Range) char –128 … +127 int –32.768 … +32.767 short –32.768 … +32.767 long –2.147.483.648 … +2.147.483.647 NMLT - Các kiểu liệu sở VC VC && BB BB Kiểu số nguyên ™Các kiểu số nguyên (không dấu) ƒ n bit không dấu: … 2n – Kiểu (Type) Độ lớn (Byte) Miền giá trị (Range) unsigned char … 255 unsigned int … 65.535 unsigned short … 65.535 unsigned long … 4.294.967.295 NMLT - Các kiểu liệu sở VC VC && BB BB Kiểu số thực ™Các kiểu số thực (floating-point) ƒ Ví dụ • 17.06 = 1.706*10 = 1.706*101 Kiểu (Type) Độ lớn (Byte) Miền giá trị (Range) float (*) 3.4*10–38 … 3.4*1038 double (**) 1.7*10–308 … 1.7*10308 • (*) Độ xác đơn (Single-precision) xác đến số lẻ • (**) Độ xác kép (Double-precision) xác đến 19 số lẻ NMLT - Các kiểu liệu sở VC VC && BB BB Kiểu luận lý ™Đặc điểm ƒ C ngầm định cách khơng tường minh: • false (sai): giá trị • true (đúng): giá trị khác 0, thường ƒ C++: bool ™Ví dụ ƒ (false), (true), (true), 2.5 (true) ƒ > (0, false), < (1, true) NMLT - Các kiểu liệu sở VC VC && BB BB Kiểu ký tự ™Đặc điểm ƒ Tên kiểu: char ƒ Miền giá trị: 256 ký tự bảng mã ASCII ƒ Chính kiểu số ngun do: • Lưu tất liệu dạng số • Khơng lưu trực tiếp ký tự mà lưu mã ASCII ký tự ™Ví dụ ƒ Lưu số 65 tương đương với ký tự ‘A’… ƒ Lưu số 97 tương đương với ký tự ‘a’ NMLT - Các kiểu liệu sở VC VC && BB BB Biến Ví dụ int i; int j, k; unsigned char dem; float ketqua, delta; Cú pháp ; , ; NMLT - Các kiểu liệu sở VC VC && BB BB Hằng số Cú pháp = ; Ví dụ int a = 1506; int b = 01506; int c = 0x1506; float d = 15.06e-3; // 150610 // 15068 // 150616 (0x hay 0X) // 15.06*10-3 (e hay E) NMLT - Các kiểu liệu sở 10 VC VC && BB BB Hằng số Cú pháp #define sử dụng từ khóa const Ví dụ #define MAX 100 #define PI 3.14 const int MAX = 100; const float PI = 3.14; // Khơng có ; // Khơng có ; NMLT - Các kiểu liệu sở VC VC && BB BB 11 Biểu thức ™Khái niệm ƒ Tạo thành từ toán tử (Operator) toán hạng (Operand) ƒ Toán tử tác động lên giá trị toán hạng cho giá trị có kiểu định ƒ Tốn tử: +, –, *, /, %… ƒ Toán hạng: hằng, biến, lời gọi hàm ™Ví dụ ƒ + 3, a / 5, (a + b) * 5, … NMLT - Các kiểu liệu sở 12 VC VC && BB BB Toán tử gán ™Khái niệm ƒ Thường sử dụng lập trình ƒ Gán giá trị cho biến ™Cú pháp ƒ = ; ƒ = ; ƒ = ; ƒ Có thể thực liên tiếp phép gán VC VC && BB BB NMLT - Các kiểu liệu sở 13 NMLT - Các kiểu liệu sở 14 Toán tử gán ™Ví dụ void main() { int a, b, c, d, e, thuong; a = 10; b = a; thuong = a / b; a = b = c = d = e = 156; e = 156; d = e; c = d; b = c; a = b; } VC VC && BB BB Các toán tử toán học ™Tốn tử ngơi ƒ Chỉ có tốn hạng biểu thức ƒ ++ (tăng đơn vị), (giảm đơn vị) ƒ Đặt trước toán hạng • Ví dụ ++x hay x: thực tăng/giảm trước ƒ Đặt sau tốn hạng • Ví dụ x++ hay x : thực tăng/giảm sau ™Ví dụ ƒ x = 10; y = x++; ƒ x = 10; y = ++x; // y = 10 x = 11 // x = 11 y = 11 NMLT - Các kiểu liệu sở VC VC && BB BB 15 Các toán tử toán học ™Toán tử ngơi ƒ Có hai tốn hạng biểu thức ƒ +, –, *, /, % (chia lấy phần dư) ƒ x = x + y Ù x += y; ™Ví dụ ƒ a = + 2; b = – 2; c = * 2; d = / 2; ƒ e = 1*1.0 / 2; f = float(1) / 2; g = float(1 / 2); ƒ h = % 2; ƒ x = x * (2 + 3*5); Ù x *= + 3*5; NMLT - Các kiểu liệu sở 16 VC VC && BB BB Các toán tử bit ™Các toán tử bit ƒ Tác động lên bit toán hạng (nguyên) ƒ & (and), | (or), ^ (xor), ~ (not hay lấy số bù 1) ƒ >> (shift right), >=, 2;// 0000 z6 = a , =, = 2); ƒ s5 = (1 < 2); s6 = (1 2) && (3 > 4); • s2 = (1 > 2) || (3 > 4); • s3 = !(1 > 2); NMLT - Các kiểu liệu sở 20 VC VC && BB BB Toán tử điều kiện ™Toán tử điều kiện ƒ Đây toán tử ngơi (gồm có tốn hạng) ƒ ? : • giá trị • sai giá trị ™Ví dụ ƒ s1 = (1 > 2) ? 2912 : 1706; ƒ int s2 = 0; ƒ < ? s2 = 2912 : s2 = 1706; NMLT - Các kiểu liệu sở VC VC && BB BB 21 Toán tử phẩy ™Toán tử phẩy ƒ Các biểu thức đặt cách dấu , ƒ Các biểu thức tính từ trái sang phải ƒ Biểu thức nhận giá trị biểu thức bên phải ™Ví dụ ƒ x = (a++, b = b + 2); ƒ Ù a++; b = b + 2; x = b; NMLT - Các kiểu liệu sở 22 VC VC && BB BB Độ ưu tiên toán tử Toán tử () [] -> ! ++ - + * (cast) & sizeof * / % + > < >= == != & | ^ && || ?: = += -= *= /= %= &= … , Độ ưu tiên Ỉ Å Æ Æ Æ Æ Æ Æ Æ Æ Æ Æ Å Å Å NMLT - Các kiểu liệu sở VC VC && BB BB 23 Độ ưu tiên toán tử ™Quy tắc thực ƒ Thực biểu thức ( ) sâu trước ƒ Thực theo thứ tự ưu tiên toán tử => Tự chủ động thêm ( ) ™Ví dụ ƒ n = + * 5; => n = + (3 * 5); ƒ a > && b < => (a > 1) && (b < 2) NMLT - Các kiểu liệu sở 24 VC VC && BB BB Viết biểu thức cho mệnh đề ™x lớn hay x >= ™a b dấu ((a>0) && (b>0)) || ((a0) || (a –5 && x < 5) NMLT - Các kiểu liệu sở VC VC && BB BB 25 Câu lệnh ™Khái niệm ƒ Là thị trực tiếp, hoàn chỉnh nhằm lệnh cho máy tính thực số tác vụ định ƒ Trình biên dịch bỏ qua khoảng trắng (hay tab xuống dòng) chen lệnh ™Ví dụ a=2912; a = 2912; a = 2912; NMLT - Các kiểu liệu sở 26 VC VC && Câu lệnh BB BB ™Phân loại ƒ Câu lệnh đơn: gồm câu lệnh ƒ Câu lệnh phức (khối lệnh): gồm nhiều câu lệnh đơn bao { } ™Ví dụ a = 2912; // Câu lệnh đơn { // Câu lệnh phức/khối lệnh a = 2912; b = 1706; } NMLT - Các kiểu liệu sở VC VC && BB BB 27 Câu lệnh xuất ™Thư viện ƒ #include (standard input/output) ™Cú pháp ƒ printf([, , , …]); ƒ cách trình bày thơng tin xuất đặt cặp nháy kép “ ” • Văn thường (literal text) • Ký tự điều khiển (escape sequence) • Đặc tả (conversion specifier) NMLT - Các kiểu liệu sở 28 VC VC && BB BB Chuỗi định dạng ™Văn thường (literal text) ƒ Được xuất y hệt lúc gõ chuỗi định dạng ™Ví dụ ƒ Xuất chuỗi Hello World Ỵ printf(“Hello ”); printf(“World”); Ỵ printf(“Hello World”); ƒ Xuất chuỗi a + b Î printf(“a + b”); NMLT - Các kiểu liệu sở VC VC && BB BB 29 Chuỗi định dạng ™Ký tự điều khiển (escape sequence) ƒ Gồm dấu \ ký tự bảng sau: Ký tự điều khiển Ý nghĩa \a \b \n \t \\ \? \” Tiếng chng Lùi lại bước Xuống dịng Dấu tab In dấu \ In dấu ? In dấu “ ™Ví dụ ƒ printf(“\t”); printf(“\n”); ƒ printf(“\t\n”); NMLT - Các kiểu liệu sở 30 VC VC && BB BB Chuỗi định dạng ™Đặc tả (conversion specifier) ƒ Gồm dấu % ký tự ƒ Xác định kiểu biến/giá trị muốn xuất ƒ Các đối số biến/giá trị muốn xuất, liệt kê theo thứ tự cách dấu phẩy Đặc tả Ý nghĩa %c %d, ld %f, %lf %s %u Ký tự Số nguyên có dấu Số thực Chuỗi ký tự Số nguyên Hexa không dấu Số nguyên bát phân không dấu %o VC VC && BB BB char char, int, short, long float, double char[], char* unsigned int/short/long NMLT - Các kiểu liệu sở 31 Chuỗi định dạng ™Ví dụ ƒ int a = 10, b = 20; ƒ printf(“%d”, a); ƒ printf(“%d”, b); ƒ printf(“%d %d”, a, b); Î Xuất 10 Î Xuất 20 Î Xuất 10 20 ƒ float x = 15.06; ƒ printf(“%f”, x); Ỵ Xuất 15.060000 ƒ printf(“%f”, 1.0/3); Ỵ Xuất 0.333333 NMLT - Các kiểu liệu sở 32 VC VC && BB BB Định dạng xuất ™Cú pháp ƒ Định dạng xuất số nguyên: %nd ƒ Định dạng xuất số thực: %n.kf int a = 1706; float x = 176.85; printf(“%10d”, a);printf(“\n”); printf(“%10.2f”, x);printf(“\n”); printf(“%.2f”, x);printf(“\n”); 6 NMLT - Các kiểu liệu sở VC VC && BB BB 33 Chuỗi định dạng ™Phối hợp thành phần ƒ int a = 1, b = 2; ƒ Xuất cong bang xuống dịng • • • • • • printf(“%d”, a); // Xuất giá trị biến a printf(“ cong ”); // Xuất chuỗi “ cong ” printf(“%d”, b); // Xuất giá trị biến b printf(“ bang ”); // Xuất chuỗi “ bang ” printf(“%d”, a + b); // Xuất giá trị a + b printf(“\n”); // Xuất điều khiển xuống dịng \n Ỵ printf(“%d cong %d bang %d\n”, a, b, a+b); NMLT - Các kiểu liệu sở 34 VC VC && BB BB Câu lệnh nhập ™Thư viện ƒ #include (standard input/output) ™Cú pháp ƒ scanf([, , , …]); ƒ giống định dạng xuất có đặc tả ƒ Các đối số tên biến chứa giá trị nhập đặt trước dấu & NMLT - Các kiểu liệu sở VC VC && BB BB 35 Câu lệnh nhập ™Ví dụ, cho a b kiểu số nguyên ƒ scanf(“%d”, &a); // Nhập giá trị cho biến a ƒ scanf(“%d”, &b); // Nhập giá trị cho biến b ƒ Ỵ scanf(“%d%d”, &a, &b); ƒ Các câu lệnh sau sai • • • • • scanf(“%d”, a); // Thiếu dấu & scanf(“%d”, &a, &b);// Thiếu %d cho biến b scanf(“%f”, &a); // a biến kiểu số nguyên scanf(“%9d”, &a); // không định dạng scanf(“a = %d, b = %d”, &a, &b”); NMLT - Các kiểu liệu sở 36 VC VC && BB BB Một số hàm hữu ích khác ™Các hàm thư việc tốn học ƒ #include ƒ đầu vào: double, Trả kết quả: double • • • • • acos, asin, atan, cos, sin, … exp, log, log10 sqrt ceil, floor abs, fabs ƒ đầu vào: double, Trả kết quả: double • double pow(double x, double y) NMLT - Các kiểu liệu sở VC VC && BB BB 37 Một số hàm hữu ích khác ™Ví dụ ƒ int x = 4, y = 3, z = -5; ƒ float t = -1.2; ƒ float kq1 = sqrt(x1); ƒ int kq2 = pow(x, y); ƒ float kq3 = pow(x, 1/3); ƒ float kq4 = pow(x, 1.0/3); ƒ int kq5 = abs(z); ƒ float kq6 = fabs(t); NMLT - Các kiểu liệu sở 38 VC VC && BB BB Bài tập lý thuyết Trình bày kiểu liệu sở C cho ví dụ Trình bày khái niệm biến cách sử dụng lệnh gán Phân biệt thường ký hiệu Cho ví dụ minh họa Trình bày khái niệm biểu thức Tại nên sử dụng cặp ngoặc đơn Trình bày cách định dạng xuất NMLT - Các kiểu liệu sở VC VC && BB BB 39 Bài tập thực hành Nhập năm sinh người tính tuổi người Nhập số a b Tính tổng, hiệu, tính thương hai số Nhập tên sản phẩm, số lượng đơn giá Tính tiền thuế giá trị gia tăng phải trả, biết: a tiền = số lượng * đơn giá b thuế giá trị gia tăng = 10% tiền NMLT - Các kiểu liệu sở 40 VC VC && BB BB Bài tập thực hành Nhập điểm thi hệ số mơn Tốn, Lý, Hóa sinh viên Tính điểm trung bình sinh viên 10.Nhập bán kính đường trịn Tính chu vi diện tích hình trịn 11.Nhập vào số xe (gồm chữ số) bạn Cho biết số xe bạn nút? NMLT - Các kiểu liệu sở VC VC && BB BB 41 Bài tập #include #include void main() { int NamSinh, Tuoi; printf(“Nhap nam sinh: ”); scanf(“%d”, &NamSinh); Tuoi = 2007 – NamSinh; printf(“Tuoi cua ban la %d”, Tuoi); getch(); } NMLT - Các kiểu liệu sở 42 VC VC && BB BB Bài tập #include #include void main() { int a, b; printf(“Nhap hai so nguyen: ”); scanf(“%d%d”, &a, &b); Tong = a + b; Hieu = a – b; Tich = a * b; Thuong = a / b; printf(“Tong cua a va b: %d”, Tong); printf(“Hieu cua a va b: %d”, Hieu); printf(“Tich cua a va b: %d”, Tich); printf(“Thuong cua a va b: %d”, Thuong); } NMLT - Các kiểu liệu sở VC VC && BB BB 43 Bài tập #include #include void main() { int SoLuong, DonGia, Tien; float VAT; printf(“Nhap so luong va don gia: ”); scanf(“%d%d”, &SoLuong, &DonGia); Tien = SoLuong * DonGia; VAT = Tien * 0.1; printf(“Tien phai tra: %d”, Tien); printf(“Thue phai tra: %.2f”, VAT); } NMLT - Các kiểu liệu sở 44 VC VC && BB BB Bài tập #include #include void main() { float T, L, H, DTB; int HsT, HsL, HsH; printf(“Nhap diem Toan, Ly, Hoa: ”); scanf(“%f%f%f”, &T, &L, &H); printf(“Nhap he so Toan, Ly, Hoa: ”); scanf(“%d%d%d”, &HsT, &HsL, &HsH); DTB = (T * HsT + L * HsL + H * HsH) / (HsT + HsL + HsH); printf(“DTB cua ban la: %.2f”, DTB); } NMLT - Các kiểu liệu sở VC VC && BB BB 45 Bài tập 10 #include #include #define PI 3.14 void main() { float R, ChuVi, DienTich; printf(“Nhap ban kinh duong tron: ”); scanf(“%f”, &R); ChuVi = 2*PI*R; DienTich = PI*R*R; printf(“Chu vi: %.2f”, ChuVi); printf(“Dien tich: %.2f”, DienTich); } NMLT - Các kiểu liệu sở 46 VC VC && BB BB Bài tập 11 #include #include void main() { int n; int n1, n2, n3, n4, SoNut; printf(“Nhap bien so xe (4 so): ”); scanf(“%d”, &n); n4 = n % 10; n = n / 10; n3 = n % 10; n = n / 10; n2 = n % 10; n = n / 10; n1 = n; SoNut = (n1 + n2 + n3 + n4) % 10; printf(“So nut la: %d”, SoNut); } NMLT - Các kiểu liệu sở 47 ... (Range) float (*) 3. 4*10? ?38 … 3. 4*1 038 double (**) 1.7*10? ?30 8 … 1.7*1 030 8 • (*) Độ xác đơn (Single-precision) xác đến số lẻ • (**) Độ xác kép (Double-precision) xác đến 19 số lẻ NMLT - Các kiểu liệu... ƒ float x = 15.06; ƒ printf(“%f”, x); Ỵ Xuất 15.060000 ƒ printf(“%f”, 1.0 /3) ; Ỵ Xuất 0 .33 333 3 NMLT - Các kiểu liệu sở 32 VC VC && BB BB Định dạng xuất ™Cú pháp ƒ Định dạng xuất số nguyên: %nd... lớn (Byte) Miền giá trị (Range) char –128 … +127 int ? ?32 .768 … +32 .767 short ? ?32 .768 … +32 .767 long –2.147.4 83. 648 … +2.147.4 83. 647 NMLT - Các kiểu liệu sở VC VC && BB BB Kiểu số nguyên ™Các

Ngày đăng: 11/05/2021, 03:31