Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 164 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
164
Dung lượng
6,14 MB
Nội dung
C Biên www.hutech.edu.vn *1.2022.CMP1074* tailieuhoctap@hutech.edu.vn : I M CL C M C L C I NG D N V BÀI 1: KI N TH NV MÁY TÍNH 1.1.1 Máy tính gì? 1.1.2 1.1.3 1.1.4 1.2.1 B 1.2.2 1.3 1.3.1 1.3.2 1.3.3 15 1.3.4 19 1.3.5 21 CÂU H I ÔN T P 25 N L P TRÌNH MÁY TÍNH 27 27 28 2.2.1 28 2.2.2 29 2.2.3 30 2.2.4 31 37 2.4 anguage) 38 2.4.1 38 2.4.2 39 2.4.3 42 CÂU H I ÔN T P 44 BÀI 3: GI I THI U V NGƠN NG L P TRÌNH C 47 47 3.1.1 47 3.1.2 48 3.1.3 48 -C 50 II 3.3 51 CÂU H I ÔN T P 53 BÀI T P NÂNG CAO 56 BÀI 4: KI U D LI U VÀ BI U TH C TRONG C 57 57 4.1.1 .57 4.1.2 58 4.1.3 .59 4.1.4 59 4.1.5 .62 64 4.2.1 .64 4.2.2 .65 66 4.3.1 66 4.3.2 .66 4.3.3 67 4.3.4 .69 4.3.5 71 4.3.6 72 4.3.7 73 4.3.8 Các phép toán thao tác bit 74 4.3.9 75 4.3.10 .76 77 4.4.1 .77 4.4.2 .78 82 4.5.1 82 4.5.2 83 4.5.3 84 4.5.4 .85 4.5.5 86 4.5.6 87 CÂU H I ÔN T P 88 BÀI 5: CÁC TOÁN T U KHI N 93 93 5.1.1 93 5.1.2 93 5.2 5.2.1 95 95 III 5.2.2 5.3 C 99 101 5.3.1 101 5.3.2 104 5.3.3 106 5.3.4 107 108 5.4.1 108 5.4.2 109 CÂU H I ÔN T P 110 111 111 112 113 6.3.1 113 6.3.2 114 6.3.3 115 6.4 116 120 6.5.1 120 6.5.2 120 CÂU H I ÔN T P 121 BÀI 7: M NG - CHU I KÝ T 122 122 123 7.2.1 Khai báo 123 7.2.2 124 7.2.3 125 7.2.4 126 7.2.5 126 7.3 128 7.3.1 128 7.3.2 129 7.3.3 130 CÂU H I ÔN T P 138 BÀI 8: KI U D LI U CÓ C U TRÚC 143 143 144 146 146 8.4.1 146 IV 8.4.2 147 147 CÂU H I ÔN T P 150 TÀI LI U THAM KH O 156 V NG D N MƠ T Mơn MƠN H C l p trình cung c p cho sinh viên nh ng ki n th c l p trình thơng qua ngơn ng l p trình C Mơn h c n n t môn h ti p thu h u h t o M t khác, n m v phát tri gi i toán H c xong môn này, sinh viên ph i n c v - N I DUNG MÔN H C - n v máy tính, v Bài KI N TH N V M Y T NH - Y T NH - Bài KI U D LI U V - Bài C C TO N T BI U TH C TRONG C U KHI N sau: ng d ng VI - NH CON (HÀM) Bài M NG - YÊU C U MÔN H C t v logic ki n th c toán h n CÁCH TI P NH N N I DUNG MÔN H C l p trình mơn h tính, u tiên giúp sinh viên làm quen v i khái ni m máy p trình máy tính, giúp sinh viên có khái ni n v cách ti p c n gi i quy t toán tin h c, giúp sinh viên có kh i l p trình, ti ti p c n v i h c ph n quan tr ng l i c a ngành Cơng ngh Thơng tin Vì v y, u c u bu i lên l p, làm t g ch chân nh ng v p c n v i i h c ph i d nhà, nghiên c u tài li không hi c tài li nl h n l p i C h c t t môn này, t i h c c n ôn t p c, tr c m l i câu h i n h c i v i m i h ih c m c tiêu h h c K t thúc m i ý c a h h c tr c làm t p m ph n m trình (chuyên c n + t p) m cu i k (bài thi gi y - t lu n) c n i dung l i câu h i ôn t p k t thúc toàn b BÀI 1: BÀI 1: KI N TH NV MÁY TÍNH Sau h c xong này, sinh viên có th n cv n: - 1.1 M T S KHÁI NI M 1.1.1 Máy tính gì? tí v dõi Hình 1.1: Máy tính BÀI 1: 1.1.2 Khái ni m v thông tin - - Thông tin ông tin (Input) Processing (Out put) 1.1.3 BIT (BInary digiT) sau: Byte B bits KiloByte KB 210 B MegaByte MB 210 KB GigaByte GB 210 MB TetraByte TB 210 GB Petabyte PB 210 TB Exabyte EB 210 PB Zettabyte ZB 210 EB 142 BÀI 7: - Câu 26: Thêm m t ph n t t có giá tr x vào m ng cho m ng v n có th n Câu 27: c m ng Câu 28: Nh p chu i ng d n void nhapchuoi (char x[]) { flushall(); chuoi gets (x); } Câu 29: Xu t chu i Câu 30: m s ký t u i Câu 31: C t kho ng tr ng có chu i Câu 32: m kho ng tr ng chu i Câu 33: ms t có chu i Câu 34: S p x p chu n 143 BÀI 8: BÀI 8: KI U D LI U CÓ C U TRÚC Sau h c xong này, h c viên có th : - úc; - 8.1 KHÁI NI M Ki u c u trúc (Structure) m t ki u d d li i dùng t u li u bao g m nhi u thành ph n, m i thành ph n có m t ki u d m i thành ph S c g i m ng (field) khác bi t gi a ki u c u trúc ki u m ng là: ph n t ki u d li u ph n t li u khác nhau, c a m ng có c a ki u c u trúc có th có ki u d li u khác Hình nh c a ki u c c minh h a: Field Field Field Field Field uc ng Còn ki u m ng có d ng a[0] a[1] a[2] a[3] a[4] a[5] a[6] 144 BÀI 8: 8.2 CÁCH KHAI BÁO KI U C U TRÚC Cú pháp struct { ; ; ; }; typedef struct Tên c u trúc> < tên m i >; : m t theo quy t t tên c a danh bi u; tên tên ki u c u trúc (i = n): m (tên c Ví d ng ph i m ng c u trúc có d t theo quy t li u thu c ki u t tên c a danh bi u) 1: Khai báo m t ki u struct có tên NgayThang có thành ph n là: ngày, t tên m i Date Struct NgayThang { int ngay; int thang; int nam; }; Typedef struct NgayThang Date; BÀI 8: Ví d 145 2: Khai báo m t ki u struct có tên DiemThi có thành ph n là: Mã s sinh viên, Mã s môn h c, L t tên m i Diem struct DiemThi { char masv[8]; /* mã s sinh viên */ char mamh[5]; /* mã s môn h c */ int lanthi; /* l n thi */ float diem; m thi */ }; typedef struct DiemThi Diem; Ví d 3: Khai báo m t ki s sinh viên, h st a m t sinh viên bao g m: mã a ch nh typedef struct SinhVien { char masv[8]; char holot[30]; char ten[10]; Date ngaysinh; char noisinh[50]; char diachi[50]; } SV; Ví d : Khai báo bi a sinh viên: SV x; u 146 BÀI 8: 8.3 TRUY C P VÀO T NG PH N T C A C U TRÚC Cú pháp: . Ví d xu t hình tên c a sinh viên x, ta th c hi n câu l nh sau: printf("%s", x.ten); Ví d c u trúc d li u cho phân s struct phanso { int tu; int mau; }; typedef struct phanso PS; u ta khai báo m t bi n a có ki u d li u phân s a g m thành ph n: a.tu, a.mau 8.4 NH P, XU T D C U TRÚC 8.4.1 Nh p d nh p d LI U CHO KI U D li u li u cho bi n ki u c u trúc, ta ph i nh p cho t ng thành ph n c a câu trúc Ví d : Nh p d li u cho m t phân s có c void nhapphanso (PS &x) { printf("Nhap tu so:"); scanf("%d",&x.tu); do{ LI U CÓ 147 BÀI 8: printf("Nhap mau so khac 0:"); scanf("%d",&x.mau); }while (x.mau ==0); } 8.4.2 Xu t d xu t d li u li u cho bi n c u trúc, ta xu t d li u t ng thành ph n c a c u trúc Ví d : Xu t d li u cho m t phân s : void xuatphanso (PS x) // VD 3/5 { printf ("phan so: %d/%d ", x.tu, x.mau); } 8.5 M NG C U TRÚC Bài toán minh ho : Vi Nh p vào m t dãy phân s Xu t dãy phân s v a nh p Tính t ng phân s có dãy Tìm phân s l n nh t có dãy m s ph n t Hình a[ ] l n nh t có dãy nh m ng m t chi u phân s 9/1 6/2 1/2 5/3 1/7 1/3 1/2 8/2 3/2 BÀI 8: 149 return a; } //Hàm rút g n phân s -void RutGon(PS &x) { if (x.tu==0) return; //n u phân s có t = khơng c n rút g n // l y giá tr ucln c a t m u c a phân s x b ng cách g i hàm UCLN (); //tính l i x.tu x.mau; } //Hàm tính t ng hai phân s -PS Tong2ps(PS x, PS y) { PS tong; //phân s t qu sau to tong.mau= ?; RutGon(tong); return tong; } //Hàm so sánh hai phân s int SoSanh(PS x, PS y) { } BÀI 8: 149 return a; } //Hàm rút g n phân s -void RutGon(PS &x) { if (x.tu==0) return; //n u phân s có t = khơng c n rút g n // l y giá tr ucln c a t m u c a phân s x b ng cách g i hàm UCLN (); //tính l i x.tu x.mau; } //Hàm tính t ng hai phân s -PS Tong2ps(PS x, PS y) { PS tong; //phân s t qu sau to tong.mau= ?; RutGon(tong); return tong; } //Hàm so sánh hai phân s int SoSanh(PS x, PS y) { } 150 BÀI 8: CÂU H I ÔN T P Câu 1: Vi t hàm Nh p vào m t phân s ng d n void Nhap1ps (PS &x) { //nh p m u s ph i khác 0, nh p sai b t nh p l i do{ mau if ( x.mau==0) }while (x.mau==0); } Câu 2: Vi t hàm Nh p vào m t dãy phân s ng d n Cách void nhapdayps( PS a[ ] , int n ) { for(int i = ; i