intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Kỹ thuật lập trình - ĐH Hàng Hải

Chia sẻ: Đinh Gấu | Ngày: | Loại File: PDF | Số trang:176

77
lượt xem
8
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Kỹ thuật lập trình - ĐH Hàng Hải với kết cấu gồm 8 chương giới thiệu những nội dung về ngôn ngữ lập trình C/C++, các khái niệm cơ bản của ngôn ngữ C/C++, các câu lệnh điều khiển của C/C++, hàm, mảng và kiểu dữ liệu có cấu trúc, lớp và đối tượng, hàm bạn ,định nghĩa các phép toán cho lớp, thừa kế.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Kỹ thuật lập trình - ĐH Hàng Hải

  1. BỘ GIAO THÔNG VẬN TẢI TRƢỜNG ĐẠI HỌC HÀNG HẢI BỘ MÔN: KHOA HỌC MÁY TÍNH KHOA: CÔNG NGHỆ THÔNG TIN BÀI GIẢNG KỸ THUẬT LẬP TRÌNH TÊN HỌC PHẦN : KỸ THUẬT LẬP TRÌNH MÃ HỌC PHẦN : TRÌNH ĐỘ ĐÀO TẠO : ĐẠI HỌC CHÍNH QUY DÙNG CHO SV NGÀNH : ĐIỆN - ĐIỆN TỬ TÀU BIỂN HẢI PHÕNG - 2009
  2. 11.6. Tên học phần: Kỹ thuật lập trình Loại học phần: 2 Bộ môn phụ trách giảng dạy: Khoa học Máy tính Khoa phụ trách: CNTT Mã học phần: ????? Tổng số TC: 4 TS tiết Lý thuyết Thực hành/Xemina Tự học Bài tập lớn Đồ án môn học 75 45 30 0 0 0 Điều kiện tiên quyết: Sinh viên phải học xong các học phần sau mới được đăng ký học phần này: Tin đại cương, Đại số, Giải tích. Mục tiêu của học phần: - Cung cấp cho sinh viên kiến thức và rèn luyện kỹ năng lập trình dựa trên ngôn ngữ lập trình C/C++ - Nội dung chủ yếu - - Những vấn đề cơ bản về ngôn ngữ lập trình C/C++. - - Cách thức xây dựng một chương trình dựa trên ngôn ngữ lập trình C/C++. - - Các vấn đề về con trỏ, file và lập trình hướng đối tượng trong C/C++ - Nội dung chi tiết của học phần: PHÂN PHỐI SỐ TIẾT TÊN CHƢƠNG MỤC TS LT TH/Xe mina BT KT Chƣơng 1: Giới thiệu 2 2 0 1.1. Giới thiệu ngôn ngữ lập trình C /C++. 1.1.1. Xuất xứ của ngôn ngữ lập trình C/C++. 1.1.2. Trình biên dịch C/C++ và cách sử dụng. 1.2. Thuật toán và sơ đồ khối Chƣơng 2. Các khái niệ m cơ bản về ngôn ngữ 7 4 3 C/C++ 2.1. Các phần tử cơ bản của ngôn ngữ lập trình C/C++. 2.2. Cấu trúc chung của chương trình C/C++ 2.3. Các bước cơ bản khi lập chương trình 2.4. Các hàm nhập xuất cơ bản 2.5. Biến và các kiểu dữ liệu cơ sở Chƣơng 3. Các câu lệnh điều khiển của C/C++ 11 6 4 1 3.1. Hàm viết dữ liệu ra màn hình 3.2. Hàm nhập dữ liệu vào từ bàn phím 3.3. Câu lệnh điều kiện 3.4. Câu lệnh lựa chọn 3.5. Câu lệnh lặp xác định 3.6. Câu lệnh lặp không xác định 3.6.1. Câu lệnh while. 3.6.2. Câu lệnh do. Chƣơng 4. Hàm 12 8 4 4.1. Khái niệm về chương trình con 4.2. Hàm trong C/C++ 4.3. Chuyển tham số cho hàm 4.4. Biến toàn cục và biến địa phương i
  3. PHÂN PHỐI SỐ TIẾT TÊN CHƢƠNG MỤC TS LT TH/Xe mina BT KT 4.5. Tính đệ quy của hàm 4.6. Đối dòng lệnh của hàm 4.7. Một số hàm đặc biệt Chƣơng 5. Mảng và kiểu dữ liệu có cấu trúc 16 9 6 1 5.1. Dữ liệu kiểu mảng/con trỏ 5.1.1. Mảng 1 chiều và nhiều chiều 5.1.2. Con trỏ và địa chỉ 5.1.3. Liên hệ giữa mảng và con trỏ 5.1.4. Con trỏ và hàm 5.2. Dữ liệu kiểu xâu ký tự. Liên hệ giữa con trỏ và xâu ký tự 5.3. Dữ liệu kiểu bản ghi 5.4. Một số ví dụ tổng hợp Chƣơng 6. Lớp và đối tƣợng 10 6 4 6.1. Lập trình hướng cấu trúc và lập trình hướng đối tượng 6.2. Lớp và đối tượng 6.3. Hàm tạo 6.4. Hàm huỷ 6.5. Các hàm inline 6.6. Một số ví dụ Chƣơng 7. Hàm bạn, định nghĩa các phép toán 12 6 6 cho lớp 7.1. Hàm bạn 7.1.1. Khái niệm và mục đích sử dụng 7.1.2. Tính chất của hàm bạn 7.1.3. Hàm bạn của một lớp, nhiều lớp 7.1.4. Lớp bạn 7.2. Định nghĩa các phép toán cho lớp 7.2.1. Tên hàm toán tử 7.2.2. Các tham số của hàm toán tử 7.2.3. Thân hàm toán tử 7.2.4. Cách sử dụng 7.3. Quá tải một số toán tử đặc biệt 7.3.1. Toán tử >> 7.3.2. Toán tử
  4. - 1. Phạm Văn Ất, Kỹ thuật lập trình C - Cơ sở và nâng cao, NXB KHKT, 1998. - 2. Quách Tuấn Ngọc, Ngôn ngữ lập trình C, NXB GD, 1998. 3. Nguyễn Thanh Thủy, Hướng dẫn lập trình hướng đối tượng, NXB Thống kê, 2004 4. Phạm Văn Ất, Kỹ thuật lập trình hướng đối tượng, NXB KHKT, 1998 - 5. Một số website liên quan: http://www.codeproject.com, http://www.cprogramming.com, Hình thức và tiêu chuẩn đánh giá sinh viên: - Hình thức thi cuối kỳ : Thi viết - Sinh viên phải đảm bảo các điều kiện theo Quy chế của Nhà trường và của Bộ Thang điểm: Thang điể m chữ A, B, C, D, F Điểm đánh giá học phần: Z = 0,3X + 0,7Y. iii
  5. Bài giảng KỸ THUẬT LẬP TRÌNH ( C/C++) LỜI NÓI ĐẦU Ngôn ngữ lập trình (NNLT) C/C++ là một trong những ngôn ngữ lập trình hướng đối tượng mạnh và phổ biến hiện nay do tính mềm dẻo và đa năng của nó. Không chỉ các ứng dụng được viết trên C/C++ mà cả những chương trình hệ thống lớn đều được viết hầu hết trên C/C++. C++ là ngôn ngữ lập trình hướng đối tượng được phát triển trên nền tảng của C, không những khắc phục một số nhược điểm của ngôn ngữ C mà quan trọng hơn, C++ cung cấp cho người sử dụng (NSD) một phương tiện lập trình theo kỹ thuật mới: lập trình hướng đối tượng. Đây là kỹ thuật lập trình được sử dụng hầu hết trong các ngôn ngữ mạnh hiện nay, đặc biệt là các ngôn ngữ hoạt động trong môi truờng Windows như Microsoft Access, Visual Basic, Visual Foxpro … 1
  6. CHƢƠNG 1. CÁC KHÁI NIỆM CƠ BẢN CỦA C/C++ - Các yếu tố cơ bản - Môi trường làm việc của C/C++ - Các bước để tạo và thực hiện một chương trình 1. CÁC YẾU TỐ CƠ BẢN 1.1. Bảng ký tự của C/C++ Hầu hết các ngôn ngữ lập trình hiện nay đều sử dụng các kí tự tiếng Anh, các kí hiệu thông dụng và các con số để thể hiện chương trình. Các kí tự của những ngôn ngữ khác không được sử dụng (ví dụ các chữ cái tiếng Việt). Dưới đây là bảng kí tự được phép dùng để tạo nên những câu lệnh của ngôn ngữ C/C++. − Các chữ cái la tinh (viết thường và viết hoa): a .. z và A .. Z. Cùng một chữ cái nhưng viết thường phân biệt với viết hoa. Ví dụ chữ cái 'a' là khác với 'A'. − Dấu gạch dưới: _ − Các chữ số thập phân: 0, 1, . ., 9. − Các ký hiệu toán học: +, -, *, /, % , &, ||, !, >,
  7. 1.3. Tên gọi Để phân biệt các đối tượng với nhau chúng cần có một tên gọi. Hầu hết một đối tượng được viết ra trong chương trình thuộc 2 dạng, một dạng đã có sẵn trong ngôn ngữ (ví dụ các từ khoá, tên các hàm chuẩn ...), một số do NSD tạo ra dùng để đặt tên cho hằng, biến, kiểu, hàm ... các tên gọi do NSD tự đặt phải tuân theo một số qui tắc sau: − Là dãy ký tự liên tiếp (không chứa dấu cách) và phải bắt đầu bằng chữ cái hoặc gạch dưới. − Phân biệt kí tự in hoa và thường. − Không được trùng với từ khóa. − Số lượng chữ cái dùng để phân biệt tên gọi có thể được đặt tuỳ ý. − Chú ý các tên gọi có sẵn của C/C++ cũng tuân thủ theo đúng qui tắc trên. Trong một chương trình nếu NSD đặt tên sai thì trong quá trình xử lý sơ bộ (trước khi chạy chương trình) máy sẽ báo lỗi (gọi là lỗi văn phạm). Ví dụ 1 : • Các tên gọi sau đây là đúng (được phép): i, i1, j, tinhoc, tin_hoc, luu_luong • Các tên gọi sau đây là sai (không được phép): 1i, tin hoc, luu-luong- nuoc • Các tên gọi sau đây là khác nhau: ha_noi, Ha_noi, HA_Noi, HA_NOI, ... 1.4. Chú thích trong chƣơng trình Một chương trình thường được viết một cách ngắn gọn, do vậy thông thường bên cạnh các câu lệnh chính thức của chương trình, NSD còn được phép viết vào chương trình các câu ghi chú, giải thích để làm rõ nghĩa hơn chương trình. Một chú thích có thể ghi chú về nhiệm vụ, mục đích, cách thức của thành phần đang được chú thích như biến, hằng, hàm hoặc công dụng của một đoạn lệnh ... Các chú thích sẽ làm cho chương trình sáng sủa, dễ đọc, dễ hiểu và vì vậy dễ bảo trì, sửa chữa về sau. Có 2 cách báo cho chương trình biết một đoạn chú thích: 3
  8. − Nếu chú thích là một đoạn kí tự bất kỳ liên tiếp nhau (trong 1 dòng hoặc trên nhiều dòng) ta đặt đoạn chú thích đó giữa cặp dấu đóng mở chú thích /* (mở) và */ (đóng). − Nếu chú thích bắt đầu từ một vị trí nào đó cho đến hết dòng, thì ta đặt dấu // ở vị trí đó. Như vậy // sử dụng cho các chú thích chỉ trên 1 dòng. Như đã nhắc ở trên, vai trò của đoạn chú thích là làm cho chương trình dễ hiểu đối với người đọc, vì vậy đối với máy các đoạn chú thích sẽ được bỏ qua. Lợi dụng đặc điểm này của chú thích đôi khi để tạm thời bỏ qua một đoạn lệnh nào đó trong chương trình (nhưng không xoá hẳn để khỏi phải gõ lại khi cần dùng đến) ta có thể đặt các dấu chú thích bao quanh đoạn lệnh này (ví dụ khi chạy thử chương trình, gỡ lỗi ...), khi cần sử dụng lại ta có thể bỏ các dấu chú thích. Chú ý: Cặp dấu chú thích /* ... */ không được phép viết lồng nhau, ví dụ dòng chú thích sau là không được phép /* Đây là đoạn chú thích /* chứa đoạn chú thích này */ như đoạn chú thích con */ cần phải sửa lại như sau: • hoặc chỉ giữ lại cặp dấu chú thích ngoài cùng /* Đây là đoạn chú thích chứa đoạn chú thích này như đoạn chú thích con */ • hoặc chia thành các đoạn chú thích liên tiếp nhau /* Đây là đoạn chú thích */ /*chứa đoạn chú thích này*/ /*như đoạn chú thích con*/ 2. MÔI TRƢỜNG LÀM VIỆC CỦA C/C++ 2.1. Turboc C 2.2. Dev C 2.3. Visual C++6.0 Trong VC, một chương trình được gọi là một Project (dự án). Một project gồm nhiều file khác nhau. Sau đây là các bước thực hiện tạo một project trong VC. Bước 1: Tạo một project rỗng 4
  9. File – New – Project – Win32 Console Application Đặt tên project vào ô Project Name; xác định thư mục chứa project tạo ô Location Ok – Finish – Ok Chọn thư mục chứa Project Đặt tên Chọn tab Project Chọn kiểu Project Project 5
  10. Bước 2: Thêm file vào project Project – Add To Project – New – (chọn tab File) C++ Source File – Đặt tên file vào ô File name – Ok Chọn tab file Chọn loại file Đặt tên file 2.3. Cấu trúc một chƣơng trình trong C/C++ Một chương trình C/C++ có thể được đặt trong một hoặc nhiều file văn bản khác nhau. Mỗi file văn bản chứa một số phần nào đó của chương trình. Với những chương trình đơn giản và ngắn thường chỉ cần đặt chúng trên một file. Một chương trình gồm nhiều hàm, mỗi hàm phụ trách một công việc khác nhau của chương trình. Đặc biệt trong các hàm này có một hàm duy nhất có tên hàm là main(). Khi chạy chương trình, các câu lệnh trong hàm main() sẽ được thực hiện đầu tiên. Trong hàm main() có thể có các câu lệnh gọi đến các hàm khác khi cần thiết, và các hàm này khi chạy lại có thể gọi đến các hàm khác nữa 6
  11. đã được viết trong chương trình (trừ việc gọi quay lại hàm main()). Sau khi chạy đến lệnh cuối cùng của hàm main() chương trình sẽ kết thúc. Cụ thể, thông thường một chương trình gồm có các nội dung sau: − Phần khai báo các tệp nguyên mẫu: khai báo tên các tệp chứa những thành phần có sẵn (như các hằng chuẩn, kiểu chuẩn và các hàm chuẩn) mà NSD sẽ dùng trong chương trình. − Phần khai báo các kiểu dữ liệu, các biến, hằng ... do NSD định nghĩa và được dùng chung trong toàn bộ chương trình. − Danh sách các hàm của chương trình (do NSD viết, bao gồm cả hàm main()). Cấu trúc chi tiết của mỗi hàm sẽ được đề cập đến trong các chương sau. Ví dụ 1: Dưới đây là một đoạn chương trình đơn giản chỉ gồm 1 hàm chính là hàm main(). Nội dung của chương trình dùng in ra màn hình dòng chữ: Chao ban. Day la chuong trinh C++ dau tien 1.#include 2.void main() 3.{ 4.cout
  12. Tính căn bậc hai của a và lập phương của b rồi in kết quả ra màn hình. #include//khai bao thu vien vao ra #include//khai bao thu vien toan hoc #include//khai bao thu vien conio void main() { int a;//khai bao bien a kieu so nguyen float b;//khai bao bien b kieu so thuc couta;//nhap gia tri cho a coutb; count
  13. giáo trình chúng ta sẽ khảo sát các câu lệnh vào/ra phức tạp hơn 1.1. Vào dữ liệu từ bàn phím Để nhập dữ liệu vào cho các biến có tên biến_1, biến_2, biến_3 chúng ta sử dụng câu lệnh: cin >> biến_1 ; cin >> biến_2 ; cin >> biến_3 ; hoặc: cin >> biến_1 >> biến_2 >> biến_3 ; biến_1, biến_2, biến_3 là các biến được sử dụng để lưu trữ các giá trị NSD nhập vào từ bàn phím. Khái niệm biến sẽ được mô tả cụ thể hơn trong phần sau, ở đây biến_1, biến_2, biến_3 được hiểu là các tên gọi để chỉ 3 giá trị khác nhau. Hiển nhiên có thể nhập dữ liệu nhiều hơn 3 biến bằng cách tiếp tục viết tên biến vào bên phải sau dấu >> của câu lệnh. Khi chạy chương trình nếu gặp các câu lệnh trên chương trình sẽ "tạm dừng" để chờ NSD nhập dữ liệu vào cho các biến. Sau khi NSD nhập xong dữ liệu, chương trình sẽ tiếp tục chạy từ câu lệnh tiếp theo sau của các câu lệnh trên. Cách thức nhập dữ liệu của NSD phụ thuộc vào loại giá trị của biến cần nhập mà ta gọi là kiểu, ví dụ nhập một số có cách thức khác với nhập một chuỗi kí tự. Giả sử cần nhập độ dài hai cạnh của một hình chữ nhật, trong đó cạnh dài được qui ước bằng tên biến cd và chiều rộng được qui ước bởi tên biến cr. Câu lệnh nhập sẽ như sau: cin >> cd >> cr ; Khi máy dừng chờ nhập dữ liệu NSD sẽ gõ giá trị cụ thể của các chiều dài, rộng theo đúng thứ tự trong câu lệnh. Các giá trị này cần cách nhau bởi ít nhất một dấu trắng (ta qui ước gọi dấu trắng là một trong 3 loại dấu được nhập bởi các phím sau: phím spacebar (dấu cách), phím tab (dấu tab) hoặc phím Enter (dấu xuống dòng)). Các giá trị NSD nhập vào cũng được hiển thị trên màn hình để NSD dễ theo dõi. Ví dụ nếu NSD nhập vào 23 11 ↵ thì chương trình sẽ gán giá trị 23 cho biến cd và 11 cho biến cr. Chú ý: giả sử NSD nhập 2311 ↵ (không có dấu cách giữa 23 và 11) thì chương trình sẽ xem 2311 là một giá trị và gán cho cd. Máy sẽ tạm dừng chờ NSD nhập tiếp giá trị cho biến cr. 9
  14. 1.2. In dữ liệu ra màn hình Để in giá trị của các biểu thức ra màn hình ta dùng câu lệnh sau: cout
  15. khi gặp kí tự này chương trình sẽ in các phần tiếp theo ở đầu dòng kế tiếp. Do đó kết quả của câu lệnh trên là 2 dòng sau đây trên màn hình: Diện tích = 253 Chu vi = 68 Ở đây 253 và 68 lần lượt là các giá trị mà máy tính được từ các biểu thức cd * cr, và 2 * (cd + cr) trong câu lệnh in ở trên. Chú ý: để sử dụng các câu lệnh nhập và in trong phần này, đầu chương trình phải có dòng khai báo #include . Thông thường ta hay sử dụng lệnh in để in câu thông báo nhắc NSD nhập dữ liệu trước khi có câu lệnh nhập. Khi đó trên màn hình sẽ hiện dòng thông báo này rồi mới tạm dừng chờ dữ liệu nhập vào từ bàn phím. Nhờ vào thông báo này NSD sẽ biết phải nhập dữ liệu, nhập nội dung gì và như thế nào ... ví dụ: cout > cd; cout > cr; khi đó máy sẽ in dòng thông báo "Hãy nhập chiều dài: " và chờ sau khi NSD nhập xong 23 ↵, máy sẽ thực hiện câu lệnh tiếp theo tức in dòng thông báo "Và nhập chiều rộng: " và chờ đến khi NSD nhập xong 11 ↵ chương trình sẽ tiếp tục thực hiện các câu lệnh tiếp theo. Ví dụ 2 : Từ các thảo luận trên ta có thể viết một cách đầy đủ chương trình tính diện tích và chu vi của một hình chữ nhật. Để chương trình có thể tính với các bộ giá trị khác nhau của chiều dài và rộng ta cần lưu giá trị này vào trong các biến (ví dụ cd, cr). #include void main() { int cd, cr; coutcd; coutcr; int cv; cv=(cd+cr)*2; cout
  16. cout
  17. cout
  18. lưu trữ dữ liệu (vào, ra hay kết quả trung gian) trong quá trình hoạt động của chương trình. Để quản lý chặt chẽ các biến, NSD cần khai báo cho chương trình biết trước tên biến và kiểu của dữ liệu được chứa trong biến. Việc khai báo này sẽ làm chương trình quản lý các biến dễ dàng hơn như trong việc phân bố bộ nhớ cũng như quản lý các tính toán trên biến theo nguyên tắc: chỉ có các dữ liệu cùng kiểu với nhau mới được phép làm toán với nhau. Do đó, khi đề cập đến một kiểu chuẩn của một NNLT, thông thường chúng ta sẽ xét đến các yếu tố sau: − Tên kiểu: là một từ dành riêng để chỉ định kiểu của dữ liệu. − Số byte trong bộ nhớ để lưu trữ một đơn vị dữ liệu thuộc kiểu này: Thông thường số byte này phụ thuộc vào các trình biên dịch và hệ thống máy khác nhau, ở đây ta chỉ xét đến hệ thống máy PC thông dụng hiện nay. − Miền giá trị của kiểu: Cho biết một đơn vị dữ liệu thuộc kiểu này sẽ có thể lấy giá trị trong miền nào, ví dụ nhỏ nhất và lớn nhất là bao nhiêu. Hiển nhiên các giá trị này phụ thuộc vào số byte mà hệ thống máy qui định cho từng kiểu. NSD cần nhớ đến miền giá trị này để khai báo kiểu cho các biến cần sử dụng một cách thích hợp. Dưới đây là bảng tóm tắt một số kiểu chuẩn đơn giản và các thông số của nó được sử dụng trong C++. - Loại dữ - Số ô - Miền giá - Tên kiểu liệu nhớ trị - − 128 .. - char - 1 byte 127 - Kí tự - unsigned - 1 byte - 0 .. 255 char - − 32768 .. - int - 2 byte 32767 - unsigned int - 2 byte - 0 .. 65535 - Số - − 32768 .. nguyên - short - 2 byte 32767 15 15 - − 2 .. 2 - long - 4 byte –1 -37 - Số thực - float - 4 byte - ± 10 . . 14
  19. +38 ± 10 - ± 10 -307 . - double - 8 byte . ± 10 +308 Trong chương này chúng ta chỉ xét các loại kiểu đơn giản trên đây. Các loại kiểu có cấu trúc do người dùng định nghĩa sẽ được trình bày trong các chương sau. 2.2. Kiểu ký tự Một kí tự là một kí hiệu trong bảng mã ASCII. Như đã biết một số kí tự có mặt chữ trên bàn phím (ví dụ các chữ cái, chữ số) trong khi một số kí tự lại không (ví dụ kí tự biểu diễn việc lùi lại một ô trong văn bản, kí tự chỉ việc kết thúc một dòng hay kết thúc một văn bản). Do vậy để biểu diễn một kí tự người ta dùng chính mã ASCII của kí tự đó trong bảng mã ASCII và thường gọi là giá trị của kí tự. Ví dụ phát biểu "Cho kí tự 'A'" là cũng tương đương với phát biểu "Cho kí tự 65" (65 là mã ASCII của kí tự 'A'), hoặc "Xoá kí tự xuống dòng" là cũng tương đương với phát biểu "Xoá kí tự 13" vì 13 là mã ASCII của kí tự xuống dòng. Như vậy một biến kiểu kí tự có thể được nhận giá trị theo 2 cách tương đương - chữ hoặc giá trị số: ví dụ giả sử c là một biến kí tự thì câu lệnh gán c = 'A' cũng tương đương với câu lệnh gán c = 65. Tuy nhiên để sử dụng giá trị số của một kí tự c nào đó ta phải yêu cầu đổi c sang giá trị số bằng câu lệnh int(c). Theo bảng trên ta thấy có 2 loại kí tự là char với miền giá trị từ -128 đến 127 và unsigned char (kí tự không dấu) với miền giá trị từ 0 đến 255. Trường hợp một biến được gán giá trị vượt ra ngoài miền giá trị của kiểu thì giá trị của biến sẽ được tính theo mã bù − (256 − c). Ví dụ nếu gán cho char c giá trị 179 (vượt khỏi miền giá trị đã được qui định của char) thì giá trị thực sự được lưu trong máy sẽ là − (256 − 179) = −77. - char c, - // c, d được phép gán giá trị d; từ -128 đến 127 - unsign - // e được phép gán giá trị từ 0 ed e ; đến 255 - c = 65 - // d có giá trị ngoài miền cho ; d = 179 ; phép 15
  20. - e = - // f có giá trị ngoài miền cho 179; f = 330 ; phép - cout - // in ra chữ cái 'A' và giá trị số
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0