Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
0,96 MB
Nội dung
Nội dung TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG 7.1 Các kiểu liệu chuẩn C 7.2 Khai báo khởi tạo biến, 7.3 Biểu thức C 7.4 Các phép toán C 7.5 Một số toán tử đặc trưng 7.6 Các lệnh vào liệu với biến TIN HỌC ĐẠI CƯƠNG Phần Lập trình C Bài Kiểu liệu biểu thức C 7.1 C|c kiểu liệu chuẩn C Kiểu liệu Ý nghĩa Kích thước Miền liệu unsigned char Kí tự byte 255 char Kí tự byte -128 127 unsigned int Số nguyên không byte dấu 065.535 short int Số nguyên có dấu byte -32.76832.767 int Số nguyên có dấu byte -32.76832.767 7.1 C|c kiểu liệu chuẩn C Kiểu liệu Ý nghĩa Kích thước Miền liệu unsigned long Số nguyên không dấu byte 0 4,294,967,295 long Số nguyên có dấu byte float Số thực dấu phẩy động, độ x|c đơn Số thực dấu phẩy động, độ x|c kép Số thực dấu phẩy động, độ x|c kép mở rộng byte -2,147,483,648 2,147,483,647 3.4E-38 3.4E+38 double long double byte 1.7E-308 1.7E+308 10 byte 3.4E-4932 1.1E+4932 Nội dung 7.2.1 Khai b|o v{ khởi tạo biến 7.1 Các kiểu liệu chuẩn C 7.2 Khai báo khởi tạo biến, 7.3 Biểu thức C 7.4 Các phép toán C 7.5 Một số toán tử đặc trưng 7.6 Các lệnh vào liệu với biến • Một biến trước sử dụng phải khai b|o • Cú pháp khai báo: kieu_du_lieu ten_bien; Hoặc: kieu_du_lieu ten_bien1, …, ten_bienN; • Ví dụ: Khai b|o biến x thuộc kiểu số nguyên byte có dấu (int), biến y, z,t thuộc kiểu thực byte (float) sau: int x; float y,z,t; x = 3; y = x + 1; 7.2.1 Khai b|o v{ khởi tạo biến (2) 7.2.2 Khai b|o Kết hợp khai b|o v{ khởi tạo • Cách 1: Dùng từ khóa #define: • Cú pháp: kieu_du_lieu ten_bien = gia_tri_ban_dau; Hoặc: – Cú pháp: #define ten_hang gia_tri kieu_du_lieu bien1=gia_tri1, bienN=gia_triN; – Ví dụ: • Ví dụ: #define MAX_SINH_VIEN 50 #define CNTT “Cong nghe thong tin” #define DIEM_CHUAN 23.5 int a = 3;// sau lenh bien a se co gia tri bang float x = 5.0, y = 7.6; // sau lenh x co gia // tri 5.0, y co gia tri 7.6 7.2.2 Khai b|o • C|ch 2: Dùng từ khóa 7.2.2 Khai b|o • Chú ý: const : – Gi| trị c|c phải x|c định khai báo – Trong chương trình, KHÔNG thể thay đổi gi| trị – #define l{ thị tiền xử lý (preprocessing directive) – Cú pháp: const kieu_du_lieu ten_hang = gia_tri; – Ví dụ: const int MAX_SINH_VIEN = 50; const char CNTT[20] = “Cong nghe thong tin”; const float DIEM_CHUAN = 23.5; • Dễ đọc, dễ thay đổi • Dễ chuyển đổi c|c tảng phần cứng • Tốc độ nhanh Nội dung 10 7.3.1 C|c loại biểu thức 7.1 Các kiểu liệu chuẩn C 7.2 Khai báo khởi tạo biến, 7.3 Biểu thức C 7.4 Các phép toán C 7.5 Một số toán tử đặc trưng 7.6 Các lệnh vào liệu với biến • a Biểu thức số học: – L{ biểu thức m{ gi| trị l{ c|c đại lượng số học (số nguyên, số thực) – C|c to|n tử l{ c|c phép to|n số học (cộng, trừ, nh}n, chia…), c|c to|n hạng l{ c|c đại lượng số học (số, biến, hằng) – Ví dụ: • * 3.7 • + 6/3 • a + b – c // Với a, b, c l{ c|c biến thuộc kiểu liệu số n{o 11 12 7.3.1 C|c loại biểu thức 7.3.1 C|c loại biểu thức • b Biểu thức logic: • c Biểu thức quan hệ: – L{ biểu thức m{ gi| trị l{ c|c gi| trị logic, tức l{ hai gi| trị: Đúng (TRUE) Sai (FALSE) – L{ biểu thức có sử dụng c|c to|n tử quan hệ so s|nh lớn hơn, nhỏ hơn, nhau, kh|c nhau… – Chỉ nhận gi| trị l{ gi| trị Đúng (TRUE) Sai (FALSE) Biểu thức quan hệ l{ trường hợp riêng biểu thức logic • Gi| trị nguyên kh|c 0: Đúng (TRUE), • Gi| trị 0: Sai (FALSE) – C|c phép to|n logic gồm có • AND: VÀ logic, kí hiệu l{ && • OR: HOẶC logic, kí hiệu l{ || • NOT: PHỦ ĐỊNH, kí hiệu l{ ! 13 14 7.3.1 C|c loại biểu thức 7.3.1 C|c loại biểu thức • Ví dụ biểu thức quan hệ: • Ví dụ biểu thức logic: 15 16 7.3.1 Sử dụng biểu thức Nội dung • • • • 7.1 Các kiểu liệu chuẩn C 7.2 Khai báo khởi tạo biến, 7.3 Biểu thức C 7.4 Các phép toán C 7.5 Một số toán tử đặc trưng 7.6 Các lệnh vào liệu với biến L{m vế phải lệnh g|n L{m to|n hạng c|c biểu thức kh|c L{m tham số thực lời gọi h{m L{m số c|c cấu trúc lặp for, while, while • L{m biểu thức kiểm tra c|c cấu trúc rẽ nhánh if, switch 17 7.4 Các phép toán C 18 7.4.1 Phép to|n số học • Bao gồm: – Nhóm c|c phép to|n số học – Nhóm c|c phép to|n quan hệ – Nhóm phép toán logic – Nhóm phép toán thao tác bit – Ngo{i C cung cấp số phép to|n kh|c phép g|n, phép lấy địa chỉ… 19 20 7.4.2 Phép toán bit (bitwise) 7.4.2 Phép toán bit 1) 1) 21 7.4.3 Phép to|n quan hệ 22 7.4.4 Phép toán logic 23 24 7.4.5 Phép toán gán 7.4.5 Phép toán gán • Cú pháp tên_biến = biểu_thức; • Lấy gi| trị biểu_thức gán cho tên_biến • Ví dụ: • Biểu thức g|n l{ biểu thức nên có gi| trị • Gi| trị biểu thức g|n gi| trị biểu_thức: Có thể g|n gi| trị biểu thức g|n cho biến kh|c sử dụng biểu thức bình thường • Ví dụ: int a = b = c = int a, b, c; a = b = 2007; c = (a = 20) * (b = 30); a, b, c; 3; a + 5; a * b; 25 7.4.5 Phép toán gán 26 7.4.6 Thứ tự ưu tiên c|c phép to|n • Phép to|n g|n thu gọn: x = x + y; giống x += y; • Dạng lệnh g|n thu gọn n{y |p dụng với c|c phép to|n kh|c: +, -, *, /, %, >>, [...]... (2) c Độ rộng hiển thị - Chú ý • Ví dụ: printf("\n%f", 17. 345); printf("\n%.2f", 17. 345); printf("\n %7. 2f", 17. 345); • Kết quả: • Khi số chỗ cần thiết để hiển thị nội dung dữ liệu lớn hơn trong định dạng: – Tự động cung cấp thêm chỗ mới để hiển thị chứ không cắt bớt nội dung của dữ liệu – Ví dụ: a=1000 printf(“So a la: %1d”, a); 17. 345000 17. 34 17. 34 – Kết quả: So a la: 1000 51 52 13 d Căn lề phải,... printf("\n%-3d %-15s %.2f %-3c", 9, "nguyen van a", 7. 5, 'g'); printf("\n%-3d %-15s %.2f %-3c", 10, “nguyen ha", 6 .75 , 'k'); – Khi hiển thị dữ liệu, mặc định C căn lề phải • Căn lề trái: – Nếu muốn căn lề tr|i khi hiển thị dữ liệu ta chỉ cần thêm dấu trừ - v{o ngay sau dấu % • Kết quả: 9 nguyen van a 7. 50 g 10 nguyen ha 6 .75 k 53 7. 6.2 Hàm scanf 54 a Mục đích v{ cú ph|p (3) • Xau_dinh_dang:... thúc bởi ‘\0’ Số thực dấu phẩy tĩnh Số nguyên Số thực dấu phẩy tĩnh 60 59 15 Ví dụ Ví dụ • Kết quả: Nhap vao mot so nguyen: 20 07 Nhap vao mot so thuc: 17. 1625 Nhap vao mot ki tu: b Nhap vao mot xau ki tu: ngon ngu lap trinh C Nhung du lieu vua nhap vao So nguyen: 20 07 So thuc: 17. 16 Ki tu: b Xau ki tu: ngon printf(“\n Nhap vao mot ki tu”); fflush(stdin); scanf(“%c”,&ch); printf(“\n Nhap vao mot xau ki... (biến_xâu_kí_tự); • Ví dụ: char str[30]; printf(“Nhap vao mot xau ki tu:”); fflush(stdin); gets(str); 65 66 7. 6.3 C|c lệnh v{o ra kh|c (2) 7. 6.3 C|c lệnh v{o ra kh|c (3) • Hàm puts(): • H{m getch(): thường dùng để chờ người sử dụng ấn một phím bất kì rồi sẽ kết thúc chương trình • Cú pháp Hiển thị ra m{n hình nội dung x}u_kí_tự v{ sau đó đưa con trỏ xuống dòng mới • Cú pháp: puts(xâu_kí_tự); • Ví dụ: puts(“Nhap... vao xau ki tu:“); Hoặc printf(“Nhap vao xau ki tu:\n”); getch(); • Sử dụng h{m gets(), puts(), cần khai b|o tệp tiêu đề stdio.h • Sử dụng h{m getch(), cần khai b|o tệp tiêu đề conio.h 67 • (Hàm tương tự getchar()) 68 17 7.6.3 C|c lệnh v{o ra kh|c (4) C|c lệnh nhập xuất kh|c • Ví dụ: #include #include void main() { char str[30]; puts(“Hay cho biet ho ten ban:”); fflush(stdin); gets(str);... đọc kí tự: Hàm scanf() cho rằng mọi kí tự có trong bộ đệm của thiết bị vào chuẩn đều là hợp lệ, kể cả các kí tự tab, xuống dòng hay dấu cách – H{m scanf() quan niệm rằng mọi kí tự số, dấu chấm (‘.’) đều l{ kí tự hợp lệ – Khi gặp c|c dấu ph}n c|ch như tab, xuống dòng hay dấu c|ch (space bar) thì scanf() sẽ hiểu l{ kết thúc nhập dữ liệu cho một số 63 64 16 c Một số quy tắc cần lưu ý (tiếp) 7. 6.3 C|c lệnh... Một số quy tắc cần lưu ý (tiếp) 7. 6.3 C|c lệnh v{o ra kh|c • Quy tắc 3: Khi đọc xâu kí tự: + Hàm scanf() nếu gặp các kí tự dấu trắng, dấu tab hay dấu xuống dòng thì nó sẽ hiểu là kết thúc nhập dữ liệu cho một xâu kí tự + Trước khi nhập dữ liệu kí tự hay xâu kí tự ta nên dùng lệnh fflush(stdin) để xóa bộ đệm • Hàm gets(): Dùng để nhập v{o từ b{n phím một x}u kí tự bao gồm cả dấu c|ch, điều m{ h{m scanf()... xau_dinh_dang về: Nhóm kí tự định dạng – Số lượng – Kiểu dữ liệu – Thứ tự Kiểu dữ liệu Chú thích %c char Kí tự đơn lẻ %d int Số thập ph}n %o int Số b|t ph}n %x int Số hexa %u unsigned int Số thập ph}n 57 58 Ví dụ c Một số nhóm định dạng phổ biến (3) Nhóm kí tự định dạng %s Kiểu dữ liệu char* %f float %ld %lf long double #include #include void main() { // khai bao bien int a; float... kí tự kết thúc bởi ‘\0’ Số thực dấu phẩy tĩnh Số thực dấu phẩy động printf("%5d",a);//danh 5 cho de hien thi a printf(“\n%5d",34); Cho ra kết quả: 1234 34 ( kí hiệu cho dấu c|ch đơn (space) ) 48 47 12 c Độ rộng hiển thị - số nguyên (2) c Độ rộng hiển thị - số thực • Ví dụ: • m, n l{ 2 số nguyên không }m %m.nf printf("\n%3d %15s %3c", 1, "nguyen van a", 'g'); printf("\n%3d %15s %3c", 2, "tran van... printf(“Xin chao ”); puts(str); puts(“An phim bat ki de ket thuc ”); getch(); } • Kết quả: Nhap vao mot xau ki tu: ngon ngu lap trinh C Xau vua nhap vao: ngon ngu lap trinh C An phim bat ki de ket thuc 69 70 18 .. .Nội dung 7. 2.1 Khai b|o v{ khởi tạo biến 7. 1 Các kiểu liệu chuẩn C 7. 2 Khai báo khởi tạo biến, 7. 3 Biểu thức C 7. 4 Các phép toán C 7. 5 Một số toán tử đặc trưng 7. 6 Các lệnh vào... 123.456000; i = 123 35 36 Nội dung 7. 6 C|c lệnh v{o liệu 7. 1 Các kiểu liệu chuẩn C 7. 2 Khai báo khởi tạo biến, 7. 3 Biểu thức C 7. 4 Các phép toán C 7. 5 Một số toán tử đặc trưng 7. 6 Các lệnh vào liệu... tr|i (2) • Căn lề phải: • Ví dụ: printf("
%-3 d %-1 5s %.2f %-3 c", 9, "nguyen van a", 7. 5, 'g'); printf("
%-3 d %-1 5s %.2f %-3 c", 10, “nguyen ha", 6 .75 , 'k'); – Khi hiển thị liệu, mặc định C lề