Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 47 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
47
Dung lượng
2,17 MB
Nội dung
Trường Đại học Khoa học Tự nhiên Khoa Công nghệ thông tin Bộ môn Tin học sở A TIN HỌC CƠ SỞ Đặng Bình Phương dbphuong@fit.hcmuns.edu.vn CÁC KIỂU DỮ LIỆU CƠ SỞ TRONG C 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 Tin học sở A - Đặng Bình Phương 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 Tin học sở A - Đặng Bình Phương 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 Tin học sở A - Đặng Bình Phương 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 Tin học sở A - Đặng Bình Phương 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) float (*) 3.4*10–38 … 3.4*1038 double (**) 1.7*10–308 … 1.7*10308 • • Miền giá trị (Range) (*) Độ xác đơn (Single-precision) xác đến số lẻ (*) Độ xác kép (Double-precision) xác đến 19 số lẻ Tin học sở A - Đặng Bình Phương 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) Tin học sở A - Đặng Bình Phương 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ố nguyên 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’ Tin học sở A - Đặng Bình Phương VC VC && BB BB Biến Ví dụ int i; int j, k; unsigned char dem; float ketqua, delta; Cú pháp ; , ; Tin học sở A - Đặng Bình Phương 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) Tin học sở A - Đặng Bình Phương 10 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.kd int a = 1706; float x = 176.85; printf(“%10d”, a);printf(“\n”); printf(“%10.2f”, x);printf(“\n”); printf(“%.2f”, x);printf(“\n”); 6 Tin học sở A - Đặng Bình Phương 33 VC VC && BB BB 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); Tin học sở A - Đặng Bình Phương 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 & Tin học sở A - Đặng Bình Phương 35 VC VC && BB BB 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”); Tin học sở A - Đặng Bình Phương 36 VC VC && BB BB Một số hàm hữu ích khác Các hàm thư việc toá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) Tin học sở A - Đặng Bình Phương 37 VC VC && BB BB 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); Tin học sở A - Đặng Bình Phương 38 VC VC && BB BB Bài tập lý thuyết Trình bày kiểu liệu sở Turbo Pascal cho ví dụ (110-116) Trình bày khái niệm biến cách sử dụng lệnh gán (116) Phân biệt biến Cho ví dụ minh họa (119) 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 (126) Tin học sở A - Đặng Bình Phương 39 VC VC && BB BB 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 Tin học sở A - Đặng Bình Phương 40 VC VC && BB BB Bài tập thực hành Nhập điểm thi hệ số môn Toán, Lý, Hóa sinh viên Tính điểm trung bình sinh viên Nhập bán kính đường tròn Tính chu vi diện tích hình tròn Nhập vào số xe (gồm chữ số) bạn Cho biết số xe bạn nút? Tin học sở A - Đặng Bình Phương 41 VC VC && BB BB 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(); } Tin học sở A - Đặng Bình Phương 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); } Tin học sở A - Đặng Bình Phương 43 VC VC && BB BB 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); } Tin học sở A - Đặng Bình Phương 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); } Tin học sở A - Đặng Bình Phương 45 VC VC && BB BB Bài tập #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); } Tin học sở A - Đặng Bình Phương 46 VC VC && BB BB Bài tập #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); } Tin học sở A - Đặng Bình Phương 47 [...]... giống định dạng xuất nhưng chỉ c c c đ c tả C c đối số là tên c c biến sẽ ch a giá trị nhập và đư c đặt trư c dấu & Tin h c c sở A - Đặng Bình Phương 35 VC VC && BB BB C u lệnh nhập Ví dụ, cho a và 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 đây sai • • • • • scanf(“%d”,... ho c (x > –5 && x < 5) Tin h c c sở A - Đặng Bình Phương 25 VC VC && BB BB C u lệnh Khái niệm Là một chỉ thị tr c tiếp, hoàn chỉnh nhằm ra lệnh cho máy tính th c hiện một số t c vụ nhất định nào đó Trình biên dịch bỏ qua c c khoảng trắng (hay tab ho c xuống dòng) chen gi a lệnh Ví dụ a= 2912; a = 2912; a = 2912; Tin h c c sở A - Đặng Bình Phương 26 VC VC && BB BB C u lệnh Phân loại C u... } Tin h c c sở A - Đặng Bình Phương 18 VC VC && BB BB C c toán tử quan hệ C c toán tử quan hệ So sánh 2 biểu th c với nhau Cho ra kết quả 0 (hay false nếu sai) ho c 1 (hay true nếu đúng) ==, >, =, = 2); s5 = (1 < 2); s6 = (1 ! ++ - + * (cast) & sizeof * / % + > < >= == != & | ^ && || ?: = += -= *= /= %= &= … , Độ ưu tiên Tin h c c sở A - Đặng Bình Phương 23 VC VC && BB BB Độ ưu tiên c a c c toán tử Quy t c th c hiện Th c hiện biểu th c trong ( )... BB Chuỗi định dạng Đ c tả (conversion specifier) Gồm dấu % và một ký tự X c định kiểu c a biến/giá trị muốn xuất C c đối số chính là c c biến/giá trị muốn xuất, đư c liệt kê theo thứ tự c ch nhau 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 không dấu char int, short, long float, double char[], char* unsigned int/short/long Tin h c c sở. .. chuỗi a + b printf( a + b”); Tin h c c sở A - Đặng Bình Phương 29 VC VC && BB BB Chuỗi định dạng Ký tự điều khiển (escape sequence) Gồm dấu \ và một ký tự như trong bảng sau: Ký tự điều khiển Ý ngh a \a \b \n \t \\ \? \” Tiếng chuông Lùi lại một 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”); Tin h c c sở A - Đặng Bình Phương 30 VC VC &&... Phương 13 VC VC && BB BB 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; } Tin h c c sở A - Đặng Bình Phương 14 VC VC && BB BB C c toán tử toán h c Toán tử 1 ngôi Chỉ c một toán hạng trong biểu th c ++ (tăng 1 đơn vị), (giảm 1 đơn vị) Đặt trư c toán hạng • Ví dụ ++x hay x: th c hiện tăng/giảm... sai thì giá trị là Ví dụ s1 = (1 > 2) ? 2912 : 1706; int s2 = 0; 1 < 2 ? s2 = 2912 : s2 = 1706; Tin h c c sở A - Đặng Bình Phương 21 VC VC && BB BB Toán tử phẩy Toán tử phẩy C c biểu th c đặt c ch nhau bằng dấu , C c biểu th c con lần lượt đư c tính từ trái sang phải Biểu th c mới nhận đư c là giá trị c a biểu th c bên phải c ng Ví dụ x = (a+ +, b = b... ”); // Xuất chuỗi “ cong ” printf(“%d”, b); // Xuất giá trị c a biến b printf(“ bang ”); // Xuất chuỗi “ bang ” printf(“%d”, a + b); // Xuất giá trị c a 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); Tin h c c sở A - Đặng Bình Phương 34 VC VC && BB BB C u lệnh nhập Thư viện #include (standard input/output) C pháp scanf(