Yêu cầu mọi thông tin sao chép từ blog này phải được ghi rõ đầy đủ: Thông tin được sao chép từ "http://www.dangngochoangthanh.blogspot.com".

Cool wallpaper http://www.fancymessage.com

EMOJI KEYBOARD PRO http://emojiselector.com

THƯ VIỆN HÌNH ĐỘNG FLASH ANIMATION: http://flashanimationlibrary.blogspot.ru/

Hệ thống học trực tuyến đang được phát triển và sẽ đưa vào sử dụng vào cuối năm nay. Hãy xem qua một số demo của Học Trực Tuyến.


HỌC TRỰC TUYẾN ĐÃ CUNG CẤP PHIÊN BẢN TRUY CẬP QUA MOBILE http://dangngochoangthanh.blogspot.com/?m=1

XEM KÊNH HỌC TRỰC TUYẾN TRÊN YOUTUBE


Đặc biệt khi học trực tuyến ở webiste chúng tôi, bạn sẽ được giải đáp các vấn đền thắc mắc đến môn học trong vòng 3 tháng kể từ khi kết thúc khóa học !

THÔNG TIN VỀ CÁC KHÓA HỌC TRỰC TUYẾN - ÁP DỤNG CHO NHỮNG NGƯỜI ĐĂNG KÍ SAU 01/06/2012
1. Học Flash cơ bản Thời lượng: 30 tiết. Cách học: học cơ bản theo giáo trình, có sự hướng dẫn trực tuyến (truy cập máy tính từ xa, chat Yahoo, mail, video), làm lab dưới sự hỗ trợ và quan sát từ xa (remote máy tính). Giá: 1000.000 VNĐ. Bonus: bạn được tặng giáo trình Flash phiên bản mới nhất.

2. Học cách lập trình game HOẶC làm hoạt hình trên Flash (Yêu cầu: đã qua khóa học Flash cơ bản). Thời lượng: 30 tiết. Cách học: như trên. Giá: 1.750.000 VNĐ.

3. Thiết kế web Thời lượng: 5 tiết Photoshop (học các kĩ thuật cơ bản), 5 tiết html, 5 tiết CSS, 5 tiết JavaScript, Làm Lab trên Dreamweaver 9 tiết, W3C Validator 1 tiết. Mỗi tiết = 45 phút. Cách học: như trên. Giá: 1000.000 VNĐ.

4. Lập trình căn bản C/C++ Thời lượng: 30 tiết. Cách học: như trên. Giá: 1000.000 VNĐ

5. Lập trình hướng đối tượng C++ Thời lượng: 30 tiết. Cách học: như trên. Giá: 1000.000 VNĐ.

6. Lập trình Java căn bản Thời lượng: 30 tiết. Cách học: như trên. Giá: 1000.000 VNĐ.

7. Lập trình C# Thời lượng: 30 tiết. Cách học: như trên. Giá: 1000.000 VNĐ.

8. Lập trình JSP (Yêu cầu: Học Java căn bản HOẶC hoàn tất một bài test của chúng tôi đạt 60%) Thời lượng: 30 tiết. Cách học: như trên. Giá: 1.000.000 VNĐ.

9. Lập trình ASP.NET (Yêu cầu: Học C# căn bản HOẶC hoàn tất một bài test của chúng tôi đạt 60%) Thời lượng: 30 tiết. Cách học: như trên. Giá: 1.000.000 VNĐ.

10. Hướng dẫn học lập trình nâng cao - Học theo yêu cầu. Dành cho những người muốn phát triển kĩ năng lập trình theo hướng giải thuật trong các kì thi Tin học quốc gia; Học theo những phần yêu cầu của người học. Giá: 1.500.000 (lập trình nâng cao); 2.500.000 (học theo yêu cầu) VNĐ (Hướng dẫn, giải đáp trong vòng 45 tiết, liên hệ và được giải đáp nhanh mọi lúc).

11. Luyện thi Đại học, dạy kèm TOÁN - LÝ - HÓA. Dành cho những người muốn bổ túc kiến thức các học phần Toán, Lý, Hóa cũng như luyện thi Đại Học. Đăng kí học Hóa (liên hệ qua imphanvantien@yahoo.com ESPECIALLY, YOU CAN REGISTER TO LEARN BY ENGLISH LANGUAGE.); Đăng kí học Lý (liên hệ qua hoviet@hueic.edu.vn); Đăng kí học Toán (liên hệ qua myhoangthanh@yahoo.com) Giá: liên hệ (1 tuần học 3 buổi, mỗi buổi học 2 tiết).

12. Thiết kế web nâng cao Nội dung/Thời lượng: 30 tiết; học các công nghệ nâng cao phục vụ cho thiết kế web: html5, css3, jquery. Thiết kế web cho các thiết bị di động: smartphone (iPhone, Android, WinPhone,...); tablet (iPad, Android, Windows 8...). Cách học: như trên. Giá: 1.500.000 VNĐ.

13. Lập trình ứng dụng cho smartphone, tablet Android, iOS, Blackberry, WinPhone bằng Adobe AIR Yêu cầu: đã qua khóa học Flash căn bản Thời lượng: 15 tiết Giá: 1.000.000 VNĐ.

14. Lập trình PHP căn bản Thời lượng: 5 tiết MySQL, 20 tiết PHP, 5 tiết làm website thương mại Giá: 1.000.000 VNĐ.

15. Lập trình Javascript Thời lượng/Nội dung: 30 tiết. Học về javascript căn bản, DOM, AJAX, JQUERY. Giá: 1000.000 VNĐ.

16. Lập trình Java toàn tập (Căn bản, nâng cao, winform, webform,...) Thời lượng/Nội dung: 90 tiết. Học về java căn bản, java nâng cao, swing, awt, sql, jsp, html, css, javascript căn bản, DOM, AJAX, JQUERY. Giá: 3.600.000 VNĐ.

17. Lập trình C# toàn tập (Căn bản, nâng cao, winform, webform,...) Thời lượng/Nội dung: 90 tiết. Học về C# căn bản, C# nâng cao, winform, sql, asp.net, html, css, javascript căn bản, DOM, AJAX, JQUERY. Giá: 3.600.000 VNĐ.

18. Lập trình PHP toàn tập (Căn bản, nâng cao, webform,...) Thời lượng/Nội dung: 90 tiết. Học về PHP căn bản, PHP nâng cao, drupal, joomla, html, css, javascript căn bản, DOM, AJAX, JQUERY. Giá: 3.600.000 VNĐ.
=== Ghi chú: + Mỗi lần học liên tục 3 tiết. + Số lượng buổi học trong tuần không hạn chế (tùy theo yêu cầu).
+ Bạn được giảm giá ưu đãi khi học theo nhóm hoặc học nhiều khóa học. + ĐẶC BIỆT: Chúng tôi nhận dạy kèm tại nhà tại các thành phố Huế, Hải Phòng, Đà Nẵng, Hồ Chí Minh). Giá cả thương lượng. + Thanh toán qua chuyển khoản ATM ĐôngÁ, ATM VietinBank, ATM ACB, PayPal.


Gửi đến cho bạn bè qua email:

Search on This Blog

Saturday, September 11, 2010

Thứ tự ưu tiên của các toán tử

Trong phần lập trình hướng đối tượng, chúng ta sẽ làm quen thêm nhiều toán tử khác. Theo trình tự trình bày trong cuốn sách này, tôi không đưa ra các toán tử này ở đây. Bạn sẽ được giảng giải chi tiết trong phần hướng đối tượng trong cuốn giáo trình này.

Thứ tự ưu tiên của các toán tử

Trong toán học, chúng ta biết rằng khi tính giá trị của một biểu thức, thì luôn có sự ưu tiên của các toán tử như: phép nhân thực hiện trước phép cộng, phép chia và nhân thực hiện đồng thời, ưu tiên từ trái sang phải… Trong lập trình C++ cũng vậy, các toán tử cũng có những độ ưu tiên nhất định. Trong một biểu thức phức tạp, bạn nên chú ý đến độ ưu tiên của các toán tử, điều này rất dễ gây ra sai sót. Trong bảng sau đây, tôi xin đưa ra thứ tự ưu tiên của các toán tử trong lập trình C++.

Mức ưu tiên Toán tử Độ ưu tiên cùng loại
1 :: Trái-sang-phải
2 () [] . -> ++ — (hậu tố) dynamic_cast static_cast reinterpret_cast const_cast typeid Trái-sang-phải
3 ++ —  (tiền tố) ~ ! sizeof new delete Phải-sang-trái
* &
+ – (dấu dương âm)
4 (type) (chuyển đổi kiểu) Phải-sang-trái
5 .* ->* Trái-sang-phải
6 * / % Trái-sang-phải
7 + – (phép toán công, trừ) Trái-sang-phải
8 << >> Trái-sang-phải
9 < > <= >= Trái-sang-phải
10 == != Trái-sang-phải
11 & Trái-sang-phải
12 ^ Trái-sang-phải
13 | Trái-sang-phải
14 && Trái-sang-phải
15 || Trái-sang-phải
16 ?: Phải-sang-trái
17 = *= /= %= += -= >>= <<= &= ^= |= Phải-sang-trái
18 , Trái-sang-phải
Các toán tử được thực hiện theo mức ưu tiên từ trên xuống. Nếu các toán tử cùng mức, nó sẽ được thực hiện theo độ ưu tiên cùng loại.
Ví dụ:
  • a = (b=0, c=0, b+c). Toán tử gán = có độ ưu tiên 17, các toán tử cộng + có độ ưu tiên 7, toán tử () có độ ưu tiên 2 và toán tử , có độ ưu tiên 18. Do đó, toán tử () sẽ được thực hiện trước. Bây giờ ta xét các toán tử trong dấu (), ta chú ý rằng các biểu thức b=0, c=0, b+c là các biểu thức riêng biệt, chúng được phân tách bởi toán tử ,. Theo thứ tự ưu tiên của toán tử phẩy, nó sẽ thực hiện từ trái-sang-phải. Nghĩa là b=0, c=0 sau đó là b+c. Cuối cùng nó sẽ thực hiện toán tử gán giá trị của biểu thức phức hợp bên phải cho bên trái. Kết quả là 0.
  • a = (1+2)*3/2++. Toán tử gán (độ ưu tiên 17), toán tử + (độ ưu tiên 7), toán tử * (độ ưu tiên 6), toán tử / (độ ưu tiên 6), toán tử ++ hậu tố (độ ưu tiên 2) và toán tử () (độ ưu tiên 2). Như vậy toán tử hậu tố ++ và toán tử () sẽ thực hiện trước. Theo độ ưu tiên cùng loại, nó sẽ thực thi từ trái-sang-phải. Như vậy, toán tử () sẽ được thực hiện đầu tiên. Nghĩa là ta nhận được biểu thức a = 3*3/2++. Tiếp theo, nó thực hiện toán tử hậu tố ++, tuy nhiên toán tử này chỉ tăng giá trị của 2 lên 1 sau khi thực hiện xong các phép toán trong biểu thức. Đến thời điểm này, ta nhận được biểu thức a=3*3/2. Toán tử * và / có cùng độ ưu tiên, nó sẽ được thực hiện theo thứ trự từ trái sang phải, nghĩa là a=9/2=4. Kết quả 4.
Lưu ý. Trong ví dụ thứ hai, việc sử dụng phép toán 2++ là không hợp lệ. Ở đây, chỉ có tác dụng minh họa trực quan. Còn 2 là một hằng số, ta không thể thực hiện phép toán 2++ để làm thay đổi giá trị của hằng. Trong C++, chúng ta cần thực hiện phép gán b = 2; sau đó là b++. Nghĩa là ta cần biểu diễn biểu thức như sau để thu được một kết quả chính xác có thể bảo đảm trong C++.
a = (b=2, (1+2)*3/b++)
Bài tập 4. Tính toán các biểu thức sau, dựa vào độ ưu tiên của toán tử, sau đó, viết chương trình trên C++ để kiểm tra kết quả.
  1. 2+2*4%3+ ++2;
  2. 2++ + ++2*(3– – –2)
  3. 5++ – 3== –2-(4+2%3)
  4. 5>>2^3*(1+2)

No comments:

Post a Comment