Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 39 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
39
Dung lượng
441,13 KB
Nội dung
Ch ơng Các yếu tố ngôn ngữ 2.1 Các phần tử ngôn ngữ 2.1.1 T p ký t , t p t khóa tên – T p kí t • Ch cái: a-z, A-Z – Phân bi t ch th ng, ch in ( Pascal) • Ch s : 0-9 – Ch s b t u b ng å h 8, 0x, 0X å h 16 – Ch s k t thúc b ng L, l: long, U, u: unsigned • Kí t khác: – – – – ; k t thúc m t câu l nh { } b t u k t thúc kh i ch ng trình ‘ ’ b t u k t thúc h ng ký t “ ” b t u k t thúc h ng xâu ký t • N u xâu kí t dài h n m t dịng t d u \ tr – … • Kí t c xu ng dòng c bi t: – \n: xu ng dòng, \b: backspace, \t: tab, \0: null, \r: cr, \f: lf, V.S.Nam B/m KTHT, khoa CNTT, HXD Bi gi ng C++ 14/10/2008 2.1 Các phần tử ngôn ngữ 2.1.1 T p ký t , t p t khóa tên – T p t khóa • Ki u d li u: – char, int, short, long, float, double, signed, unsigned, … – void, enum, struct, union, typedef, … • L nh: – if, else, switch, while, do, for, … – break, continue, goto, return, … • L u tr d li u chuy n i ngơn ng l p trình: – auto, const, extern, register, static, … – asm, pascal, … • T khóa c a C++ b sung vào C: – new, delete, inline, operator, … – class, public, protected, private, this, friend, virtual, … V.S.Nam B/m KTHT, khoa CNTT, HXD Bi gi ng C++ 14/10/2008 2.1 Các phần tử ngôn ngữ 2.1.1 T p ký t , t p t khóa tên – Tên • L y t t p kí t ngơn ng : – Phân bi t ch hoa, th ng – Không c khai báo tên trùng t khóa • Quy cách t tên: – Ch a ch cái, ch s , d u g ch n i ( _ ) – Không ch a d u cách, d u c a phép toán – Ký t u tiên ph i ch ho c d u g ch n i – dài m c nh 32 V.S.Nam B/m KTHT, khoa CNTT, HXD Bài gi ng C++ 14/10/2008 2.1 Các phần tử ngôn ngữ 2.1.2 Cỏc ki u d li u c s – Ki u s nguyên • int å byte • Các ki u bi n th c a int: – unsigned int (int ki u vi t ng m nh c a signed int) – short int, vi t g n short (s khác gi a short int?) • long int, vi t g n long å byte • Các ki u bi n th c a long: – unsigned long int, vi t g n unsigned long (long int ng m signed long int) • Ph m vi bi u di n ? ä s byte • Chú ý gán giá tr ki u nguyên: – S d ng long å có L ho c l cu i – S h c s (16) å có (0x, 0X) V.S.Nam B/m KTHT, khoa CNTT, HXD nh c a u Bài gi ng C++ 14/10/2008 2.1 Các phần tử ngôn ngữ 2.1.2 Cỏc ki u d li u c s – Ki u s th c (s d u ch m ng): • float å byte • double å byte, long double å 10 byte • Bi u di n s th c máy tính: – xác bi u di n ? – Chu n IEEE 754: v = s * m * 2e • VD: (-1)S * (1,f1 f2 … f23) * 2E-127 (E: bit) • VD: (-1)S * (1,f1 f2 … f52) * 2E-1023 (E: 11 bit) – Chú ý v ph m vi bi u di n: [-max … -min] _ [min … max] – å không nên so sánh b ng v i s th c ! • L u ý hai ký pháp vi t s d u ch m ng: – Ki u thông th ng (d ng th p phân) – Ki u khoa h c (d ng m ): 1E5, 1.234E-5, 12.345e6, -123.45e-6 V.S.Nam B/m KTHT, khoa CNTT, HXD Bài gi ng C++ 14/10/2008 2.1 Các phần tử ngôn ngữ 2.1.2 Cỏc ki u d li u c s – Ki u ký t • char å byte (ki u vi t ng m nh c a signed char ) – Ki u khác : unsigned char • C cho phép thao tác v i ký t nh s nguyên ! – C xem h ng kí t ki u ngun å kích th c byte • VD: ‘\141’ ~ ‘a’ ä b ng mã ASCII (a ~ 97 ~ 0141) – C++ xem h ng ký t ki u char å kích th c byte • Chú ý: ‘a’ “a” – Ki u không xác nh (r ng) : void – Các ki u C++ b sung vào C : bool, wchar_t • Ki u bool: có giá tr true false (~ Pascal) • Ki u wchar_t: dùng cho t p ký t l n h n (ví d Unicode) V.S.Nam B/m KTHT, khoa CNTT, HXD Bài gi ng C++ 14/10/2008 2.1 C¸c phần tử ngôn ngữ 2.1.3 Bi n v h ng – Khai báo bi n • Ki u_d _li u tên_bi n; – VD: int m, n; float x, y; • Pascal ? – Khai báo m i n i ch ng trình ( ANSI C ? Pascal ?) – Có th kh i t o giá tr khai báo bi n ( Pascal ?) – Khai báo h ng • const tên_ki u_d _li u tên_h ng = giá_tr ; – VD: const int MAX = 100; • #define tên_h ng xâu_giá_tr (h ng t ng tr ng) – VD: #define MAX 100 • Bi u di n h ng – Phân bi t h ng theo ki u d li u (int, long int, char, float, …) V.S.Nam B/m KTHT, khoa CNTT, HXD Bài gi ng C++ 14/10/2008 2.2 BiÓu thøc 2.2.1 Bi u th c – Bi u th c: • K t h p phép toán toán h ng å di n t cơng th c – Tốn h ng: h ng, bi n, bi u th c con, l i g i hàm, … – Phép toán: ngơi, ngơi, ngơi • Bi u th c c phân bi t theo ki u giá tr : nguyên th c • M nh logic c xem có giá tr nguyên, úng ~ giá tr khác không (=1) sai ~ giá tr không (=0) – So v i Pascal: • Pascal: úng ~ True, sai ~ False • Trong C++ có th nh ngh a l i: – #define TRUE – #define FALSE – Tuy v y dùng quen å không c n thi t • C++ a vào nhi u quan ni m m i v bi u th c: bi u th c gán, bi u th c i u ki n… V.S.Nam B/m KTHT, khoa CNTT, HXD Bài gi ng C++ 14/10/2008 2.2 BiĨu thøc 2.2.2 Phép tốn s h c, quan h , logic thao tác bit – Phép tốn i d u (1 ngơi): – Các phép tốn s h c ( ngơi): +, -, *, /, % • Là phép tốn cho c ki u ngun th c • Phép tốn / ki u nguyên ~ phép toán div Pascal • Phép toán % ch dùng cho ki u nguyên ~ phép toán mod Pascal – Các phép toán quan h ( ngôi): >, >=, 64K – Gi i phóng b nh : • free ( a ch ph n b nh c n gi i phóng) V.S.Nam B/m KTHT, khoa CNTT, HXD Bài gi ng C++ 14/10/2008 2.5 Con trỏ, tham chiếu cấp phát b nh ®éng 2.5.4 C p phát ng v i phép tốn new delete – Phép tốn new • Khai báo: ki u_d _li u *bi n_tr ; bi n_tr = new ki u_d _li u; • Giá tr tr v : – a ch vùng nh c c p phát n u thành công – Giá tr NULL n u có l i • VD: int *i_ptr; i_ptr = new int; – Phép tốn delete • Khai báo: • VD: delete bi n_tr ; delete i_ptr; – Phép toán new ch dùng t ng ng v i delete ng c l i – Ví d : thao tác v i tr , tham chi u c p phát ng V.S.Nam B/m KTHT, khoa CNTT, HXD Bài gi ng C++ 14/10/2008 2.6 c thêm 2.6.1 Các th vi n vào/ra stdio.h, conio.h – T p hàm th vi n: xem TLTK • Tham kh o tài li u ti ng Anh ( c bi t cu n “Ngơn ng l p trình C” c a hai tác gi ngôn ng C cu n “Ngơn ng l p trình C++” c a tác gi ngơn ng C++) • Có th tham kh o sách ti ng Vi t, ý hai cu n sách (v ngôn ng C C++) c a GS Ph m V n t • Có th s d ng Help c a Turbo C++3.0 – S d ng thành th o hàm vào/ra thơng d ng • Chú ý v tham s truy n vào giá tr tr v – Phân bi t vai trò, ch c n ng c a hai th vi n • stdio.h th vi n vào/ra chu n (không ph thu c thi t b ) • conio.h th vi n vào/ra cho thi t b xác nh (màn hình, bàn phím,…) 2.6 c thêm 2.6.2 Các th vi n c p phát ng alloc.h, stdlib.h – T p hàm th vi n: xem TLTK • Tham kh o tài li u ti ng Anh ( c bi t cu n “Ngôn ng l p trình C” c a hai tác gi ngơn ng C cu n “Ngơn ng l p trình C++” c a tác gi ngơn ng C++) • Có th tham kh o sách ti ng Vi t, ý hai cu n sách (v ngôn ng C C++) c a GS Ph m V n t • Có th s d ng Help c a Turbo C++3.0 – S d ng thành th o hàm c p phát ng thơng d ng • Tìm hi u k cách th c t ch c qu n lý b nh tr hàm th vi n – S mô t k h n v n c dùng qu n lý l u tr d li u ch • Chú ý v tham s truy n vào giá tr tr v ng 2.6 c thêm 2.6.3 B ng mã ASCII, Unicode mã qt bàn phím – B ng mã ASCII • Xem TLTK có hình dung s b v mã ASCII • Tham kh o tài li u ti ng Anh ( ã nêu ph n TLTK) • Có th tham kh o sách ti ng Vi t, ý hai cu n sách (v ngôn ng C C++) c a TS Quách Tu n Ng c – B ng mã Unicode • Kh c ph c hi u k ! • Xem TLTK c i m h n ch c a b ng mã ASCII å c n tìm hi u rõ h n ( c bi t tài li u v Unicode) – Mã qt bàn phím • Tham kh o tài li u ti ng Anh ( ã nêu ph n TLTK) • Sách ti ng Vi t: có th c cu n c a GS Ph m V n t 2.6 c thêm 2.6.4 Các v n khác – S cung c p gi ng l p ... Anh ( c bi t cu n ? ?Ngôn ng l p trình C? ?? c a hai t? ?c gi ngôn ng C cu n ? ?Ngôn ng l p trình C+ +” c a t? ?c gi ngơn ng C+ +) • C? ? th tham kh o sách ti ng Vi t, ý hai cu n sách (v ngôn ng C C++) c a GS... Anh ( c bi t cu n ? ?Ngôn ng l p trình C? ?? c a hai t? ?c gi ngơn ng C cu n “Ngơn ng l p trình C+ +” c a t? ?c gi ngơn ng C+ +) • C? ? th tham kh o sách ti ng Vi t, ý hai cu n sách (v ngôn ng C C++) c a GS... å c? ? L ho c l cu i – S h c s (16) å c? ? (0x, 0X) V.S.Nam B/m KTHT, khoa CNTT, HXD nh c a u Bài gi ng C+ + 14/10 /20 08 2. 1 C? ?c phần tử ngôn ngữ b¶n 2. 1 .2 C? ?c ki u d li u c s – Ki u s th c (s d u ch