1. Trang chủ
  2. » Tất cả

Slide bài giảng nguyễn nhật nam

599 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

Nội dung

HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C CBGD ***************** ThS NGUYỄN NHẬT NAM HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C GIÁO TRÌNH ***************** 1.TIN HỌC II, TS ĐẶNG THÀNH TÍN, ĐH QG TP HCM 2.INTRODUCTION TO COMPUTING SYSTEMS, YALE N PATT AND SANJAY J PATEL, INTERNATIONAL EDITION HEÄ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C CHƯƠNG ÔN LẠI CÁC KIẾN THỨC CƠ BẢN VỀ MÁY TÍNH HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C CHƯƠNG ÔN LẠI CÁC KIẾN THỨC CƠ BẢN VỀ MÁY TÍNH CÁC HỆ ĐẾM CÁC KHÁI NIỆM CƠ BẢN LỊCH SỬ PHÁT TRIỂN CỦA MÁY TÍNH CÁC THÀNH PHẦN CƠ BẢN CỦA MÁY TÍNH PHẦN MỀM CÁC CẤP CHUYỂN ĐỔI HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 1.1 CÁC HỆ ĐẾM 1.1.1 Hệ thập phân Ví dụ 1.1: Các số hệ 10: 102, 3098.34D, 198d HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 1.1 CÁC HỆ ĐẾM 1.1.1 Hệ thập phân Ví dụ 1.2: Các số sau viết dạng phân tích hệ thập phân 1986D = 1.103 + 9.102 + 8.10 + 6.100 234d = 2.102 + 3.10 + 4.100 0.163 = 1.10-1 + 6.10-2 + 3.10-3 HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 1.1 CÁC HỆ ĐẾM 1.1.2 Hệ nhị phân Đây hệ đếm thức dùng cho máy tính Các mạch số máy tính sử dụng hai mức điện áp thấp cao để quy định cho trạng thái số làm việc 1, thường mức điện áp cao quy định cho trạng thái số 1, mức điện áp thấp quy định cho trạng thái số Trạng thái số nhị phân gọi bit, viết tắt từ binary digit Việc ghép ký số lại để mã hóa liệu để máy tính xử lý điều cần thiết HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 1.1 CÁC HỆ ĐẾM 1.1.2 Hệ nhị phân Ví dụ 1.3: Các số hệ 2: 1011B, 101010b, 1010101.101B Ví dụ 1.4: 10101B = 1.24 + 0.23 + 1.22 + 0.21 + 1.20 = 21D 11.01B = 1.21 + 1.20 + 0.2-1 + 1.2-2 = 3.25D HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 1.1 CÁC HỆ ĐẾM 1.1.2 Hệ nhị phân Trạng thái Thập phân 0 … 0 1 … 2n-1 n bit HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 1.1 CÁC HỆ ĐẾM 1.1.3 Hệ bát phân Ví dụ1.5: Các hệ bát phân: 734O, 123.56o, -34.23O Ví dụ1.6: 705 O = 7.82 + 0.81 + 5.80 = 453 D 123.56 O = 1.82 + 2.81 + 380 + 5.8-1 + 6.8-2 HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 13.1 KIỂU STRUCT 13.1.3 Pointer tới struct Việc truy xuất đến thành phần cấu trúc thông qua pointer thực toán tử lấy thành phần đối tượng pointer, ký hiệu -> (có thể gọi toán tử mũi tên) Ví dụ: printf ("Ho ten sinh vien: %s \n", psv -> ho_ten); hay printf ("Ho ten sinh vien: %s \n", (*psv).ho_ten); HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 13.1 KIỂU STRUCT 13.1.3 Pointer tới struct Ví dụ 7.16 (SGT) C lại cho phép khai báo struct mà thành phần lại có pointer đến cấu trúc kiểu Ví dụ: struct node { char message[81]; struct node * }; HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 13.1 KIỂU STRUCT 13.1.4 Struct dạng field C cho phép ta khai báo thành phần struct theo bit nhóm bit Một thành phần gọi field (tạm dịch vùng) struct tên_cấu_trúc { kiểu tên_vùng 1: số_bit1; kiểu tên_vùng 2:số_bit2; } tên_biến; Với kiểu unsigned, signed int HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 13.1 KIỂU STRUCT 13.1.4 Struct dạng field Ví dụ: struct date { unsigned day: 5; unsigned month: 4; unsigned year: 6; int: 0; } ngay; HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 13.1 KIỂU STRUCT 13.1.4 Struct dạng field Chú ý: -Mỗi vùng dài tối đa 16 bit (một int) cấp chỗ int, nằm hai int khác -Sự phân bố bit cho field int struct (từ trái sang phải hay ngược lại), không phân biệt -Mọi thao tác thực biến kiểu field có liên quan đến địa không thực HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 13.1 KIỂU STRUCT 13.1.4 Struct dạng field Ví dụ: Khi khai baùo struct vi_du { unsigned unsigned unsigned unsigned unsigned field1: field2: field3: field4: field5: 7; 5; 2; 6; 7; } vd; HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 13.1 KIỂU STRUCT 13.1.4 Struct dạng field Ví dụ: HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 13.2 KIỂU UNION Trong ngôn ngữ C có kiểu liệu union (tạm dịch kiểu hợp nhất), kiểu liệu đặc biệt mà khai báo ứng với vùng nhớ, giá trị thời điểm khác có kiểu khác tùy vào việc sử dụng biến thành phần HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 13.2 KIỂU UNION Ví dụ: Có khai báo union sau: union thu { char c; int i; float f; double d; }; HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 13.2 KIỂU UNION Khai báo biến kiểu union: union tên_union { khai_báo_biến_thành_phần } biến, biến [, ]; union tên_union biến, biến [ ]; HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 13.2 KIỂU UNION Ví dụ: union thu { char c; int i; float f; double d; } a, b; union thu a, b; HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 13.2 KIỂU UNION Để truy xuất đến biến thành phần biến thuộc kiểu uinion, ta dùng toán tử chấm “.” Ví dụ: unoin thu a; a.c = 'a'; Ta khai báo biến pointer đến biến kiểu union Ví dụ: union thu *pthu, a; pthu = &a; HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 13.2 KIỂU UNION Việc truy xuất đến thành phần union qua pointer thực toán tử mũi tên, để lấy thành phần union pointer đến Ví dụ: pthu->c = 'A'; Ví dụ 7.30 (SGT) Kiểu union lấy kích thước tính theo byte qua toán tử sizeof, ví dụ: sizeof (union thu); HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C 13.3 KIỂU ENUM (ENUMERATED) 13.4 ĐỊNH NGHĨA KIỂU BẰNG TYPEDEF HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C KẾT THÚC CHƯƠNG 13

Ngày đăng: 04/04/2023, 09:59