Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 71 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
71
Dung lượng
1,15 MB
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 TIN HỌC ĐẠI CƯƠNG Bài Kiểu liệu biểu thức C (5 tiết LT + tiết BT) Nguyễn Thị Thu Trang trangntt@it-hut.edu.vn 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 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ự không dấu byte ÷ 255 char Kí tự có dấu byte -128 ÷ 127 unsigned int Số nguyên không dấu byte 0÷65.535 int Số nguyên có dấu byte -32.768÷32.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 -2,147,483,648 ÷ 2,147,483,647 float Số thực dấu phẩy động, độ xác đơn Số thực dấu phẩy động, độ xác kép byte ± 3.4E-38 ÷ ± 3.4E+38 byte ± 1.7E-308 ÷ ± 1.7E+308 double 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 7.2.1 Khai báo khởi tạo 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 khởi tạo biến (2) Kết hợp khai báo khởi tạo • Cú pháp: kieu_du_lieu ten_bien = gia_tri_ban_dau; Hoặc: kieu_du_lieu bien1=gia_tri1, bienN=gia_triN; • Ví dụ: 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 1: Dùng từ khóa #define: – Cú pháp: # define ten_hang gia_tri – Ví dụ: #define MAX_SINH_VIEN 50 #define CNTT “Cong nghe thong tin” #define DIEM_CHUAN 23.5 7.2.2 Khai báo • Cách 2: Dùng từ khóa const : – 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; 7.2.2 Khai báo • Chú ý: – Giá trị phải xác định khai báo – Trong chương trình, KHÔNG thể thay đổi giá trị – #define thị tiền xử lý (preprocessing directive) • Dễ đọc, dễ thay đổi • Dễ chuyển đổi tảng phần cứng • Tốc độ nhanh 10 a Mục đích cú pháp (4) • danh_sach_dia_chi phải phù hợp với nhóm kí tự định dạng xau_dinh_dang về: – Số lượng – Kiểu liệu – Thứ tự 57 b Một số nhóm định dạng phổ biến Nhóm kí tự định dạng Kiểu 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 58 c Một số nhóm định dạng phổ biến (3) Nhóm kí tự định dạng Kiểu liệu Chú thích %s char[] Hiển thị xâu kí tự kết thúc ‘\0’ %f float Số thực dấu phẩy tĩnh %ld %lf long double Số nguyên Số thực dấu phẩy tĩnh % Đọc ký tự % 59 Ví dụ #include #include void main() { // khai bao bien int a; float x; char ch; char[30] str; // Nhap du lieu printf(“Nhap vao mot so nguyen”); scanf(“%d”,&a); printf(“\n Nhap vao mot so thuc”); scanf(“%f”,&x); 60 Ví dụ printf(“\n Nhap vao mot ki tu”); fflush(stdin); scanf(“%c”,&ch); printf(“\n Nhap vao mot xau ki tu”); fflush(stdin); scanf(“%s”,str); // Hien thi du lieu vua nhap vao printf(“\n Nhung du lieu vua nhap vao”); printf(“\n So nguyen: %d”,a); printf(“\n So thuc : %.2f”,x); printf(“\n Ki tu: %c: ”,ch); printf(“\n Xau ki tu: %s”,str); getch(); } 61 Ví dụ • Kết quả: Nhap vao mot so nguyen: 2007 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: 2007 So thuc: 17.16 Ki tu: b Xau ki tu: ngon 62 c Một số quy tắc cần lưu ý • Quy tắc 1: Khi đọc số – Hàm scanf() quan niệm kí tự số, dấu chấm (‘.’) kí tự hợp lệ – Khi gặp dấu phân cách tab, xuống dòng hay dấu cách (space bar) scanf() hiểu kết thúc nhập liệu cho số 63 c Một số quy tắc cần lưu ý (tiếp) • Quy tắc 2: Khi đọc kí tự: Hàm scanf() cho kí tự có đệm thiết bị vào chuẩn hợp lệ, kể kí tự tab, xuống dòng hay dấu cách 64 c Một số quy tắc cần lưu ý (tiếp) • Quy tắc 3: Khi đọc xâu kí tự: + Hàm scanf() gặp kí tự dấu trắng, dấu tab hay dấu xuống dòng hiểu kết thúc nhập liệu cho xâu kí tự + Trước nhập liệu kí tự hay xâu kí tự ta nên dùng lệnh fflush(stdin) để xóa đệm 65 7.6.3 Các lệnh vào khác • Hàm gets(): Dùng để nhập vào từ bàn phím xâu kí tự bao gồm dấu cách, điều mà hàm scanf() không làm • Cú pháp : gets (xâu_kí_tự); • Ví dụ: char[40] str; printf(“Nhap vao mot xau ki tu:”); fflush(stdin); gets(str); 66 7.6.3 Các lệnh vào khác (2) • Hàm puts(): Hiển thị hình nội dung xâu_kí_tự sau đưa trỏ xuống dòng • Cú pháp: puts(xâu_kí_tự); • Ví dụ: puts(“Nhap vao xau ki tu:”); • Tương đương với lệnh: printf(“%s\n”,“Nhap vao xau ki tu:“) 67 7.6.3 Các lệnh vào khác (3) • Hàm getch(): thường dùng để chờ người sử dụng ấn phím kết thúc chương trình • Cú pháp getch(); • Để sử dụng hàm gets(), puts(), getch() ta cần khai báo tệp tiêu đề conio.h 68 7.6.3 Các lệnh vào khác (4) • Ví dụ: #include #include void main() { char[30] str; puts(“Hay cho biet ho ten ban:”); fflush(stdin); gets(str); printf(“Xin chao ”); puts(str); puts(“An phim bat ki de ket thuc ”); getch(); } 69 Các lệnh nhập xuất khác • 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 70 Thảo luận 71 ... báo khởi tạo 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... 7.2.1 Khai báo khởi tạo biến (2) Kết hợp khai báo khởi tạo • Cú pháp: kieu _du_ lieu ten_bien = gia_tri_ban_dau; Hoặc: kieu _du_ lieu bien1=gia_tri1, bienN=gia_triN; • Ví dụ: int a = 3;// sau lenh bien... tin” #define DIEM_CHUAN 23.5 7.2.2 Khai báo • Cách 2: Dùng từ khóa const : – 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