Giáo trình ngôn ngữ lập trình C

7 15 0
Giáo trình ngôn ngữ lập trình C

Đang tải... (xem toàn văn)

Thông tin tài liệu

Các ký t nhóm này nói chung không hi n th ra màn hình.[r]

(1)

Gi i thi uớ

Tin h c m t ngành khoa h c mũi nh n phát tri n h t s c nhanh chóng trong ế ứ vài ch c năm l i ngày m r ng lĩnh v c nghiên c u, ng d ng m i ở ộ m t c a đ i s ng xã h i.ặ ủ ờ ố

Ngôn ng l p trình m t lo i cơng c giúp ngữ ậ ười th hi n v n đ c aể ệ ề ủ th c t lên máy tính m t cách h u hi u V i s phát tri n c a tin h c, ngôn ng l pự ế ớ ự ữ ậ trình d n ti n hố đ đáp ng thách th c m i c a th c t ế ớ ủ ự ế

Kho ng cu i nh ng năm 1960 đ u 1970 xu t hi n nhu c u c n có ngơn ng b c cao đ h tr cho nh ng nhà tin h c vi c xây d ng ph n m m h th ng, ể ỗ ợ ệ ố h u hành Ngôn ng C đ i t đó, đệ ề ờ ừ ược phát tri n t i phịng thí nghi m Bell.ể ạ Đ n năm 1978, giáo trình " Ngơn ng l p trình C " tác gi c a ngôn ng làế ữ ậ ả ủ Dennish Ritchie B.W Kernighan vi t, đế ược xu t b n ph bi n r ng rãi.ấ ả ổ ế

C ngơn ng l p trình v n Ngồi vi c C đữ ậ ược dùng đ vi t h u hànhể ế ệ ề UNIX, người ta nhanh chóng nh n s c m nh c a C vi c x lý cho v n đ hi n đ i c a tin h c C không g n v i b t kỳ m t h u hành hay máy nào, m c ạ ủ ớ ấ ệ ề d u đ ược g i " ngơn ng l p trình h th ng" đ ữ ậ ệ ố ược dùng cho vi c vi t h ế ệ đi u hành, ti n l i cho c vi c vi t ch ệ ợ ả ệ ế ương trình x lý s , x lý văn b n và ố ử c s d li u.ơ ữ ệ

Và bây gi tìm hi u th gi i c a ngôn ng C t nh ng khái ni m ban ế ủ đ u c b n nh t. ơ ả

(2)

Chương 1 khái ni m c b nệ ả 1.1 T p ký t dùng ngôn ng C :ậ

M i ngơn ng l p trình đ u đọ ữ ậ ề ược xây d ng t m t b ký t Các ký t đự ộ ộ ự ự ược nhóm l i theo nhi u cách khác đ t o nên t Các t l i đạ ề ể ừ ược liên k t v i theoế m t qui t c đ t o nên câu l nh M t chộ ắ ể ệ ộ ương trình bao g m nhi u câu l nh thồ ề ệ ể hi n m t thu t toán đ gi i m t tốn Ngơn ng C đệ ộ ậ ể ả ộ ữ ược xây d ng b ký t sauự ộ ự :

26 ch hoa : A B C Zữ 26 ch thữ ường : a b c z 10 ch s : 9ữ ố

Các ký hi u toán h c : + - * / = ( ) ệ ọ Ký t g ch n i : _ự ố

Các ký t khác : , : ; [ ] {} ! \ & % # $ ự

D u cách (space) dùng đ tách t Ví d ch VIET NAM có ký t , cịnấ ể ụ ữ ự VIETNAM ch có ký t ỉ ự

Chú ý :

Khi vi t chế ương trình, ta khơng đượ ục s d ng b t kỳ ký t khác ký tấ ự ự

Ví d nh l p chụ ậ ương trình gi i phả ương trình b c hai axậ +bx+c=0 , ta c n tínhầ bi t th c Delta ệ ứ ∆= b2 - 4ac, ngôn ng C không cho phép dùng ký t ữ ự ∆, v y ta ph iậ ả dùng ký hi u khác đ thay th ệ ể ế

1.2 T khoá :ừ

T khoá nh ng t đừ ữ ượ ục s d ng đ khai báo ki u d li u, đ vi t toán tể ể ữ ệ ể ế câu l nh B ng dệ ả ưới li t kê t khoá c a TURBO C :ệ ủ

asm break case cdecl

char const continue default

do double else enum

extern far float for

goto huge if int

interrupt long near pascal

register return short signed

sizeof static struct switch

(3)

volatile while

ý nghĩa cách s d ng c a m i t khoá s đử ụ ủ ỗ ẽ ược đ c p sau này, ta c n ý :ề ậ ầ - Không dùng t khoá đ đ t tên cho h ng, bi n, m ng, hàm ể ặ ằ ế ả

- T khoá ph i đừ ả ược vi t b ng ch ằ ữ ường, ví d : vi t t khoá khai báo ki u nguyênụ ế ể int ch không ph i INT.ứ ả

1.3 Tên :

Tên m t khái ni m r t quan tr ng, dùng đ xác đ nh đ i lộ ệ ấ ọ ể ị ượng khác m t chộ ương trình Chúng ta có tên h ng, tên bi n, tên m ng, tên hàm, tên tr , tênằ ế ả ỏ t p, tên c u trúc, tên nhãn, ệ ấ

Tên đ t theo qui t c sau :ặ ắ

Tên m t dãy ký t bao g m ch cái, s g ch n i Ký t đ u tiên c a tênộ ự ữ ố ố ự ầ ủ ph i ch ho c g ch n i Tên không đả ữ ặ ố ược trùng v i khoá Đ dài c c đ i c a tên theo m cớ ộ ự ủ ặ đ nh 32 có th đị ể ược đ t l i m t giá tr t t i 32 nh ch c : Option-ặ ộ ị ứ Compiler-Source-Identifier length dùng TURBO C

Ví d :ụ

Các tên :

a_1 delta x1 _step GAMA Các tên sai :

3MN Ký t đ u tiên ầ ố m#2 S d ng ký t #ử ụ ự f(x) S d ng d u ( )ử ụ ấ Trùng v i t khoáớ te ta S d ng d u tr ngử ụ ấ ắ Y-3 S d ng d u -ử ụ ấ Chú ý :

Trong TURBO C, tên b ng ch thằ ữ ường ch hoa khác ví d tên AB khác v iữ ụ ab C, ta thường dùng ch hoa đ đ t tên cho h ng dùng ch thữ ể ặ ằ ữ ường đ đ t tênể ặ cho h u h t cho đ i lầ ế ượng khác nh bi n, bi n m ng, hàm, c u trúc Tuy nhiên khôngư ế ế ả ấ ph i u b t bu c.ả ề ắ ộ

1.4 Ki u d li u :ể ữ ệ

(4)

M t giá tr ki u char chi m byte ( bit ) bi u di n độ ị ể ế ể ễ ược m t ký t thông quaộ ự b ng mã ASCII Ví d :ả ụ

Ký tự Mã ASCII

0 048

1 049

2 050

A 065

B 066

a 097

b 098

Có hai ki u d li u char : ki u signed char unsigned char ể ữ ệ ể

Ki uể Ph m vi bi u di nạ ể ễ S ký tố ự Kích thước

Char ( Signed char ) -128 đ n 127ế 256 byte

Unsigned char đ n 255ế 256 byte

Ví d sau minh ho s khác gi a hai ki u d li u : Xét đo n chụ ự ữ ể ữ ệ ương trình sau : char ch1;

unsigned char ch2;

ch1=200; ch2=200; Khi th c ch t :ự ấ

ch1=-56; ch2=200;

Nh ng c ch1 ch2 đ u bi u di n m t ký t có mã 200.ư ả ề ể ễ ộ ự Phân lo i ký t : ạ

Có th chia 256 ký t làm ba nhóm :ể ự

Nhóm 1: Nhóm ký t u n có mã t đ n 31 Ch ng h n ký t mã 13 dùngự ề ể ế ẳ ự đ chuy n tr v đ u dòng, ký t 10 chuy n tr xu ng dòng dể ể ỏ ề ầ ự ể ỏ ố ưới ( m t c tộ ộ ) Các ký t nhóm nói chung khơng hi n th hình.ự ể ị

Nhóm : Nhóm ký t văn b n có mã t 32 đ n 126 Các ký t có th đự ả ế ự ể ược đ a hình ho c máy in.ư ặ

Nhóm : Nhóm ký t đ ho có mã s t 127 đ n 255 Các ký t có th đ aự ố ế ự ể hình nh ng khơng in đư ược ( b ng l nh DOS ).ằ ệ

(5)

Trong C cho phép s d ng s nguyên ki u int, s nguyên dài ki u long s nguyênử ụ ố ể ố ể ố khơng d u ki u unsigned Kích c ph m vi bi u di n c a chúng đấ ể ỡ ể ễ ủ ược ch b ngỉ ả :

Ki uể Ph m vi bi u di nạ ể ễ Kích thước

int -32768 đ n 32767ế byte

unsigned int đ n 65535ế byte

long -2147483648 đ n 2147483647ế byte unsigned long đ n 4294967295ế byte Chú ý :

Ki u ký tể ự có th xem m t d ng c a ki u nguyên.ể ộ ủ ể 1.4.3 Ki u d u ph y đ ng :ể

Trong C cho phép s d ng ba lo i d li u d u ph y đ ng, float, double longử ụ ữ ệ ấ ả ộ double Kích c ph m vi bi u di n c a chúng đỡ ể ễ ủ ược ch b ng dỉ ả ưới :

Ki uể Ph m vi bi u di nạ ể ễ S ch số ữ ố có nghĩa

Kích thước Float 3.4E-38 đ n 3.4E+38ế đ n 8ế byte Double 1.7E-308 đ n 1.7E+308ế 15 đ n 16ế byte long double 3.4E-4932 đ n 1.1E4932ế 17 đ n 18ế 10 byte Gi i thích : ả

Máy tính có th l u tr để ữ ược s ki u float có giá tr t đ i t 3.4E-38 đ nố ể ị ệ ố ế 3.4E+38 Các s có giá tr t đ i nh h n3.4E-38 đố ị ệ ố ỏ ược xem b ng Ph m vi bi u di nằ ể ễ c a s double đủ ố ược hi u theo nghĩa tể ương t ự

1.5 Đ nh nghĩa ki u b ng TYPEDEF :ị 1.5.1 Công d ng :ụ

T khoá typedef dùng đ đ t tên cho m t ki u d li u Tên ki u s đừ ể ặ ộ ể ữ ệ ể ẽ ược dùng để khai báo d li u sau Nên ch n tên ki u ng n g n đ d nh Ch c n thêm t khoáữ ệ ọ ể ắ ọ ể ễ ỉ ầ typedef vào trước m t khai báo ta s nh n độ ẽ ậ ược m t tên ki u d li u có th dùng tên nàyộ ể ữ ệ ể đ khai báo bi n, m ng, c u trúc, vv ể ế ả ấ

1.5.2 Cách vi t :ế

Vi t t khố typedef, sau ki u d li u ( m t ki u ), r i đ n tên c aế ể ữ ệ ộ ể ế ủ ki u.ể

(6)

Vi t chế ương trình nh p ba s th c Ki m tra xem ba s có th chi u dài c a baậ ố ự ể ố ể ề ủ

c nh c a m t tam giác đạ ủ ộ ược không? N u đế ược tính chu vi di n tích tam giácệ

đó.

BàI t p :ậ

Vi t chế ương trình tính hàm s :ố

f(x) = K0 x

K1+ -x K2 +

x

K3 + x

K4 + ………

x Kn-1 + -

Kn Bài t p :ậ

Vi t chế ương trình tính tích hai ma tr n C ậ mxn = A mxn * B nxk Bài t p :ậ

Vi t chế ương trình nh p vào m t dãy s sau tách dãy thành hai dãy ch ch aậ ộ ố ỉ ứ

các s dố ương ch ch a s âm Tính t ng s ph n t c a m i dãy sau s pỉ ứ ố ổ ố ầ ủ ỗ ắ

x p đ hai dãy có giá tr gi m d n.ế ể ị ả ầ

Bài t p :ậ

Vi t chế ương trình nh p vào m t ma tr n A nxm Tìm giá tr c c đ i c c ti u c aậ ộ ậ ị ự ạ ự ể ủ

các ph n t c a m ng ầ ủ ả

Bài t p :ậ

Trăm trâu,trăm cỏ

Trâu đ ng ăn nămứ

Trâu n m ăn baằ

L kh trâu giàụ ụ

Ba m t bó.ộ

Tính s trâu m i lo i ố ỗ ạ

Bài t p :ậ

V a gà v a chóừ ừ

(7)

Đúng ba sáu con M t trăm chân ch n ộ ẵ

Tính s gà, s chó ố ố

Ngày đăng: 09/03/2021, 06:29

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan