Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 38 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
38
Dung lượng
1,5 MB
Nội dung
&& VC VC BB BB TIN HỌC CƠ SỞ CÁC KIỂU DỮ LIỆU CƠ SỞ TRONG NGÔN NGỮ C ThS Nguyễn Mạnh Sơn Khoa: Công nghệ thông tin Email: nguyenmanhson@gmail.com 11/26/17 && 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 && VC VC BB BB Các kiểu liệu sở Ngơn ngữ 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 logic: giá trị sai Kiểu ký tự: 256 ký tự bảng mã ASCII && 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 && 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 && 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ố sau dấu phẩy (*) Độ xác kép (Double-precision) xác đến 19 số sau dấu phẩy && VC VC BB BB Kiểu logic Đặ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) && 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’ && VC VC BB BB Định nghĩa kiểu liệu Cú pháp typedef Ví dụ typedef int ; SoNguyen; Có thể khai báo: SoNguyen x; && VC VC BB BB Biến Ví dụ int i; int j, k; unsigned char dem; float ketqua, delta; Cú pháp ; , ; && VC VC BB BB Độ ưu tiên toán tử Toán tử () [] -> ! ++ - + * (cast) & sizeof * / % + > < >= == != & | ^ && || ?: = += -= *= /= %= &= … , Độ ưu tiên && VC VC BB BB Độ ư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) && 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) && VC VC BB BB 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; && VC VC BB BB Câu lệnh 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; } && VC VC BB BB 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) && 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”); && VC VC BB BB 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”); && 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 không dấu char int, short, long float, double char[], char* unsigned int/short/long && VC VC BB BB 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 && 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 && 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); && 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 & && 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”); && VC VC BB BB Một số hàm hữu ích khác Các hàm thư viện 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) ... x = b; && VC VC BB BB Độ ưu tiên toán tử Toán tử () [] -> ! ++ - + * (cast) & sizeof * / % + > < >= == != & | ^ && || ?: = += -= *= /= %= &= … , Độ ưu tiên ... (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)... Ngôn ngữ C có kiểu sở sau: Kiểu số nguyên: giá trị số nguyên 2912, -1 706, … Kiểu số thực: giá trị số thực 3.1415, 29.12, -1 7.06, … Kiểu logic: giá trị sai Kiểu ký tự: 256 ký tự bảng mã