1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng ngôn ngữ lập trình C/C++

26 641 2
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 324,25 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Sử dụng các hàm trong thư viện chuẩn -_ Tranh phat minh lai banh xe avoid re-inventing the wheel © Tranh viéc tu viét cac ham da co trong thu vién -_ Các hàm trong thư viện chuẩn thường

Trang 1

BAI GIANG

i TS Tran Dang Hung

Fly Khoa Cong Nghé Thong Tin

` Email: hunøtd@hnue.edu.vn

Trang 2

“| Noi Dung

Chương 1: GIới thiệu

s Chương 2: Các câu trúc điêu khiên

Chương 3: Ham (functions)

=» Chuong 4: Mang (arrays)

Chương 5: Con tro (pointers)

= Chuong 6: Ki tu va xau (characters and strings)

Chương 7: Câu trúc va file (structures and files)

s Chương 8: Tiên xử lý (preprocessors)

Trang 4

Tai liệu tham khảo và trinh biên dịch

= Trinh bien dich

= TC 3.0 (giao dién gidng Pascal)

= Visual C++ (windows)

= gcc (linux)

=» Dev-C++ (windows)

Trang 5

Chương 1: Giới thiệu

Ngôn ngữ lập trình C © T.Đ.Hưng - ĐHSPHN Wednesday, ApriL 04, 2012

Trang 6

| Lịch sử ngõn nøữ lap trinh C

s Ra đời vào khoảng năm 1970, việt bởi Dennis Ritchie

tại phong thi nghiệm Bell

s Ra đời dưới sự ảnh hưởng của cac ngön ngữ trước

đó: BCPL (1967) và B (1970)

s Được dùng đề việt hệ điêu hành Unix

Độc lập với phân cứng (khả chuyền)

Trang 7

Chuan C (standard C)

Co rat nhiéu phién ban C

=» ANSI C (American National Standards Institute): 1989

Cac phiên ban update vao nam 1995 (C95), 1999 (C99)

= Cva C++

= C++ la ban mé réng cua C dé hỗ trợ lập trình hướng đôi

tượng và thiêt kê cac phân mêm lớn

= C khong han là một phân của C++, nhưng có thê sử dụng cả C

va C++ nham thiét ké chương tr1nh Lĩnh họat

s Nên thanh thạo C trước khi hoc C++

Trang 8

Sử dụng các hàm trong thư viện chuẩn

-_ Tranh phat minh lai banh xe (avoid re-inventing the wheel) ©

Tranh viéc tu viét cac ham da co trong thu vién

-_ Các hàm trong thư viện chuẩn thường được việt cân thận và

hiệu quả

Trang 9

Phase |:

eee Creates program

yy editor and stores it on

Cac pha cua chương trinh C

Linker lmks the object

code with the libranes

Soan thao chuong trinh (edit)

= Dat ten file co duoi la c (vidu.c,

> executes it possibly

storing new data Values as the program executes

Ngon ngt lap trinh C © T.D.Hung - DHSPHN Wednesday, April 04, 2012

Trang 10

Một chương trình C đơn gian

-VỊ dụ 1: In một dong ch@ ra man hinh-

/* Chuong trinh C dau tien */

#include <stdio.h>

/* ham chỉnh cua chuong trinh */

int main( void ) \

printf( "Xin chao mung den voi NNLT C!\n" j;

return O; /* chuong trinh ket thuc thanh cong */ } /* ket thuc ham main */

= Loi giải thích

» Dat trong cap dau /* */

= Trinh bién dich sé bo qua

-_ Được dùng đề chú thích cho các dòng lệnh

s_ Chỉ dẫn tiên biên dịch

= #include <stdio.h> - sử dụng các hàm vào/ra

-_ Cân biệt hàm nào nằm trong thư viện chuẩn nao

Trang 11

Một chương trinh C don gian

-Vi du 1: In một dong ch@ ra man hinh-

Một chương trình C có thê có 1 hoặc nhiêu hàm, nhưng

buộc phải có hàm main()

Cặp dâu /›' thể hiện các khôi (block) chương trình,

thân các ham luon duoc dat trong cap |}

Lệnh printf() đưa nội dung ra màn hình

Kí tự \n đưa con trỏ xuông 1 dòng mới

Hàm ïint main(), nên phải có lệnh return trả về một sô

nguyên, return 0; - ham kêt thúc bình thường.

Trang 12

Ham printf() va cac ki tw diéu khién

= Ham printf(s): dwa néi dung cua s ra man hinh, s co

thê là hằng xâu kí tự, biên, hoặc biêu thức

s Một sô hằng kí tự đặc biệt:

-_\n - đưa con trỏ xuông dòng

-_\r - đưa con trỏ vê đầu dòng

-_\t - đưa con trỏ đên vị trí tab tiép theo

Trang 13

int integerl; /* khai bao bien integerl #*/

int integer2; /* khai bao bien integer2 */

int sum; /* khai bao bien sum */

sễẨanf( "%d", &integerl ); /* nhap 1 so integer */

scanft( "sd", &integer2 }); /* nhap 1 so integer */ sum = integerl + integer2; /*gan tong hai so cho sum */

printf( "Sum is d\n", sum ); /* dua sum ra man hình */

return OQ:

Ngon ngt lap trinh C © T.D.Hung - DHSPHN Wednesday, April 04, 2012

Trang 14

= Gan gia tri cho bién

= Toan tv hai ngoi - Binary operator

s_ VỊ dụ:

= sum = variable1 + variable2;

Trang 15

Bién va cach dat tén bién

= Bién (variables)

-_ Tương ứng với các vụng trong bộ nhớ may tĩnh

-_ Mỗi biên có tên, kiêu, kích thước, và gia tri

-_ Khi biên được øgán một gia tri mdi, gia tri co bi ghi dé

« Doc gia trị của các biên trong bộ nhớ không làm thay đôi các

biên trong bộ nhớ

= Chudi ky ty (ch@ cai a z, A Z, integer2 2) «|

cht so 0 9, dau gach dưới _ ) :

-_ Không được bắt đầu bằng chữ số oe

= Phan biét chi hoa chữ thường

Trang 16

Khai bao bién

Trước khi sử dụng các biên thi phải khai báo nó

= Cach khai bao:

- Kiêu dữ liệu tên biến:

hoặc

- Kiểu dữ liệu tên biên = giá_ trị đâu;

s_ Khai báo nhiêu biên cùng kiểu thì các biên cách nhau bởi dâu phây

Trang 17

Các kiêu dữ Liệu chuân

Từ khoá Giá trị nhỏ nhật Giá trị lớn nhật Độ lớn (byte)

Ngôn ngữ lập trình C © T.Đ.Hưng - ĐHSPHN Wednesday, April 04, 2012

Trang 18

Cac phep toan

= Phep chia lay du: % x = X Yo 10;

= Quy tac uu tién

= Cac phep toan trong ngoac duoc tinh trudc

= Cac ngoac léng nhau, các phép toán ở bên trong nhất được tính

trước nhât

-_ Tiếp theo là các phép nhân, chia, và phép lây sô dư

s_ Cac phép toan được tinh từ trai sang phải

-_ Cộng và trừ được tính cuôi cùng

s_ Cac phép toan được tinh từ trai sang phải

Trang 20

Cac phep toan logic

< nhỏ hơn

= lớn hơn hoặc băng

<= nhỏ hơn hoặc băng

Trang 21

1 Cac phép toan trên bit

Toàn tử: & - phép toàn AND

= Toan tu: | - phep toan OR

Toan tử: ~ - phep đảo ngược bit

= Toan tu: << - dich bit sang trai

Toan tur: >> - dich bit sang phai

Trang 22

Cac phep toan rut gon

Trang 23

Cac phep toan rut gon

Z Vi du

x= 10; y=20; x +=; => x = 30

= Su khac nhau øiỮa ++x Và X++

= ++x: gia tri cla x sẽ tăng lên 1 đơn vị TRƯỚC khi thực hiện

Trang 24

Cac dac ta cua ham printf()

s Đề đưa nội dunø của các biên (hoặc biêu thức) ra màn

hình phải có các chỉ dẫn cụ thê cho từng loại dữ liệu

Trang 25

Cac dac ta cua ham scanf()

Đề nhập các gia tri vào cho các biên cân phải có chỉ dẫn kiêu dữ

liệu cho tung bien

Vi du:

-_ Nhập hai sô nguyên int từ bàn phím

Drintf( “Cho hai so nguyen a,b: “); scanf(“%d%d”,&a,&b);

-_ Nhập một số int và một sô float từ bàn phím

printf(“Cho so nguyen a va so thục b: ”); scanf(“%d%5f”,&a,&b);

-_ Chú ý: Khi nhập xâu kí tự thì không có dâu & trước biên, vì bản thân

ten xau da la con tro

printf(“Cho mot xau ki tu: “); scanf(“%s” ,st);

Các kí tự đặc tả cho từng kiểu dữ liệu giông trong hàm printf()

Chú ý: Hàm printf() và scanf() đêu nằm trong thư vién <stdio.h>, nên đâu chương trinh phải khai bào thư viện bằng lệnh:

#IncLlude <stdio.h>

Trang 26

Bai tap tai lop

s Bai 1.3: Giả sử ta cox= 10; y = 20; z = 30; Hãy cho

biét gia tri cac biéu thức sau

s BLTI = 2*(x - yt++) + Z"(++Z - x*y);

s BLỮ2 = ( x + y + Z )* 2+ ++y*2;

«= Bt3 = (x << 2) +(y|3+zZ | 8) +2;

=» Bt4 = ((x == y) && (Xx != Z))

Ngày đăng: 08/05/2014, 16:55

TỪ KHÓA LIÊN QUAN