Trêng ®¹i häc b¸ch khoa hµ néi Trung t©m tÝnh to¸n hiÖu n¨ng cao Bai giang ngon ngu lap trinh C (c) Nguyen Quang Huy 12/2000 1 Trêng®¹ihäcb¸chkhoahµnéiTrêng®¹ihäcb¸chkhoahµnéi Ng«n ng÷[.]
Trêng®¹ihäcb¸chkhoahµnéi Ng«n ng÷ lËp tr×nh C Ngêi so¹n: NguyÔn Quang Huy 12/2000 Bai giang ngon ngu lap trinh C - 1 Ch¬ng 1 C¬ b¶n vÒ ng«n ng÷ c TængquanvÒng«nng÷C CÊutrócchungcñamétch¬ng tr×nhC C¸cthµnhphÇnc¬b¶ncña ng«nng÷ C¸ckiÓud÷liÖuc¬b¶n C¸ccÊutróclÖnhc¬b¶ntrong C VµoratrongC Bai giang ngon ngu lap trinh C 2 Tæng quan vÒ ng«n ng÷ c DoB.W.Kerninghan&D.M.Ritchie(1970)ph¸t triÓnt¹iBelllab T¹isaol¹isödôngC? • NNLTv¹nn¨ng • TÝnhkh¶chuyÓn(portability) • §éthÝchnghicao,tÝnhmÒmdÎo,NNLT chuyªnnghiÖp • TÝnhhiÖuqu¶ Bai giang ngon ngu lap trinh C - 3 CÊu tróc chung cña mét ch¬ng tr×nh C #include #include /*Ch¬ngtr×nhchÝnh */ voidmain() { printf(“Hello, world!\n”); /*§îiÊnmétphÝm*/ getch(); } PhÇndÉnhíngbiªn dÞch PhÇnkhaib¸o PhÇnch¬ngtr×nh chÝnh Bai giang ngon ngu lap trinh C - 4 C¸c thµnh phÇn c¬ b¶n cña ng«n ng÷ Béch÷viÕt: ph©nbiÖtch÷hoavµch÷thêng Tªn: quyt¾c®Ættªn Tõkho¸:asm,break,case,char,const, continue,if, C¸ckiÓud÷liÖuc¬b¶n C¸cbiÕn C¸ch»ng BiÓuthøc Bai giang ngon ngu lap trinh C - 5 C¸c kiÓu d÷ liÖu c¬ b¶n KiÓu KÝch thíc char int long unsigned float double Ph¹m vi 0 255 -32768 32767 -2147483648 2147484647 0 65535 3.4e-38 3.4e+38 1.7e-308 1.7e+308 Bai giang ngon ngu lap trinh C - 1 byte 2 bytes 4 bytes 2 bytes 4 bytes 8 bytes 6 Khai b¸o biÕn [ = ]; • Gi¸trÞcñabiÕncãthÓ®îckhëig¸nkhikhai b¸o VÝdô: int i, j; float f; char ch, ch1 = ‘A’, ch2 = ‘\n’; double eps = 1E-6; Bai giang ngon ngu lap trinh C - 7 Khai b¸o h»ng • H»ngtîngtrng: #define VÝdô: #define MAX 100; #define ECHO "DHBK Hanoi" • H»ngbiÕn: const =; VÝdô: const long MAX = 100L; const char ECHO[30] = "DHBK Hanoi"; Bai giang ngon ngu lap trinh C - 8 BiÓu thøc (1/5) • • • • C¸cphÐpto¸nsèhäc:+,-,*,/,%,C¸cphÐpto¸nquanhÖ:>,=, i+=exp; Bai giang ngon ngu lap trinh C - 10 ... • • C¸cphÐp? ?to¸n? ?sè? ?häc: +,-,*,/,%,C¸cphÐp? ?to¸n? ?quanhƯ:>,=,