Luận văn - Báo cáo
Kỹ thuật
Giao thông - Vận tải
Viễn thông
Điện - Điện tử
Cơ khí - Vật liệu
Kiến trúc - Xây dựng
Lý luận chính trị
Tư tưởng Hồ Chí Minh
Chủ nghĩa xã hội khoa học
Triết học Mác - Lênin
Đường lối cách mạng
Kinh tế chính trị
Kinh tế - Quản lý
Bảo hiểm
Định giá - Đấu thầu
Marketing
Tài chính thuế
Chứng khoán
Xuất nhập khẩu
Kiểm toán
Kế toán
Quản trị kinh doanh
Tài chính - Ngân hàng
Bất động sản
Dịch vụ - Du lịch
Tiến sĩ
Thạc sĩ - Cao học
Kinh tế
Khoa học xã hội
Y dược - Sinh học
Sư phạm
Luật
Kiến trúc - Xây dựng
Nông - Lâm - Ngư
Kỹ thuật
Công nghệ thông tin
Khoa học tự nhiên
Báo cáo khoa học
Nông - Lâm - Ngư
Lâm nghiệp
Nông học
Chăn nuôi
Thú y
Thủy sản
Công nghệ thực phẩm
Cao su - Cà phê - Hồ tiêu
Khoa học tự nhiên
Toán học
Vật lý
Hóa học
Sinh học
Địa lý - Địa chất
Khoa học xã hội
Đông phương học
Việt Nam học
Văn hóa - Lịch sử
Xã hội học
Báo chí
Văn học - Ngôn ngữ học
Giáo dục học
Tâm lý học
Quan hệ quốc tế
Y khoa - Dược
Công nghệ - Môi trường
Công nghệ thông tin
Quản trị mạng
Lập trình
Đồ họa
Web
Hệ thống thông tin
Thương mại điện tử
Lập trình di động
Kinh tế thương mại
Tài chính - Ngân hàng
Quỹ đầu tư
Bảo hiểm
Đầu tư Bất động sản
Đầu tư chứng khoán
Tài chính doanh nghiệp
Kế toán - Kiểm toán
Ngân hàng - Tín dụng
Công nghệ thông tin
Thủ thuật máy tính
Chứng chỉ quốc tế
Phần cứng
An ninh bảo mật
Tin học văn phòng
Quản trị web
Cơ sở dữ liệu
Hệ điều hành
Thiết kế - Đồ họa
Quản trị mạng
Kỹ thuật lập trình
Giáo dục - Đào tạo
Luyện thi - Đề thi
Thi THPT Quốc Gia
Địa ly
Sinh học
Hóa học
Vật lý
Môn tiếng Anh
Môn văn
Môn toán
Lịch sử
Công chức - Viên chức
Đề thi lớp 1
Đề thi lớp 2
Đề thi lớp 3
Đề thi lớp 4
Đề thi lớp 5
Đề thi lớp 6
Đề thi lớp 7
Đề thi lớp 8
Đề thi lớp 9
Đề thi lớp 10
Đề thi lớp 11
Đề thi lớp 12
Tuyển sinh lớp 10
Môn tiếng Anh
Môn văn
Môn toán
Luyện thi Đại học - Cao đẳng
Quy chế tuyển sinh
Quy chế tuyển sinh 2015
Khối D
Môn tiếng Anh
Môn văn
Môn toán
Khối C
Môn địa lý
Môn lịch sử
Môn văn
Khối B
Môn sinh
Môn hóa
Môn toán
Khối A
Môn lý
Môn hóa
Môn tiếng Anh A1
Môn toán
Mầm non - Mẫu giáo
Mẫu giáo lớn
Mẫu giáo nhỡ
Mẫu giáo bé
Tiểu học
Lớp 1
Lớp 5
Lớp 4
Lớp 3
Lớp 2
Trung học cơ sở
Lớp 9
Lớp 8
Lớp 7
Lớp 6
Trung học phổ thông
Lớp 10
Lớp 11
Lớp 12
Cao đẳng - Đại học
Kỹ thuật công nghệ
Kiến trúc xây dựng
Sư phạm
Công nghệ thông tin
Luật
Khoa học xã hội
Chuyên ngành kinh tế
Y dược
Đại cương
Giáo dục hướng nghiệp
Tiếng Anh
Tin học
Công nghệ
Thể dục
Mỹ thuật
Âm nhạc
GDCD-GDNGLL
Địa lý
Lịch sử
Sinh học
Toán học
Vật lý
Luật
Văn học
Hóa học
Giáo án - Bài giảng
Mầm non
Tiểu học
Trung học cơ sở
Sáng kiến kinh nghiệm
Bài giảng điện tử
Giáo án điện tử
Trung học phổ thông
Ngoại ngữ
Tiếng Nga - Trung - Pháp
Tiếng Nhật - Hàn
Kỹ năng nói tiếng Anh
Kiến thức tổng hợp
Chứng chỉ A,B,C
Kỹ năng viết tiếng Anh
Kỹ năng đọc tiếng Anh
Kỹ năng nghe tiếng Anh
Anh ngữ cho trẻ em
Anh văn thương mại
Anh ngữ phổ thông
Ngữ pháp tiếng Anh
TOEFL - IELTS - TOEIC
Kế toán - Kiểm toán
Kế toán
Kiểm toán
Kinh tế - Quản lý
Quy hoạch đô thị
Quản lý dự án
Tiêu chuẩn - Qui chuẩn
Quản lý nhà nước
Sách - Truyện đọc
Sách-Ebook
Y học
Giáo dục học tập
Văn hóa giải trí
Công nghệ
Ngoại ngữ
Kinh tế
Ngôn tình
Truyện dài
Tự truyện
Tiểu thuyết
Truyện ngắn
Truyện Ma - Kinh dị
Truyện cười
Truyện kiếm hiệp
Truyện thiếu nhi
Truyện văn học
Kinh doanh - Tiếp thị
Tổ chức sự kiện
Kỹ năng bán hàng
PR - Truyền thông
Tiếp thị - Bán hàng
Thương mại điện tử
Kế hoạch kinh danh
Internet Marketing
Quản trị kinh doanh
Văn hóa - Nghệ thuật
Du lịch
Sân khấu điện ảnh
Thời trang - Làm đẹp
Điêu khắc - Hội họa
Mỹ thuật
Chụp ảnh - Quay phim
Khéo tay hay làm
Ẩm thực
Âm nhạc
Báo chí - Truyền thông
Tôn giáo
Kỹ thuật - Công nghệ
Kỹ thuật viễn thông
Điện - Điện tử
Cơ khí chế tạo máy
Tự động hóa
Năng lượng
Hóa học - Dầu khi
Kiến trúc xây dựng
Nông - Lâm - Ngư
Ngư nghiệp
Lâm nghiệp
Nông nghiệp
Biểu mẫu - Văn bản
Thủ tục hành chánh
Văn bản
Biểu mẫu
Hợp đồng
Khoa học xã hội
Triết học
Văn học
Địa lý
Lịch sử
Khoa học tự nhiên
Toán học
Môi trường
Sinh học
Hóa học - Dầu khi
Vật lý
Y tế - Sức khỏe
Y học
Sức khỏe - dinh dưỡng
Sức khỏe giới tính
Sức khỏe người lớn tuổi
Sức khỏe phụ nữ
Sức khỏe trẻ em
Kỹ năng mềm
Tâm lý - Nghệ thuật sống
Kỹ năng quản lý
Kỹ năng làm việc nhóm
Kỹ năng tổ chức
Kỹ năng đàm phán
Kỹ năng tư duy
Kỹ năng giao tiếp
Kỹ năng thuyết trình
Kỹ năng lãnh đạo
Kỹ năng phỏng vấn
Thể loại khác
Chưa phân loại
Phật
Văn khấn cổ truyền
Phong Thủy
Đăng ký
Đăng nhập
Luận văn - Báo cáo
Kỹ thuật
Giao thông - Vận tải
Viễn thông
Điện - Điện tử
Cơ khí - Vật liệu
Kiến trúc - Xây dựng
Lý luận chính trị
Tư tưởng Hồ Chí Minh
Chủ nghĩa xã hội khoa học
Triết học Mác - Lênin
Đường lối cách mạng
Kinh tế chính trị
Kinh tế - Quản lý
Bảo hiểm
Định giá - Đấu thầu
Marketing
Tài chính thuế
Chứng khoán
Xuất nhập khẩu
Kiểm toán
Kế toán
Quản trị kinh doanh
Tài chính - Ngân hàng
Bất động sản
Dịch vụ - Du lịch
Tiến sĩ
Thạc sĩ - Cao học
Kinh tế
Khoa học xã hội
Y dược - Sinh học
Sư phạm
Luật
Kiến trúc - Xây dựng
Nông - Lâm - Ngư
Kỹ thuật
Công nghệ thông tin
Khoa học tự nhiên
Báo cáo khoa học
Nông - Lâm - Ngư
Lâm nghiệp
Nông học
Chăn nuôi
Thú y
Thủy sản
Công nghệ thực phẩm
Cao su - Cà phê - Hồ tiêu
Khoa học tự nhiên
Toán học
Vật lý
Hóa học
Sinh học
Địa lý - Địa chất
Khoa học xã hội
Đông phương học
Việt Nam học
Văn hóa - Lịch sử
Xã hội học
Báo chí
Văn học - Ngôn ngữ học
Giáo dục học
Tâm lý học
Quan hệ quốc tế
Y khoa - Dược
Công nghệ - Môi trường
Công nghệ thông tin
Quản trị mạng
Lập trình
Đồ họa
Web
Hệ thống thông tin
Thương mại điện tử
Lập trình di động
Kinh tế thương mại
Tài chính - Ngân hàng
Quỹ đầu tư
Bảo hiểm
Đầu tư Bất động sản
Đầu tư chứng khoán
Tài chính doanh nghiệp
Kế toán - Kiểm toán
Ngân hàng - Tín dụng
Công nghệ thông tin
Thủ thuật máy tính
Chứng chỉ quốc tế
Phần cứng
An ninh bảo mật
Tin học văn phòng
Quản trị web
Cơ sở dữ liệu
Hệ điều hành
Thiết kế - Đồ họa
Quản trị mạng
Kỹ thuật lập trình
Giáo dục - Đào tạo
Luyện thi - Đề thi
Thi THPT Quốc Gia
Địa ly
Sinh học
Hóa học
Vật lý
Môn tiếng Anh
Môn văn
Môn toán
Lịch sử
Công chức - Viên chức
Đề thi lớp 1
Đề thi lớp 2
Đề thi lớp 3
Đề thi lớp 4
Đề thi lớp 5
Đề thi lớp 6
Đề thi lớp 7
Đề thi lớp 8
Đề thi lớp 9
Đề thi lớp 10
Đề thi lớp 11
Đề thi lớp 12
Tuyển sinh lớp 10
Môn tiếng Anh
Môn văn
Môn toán
Luyện thi Đại học - Cao đẳng
Quy chế tuyển sinh
Quy chế tuyển sinh 2015
Khối D
Môn tiếng Anh
Môn văn
Môn toán
Khối C
Môn địa lý
Môn lịch sử
Môn văn
Khối B
Môn sinh
Môn hóa
Môn toán
Khối A
Môn lý
Môn hóa
Môn tiếng Anh A1
Môn toán
Mầm non - Mẫu giáo
Mẫu giáo lớn
Mẫu giáo nhỡ
Mẫu giáo bé
Tiểu học
Lớp 1
Lớp 5
Lớp 4
Lớp 3
Lớp 2
Trung học cơ sở
Lớp 9
Lớp 8
Lớp 7
Lớp 6
Trung học phổ thông
Lớp 10
Lớp 11
Lớp 12
Cao đẳng - Đại học
Kỹ thuật công nghệ
Kiến trúc xây dựng
Sư phạm
Công nghệ thông tin
Luật
Khoa học xã hội
Chuyên ngành kinh tế
Y dược
Đại cương
Giáo dục hướng nghiệp
Tiếng Anh
Tin học
Công nghệ
Thể dục
Mỹ thuật
Âm nhạc
GDCD-GDNGLL
Địa lý
Lịch sử
Sinh học
Toán học
Vật lý
Luật
Văn học
Hóa học
Giáo án - Bài giảng
Mầm non
Tiểu học
Trung học cơ sở
Sáng kiến kinh nghiệm
Bài giảng điện tử
Giáo án điện tử
Trung học phổ thông
Ngoại ngữ
Tiếng Nga - Trung - Pháp
Tiếng Nhật - Hàn
Kỹ năng nói tiếng Anh
Kiến thức tổng hợp
Chứng chỉ A,B,C
Kỹ năng viết tiếng Anh
Kỹ năng đọc tiếng Anh
Kỹ năng nghe tiếng Anh
Anh ngữ cho trẻ em
Anh văn thương mại
Anh ngữ phổ thông
Ngữ pháp tiếng Anh
TOEFL - IELTS - TOEIC
Kế toán - Kiểm toán
Kế toán
Kiểm toán
Kinh tế - Quản lý
Quy hoạch đô thị
Quản lý dự án
Tiêu chuẩn - Qui chuẩn
Quản lý nhà nước
Sách - Truyện đọc
Sách-Ebook
Y học
Giáo dục học tập
Văn hóa giải trí
Công nghệ
Ngoại ngữ
Kinh tế
Ngôn tình
Truyện dài
Tự truyện
Tiểu thuyết
Truyện ngắn
Truyện Ma - Kinh dị
Truyện cười
Truyện kiếm hiệp
Truyện thiếu nhi
Truyện văn học
Kinh doanh - Tiếp thị
Tổ chức sự kiện
Kỹ năng bán hàng
PR - Truyền thông
Tiếp thị - Bán hàng
Thương mại điện tử
Kế hoạch kinh danh
Internet Marketing
Quản trị kinh doanh
Văn hóa - Nghệ thuật
Du lịch
Sân khấu điện ảnh
Thời trang - Làm đẹp
Điêu khắc - Hội họa
Mỹ thuật
Chụp ảnh - Quay phim
Khéo tay hay làm
Ẩm thực
Âm nhạc
Báo chí - Truyền thông
Tôn giáo
Kỹ thuật - Công nghệ
Kỹ thuật viễn thông
Điện - Điện tử
Cơ khí chế tạo máy
Tự động hóa
Năng lượng
Hóa học - Dầu khi
Kiến trúc xây dựng
Nông - Lâm - Ngư
Ngư nghiệp
Lâm nghiệp
Nông nghiệp
Biểu mẫu - Văn bản
Thủ tục hành chánh
Văn bản
Biểu mẫu
Hợp đồng
Khoa học xã hội
Triết học
Văn học
Địa lý
Lịch sử
Khoa học tự nhiên
Toán học
Môi trường
Sinh học
Hóa học - Dầu khi
Vật lý
Y tế - Sức khỏe
Y học
Sức khỏe - dinh dưỡng
Sức khỏe giới tính
Sức khỏe người lớn tuổi
Sức khỏe phụ nữ
Sức khỏe trẻ em
Kỹ năng mềm
Tâm lý - Nghệ thuật sống
Kỹ năng quản lý
Kỹ năng làm việc nhóm
Kỹ năng tổ chức
Kỹ năng đàm phán
Kỹ năng tư duy
Kỹ năng giao tiếp
Kỹ năng thuyết trình
Kỹ năng lãnh đạo
Kỹ năng phỏng vấn
Thể loại khác
Chưa phân loại
Phật
Văn khấn cổ truyền
Phong Thủy
Trang chủ
Công nghệ thông tin
Kỹ thuật lập trình
Tóm tắt kiến thức c...
Tài liệu Tóm tắt kiến thức c
.PDF
20
631
79
tailieu123z
Báo vi phạm
Tải xuống
79
Đang tải nội dung...
Xem thêm (5 trang)
Tải về
Mô tả:
Bách khoa Online: hutonline.net Bách Khoa Online: hutonline.net Tìm kiếm & download ebook: bookilook.com Bách khoa Online: hutonline.net «n tËp C¸C KIÕN THøC CB VÒ LËP TR×NH C [ ] A.C¸C PHÇN Tö C¬ B¶N: C¸c phÐp tÝnh: • PhÐp to¸n c¬ b¶n: + , - , * , / , %(lÊy phÇn d−). • PhÐp to¸n t¨ng gi¶m: x++ hay ++x ( x--,--x): t¨ng (gi¶m) x xuèng 1 ®¬n vÞ. • PhÐp to¸n trªn Bit: & (and), | (or), ^ (XOR), << (dÞch tr¸i), >> (dÞch ph¶i). • BiÓu thøc ®iÓu kiÖn: có ph¸p: BT1? BT2: BT3 (BT: BiÓu thøc). NÕu BT1 ®óng(<>0) th× BT ®iÒu kiÖn trªn = gi¸ trÞ cña BT2 ng−îc l¹i = gi¸ trÞ cña BT3 nÕu BT1 sai (=0). VD: printf(“Min of a & b: %d”,a
). • fabs(x): lÊy gi¸ trÞ tuyÖt ®èi. • sin(x), cos(x), tan(x): lÊy sin, cos, tang • log(x): tÝnh ln(x). • log10(x): tÝnh lg(x). • pow(x,n): tÝnh x mò n (xn). cña x. • floor(x): LÊy phÇn nguyªn cña sè x. • M_PI: H»ng sè Pi. • exp(x): tÝnh e mò x (ex). • flushall(): xo¸ bé ®Öm bμn phÝm. • void calloc(unsigned n, unsigned size): cÊp ph¸t vïng nhí n*size byte, nÕu thμnh c«ng hμm tr¶ vÒ ®Þa ®Çu vïng nhí ®−îc cÊp, ng−îc l¹i tr¶ vÒ NULL. §Ó gi¶i phãng vïng nhí ®−îc cÊp ph¸t bëi malloc hay calloc do pt trá tíi ta dïng : void free(void *pt);
• int getchar(void): nhËn mét ký tù tõ bμn phÝm (stdin), tr¶ vÒ ký tù nhËn ®−îc. • int random(int n): cho mét gi¸ trÞ ngÉu nhiªn tõ 0 ... n-1.
• int tolower(int c): ®æi ký tù ch÷ hoa sang ch÷ thõ¬ng.
• int toupper(int c): ®æi ký tù ch÷ th−êng sang ch÷ hoa.
• int isalnum(int c): kiÓm tra c cã ph¶i lμ ký tù alphanumeric? (ch÷ c¸i hay sè). • int isalpha(intc): kiÓm tra c cã ph¶i lμ ch÷ c¸i kh«ng? • int isdigit(int c): kiÓm tra c cã ph¶i lμ ch÷ sè kh«ng? • Int ispunct(int c): kiÓm tra c cã ph¶i lμ ký tù chÊm c©u kh«ng? • int isxdigit(int c): kiÓm tra c cã ph¶i lμ ch÷ sè hÖ 16 kh«ng? • int isupper(int c): kiÓm tra c cã ph¶i lμ ch÷ hoa (tõ A ®Õn Z) kh«ng. Chi chó: C¸c hμm kiÓm tra nÕu tho¶ th× tr¶ vÒ gi¸ trÞ <>0, ng−îc l¹i tr¶ vÒ 0. Tªn biÕn = BiÓuthøc / biÕn; PhÐp g¸n: XuÊt nhËp d÷ liÖu: • XuÊt: printf(“ký tù ®iÒu khiÓn”,bt1,bt2,...); Trong ®ã danh s¸ch biÓu thøc cã thÓ bao gåm biÓu thøc, sè, hay “v¨n b¶n”, c¸c ®èi t−îng ph¶i c¸ch nhau bëi dÊu phÈy. Vd: printf( “Nam %d la the ky %d: ”, 1999+2, 40/ 2); HTD (TH0003) C Programming (Se) Page: 2 Bách khoa Online: hutonline.net Ö • NhËp: Nam 2001 la the ky 20 scanf(“c¸c ký tù ®Þnh d¹ng”,biÕn1, biÕn2,...). scanf(“%d%d”,&a,&b); b.CÊu tróc ®iÒu kiÖn, rÏ nh¸nh vμ vßng lÆp: if (bieuthuc) lÖnh1; hay if (bieuthuc) lÖnh1; else lÖnh2; Trong cÊu tróc thø 1, nÕu bieuthuc cho gi¸ trÞ kh¸c 0 th× thùc hiÖn lÖnh1 vμ =0 th× th«i, cßn trong cÊu tróc thø 2 nÕu bieuthuc cho gi¸ trÞ kh¸c 0 th× thùc hiÖn lÖnh1 vμ =0 th× thùc hiÖn lÖnh2. Chó ý lμ trong th©n if vμ else chØ lμ 1 c©u lÖnh ®¬n, nÕu cã nhiÒu lÖnh th× ph¶i lång vμo {...}; switch (biÓu thøc) { case x: lÖnh; break; .......... case n: lÖnh; break; default :lÖnh; break; } ý nghÜa: c©u lÖnh rÏ nh¸nh switch sÏ tÝnh gi¸ trÞ cña biÓu thøc vμ thùc hiÖn lÖnh t−¬ng øng trong case nμo cã gi¸ trÞ nμy. NÕu kh«ng cã gi¸ trÞ trong case nμo = gi¸ trÞ cña biÓu thøc th× thùc hiÖn lÖnh sau default. for (biÕn®kh[= gi¸ trÞ ®Çu]; ®iÒu kiÖn ; phÐp to¸n thay ®æi gi¸ trÞ biÕn ®kh ) lÖnh ; NÕu cã nhiÒu lÖnh th× ph¶i lång vμo {... }; while (biÓu thøc) lÖnh; NÕu cã nhiÒu lÖnh th× lång vμo{... }; ý nghÜa: Trong khi biÓu thøc <>0 th× thùc hiÖn lÖnh. do lÖnh while(biÓu thøc) ; NÕu cã nhiÒu lÖnh th× lång vμo {}. ý nghÜa: Thùc hiÖn lÖnh nhiÒu lÇn trong biÓu thøc <>0 . goto vμ nh·n: (Nh·n (handle) cã d¹ng nh− tªn biÕn, ®øng tr−íc dÊu 2 chÊm :) HTD (TH0003) C Programming (Se) Page: 3 Bách khoa Online: hutonline.net Có ph¸p: goto nh·n; Khi gÆp dßng nμy m¸y sÏ nh·y ®Õn c©u lÖnh cã nh·n viÕt sau tõ kho¸ goto. CONTINUE, BREAK Vμ SIZEOF: o C©u lÖnh continue dïng ®Ó b¾t ®Çu mét vßng lÆp míi cña chu tr×nh bªn trong nhÊt chøa nã. Trong th©n for m¸y sÏ chuyÓn ®Õn b−íc khëi ®Çu kÕ tiÕp. Cßn trong while vμ do while m¸y sÏ chuyÓn ®Õn x¸c ®Þnh gi¸ trÞ biÓu thøc sau while vμ tiÕn hμnh kiÓm tra ®iÒu kiÖn kÕt thóc vßng lÆp, (continue kh«ng dïng cho switch). o C©u lÖnh break cho phÐp ta tho¸t khái for, while, do while vμ switch. Khi cã nhiÒu vßng lÆp lång nhau, break sÏ ®−a ra khái vßng lÆp hay switch bªn trong nhÊt. o To¸n tö sizeof cho kÝch th−íc (byte) cña mét kiÓu hay mét ®èi t−îng d÷ liÖu, có ph¸p: sizeof(kiÓud÷liÖu) hay sizeof(®èit−îngd÷liÖu). C¸c kiÓu d÷ liÖu nh− int, char, float, kiÓu tù ®Þnh nghÜa,... C¸c ®èi t−îng d÷ liÖu nh− m¶ng, cÊu tróc, biÕn,... Th−êng dïng ®Ó x¸c ®Þnh sè phÇn tö cña m¶ng khi ®−îc khëi ®Çu: int a[]={1,2,3,4,5,6}; int spt=sizeof(a)/sizeof(int); C. Hμm (FUNCTION): §Þnh nghÜa Hμm:
TªnHμm (Danhs¸chthamsè)
; {Khai b¸o biÕn côc bé vμ th©n hμm}; Sö dông Hμm: Tªn hμm (Danhs¸chc¸cthamsèthùcnÕucã); TruyÒn tham sè: + TruyÒn b»ng trÞ: ®©y lμ chÕ ®é truyÒn tham sè mÆc ®Þnh cña C. Víi c¸ch truyÒn nμy gi¸ trÞ cña tham sè thùc sÏ kh«ng bÞ thay ®æi sau khi hμm thùc hiÖn. +TruyÒn b»ng biÕn: tøc muèn truyÒn c¶ néi dung lÉn ®Þa chØ cña biÕn. Khi ®ã ta ph¶i sö dông biÕn con trá. HTD (TH0003) C Programming (Se) Page: 4 Bách khoa Online: hutonline.net D. M¶ng (Array): M¶ng 1 chiÒu: • Khai b¸o t−êng minh: KiÓu tenmang[sè phÇn tö] ; • Khai b¸o kh«ng t−êng minh: KiÓu tenmang []; C¸ch khai b¸o nμy ®−îc sö dông trong c¸c tr−êng hîp: võa khai b¸o võa g¸n trÞ (vd: int a[]={1,2,3,7}; ), m¶ng lμ tham sè hμm (vd: int nhapmang(int a[],int n, int m) ;). • XuÊt/ nhËp m¶ng: ta dïng vßng lÆp for(vd for (i=1; i
*Tªn_con_trá; Vd: int *pt,*x; + M¶ng con trá:
*Tªn_con_trá[sèphÇntöm¶ng]; Vd: int *pt[10]; + Hμm con trá: *Tªn_hμm (Danh s¸ch c¸c tham sè)...; C¸c phÐp to¸n trªn con trá: + PhÐp g¸n: khi thùc hiÖn phÐp g¸n cho biÕn con trá th× biÓu thøc bªn ph¶i phÐp g¸n ph¶i cã gi¸ trÞ lμ ®Þa chØ cña mét biÕn hay m¶ng vμ ph¶i cïng kiÓu víi kiÓu con trá. Vd: int x,*pt; ... p=&a; + PhÐp to¸n lÊy néi dung cña biÕn do con trá chØ ®Õn(*): *tªn_biÕn_con_trá. VD: y=*x; + PhÐp to¸n t¨ng gi¶m: pt++,pt--; Chó ý trong phÐp to¸n nμy lμ mçi lÇn t¨ng (gi¶m) lμ t¨ng (gi¶m) kÝch th−íc cña kiÓu d÷ liÖu mμ nã trá ®Õn (chø kh«ng ph¶i lμ mét ®¬n vÞ). Con trá lμ tham sè Hμm: NÕu mét hμm cã tham sè lμ kiÓu con trá th× khi truyÒn tham sè nμy cho hμm ph¶i truyÒn ®Þa chØ cña biÕn cã kiÓu t−¬ng øng. Vd: void input (int a[], int*x); Gäi hμm: input (a,&x); Con trá vμ m¶ng: +M¶ng mét chiÒu: • §èi víi m¶ng mét chiÒu khi sö dông m¶ng nÕu chØ ghi tªn m¶ng mμ kh«ng ghi chØ sè th× cã nghÜa lμ ®Þa chØ cña phÇn tö thø zero cña m¶ng.( array <=> &array[0]). • Khi mét hμm cã tham sè lμ m¶ng th× khi gäi hμm ta chØ truyÒn tªn cña m¶ng, kh«ng ph¶i ghi chØ sè m¶ng. Vd: input (a , n); nhËp m¶ng A gåm n phÇn tö. +M¶ng nhiÒu chiÒu: • §èi víi m¶ng hai chiÒu khi sö dông m¶ng nÕu chØ ghi tªn m¶ng mμ kh«ng ghi chØ sè th× cã nghÜa lμ ®Þa chØ cña hμng ®Çu tiªn trong ma trËn. (a ≡ &a[0] ≡ (&a[0][0]). • Kh«ng thÓ dïng phÐp to¸n ®Þa chØ ®Ó nhËp cho m¶ng hai chiÒu (ngo¹i trõ kiÓu int). HTD (TH0003) C Programming (Se) Page: 7 Bách khoa Online: hutonline.net • Kh«ng thÓ dïng biÕn con trá ®Ó nhËp cho m¶ng hai chiÒu. Gi¶i ph¸p cho tr−êng hîp nμy lμ ta nhËp th«ng qua mét biÕn t¹m sau ®ã g¸n l¹i biÕn t¹m nμy cho cho phÇn tö t−¬ng øng cña m¶ng. F. CHUæI (string): Khai b¸o: t−¬ng tù nh− khai b¸o m¶ng ta còng cã hai c¸ch khai b¸o lμ khai b¸o t−êng minh vμ kh«ng t−êng minh: char tenchuoi [chiÒu dμi thùc+1]; char tenchuoi [ ]; C¸c thao t¸c trªn kiÓu chuæi: + NhËp: • LÖnh scanf(“%s”,tenchuoi); LÖnh nμy kh«ng thÓ nhËp vμo mét chuæi cã chøa ký tù kho¶ng tr¾ng, tab, enter, vμ ®Ó l¹i ký tù “\n” trong bé ®Öm bμn phÝm. • LÖnh gets(tenchuoi); §−îc khai b¸o trong “string.h”. LÖnh nμy cã thÓ nhËp ®−îc chuæi cã kho¶ng tr¾ng, kÕt thóc khi gÆp ký tù xuèng dßng(“\0”). + XuÊt: • LÖnh printf(“%s”,tenchuoi); • LÖnh puts(tenchuoi); XuÊt chuæi vμ xuèng dßng. + G¸n chuæi: Muèn sö dông phÐp g¸n chuæi ta ph¶i sö dông biÕn con trá vμ hμm calloc ®Ó cÊp ph¸t vïng nhí cho biÕn nμy. Vd: char *str; str=calloc(40,sizeof(char)); str=“MediaSpace Club”;... C¸c hμm th−êng dïng víi kiÓu chuæi, ký tù: (phÇn lín ®−îc khai b¸o trong “string.h”). • strcat( char*dest, char *scr): nèi chuæi dest víi chuæi scr; • strspn(*str, *str_con): cho ®é dμi ®o¹n ®Çu tiªn lín nhÊt cña str mμ mäi ký tù cña ®o¹n ®Òu cã mÆt trong chuçi str_con. • strlen(char *str): cho chiÒu dμi thùc cña chuæi str. • char *strupr(char *s): chuyÓn chuæi tõ ký tù th−êng sang HOA. HTD (TH0003) C Programming (Se) Page: 8 Bách khoa Online: hutonline.net • char *strlwr(char *s): chuyÓn chuæi tõ ký tù HOA sang th−êng. • char *strrev(char *s): ®¶o ng−îc c¶ chuæi trõ ký tù kÕt thóc(“\0”). • char *strcpy(char *dest, char *scr): sao chÐp toμn bé chuæi src sang chuæi dest. • char *strncpy(char *dest, char *scr,n): sao n ký tù ®Çu cña chuæi src sang chuæi dest. • char *strchr(char *str, int c): t×m sù xuÊt hiÖn ®Çu tiªn cña c trong str. NÕu t×m thÊy hμm tr¶ vÒ ®Þa chØ cña ký tù t×m ®−îc trong str, ng−îc l¹i tr¶ vÒ NULL. • char *strstr(char *str, char *str_con): t×m sù xuÊt hiÖn ®Çu tiªn cña str_con trong str. NÕu thÊy, hμm cho ®Þa chØ cña chuçi con (trïng víi str_con) trong str, ng−îc l¹i hμm tr¶ vÒ NULL. • char *strbrk(char *s1, char *s2): duyÖt trong s1 ®Ó t×m ký tù ®Çu tiªn khíp víi bÊt kú ký tù nμo cña s2. NÕu cã xuÊt hiÖn, hμm cho ®Þa chØ cña ký tù t×m thÊy trong s1, ngù¬c l¹i hμm tr¶ vÒ NULL. • int strcmp(char *s1, char *s2): so s¸nh 2 chuæi theo thø tù, hμm tr¶ vÒ < 0 nÕu chuçi s1 < chuçi s2 ; = 0 nÕu chuçi s1 = chuçi s2 ; >0 nÕu chuçi s1 lín h¬n chuçi s2. • int stricmp(char *s1, char *s2): gièng nh− strcmp nh−ng kh«ng ph©n biÖt ch÷ HOA, ch÷ th−êng khi so s¸nh. • int memcmp(char *s1, char *s2, unsighed n); So s¸nh chuæi s1 vμ s2 mét c¸ch chÝnh x¸c, ph©n biÖt HOA th−êng trong ph¹m vi n byte vμ tr¶ vÒ: <0 nÕu s1 nhá h¬n s2; = 0 nÕu s1 trïng s2 ; >0 nÕu s1 lín h¬n s2. • char * strncat(char *s,char *s1,int n): ghÐp n ký tù ®Çu tiªn cña s1 vμo s. • char *itoa(int x,char *s,int cs): ChuyÓn sè nguyªn x trong hÖ ®Õm c¬ sè cs (cs=10: hÖ 10, cs=8:hÖ 8, cs=16:hÖ 16) sang chuçi vμ l−u vμo vïng nhí s. Hμm tr¶ vÒ ®Þa chØ cña vïng s . (stdlib.h) • int atoi(char *s): chuyÓn chuçi s sang gi¸ trÞ int. • long atol(char *s): chuyÓn chuçi s sang gi¸ trÞ long. HTD (TH0003) C Programming (Se) Page: 9 Bách khoa Online: hutonline.net G. CÊU TRóC (STRUCTURE): §Þnh nghÜa kiÓu vμ khai b¸o biÕn t¸ch biÖt: + §Þnh nghÜa kiÓu: struct tªn_cÊu_tróc { kiÓu tªn_thμnh_phÇn 1; kiÓu tªn_thμnh_phÇn 2;... kiÓu tªn_thμnh_phÇn n; }; + Khai b¸o biÕn: struct tªn_cÊu_tróc biÕn_1, biÕn_2,...,biÕn_n; + M¶ng cÊu tróc: struct tªn_cÊu_tróc tªnm¶ng[spt]; chóng ta còng cã thÓ sö dông typedef tr−íc tõ kho¸ struct ®Ó ®Þnh nghÜa kiÓu cÊu tróc, khi ®ã muèn khai b¸o biÕn ta kh«ng cÇn ®Æt struct tr−íc tªn_cÊu_tróc. §Þnh nghÜa kiÓu vμ khai b¸o biÕn kÕt hîp: struct tªn_cÊu_tróc { c¸c thμnh phÇn cÊu tróc gièng nh− trªn; } biÕn_1,biÕn_2,...,biÕn_n; Truy xuÊt ®Õn c¸c thμnh phÇn cÊu tróc: + §¬n gi¶n: biÕn_cÊu_tróc.biÕn_thμnh_phÇn; + Phøc t¹p: biÕn_cÊu_tróc.biÕn_cÊu_tróc_2.biÕn_thμnh_phÇn; ®−îc sö dông khi biÕn cÊu tróc 2 lμ thμnh phÇn trùc tiÕp cña mét biÕn c©u tróc lín h¬n (CÊu tróc lång nhau). Mét sè phÐp to¸n c¬ b¶n trªn kiÓu cÊu tróc: c¸c thao t¸c trªn biÕn cÊu tróc ph¶i ®−îc thùc hiÖn th«ng qua c¸c thμnh phÇn cña nã (ngo¹i trõ phÐp g¸n). Thao t¸c trªn c¸c thμnh phÇn cña cÊu tróc còng nh− thao t¸c trªn c¸c biÕn cã kiÓu t−¬ng øng. Vd: + NhËp: scanf(“%s”,&nhanvien.ten); + XuÊt: printf(“\n Ten nhan vien la: %s.”,nhanvien.ten); + Céng: luong=nhanvien1.luong + nhanvien2.luong; HTD (TH0003) C Programming (Se) Page: 10 Bách khoa Online: hutonline.net + G¸n: ta cã thÓ g¸n hai biÕn cÊu tróc cho nhau; g¸n biÕn cho phÇn tö m¶ng; g¸n phÇn tö m¶ng cho biÕn; g¸n hai phÇn tö m¶ng cho nhau. §iÒu cÇn l−u ý lμ c¸c biÕn vμ c¸c phÇn tö m¶ng ph¶i cïng kiÓu. + Khëi t¹o gi¸ trÞ ®Çu cho cÊu tróc: ta khëi t¹o gi¸ trÞ b»ng c¸ch viÕt vμo sau khai b¸o cña chóng c¸c gi¸ trÞ cña c¸c thμnh phÇn. Vd: struct nhanvien2{“Nguyen Van A”, 1990, 500000}; Con trá kiÓu cÊu tróc: + Khai b¸o: kiÓu_cÊu_tróc + Truy xuÊt: cã 2 c¸ch truy xuÊt ®Õn thμnh phÇn cña biÕn con trá: *tªn_biÕn_con_trá; - Tªn_biÕn_con_trá -> tªn_thμnh_phÇn - (*Tªn_biÕn_con_trá).tªn_thμnh_phÇn 8. KIÓU TËp TIN (FILE): Khai b¸o: FILE *fp; // Khai b¸o biÕn con trá kiÓu File víi tªn fp M· chuyÓn dßng vμ kÕt thóc File: • M· chuyÓn dßng: §èi víi File më theo kiÓu nhÞ ph©n m· chuyÓn dßng lμ m· 10 (LF), cßn víi kiÓu v¨n b¶n sÏ lμ m· 13 vμ 10. • M· kÕt thóc: khi gÆp m· kÕt thóc hμm feof(fp) cho gi¸ trÞ <>0. Trong khi ®äc nÕu gÆp ký tù cã m· 26 hoÆc ký tù cuèi cïng trong File, ta sÏ nhËn ®−îc mμ kÕt thóc File EOF (sè -1). §ãng më File vμ ®äc ghi d÷ liÖu: • Më File: FILE *fopen(const char *tªnfile, const char*kiÓu); Hμm dïng ®Ó më mét File, nÕu thμnh c«ng tr¶ vÒ con trá kiÓu File øng víi File võa më, ng−îc l¹i tr¶ vÒ NULL. Trong ®ã ®èi sè kiÓu mang c¸c gi¸ trÞ sau: + KiÓu v¨n b¶n: “r”(read), “w”(write), “a”(append), “r+”, “w+” . “a+”. + KiÓu nhÞ ph©n: “rb”, “wb”, “ab”, “r+b”, “w+b”, “a+b”. (Ctrl+F1->detail). • §ãng File: int fclose(FILE *fp); Víi fp lμ con trá t−¬ng øng víi File cÇn ®ãng. §Ó ®ãng tÊt c¶ c¸c File ®ang më ta dïng hμm: int fcloseall(void); NÕu thμnh c«ng 2 hμm nμy cho gi¸ trÞ <> 0, ng−îc l¹i tr¶ vÒ EOF. • Ghi ký tù: int putc(int ch, FILE *fp); int fputc(int ch, FILE *fp); Víi ch lμ gi¸ trÞ nguyªn, fp lμ con trá File. Hμm nμy sÏ ghi vμo file mét ký tù cã m· = HTD (TH0003) C Programming (Se) Page: 11 Bách khoa Online: hutonline.net ch%256. NÕu thμnh c«ng tr· vÒ m· ký tù ®−îc ghi, ng−îc l¹i tr¶ vÒ EOF. Lμm viÖc víi Text&Binary. • §äc ký tù tõ File: int getc(FILE *fp); int fgetc(FILE *fp); Hμm ®äc mét ký tù tõ File fp, nÕu thμnh c«ng hμm cho m· ®äc ®−îc (0 ... 255), ng−îc l¹i tr¶ vÒ EOF. • Ghi d÷ liÖu theo khu«n d¹ng: int fprintf(FILE *fp, const char *control, ...); Víi fp lμ con trá File, control chøa ®Þa chØ cña chuæi ®iÒu khiÓn (gièng nh− trong hμm printf), ... lμ danh s¸ch c¸c ®èi mμ gi¸ trÞ cña chóng cÇn ghi vμo File. VD: fprintf(fp,”\n this year: %d”,iYear); • §äc d÷ liÖu theo khu«n d¹ng: int scanf(FILE *fp, const char *control,...); Víi fp lμ con trá File, control chøa ®Þa chØ cña chuæi ®iÒu khiÓn (gièng nh− trong hμm printf), ... lμ danh s¸ch c¸c ®èi chøa kÕt qu¶ ®äc ®−îc tõ File. VD: fscanf(fp,“%d%f”,&ia,&fa); • Ghi chuæi ký tù: int fputs(const char *s, FILE *fp); Víi s lμ con trá chØ tíi ®Þa chØ ®Çu cña mét chuæi ký tù kÕt thóc b»ng ‘\0’. Hμm sÏ ghi chuæi s lªn File fp, nÕu thμnh c«ng tr¶ vÒ ký tù cuèi cïng ®−îc ghi vμo File, ng−îc l¹i tr¶ vÒ EOF. • §äc chuæi (d·y) ký tù tõ File: char *fgets(char *s, int n, FILE *fp); Víi s lμ con trá kiÓu char trá tíi vïng nhí ®Ó chøa chuæi ®äc tõ File, n lμ sè nguyªn x¸c ®Þnh ®é dμi cùc ®¹i cña d·y cÇn ®äc, fp lμ con trá File. Hμm sÏ ®äc mét d·y ký tù tõ File fp vμo vïng nhí s, nÕu thμnh c«ng hμm tr¶ vÒ ®Þa chØ vïng nhËn kÕt qu¶, ng−îc l¹i trμ vÒ NULL. VD: while(!eof(fp)) fgets(s,256,fp); • Ghi mét sè nguyªn theo kiÓu nhÞ ph©n: int putw(int n, FILE *fp); Víi n lμ gi¸ trÞ nguyªn, fp lμ con trá File. NÕu thμnh c«ng hμm tr¶ vÒ sè nguyªn ®−îc ghi, ng−îc l¹i tr¶ vÒ EOF. • §äc mét sè nguyªn theo kiÓu nhÞ ph©n: int getw(FILE *fp); Víi fp lμ con trá File. Hμm ®äc mét sè nguyªn(2 byte), nÕu thμnh c«ng tr¶ vÒ sè nguyªn ®äc ®−îc, khi cã lçi hoÆc cuèi File hμm tr¶ vÒ EOF. • Ghi c¸c mÉu tin lªn File: int fwrite( void *pt, int size, int n, File *fp); Víi pt lμ con trá trá tíi vïng nhí chøa d÷ liÖu cÇn ghi, size lμ kÝch th−íc cña mÉu tin (byte), n lμ sè mÉu tin, fp lμ con trá File. Hμm sÏ ghi n mÉu tin kÝch th−íc size HTD (TH0003) C Programming (Se) Page: 12 Bách khoa Online: hutonline.net byte tõ vïng nhí pt lªn File fp. Hμm tr¶ vÒ mét gi¸ trÞ = sè mÉu tin thùc sù ®−îc ghi. • §äc c¸c mÉu tin tõ File: int fread( void *pt, int size, int n, File *fp); Víi pt lμ con trá trá tíi vïng nhí chøa d÷ liÖu ®äc ®−îc, size lμ kÝch th−íc cña mÉu tin (byte), n lμ sè mÉu tin cÇn ®äc, fp lμ con trá File. Hμm sÏ ®äc n mÉu tin kÝch th−íc size byte tõ File fp vμo vïng nhí pt. Hμm tr¶ vÒ mét gi¸ trÞ = sè mÉu tin thùc sù ®äc ®−îc. C¸c hμm fread, fwrite th−êng dïng ®Ó ®äc ghi c¸c ®èi t−îng cã cïng ®é lín nh− cÊu tróc, sè thùc,... Mét sè hμm kh¸c thao t¸c trªn FILE: (cÊp II) • int fflush(FILE *fp); lμm s¹ch vïng ®Öm File fp, thμnh c«ng ->0, ng−îc l¹i >EOF. • int fflushall(void); lμm s¹ch vïng ®Öm cña c¸c File ®ang më, nÕu thμnh c«ng hμm tr¶ vÒ gi¸ trÞ sè tÖp ®ang më, ng−îc l¹i tr¶ vÌ EOF. • int ferror(FILE *fp); dïng kiÓm tra lçi thao t¸c trªn File fp. Hμm tr¶ vÒ gi¸ trÞ <>0 nÕu cã lçi, ng−îc l¹i tr¶ vÒ 0. • void perror(const char *s); in chuæi s vμ th«ng bμo lçi hÖ thèng. • int unlink(const char *filename); xo¸ mét File trªn ®Üa, nÕu thμnh c«ng hμm cho gi¸ trÞ 0, ng−îc l¹i tr¶ vÒ EOF. • void rewind(FILE *fp); chuyÓn con trá chØ vÞ cña File fp vÒ ®Çu File. • int fseek(FILE *fp, long sb, int xp); di chuyÓn con trá chi vÞ cña File fp tõ vÞ trÝ x¸c ®Þnh xp qua |sb| byte. ChiÒu di chuyÓn lμ vÒ cuèi tÖp nÕu sb>0 vμ cuèi tÖp nÕu sb<0. Khi thμnh c«ng hμm tr¶ vÒ 0, ng−îc l¹i hμm tr¶ vÒ gi¸ trÞ <>0. Kh«ng nªn dïng trªn kiÓu v¨n b¶n v× sù chuyÓn vÞ sÏ thiÕu chÝnh x¸c. xp cho biÕt vÞ trÝ xuÊt ph¸t, cã thÓ nhËn c¸c gi¸ trÞ: 0 (xuÊt ph¸t tõ ®Çu tÖp), 1 (tõ vÞ trÝ hiÖn t¹i cña con trá chuyÓn vÞ), 2 (xuÊt ph¸t tõ cuèi tÖp). • long ftell(FILE *fp); tr¶ vÒ vÞ trÝ hiÖn t¹i cña con trá chØ vÞ (byte) ®−îc tÝnh tõ 0. NÕu cã lçi hμm tr¶ vÒ -1L. 9. mμn h×nh v¨n b¶n vμ ©m thanh: Mμn h×nh v¨n b¶n: HTD (TH0003) C Programming (Se) Page: 13 Bách khoa Online: hutonline.net • void textmode(int mode); chän mode mμn h×nh v¨n b¶n, mode bao gåm LASTMODE, BW40, C40, BW80, C80, MONO. (conio.h). C¸c gi¸ trÞ cña mode ®−îc m« t¶ trong help online víi index lμ text_modes. • void textbackground( int color); ®Æt mμu cho nÒn (cöa sæ). • void textcolor(int color); ®Æt mμu ch÷. Víi color mang gi¸ trÞ tõ 0-15 hay c¸c h»ng sè ®Þnh nghÜa s½n nh−: BLACK, WHILE, BLUE, RED, CYAN, YELLOW, BROWN,.. C¸c gi¸ trÞ cña color ®−îc tr×nh bμy trong help online víi index lμ COLORS. • void window(int xtr, int ytr,int xd,int yd); thiÕt lËp mét cöa sæ víi gãc trªn tr¸i (xt, yt) vμ d−íi ph¶i (xd, yd). Chó ý r»ng nªn dïng hμm cprintf vμ scanf thay cho printf vμ scanf sÏ cho mét mμn h×nh ®Ñp h¬n. • void clrscr(void); xo¸ cöa sæ hiÖn t¹i, ®−a con trá vÒ gãc trªn tr¸i cña cöa sæ. • void clreol(void); xo¸ ®Õn cuèi dßng trong cö sç. • void gotoxy(int x, int y); chuuÓn con trá ®Õn vÞ trÝ x,y trong cöa sæ • int wherex(void), wherey(void); cho biÕt vÞ trÝ ngang, däc cña con trá trong cöa sæ. ¢m thanh: • sound(n): Dïng loa CPU ph¸t ra mét ©m thanh víi tÇn sè n. • delay( m): KÐo dμi mét nèt nh¹c trong thêi gian lμ m mili gi©y. • nosound(): T¾t ©m thanh ®· ph¸t. Dïng c¸c hμm trªn chóng ta sÏ ph¸t ra c¸c ©m thanh lμ c¸c note nh¹c víi cao ®é lμ n vμ tr−êng ®é m. Sau ®©y lμ 7 tÇn sè t−¬ng øng víi 7 note nh¹c c¬ b¶n ê qu·ng t¸m thø I: ♦ §«: 132 ♦ MI: 164 ♦ SOL: 192 ♦ Rª: 146 ♦ FA: 172 ♦ LA: 216 ♦ SI: 244 §Ò ®−îc note th¨ng ta lÊy (note th−êng t−¬ng øng céng víi note cao h¬n kÕ tiÕp)/2, vμ note gi¸ng th× còng lÊy (note th−êng t−¬ng øng céng víi note thÊp h¬n kÕ tiÕp)/2.§èi víi c¸c note ë c¸c qu¶ng t¸m cao h¬n hay thÊp h¬n th× ta chØ viÖc nh©n hay chia ®«i c¸c note t−¬ng øng. C¸c note lÆng ta sÏ ph¸t mét note víi tÇn sè kho¶ng 30.000Hz (Siªu ©m). HTD (TH0003) C Programming (Se) Page: 14 Bách khoa Online: hutonline.net VD: Rª#=(Rª+Mi)/2; Rªb(Rª gi¸ng)=(Rª+§«)/2; §è=§«*2;... VÒ tr−êng ®é ta lÊy note §en lμm chuÈn, vμ qui ®Þnh tr−êng ®é cña c¸c note kh¸c (note mãc, nèt trßn, ®en chÊm, trßn chÊm,...) theo qui t¾c nh¹c lý vμ lÊy theo chuÈn cña note §en. Th«ng th−êng víi tiÕt tÊu trung b×nh th× note §en ®−îc qui ®Þnh kho¶ng tõ 300-400, tuú theo tiÕt tÊu nhanh hay chËm cña mçi bμi h¸t cô thÓ mμ ta qui ®Þnh cho hîp lý. 10. ®å ho¹: Khëi ®éng chÕ ®é §å ho¹: void initgraph(int *graphdriver, int *graphmode, char *driverpath); Víi driverpath lμ ®−êng dÉn chøa c¸c file ®iÒu khiÓn ®å ho¹ (thõ¬ng lμ “C:\\BorlandC\\Bgi”), graphdriver vμ graphmode dïng x¸c ®Þnh mμn h×nh vμ kiÓu ®å ho¹ sÏ sö dông. NÕu kh«ng biÕt kiÓu mμn h×nh ®ang sö ta sö dông DETECT cho graphdriver ®Ó ch−¬ng tr×nh tù nhËn d¹ng, C¸c gi¸ trÞ cña graphriver ®−îc tr×nh bμy trong help online víi index lμ graphics_rivers vμ graphics_modes. VD: #include
; #include
; #include
; main() { int gr_drive = DETECT, gr_mode; initgraph(&gr_drive, &gr_mode, "c:\\tc\\bgi"); outtext("Graphic example"); getch(); } C¸c hμm th−êng dïng: • Lçi ®å ho¹: ph¸t sinh khi khëi ®éng chÕ ®é då ho¹ vμ khi dïng c¸c hμm. Hμm int graphresult( void) tr¶ vÒ lçi khi ph¸t hiÖn, hμm char grapherrormsg(int errorcode) tr¶ vÒ th«ng bμo lçi do graphresult ph¸t hiÖn. C¸c m· lçi cña graphresult ®−îc tr×nh bμy trong help online víi index lμ graphics_errors. • Chän mμu nÒn: void setbkcolor(int color); • Chän mμu nÐt: void setcolor( int color); HTD (TH0003) C Programming (Se) Page: 15 Bách khoa Online: hutonline.net • Chän mÉu vμ mμu t«: void setfillstyle( int pattern, int color); C¸c gi¸ trÞ cña pattern(mÉu t«) ®−îc tr×nh bμy trong help online víi index lμ fill_parttens. • Chän mÉu cho nÐt: void setlinestyle(int linestyle, int pattern, int thickness); cho phÐp ta qui ®Þnh 3 yÕu tè lμ kiÓu linestyle(0[nÐt liÒn],1[nÐt chÊm], 2[nÐt chÊm g¹ch], 3[nÐt g¹ch], 4[mÉu tù t¹o]) bÒ dμy thickness(1[b×nh th−êng[, 3 [dμy gÊp ba] vμ mÉu tù t¹o patern (nÕu qui ®Þnh linestyle lμ 4). §Ó nhËn gi¸ trÞ hiÖn hμnh cua 3 yÕu tè trªn ta dïng hμm void getlinesettingstyle(struct linesettingtype, * linenifo); , C¸ch ®Þnh nghÜa mÉu tù t¹o vμ cÊu tróc cña linesettingtype ®−îc tr×nh bμy trong help online víi index lμ setlinestyle vμ linesettingstyle. • Thay ®æi gi¶i mμu mÆc ®Þnh: void setpalette(int colornum, incolor); • X¸c nhËn gi¶i mμu hiÖn hμnh: void palette(struct palettetype *palette); CÊu tróc cña palettetype ®−îc tr×nh bμy trong help online víi index lμ palettetype. • C¸c hμm getcolor(), getbkcolor() vμ getmaxcolor() tr¶ vÒ mμu ®· x¸c ®Þnh víi setcolor, setbkcolor, vμ sè l−îng mμu cùc ®¹i thô«c d·y mμu hiÖn hμnh. • VÏ cung trßn: void arc(int x, int y, int gocdau, int goccuoi, int bankinh); Gãc: ®é. • VÏ ®−êng trßn: void circle(int x, int y,int bankinh); • VÏ cung ellipse: void ellipse(intx, int y, int gocdau, int goccuoi, int xr, int yr); Víi xr lμ b¸n trôc ngang vμ yr lμ b¸n trôc ®øng. • VÏ vμ t« h×nh qu¹t: void pieslice(int x, int y, int gocdau, int goccuoi, int bankinh); • VÏ ®−êng gÊp khóc vμ ®a gi¸c: drawpoly(n,a); Víi n lμ sè ®iÓm, a lμ m¶ng kiÓu int chøa to¹ ®é cña c¸c ®iÓm( a[0]=x1, a[1]=y1, a[2]=x2, a[3]=y2,...). NÕu nÕu ®iÓm cuèi xn, yn trïng víi ®iÓm ®Çu x1, y1 ta sÏ ®−îc mét ®a gi¸c. • T« mμu ®a gi¸c: fillpoly(n,a); hμm nμy sÏ t« mμu 1 ®a gi¸c cã c¸c n ®Ønh. • VÏ ®−êng th¼ng: void line(int x1, int y1, int x2, int y2); VÏ ®−êng th¼ng nèi hai ®iÓm (x1,y1) vμ (x2,y2) nh−ng kh«ng lμm thay ®æi vÞ trÝ con trá. Hμm void lineto(int x, int y); VÏ ®−êng th¼ng tõ ®iÓm hiÖn t¹i tíi (x,y) vμ chuyÓn con trá ®Õn ®iÓm (x,y). Hμm void linerel(int dx, int dy); sÏ vÏ mét ®−êng th¼ng tõ vÞ trÝ hiÖn HTD (TH0003) C Programming (Se) Page: 16 Bách khoa Online: hutonline.net hμnh (x,y) cña con trá ®Õn ®iÓm (x+dx, y+dy), con trá ®−îc di chuyÓn ®Õn vÞ trÝ míi. • Di chuyÓn con trá tíi to¹ ®é (x,y): void moveto(intx, inty); • VÏ h×nh ch÷ nhËt. Hμm void rectangle(int x1, int y1, int x2, int y20; sÏ vÏ mét ®−êng ch÷ nhËt cã c¸c // c¸c c¹nh cña mμn h×nh, (x1,y1) lμ to¹ ®é ®Ønh trªn, (x2,y2) lμ to¹ ®é ®Ønh d−íi. Hμm void bar(intx1, int y1, int x2, int y2); sÏ vÏ vμ t« mμu mét h×nh CN. Hμm void bar3d(int x1, int y1, int x2, int y2, int depth, int top); vÏ vμ t« mét khèi hép ch÷ nhËt, depth qui ®Þnh sè ®iÓm ¶nh trªn chiÒu s©u cña khèi 3D, top cã thÓ nhËn c¸c gi¸ trÞ lμ 1(cã n¾p), 0(kh«ng n¾p). • ThiÕt lËp cöa sæ viewport: void setviewport(int x1, int y1, int x2, int y2, int clip); Víi 2 ®iÓm lμ 2 gãc trªn tr¸i vμ d−íi ph¶i cña cöa sæ, clip=1 kh«ng cho phÐp vÏ ra ngoμi viewport vμ clip=0 th× cho phÐp. §Ó nhËn viewport hiÖn hμnh ta dïng hμm void getviewsettings(struct viewporttype *vp). (Help online víi index lμ viewporttype). • Xo¸ viewport: void clearviewport(void); • Xo¸ mμn h×nh vμ ®−a con trá vÒ (0,0): void cleardevice(void); • T« vμ lÊy mμu t« §iÓm. T«: void putpixel(int x, inty, int color); Hμm getpixel(int x, int y); sÏ tr· vÒ gi¸ trÞ mμu t¹i ®iÓm (x,y), nÕu ®iÓm ch−a ®−îc t« hμm sÏ tr¶ vÒ 0. • T« miÒn: void floodfill(int x, int y, int border); border chøa gi¸ trÞ cña mét mμu. • HiÓn thÞ v¨n b¶n. Hμm void outtext (char *s); sÏ hiÖn thÞ chuæi do s trá tíi t¹i vÞ trÝ hiÖn t¹i cña con trá. Hμm outtextxy(int x, inty, char *s); sÏ hiÓn thÞ VB ë to¹ ®é (x,y). • Chän Font (.CHR): void settextstyle(int font, int direction, int charsize); Víi direction =0(ngang), =1(däc). Charsize cã gi¸ trÞ tõ 1(8*8pixel)->10(80*80pixel). font nhËn c¸c gi¸ trÞ 0(default), 1(triplex), 2(small), 3(sanserif), 4(gothic). • VÞ trÝ hiÓn thÞ Text: void settextjustify(int horiz, int vert); Víi horiz = 0(VB ë bªn ph¶i con trá), 1(t©m VB theo vÞ trÝ con trá), 2(bªn tr¸i con trá). Vert = 0(VB ë bªn ph¶i con trá), 1(t©m VB theo vtr cña con trá), 2(phÝa d−íi con trá). • LÊy chiÒu cao vμ réng cña Text: int textheight(char*s); int textwidth(char *s); HTD (TH0003) C Programming (Se) Page: 17 Bách khoa Online: hutonline.net • Hμm imagesize(int x1, int y1, int x2, int y2);tr¶ vÒ sè byte dïng l−u ¶nh trong 1 ph¹m vi. • Hμm void getimage( int x1, int y1, int x2, int y2, void *bitmap); dïng l−u c¸c ®iÓm ¶nh trong ph¹m vi HCN vμo vïng nhí do bitmap trá tíi. Vïng nhí vμ biÕn bitmap cho bëi hμm void *malloc(unsigned n); • Hμm putimage(int x, int y, void *bitmap, int copymode); dïng sao chÐp ¶nh trong vïng nhí bitmap ra mμn h×nh t¹i vÞ trÝ (x,y). Tham sè copymode =0(chÐp nguyªn xi), =1(c¸c ®iÓm ¶nh trong bitmap kÕt hîp víi c¸c ®iÓm trªn mμn h×nh = phÐp XOR), =2( ...”.... =phÐp or), =3(......”......”and), =4(....’’.....NOT). 11. kü thuËt söa lçi vμ rë rèi ch−¬ng tr×nh: + Ng−êi ta nghiªn cøu vμ cho r»ng kho¶ng 80% thêi gian cña c¸c lËp tr×nh viªn lμ dïng ®Ó kiÓm tra vμ söa ch÷a nh÷ng ch−¬ng tr×nh ®· cã. Th«ng th−êng cã 3 lo¹i lçi sau: lçi có ph¸p (syntax), lçi run-time (chia cho zero, g¸n sai kiÓu, sö dông biÕn kh«ng khai b¸o, ...), vμ lçi logic. Lçi logic lμ lçi khã söa nhÊt, v× ®©y lμ lçi sai trong thuËt gi¶i ch−¬ng tr×nh. + Ph−¬ng ph¸p duy nhÊt ®Ó s÷a c¸c lçi có ph¸p lμ b¹n ph¶i biÕt ch−¬ng tr×nh cña m×nh m¾c ph¶i lçi g×, ®iÒu nμy ®−îc Borland C++ th«ng b¸o trong cöa sæ Message, vμ tõ ®©y b¹n cã thÓ tra cøu c¸c ph−¬ng ph¸p s÷a ch÷a trong c¸c s¸ch tra cøu, ®Æt biÖt lμ trong help online cña Borland C++. + Khi gÆp c¸c lçi Logic lμm cho ch−¬ng tr×nh ch¹y kh«ng ®óng hay cho kÕt qu¶ sai ta cã thÓ sö dông c¸c chøc n¨ng Debug cña Borland C ®Ó tiÕn hμnh rë rèi: -Ch¹y tõng b−íc: dïng phÝm F7, víi mçi lÇn nhÊn F7 lμ dßng ®−îc lμm s¸ng sÏ ®−îc thùc hiÖn. Nhê ch¹y tõng b−íc nh− vËy ta sÏ dÔ dμng xö lý ®−îc c¸c lçi Logic trong ch−¬ng tr×nh. Cã thÓ thay phÝm F7 b»ng F8. Sù kh¸c nhau duy nhÊt gi÷a hai phÝm nμy lμ lμ F7 sÏ thùc hiÖn tõng dßng bªn trong hμm ®−îc gäi, cßn F8 th× sÏ thùc hiÖn hμm nμy vμ b−íc qua nã. -KÕt hîp víi ch¹y tõng dßng lμ ta sö dông cöa sæ EVALUATION (nhÊn Ctrl+F4), víi cöa sæ nμy ta HTD (TH0003) C Programming (Se) Page: 18 Bách khoa Online: hutonline.net cã thÓ quan s¸t gi¸ trÞ cña c¸c biÕn, m¶ng,... qua mçi dßng thùc ch−¬ng tr×nh (gâ vμo tªn biÕn, m¶ng,.. cÇn xem trong khung Evaluate vμ xem gi¸ trÞ trong khung result), hay lμm thay ®æi gi¸ trÞ c¸c biÕn, tÝnh to¸n c¸c biÓu thøc, c¸c hμm... -Dïng cöa sæ Watch (Window\Watch) ®Ó theo dâi sù thay ®æi gi¸ trÞ cña c¸c biÕn, m¶ng. §Ó xem c¸c biÕn trong cöa sæ Watch, ta chän Debug\Watch\Add Watch vμ gâ tªn biÕn cÇn xem vμo, nhÊn F7 hay F8 ®Ó ch¹y tõng b−íc ch−¬ng tr×nh vμ xem gÝa trÞ cña biÕn. Cã thÓ nhËp vμo nhiÒu biÕn, mçi lÇn chØ ®−îc nhËp mét biÕn. §Ó xo¸ mét biÕn ta chØ di chuyÓn ®Õn biÕn muèn xo¸ trong cöa sæ Watch vμ nhÊn Delete. NÕu kh«ng thÊy cöa sæ Watch khi ch¹y tõng b−íc ch−¬ng tr×nh, ta nhÊn F5. -Dïng cöa sæ User Screen ®Ó quan s¸t kÕt qu¶ thùc hiÖn cña ch−¬ng tr×nh: Window\ User Screen hay Alt+F5. Ngoμi ra cßn nhiÒu kü thuËt kh¸c nh− sö dông ®iÓm g·y, inspect, call stack,... ®Ó gë rèi c¸c hμm, ch−¬ng tr×nh. C¸c b¹n cã thÓ xem chi tiÕt trong c¸c s¸ch tham kh¶o vÒ LËp tr×nh C. L−u ý: HTD - TH0003 (5.2001). Se (9.2001). HTD (TH0003) C Programming (Se) Page: 19
- Xem thêm -
Tài liệu liên quan
160 câu hỏi trắc nghiệm môn kỹ thuật mạng máy tính k...
42
29558
155
Bài tập lập trình windows form c# có hướng dẫn...
79
28295
80
Bài Tập SQL Server quản lý bán hàng...
24
26890
172
đề thi trắc nghiệm lập trình C có đáp án...
33
21164
90
Câu hỏi trắc nghiệm môn lập trình hướng đối tượng...
30
20282
132
Tổng hợp bài tập lập trình hợp ngữ Assembly hay có l...
7
19386
65
TRẮC NGHIỆM C++ (CÓ ĐÁP ÁN)...
71
17824
106
Đề thi access có lời giải...
40
15570
144
game caro 2 người chơi code bằng java (có mẵ nguồn)...
20
13623
112
70 câu hỏi về trí tuệ nhân tạo + đáp án...
49
13621
93
đề thi trắc nghiệm lập trình java có đáp án...
18
12628
92
đề thi trắc nghiệm html css javascript...
25
10231
104
Tổng hợp đề thi lập trình mạng căn bản có đáp án...
31
9655
97
Kiến trúc và thiết kế phần mềm...
221
9009
173
Hướng dẫn giải bài tập lập trình hướng đối tượng c++...
100
5977
65
Bài báo cáo đồ án cơ sở ngành lập trình game bắn sún...
34
5122
89
Tài liệu jquery của đh khtn...
77
4057
143
Bài tập Pascal cơ bản đến nâng cao theo chương trình...
45
3785
128
Những bài tập và lời giải cho người mới bắt đầu lập ...
56
3688
131
Đề thi môn phân tích thiết kế hệ thống thông tin...
3
3614
61
×
Tải tài liệu
Chi phí hỗ trợ lưu trữ và tải về cho tài liệu này là
đ
. Bạn có muốn hỗ trợ không?
Tài liệu vừa đăng
KỸ THUẬT THIẾT KẾ THUẬT TOÁN
134
1
142
Câu lệnh phần mềm Matlab - Đại số tuyến tính - Trường ĐH Bách Khoa TPHCM
23
379
54
Đồ án kiểm thử phần mềm - tìm hiểu về công cụ kiểm thử loadrunner
1
50
Mô hình hóa và mô phỏng
199
349
68
giáo trình THUẬT TOÁN
1094
575
105
Advanced PHP Programming - sách lập trình PHP nâng cao
673
22
70
Essential PHP Security
282
14
118
Pro php security- sách về bảo mật PHP
369
17
90
PHP Objects, Patterns, and Practice- sách gối đầu dành cho PHP developer
813
15
94
PHP Objects, Patterns, and Practice- sách kĩ thuật lập trình PHP nâng cao
583
18
77
Tài liệu xem nhiều nhất
160 câu hỏi trắc nghiệm môn kỹ thuật mạng máy tính kèm đáp án
42
29558
155
Bài tập lập trình windows form c# có hướng dẫn
79
28295
80
Bài Tập SQL Server quản lý bán hàng
24
26890
172
đề thi trắc nghiệm lập trình C có đáp án
33
21164
90
Câu hỏi trắc nghiệm môn lập trình hướng đối tượng
30
20282
132
Tổng hợp bài tập lập trình hợp ngữ Assembly hay có lời giải
7
19386
65
TRẮC NGHIỆM C++ (CÓ ĐÁP ÁN)
71
17824
106
Đề thi access có lời giải
40
15570
144
game caro 2 người chơi code bằng java (có mẵ nguồn)
20
13623
112
70 câu hỏi về trí tuệ nhân tạo + đáp án
49
13621
93