Giáo trình Lập trình căn bản (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính)

83 10 0
Giáo trình Lập trình căn bản (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính)

Đ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

ỦY BAN NHÂN DÂN TỈNH VĨNH LONG TRƯỜNG CAO ĐẲNG NGHỀ VĨNH LONG GIÁO TRÌNH MƠN HỌC: LẬP TRÌNH CĂN BẢN NGHỀ: KỸ THUẬT SỬA CHỮA, LẮP RÁP MÁY TÍNH TRÌNH ĐỘ: CAO ĐẲNG LIÊN THƠNG (Ban hành theo Quyết định số 172 /QĐ - CĐNVL ngày 15 tháng 04 năm 2020 Hiệu trưởng trường Cao đẳng nghề Vĩnh Long (Lưu hành nội bộ) NĂM 2020 ỦY BAN NHÂN DÂN TỈNH VĨNH LONG TRƯỜNG CAO ĐẲNG NGHỀ VĨNH LONG Tác giả biên soạn: ThS Nguyễn Hồng Thắm GIÁO TRÌNH MƠN HỌC: LẬP TRÌNH CĂN BẢN NGHỀ: KỸ THUẬT SỬA CHỮA, LẮP RÁP MÁY TÍNH TRÌNH ĐỘ: CAO ĐẲNG LIÊN THÔNG NĂM 2020 LỜI MỞ ĐẦU  Để đáp ứng nhu cầu học tập em học sinh, học sinh chuyên ngành tin học, Khoa Công nghệ thông in Trường Cao đẳng nghề Vĩnh Long tiến hành biên soạn giáo trình chương trình học Giáo trình biên soạn dựa kinh nghiệm giảng dạy nhiều năm mơn Lập Trình Căn Bản chúng tơi Mục tiêu nhằm giúp em học sinh chuyên ngành có tài liệu cô đọng dùng làm tài liệu học tập, chúng tơi khơng loại trừ tồn đối tượng khác tham khảo Chúng nghĩ em học sinh, sinh viên không chuyên tin người quan tâm tới lập trình tìm điều hữu ích Mặc dù cố gắng nhiều trình biên soạn giáo trình chắn giáo trình cịn nhiều thiếu sót hạn chế Rất mong nhận đóng góp ý kiến quý báu học sinh bạn đọc để giáo trình ngày hồn thiện Tác giả MỤC LỤC  BÀI MỞ ĐẦU: TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH .1 Giới thiệu khái niệm ngôn ngữ lâp trình 1.1 Lập trình máy tính 1.2 Bài toán .1 1.3 Thuật toán Giới thiệu lịch sử phát triển ứng dụng ngơn ngữ lập trình 3 Xây dựng thuật toán sơ đồ khối Làm quen môi trường phát triển phần mềm 4.1 Giao diện chương trình Turbo C 4.2 Các phím thường hay sử dụng chương trình C 4.3 Thốt khỏi chương trình C .7 Sử dụng trợ giúp từ help file cú pháp lệnh, cú pháp hàm, chương trình mẫu 5.1 Trợ giúp từ help file cú pháp lệnh, cú pháp hàm 5.2 Các chương trình mẫu BÀI TẬP 12 CHƯƠNG 1: GIỚI THIỆU NGƠN NGỮ LẬP TRÌNH C 13 Giới thiệu .13 Bộ từ vựng C 14 1.1 Các ký tự dùng C 14 1.2 Từ khóa (Keyword) 14 1.3 Tên hay định danh (Identifier) 15 1.4 Dấu chấm phẩy (;) 15 1.5 Câu thích 15 Cấu trúc chương trình C 16 BÀI TẬP 17 CHƯƠNG 2: CÁC KIỂU DỮ LIỆU CƠ SỞ 18 Các kiểu liệu sở 18 1.1 Kiểu số nguyên - int .18 1.2 Kiểu số thực - float 18 1.3 Kiểu luận lý 19 1.4 Kiểu ký tự - char .19 Biến, hằng, câu lệnh biểu thức 19 2.1 Hằng ký tự chuỗi .19 2.2 Biến lệnh gán giá trị cho biến 21 2.3 Hàm 21 2.4 Các phép toán 22 2.5 Biểu thức .26 2.6 Các lệnh khối lệnh .26 Câu lệnh nhập xuất 27 3.1 Nhập liệu từ bàn phím .27 3.2 Xuất liệu hình 27 BÀI TẬP 30 CHƯƠNG 3: CÁC CẤU TRÚC ĐIỀU KHIỂN 32 Khái niệm lệnh cấu trúc 32 Các lệnh cấu trúc lựa chọn 32 2.1 Câu lệnh điều kiện 32 2.2 Câu lệnh rẽ nhánh 34 Các câu lệnh lặp .36 3.1 Câu lệnh for 36 3.2 Câu lệnh while 37 3.3 Câu lệnh while .38 3.4 So sánh khác vòng lặp 39 Các lệnh chuyển điều khiển 39 4.1 Câu lệnh break 39 4.2.Câu lệnh continue 40 4.3.Câu lệnh Goto 40 4.4 Hàm Exit 40 BÀI TẬP 42 CHƯƠNG 4: HÀM .44 Khái niệm chương trình 44 1.1 Cú pháp 44 1.2 Một số lưu ý 45 Cấu trúc chương trình có sử dụng chương trình .46 Các hàm ngơn ngữ lập trình 49 Tham trị tham biến 50 4.1 Tham trị 50 4.2 Tham biến 50 Biến toàn cục biến địa phương 51 5.1 Biến toàn cục 51 5.2 Biến địa phương .53 BÀI TẬP 54 CHƯƠNG 5: DỮ LIỆU KIỂU MẢNG (ARRAY), CHUỖI KÝ TỰ (STRING) VÀ BẢN CHI (STRUCT) 55 Dữ liệu kiểu mảng 55 1.1 Khái niệm .55 1.2 Khai báo mảng 55 1.3 Gán giá trị cho mảng 56 1.4 Một số toán mảng 57 1.5 Mảng nhiều chiều 59 Dữ liệu kiểu chuỗi ký tự 63 2.1 Khái niệm .63 2.2 Khai báo chuỗi 63 2.3 Các thao tác chuỗi 64 2.4 Nhập, xuất chuỗi .65 2.5 Các hàm làm việc với chuỗi 66 Dữ liệu kiểu ghi 68 3.1 Khái niệm .68 3.2 Khai báo kiểu ghi .70 3.3 Truy xuất kiểu ghi 70 BÀI TẬP 73 TÀI LIỆU THAM KHẢO .77 BÀI MỞ ĐẦU: TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH Mục tiêu − Trình bày khái niệm lịch sử phát triển ngơn ngữ lập trình; − Nêu cách xây dựng thuật tốn ngơn ngữ lập trình; − Xây dựng thuật tốn sơ đồ khối; − Cẩn thận, tự giác học tập Nội dung Giới thiệu khái niệm ngơn ngữ lâp trình Lập trình việc sử dụng cấu trúc liệu lệnh ngôn ngữ lập trình cụ thể để mơ tả liệu diễn đạt thao tác thuật toán 1.1 Lập trình máy tính - Gọi tắt lập trình (programming) - Nghệ thuật cài đặt nhiều thuật tốn trừu tượng có liên quan với ngơn ngữ lập trình để tạo chương trình máy tính 1.2 Bài tốn - Là việc ta muốn máy thực để từ thông tin đưa vào (INPUT) tìm thơng tin (OUTPUT) - Ví dụ : Giài phương trình bậc ax + b = INPUT : a, b thuộc R OUTPUT : nghiệm phương trình ax + b = 1.3 Thuật toán - Thuật toán để giải toán dãy hữu hạn thao tác xếp theo trình tự xác định cho sau thực dãy thao tác đó, từ Input tốn, ta nhận Output cần tìm - Ví dụ: Thuật tốn giải phương trình: ax + b = (a, b số thực) 1.3.1 Các đặc trưng thuật toán - Dữ liệu đầu vào (Input): Mỗi thuật tốn cần có số (có thể 0) liệu ban đầu - Kết (Output): Thuật toán phải cho kết - Tính xác định: Các thao tác phải xác định, khơng nhập nhằng, lẫn lộn, tùy tiện - Tính khả thi: Thuật tốn phải có khả thực thời gian hữu hạn - Tính khách quan: viết nhiều người máy tính kết phải - Tính phổ dụng: áp dụng cho lớp tốn có đầu vào tương tự - Tính kết thúc: hữu hạn bước tính tốn 1.3.2 Các bước xây dựng chương trình Sử dụng ngơn ngữ tự nhiên Sử dụng mã giả - Vay mượn ngơn ngữ (ví dụ Pascal) để biểu diễn thuật toán - Cài đặt thuật toán C/C++ Giới thiệu lịch sử phát triển ứng dụng ngôn ngữ lập trình Kể từ đời năm 1837, máy tính dần có tốc độ nhanh đồng nghĩa với việc phải làm nhiều việc Để đáp ứng điều này, ngơn ngữ lập trình phải phát triển theo để đơn giản cho lập trình viên phải đáp ứng yêu cầu phức tạp chương trình Những năm 1950 Autocode (1952): Đây tập hợp loạt hệ thống ngơn ngữ lập trình đơn giản phát triển vào năm 50 cho hệ thống máy tính kỹ thuật số đại học Manchester, Cambridge London coi ngơn ngữ lập trình thức Autocode phát triển Alick Glennie phổ biến vào thời gian Những năm 1970 Pascal (1970): ngôn ngữ đặt theo tên nhà tốn học người Pháp Blaise Pascal Ngơn ngữ sáng tạo Niklaus Wirth cho phép người dùng tự xác định dạng liệu theo kiểu danh sách, sơ đồ hay đồ thị C (1972): Đây ngơn ngữ lập trình sử dụng nhiều thời đại C kế để lập trình theo cấu trúc Phần mã nguồn ngôn ngữ dạng văn không định dạng dùng dấu chấm, phẩy để thiển cấu trúc lệnh Những năm 80 C++ (1980): ngôn ngữ chủ yếu để lập trình hệ thống đến mở rộng cho máy tính cá nhân thơng thường, máy chủ để tạo ứng dụng thông thường Hầu hết câu lệnh ngôn ngữ kế thừa từ C giữ nguyên khả hướng đối tượng lập trình tổng quát Perl (1987): thuộc nhóm ngơn ngữ lập trình bậc cao Ngơn ngữ vay mượn khơng tính từ ngơn ngữ khác C, AWK sad Ban đầu thơ sơ đến mức hướng dẫn sử dụng có trang Thế đến có thêm nhiều phiên nhiều thay đổi so với ban đầu Từ 1990 đến năm 2000 Python (1991): ngôn ngữ thiết kế đơn giản, chí có khả đọc bảng chữ Triết lý nhà phát triển ngôn ngữ làm cho mã nguồn ngắn hơn, khơng dài phức tạp C++ hay Java Java (1995): ngôn ngữ phát triển vớ Với mục tiêu phụ thuộc vào khả vận hành thực tế thiết bị tốt Nói cách khác cần viết lần máy, chạy máy khác Chính mà đến nay, từ máy tính để bàn đến điện thoại di động Symbian S40 ta gặp chương trình Java PHP (1995): ngơn ngữ sử dụng thực thi máy chủ dùng cho việc phát triển web Nó thực yêu cầu người dùng sau trả kết lên trình duyệt qua việc kết hợp với HTML tạo giao diện trang web Khi xuất hiện, PHP không định nghĩa ngơn ngữ lập trình, nhiên qua thời gian, ngơn ngữ có lượng người dùng đông đảo lựa chọn nhiều nhà phát triển web ngày Những năm 2000 C# (2001): Visual Basic NET (2001): Đây ngôn ngữ phát triển Visual Basic thực tảng NET framwork Đây lý cài đặt số chương trình có yêu cầu cài đặt thêm NET framwork phiên Nó sử dụng câu lệnh để xác định hành động chương trình giống Visual C# Từ 2010 đến Swift (2014): Đây ngôn ngữ phát triển Apple cho nhà phát triển iOS OSX (hệ điều hành Mac) Ngôn ngữ “trẻ nhất” hãng giới thiệu kiện WWDC 2014 Ngơn ngữ có ưu điểm mã nguồn ngắn dễ đọc Sau 63 Dữ liệu kiểu chuỗi ký tự 2.1 Khái niệm Chuỗi ký tự dãy gồm ký tự mảng ký tự kết thúc ký tự '\0' (còn gọi ký tự NULL bảng mã Ascii) Các chuỗi ký tự đặt cặp dấu nháy kép "" 2.2 Khai báo chuỗi 2.2.1 Khai báo theo mảng Cú pháp: char [Chiều dài tối đa] Ví dụ: Trong chương trình, ta có khai báo: char Ten[12]; Trong khai báo này, nhớ cung cấp 12-1 bytes để lưu trữ nội dung chuỗi ký tự Ten; byte cuối lưu trữ ký tự ‘\0’ để chấm dứt chuỗi Ghi chú: Chiều dài tối đa không nên khai báo thừa để tránh lãng phí nhớ, khơng nên khai báo thiếu 2.2.2 Khai báo theo trỏ Cú pháp: char * Ví dụ: Trong chương trình, ta có khai báo: char *Ten; Trong khai báo này, nhớ dành byte để lưu trữ địa biến trỏ Ten đến, chưa cung cấp nơi để lưu trữ liệu Muốn có chỗ để lưu trữ liệu, ta phải gọi đến hàm malloc() calloc() có “alloc.h”, sau gán liệu cho biến 2.2.3 Vừa khai báo vừa gán giá trị Ví dụ: #include #include int main(){ char Chuoi[]="Mau nang hay la mau mat em" ; printf("Vua khai bao vua gan trị : %s",Chuoi) ; getch(); return 0; } Ghi chú: Chuỗi khai báo mảng ký tự nên thao tác mảng áp dụng chuỗi ký tự 64 2.3 Các thao tác chuỗi Không thể gán giá trị hay sử dụng phép toán + (ghép chuỗi) phép toán so sánh như: > (lớn hơn), < (nhỏ hơn),… mà phải gọi hàm thư viện ; 2.3.1 Cộng chuỗi - Hàm strcat() Cú pháp: char *strcat(char *des, const char *source) Hàm có tác dụng ghép chuỗi nguồn vào chuỗi đích Ví dụ: Nhập vào họ lót tên người, sau in họ tên họ lên hình #include #include #include int main(){ char HoLot[30], Ten[12]; printf("Nhap Ho Lot: ");gets(HoLot); printf("Nhap Ten: ");gets(Ten); strcat(HoLot,Ten); /* Ghep Ten vao HoLot*/ printf("Ho ten la: ");puts(HoLot); getch(); return 0; } 2.3.2 Xác định độ dài chuỗi - Hàm strlen() Cú pháp: int strlen(const char* s); Ví dụ: Sử dụng hàm strlen xác định độ dài chuỗi nhập từ bàn phím #include #include #include int main(){ char Chuoi[255]; int Dodai; printf("Nhap chuoi: ");gets(Chuoi); Dodai = strlen(Chuoi) printf("Chuoi vua nhap: ");puts(Chuoi); printf("Co dai %d",Dodai); getch(); 65 return 0; } 2.3.3 Đổi ký tự thường thành ký tự hoa - Hàm toupper() Hàm toupper() (trong ctype.h) dùng để chuyển đổi ký tự thường thành ký tự hoa Cú pháp: char toupper(char c) 2.3.4 Đổi chuỗi chữ thường thành chuỗi chữ hoa, hàm strupr() Hàm struppr() dùng để chuyển đổi chuỗi chữ thường thành chuỗi chữ hoa, kết trả hàm trỏ đến địa chuỗi chuyển đổi Cú pháp: char* strupr(char *s) Ví dụ: Viết chương trình nhập vào chuỗi ký tự từ bàn phím Sau sử dụng hàm strupr() để chuyển đổi chúng thành chuỗi chữ hoa #include #include #include int main(){ char Chuoi[255],*s; printf("Nhap chuoi: ");gets(Chuoi); s=strupr(Chuoi) ; printf(“Chuoi chu hoa: ”);puts(s); getch(); return 0; } 2.3.5 Đổi chuỗi chữ hoa thành chuỗi chữ thường, hàm strlwr() Muốn chuyển đổi chuỗi chữ hoa thành chuỗi toàn chữ thường, ta sử dụng hàm strlwr(), tham số hàm tương tự hàm strupr(); Cú pháp: char *strlwr(char *s) 2.4 Nhập, xuất chuỗi Để xuất chuỗi, ta sử dụng hàm printf với đặc tả “%s” hàm puts sau: 66 Hàm xuất liệu hình (#include ) int puts(const char *s); Hàm puts xuất chuỗi s hình tự động xuống dịng Nếu thành cơng trả giá trị không âm, ngược lại trả EOF Ví dụ: char ten[] = “THCS A”; printf(“%s”, ten); // Khong xuong dong puts(ten); // Tu dong xuong dong Để nhập chuỗi, ta sử dụng hàm scanf( ) với đặc tả “%s” hàm đọc ký tự từ bàn phím đến gặp ký tự khoảng trắng Ví dụ: char ten[100; scanf(“%s”, &ten); puts(ten); Nếu nhập vào “THCS A” nhận chuỗi “THCS” Để nhập chuỗi đầy đủ, ta sử dụng hàm sau: Hàm nhập liệu từ bàn phím (#include ) char *gets(char *s); Hàm gets đọc tất ký tự nhập từ bàn phím đến gặp ký tự sang dòng (khi ta nhấn enter) Hàm gets loại bỏ ký tự enter thêm vào chuỗi ký tự kết thúc chuỗi ‘\0’ Hàm gets trả địa chuỗi nhận Ví dụ: char ten[100]; gets(ten); puts(ten); 2.5 Các hàm làm việc với chuỗi 2.5.1 Sao chép phần chuỗi, hàm strncpy() Hàm cho phép chép n ký tự chuỗi nguồn sang chuỗi đích Cú pháp: char *strncpy(char *Des, const char *Source, size_t n) 2.5.2 Trích phần chuỗi, hàm strchr() Để trích chuỗi chuỗi ký tự ký tự định chuỗi hết chuỗi, ta sử dụng hàm strchr() 67 Cú pháp: char *strchr(const char *str, int c) Ghi chú: - Nếu ký tự định khơng có chuỗi, kết trả NULL - Kết trả hàm trỏ, trỏ đến ký tự c tìm thấy chuỗi str 2.5.3 Tìm kiếm nội dung chuỗi, hàm strstr() Hàm strstr() sử dụng để tìm kiếm xuất chuỗi s2 chuỗi s1 Cú pháp: char* strstr(const char *s1, const char *s2) Kết trả hàm trỏ đến phần tử chuỗi s1 có chứa chuỗi s2 giá trị NULL chuỗi s2 khơng có chuỗi s1 Ví dụ: Viết chương trình sử dụng hàm strstr() để lấy phần chuỗi gốc chuỗi "hoc" #include #include #include int main() { char Chuoi[255],*s; printf("Nhap chuoi: ");gets(Chuoi); s=strstr(Chuoi,"hoc"); printf("Chuoi trich ra: ");puts(s); 10 getch(); 11 return 0; 12 } 2.5.4 So sánh chuỗi, hàm strcmp() Để so sánh hai chuỗi theo ký tự bảng mã Ascii, ta sử dụng hàm strcmp() Cú pháp: int strcmp(const char *s1, const char *s2) Hai chuỗi s1 s2 so sánh với nhau, kết trả số nguyên (số có cách lấy ký tự s1 trừ ký tự s2 vị trí xảy khác nhau) - Nếu kết số âm, chuỗi s1 nhỏ chuỗi s2 - Nếu kết 0, hai chuỗi - Nếu kết số dương, chuỗi s1 lớn chuỗi s2 68 2.5.5 So sánh chuỗi, hàm stricmp() Hàm thực việc so sánh n ký tự chuỗi s1 s2, chữ thường chữ hoa không phân biệt Cú pháp: int stricmp(const char*s1, const char *s2) Kết trả tương tự kết trả hàm strcmp() 2.5.6 Khởi tạo chuỗi, hàm memset() Hàm sử dụng để đặt n ký tự chuỗi ký tự c Cú pháp: memset(char *Des, int c, size_t n) 2.5.7 Đổi từ chuỗi số, hàm atoi(), atof(), atol() (trong stdlib.h) Để chuyển đổi chuỗi số, ta sử dụng hàm Cú pháp: − int atoi(const char *s): chuyển chuỗi thành số nguyên − long atol(const char *s): chuyển chuỗi thành số nguyên dài − float atof(const char *s): chuyển chuỗi thành số thực Nếu chuyển đổi không thành công, kết trả hàm Ngoài ra, thư viện string.h hỗ trợ hàm xử lý chuỗi khác, ta đọc thêm phần trợ giúp Dữ liệu kiểu ghi 3.1 Khái niệm Kiểu cấu trúc (Structure) kiểu liệu bao gồm nhiều thành phần có kiểu khác nhau, thành phần gọi trường (field) Sự khác biệt kiểu cấu trúc kiểu mảng là: phần tử mảng kiểu phần tử kiểu cấu trúc có kiểu khác Định nghĩa kiểu cấu trúc Cách 1: struct 69 { ; ; … ; }; Cách 2: Sử dụng từ khóa typedef để định nghĩa kiểu: typedef struct{ ; ; … ; } ; Trong đó: - : tên đặt theo quy tắc đặt tên danh biểu; tên mang ý nghĩa tên kiểu cấu trúc - (i=1 n): trường cấu trúc có liệu thuộc kiểu (tên trường phải tên đặt theo quy tắc đặt tên danh biểu) Ví dụ 1: Để quản lý ngày, tháng, năm ngày năm ta khai báo kiểu cấu trúc gồm thơng tin: ngày, tháng, năm struct NgayThang{ unsigned char Ngay; unsigned char Thang; unsigned int Nam; }; typedef struct{ unsigned char Ngay; unsigned char Thang; unsigned int Nam; } NgayThang; Ví dụ 2: Mỗi sinh viên cần quản lý thông tin: mã số sinh viên, họ tên, ngày tháng năm sinh, giới tính, địa thường trú Lúc ta khai báo struct gồm thông tin struct SinhVien{ char MSSV[10]; char HoTen[40]; struct NgayThang NgaySinh; int Phai; char DiaChi[40]; }; typedef struct{ char MSSV[10]; char HoTen[40]; NgayThang NgaySinh; int Phai; char DiaChi[40]; }SinhVien; 70 3.2 Khai báo kiểu ghi Việc khai báo biến cấu trúc tương tự khai báo biến thuộc kiểu liệu chuẩn Cú pháp: Đối với cấu trúc định nghĩa theo cách 1: struct [, …]; Đối với cấu trúc định nghĩa theo cách 2: [, …]; Ví dụ: Khai báo biến NgaySinh có kiểu cấu trúc NgayThang; biến SV có kiểu cấu trúc SinhVien struct NgayThang NgaySinh; struct SinhVien SV; NgayThang NgaySinh; SinhVien SV; 3.3 Truy xuất kiểu ghi Cú pháp: . Khi sử dụng cách truy xuất theo kiểu này, thao tác . giống thao tác biến kiểu liệu Ví dụ: Viết chương trình cho phép đọc liệu từ bàn phím cho biến mẩu tin SinhVien in biến mẩu tin lên hình: #include #include #include typedef struct{ unsigned char Ngay; unsigned char Thang; unsigned int Nam; } NgayThang; typedef struct{ char MSSV[10]; char HoTen[40]; NgayThang NgaySinh; 71 int Phai; char DiaChi[40]; } SinhVien; /* Hàm in lên hình mẩu tin SinhVien*/ void InSV(SinhVien s){ printf("MSSV: | Ho va ten | Ngay Sinh | Dia chi\n"); printf("%s | %s | %d-%d-%d | %s\n",s.MSSV,s.HoTen, s.NgaySinh.Ngay,s.NgaySinh.Thang,s.NgaySinh.Nam,s DiaChi); } /* Hàm main */ int main(){ SinhVien SV, s; printf("Nhap MSSV: ");gets(SV.MSSV); printf("Nhap Ho va ten: ");gets(SV.HoTen); printf("Sinh ngay: ");scanf("%d",&SV.NgaySinh.Ngay); printf("Thang: ");scanf("%d",&SV.NgaySinh.Thang); printf("Nam: ");scanf("%d",&SV.NgaySinh.Nam); printf("Gioi tinh (0: Nu), (1: Nam): "); scanf("%d",&SV.Phai); flushall(); printf("Dia chi: ");gets(SV.DiaChi); InSV(SV); s=SV; /* Gán trị cho mẩu tin s*/ InSV(s); getch(); return 0; } Lưu ý: Các biến cấu trúc gán cho Thực chất thao tác toàn cấu trúc trường riêng rẽ Chương trình dịng s=SV 72 Ví dụ: Với biến kiểu cấu trúc ta thực thao tác sau đây: o Sử dụng hàm xuất nhập biến cấu trúc o Các phép toán quan hệ, phép toán số học logic 4.4.2 Khởi tạo cấu trúc Việc khởi tạo cấu trúc thực lúc khai báo biến cấu trúc Các trường cấu trúc khởi tạo đạt dấu { }, chúng phân cách dấu phẩy (,) Ví dụ: Khởi tạo biến cấu trúc NgaySinh: struct NgayThang NgaySinh ={29, 8, 1986}; 73 BÀI TẬP MẢNG (ARRAY) Lý thuyết Mảng gì? Trường hợp sử dụng mảng? Bảng ghi gì? Trường hợp sử dụng bảng ghi? Tập hợp gì? Trường hợp sử dụng kiểu tập hợp? Tình bày cách khai báo kiểu, biến, mảng, bảng ghi, tập hợp cho ví dụ minh họa Trình bày thao tác truy xuất mảng, bảng ghi, tập hợp Cho ví dụ minh họa trường hợp Thực hành Viết chương trình nhập vào mảng, xuất hình: - Phần tử lớn mảng - Phần tử nhỏ mảng - Tính tổng phần tử mảng Viết chương trình nhập vào dãy n số thực a[0], a[1], , a[n-1], xếp dãy số theo thứ tự từ lớn đến nhỏ In dãy số sau xếp Viết chương trình xếp mảng theo thứ tự tăng dần sau loại bỏ phần tử trùng Viết chương trình nhập vào dãy số theo thứ tự tăng, nhập sai quy cách yêu cầu nhập lại In dãy số sau nhập xong Nhập thêm số chèn số vào dãy có cho dãy đảm bảo thứ tự tăng In lại dãy số để kiểm tra 10 Viết chương trình nhập vào ma trận (mảng hai chiều) số nguyên, gồm m hàng, n cột In ma trận lên hình Nhập số nguyên khác vào xét xem có phần tử ma trận trùng với số khơng ? Ở vị trí ? Có phần tử? 11 Viết chương trình nhập vào mảng số tự nhiên Hãy xuất hình: - Dịng 1: gồm số lẻ, tổng cộng có số lẻ - Dòng 2: gồm số chẵn, tổng cộng có số chẵn - Dịng 3: gồm số nguyên tố - Dòng 4: gồm số số nguyên tố 12 Viết chương trình thực việc đảo mảng chiều Ví dụ: 10 đảo thành 10 13 Viết chương trình thực việc trộn hai dãy có thứ tự thành dãy có thứ tự Yêu cầu không trộn chung thứ tự Khi trộn phải tận dụng tính chất hai dãy 14 Viết chương trình nhập vào mảng số thực từ bàn phím Hãy viết chương 74 trình định nghĩa hàm tính số lớn số thực sử dụng hàm để tìm số lớn mảng nói Hướng dẫn: xây dựng hàm tìm số lớn số thực Nhập vào mảng gọi hàm vừa định nghĩa float max_xy(float x, float y){ return x>y?x:y; } void main(){ float m[100], max; int n; printf(“Nhap vao so phan tu n cua mang: ”); scanf(“%d”,&n); for(int i=1;i

Ngày đăng: 19/03/2022, 13:15

Tài liệu cùng người dùng

Tài liệu liên quan