1. Trang chủ
  2. » Giáo án - Bài giảng

Ngôn ngữ lập trình c

57 268 0

Đ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

Bài 1: Ngôn ngữ lập trình C I. Các khái niệm cơ bản 1. Bảng ký tự sử dụng trong C Bảng ký tự được sử dụng trong ngôn ngữ lập trình C bao gồm - Nhóm các chữ cái: chữ in hoa A,B,C…,Z và chữ in thường a,b,c,…,z - Nhóm các chữ số: 0,1,2,3,…,9 - Nhóm các dấu: +,-,*,/,<,>,&… Chú ý: ngôn ngữ C phân biệt chữ hoa và chữ thường do đó chúng ta phải thận trọng khi sử dụng các chữ cái hoa và thường. 2. Tên và từ khoá Tên là một dãy các chữ cái, chữ số và dấu gạch nối. tên phải bắt đầu bằng chữ cái hoặc dấu gạch nối. Ví dụ: Tên đúng: baitap1,vidu1,… Tên sai: ha noi, viet%nam… Tên có thể do ngôn ngữ C sinh ra để nhằm hai mục đích: thứ nhất là định danh các thành phần có sẵn, thứ hai viết các lệnh trong chương trình. Tên chuẩn là những tên do ngôn ngữ lập trình C đặt ra để định danh các thành phần. Ví dụ: scanf,printf,getch()… Từ khoá (key word) là các tên do ngôn ngữ lập trình sinh ra để viết các lệnh, để định danh các thành phần đặc biệt. Ví dụ: for,while, if, int, float… Chú ý: tên do chúng ta đặt ra không được phép trùng với từ khoá, không nên trùng với các tên chuẩn. 3. Các kiểu dữ liệu Tên kiểu Miền giá trị độ lớn char một trong 256 ký tự thuộc bản mã ASCII 1 byte int -32.768 đến 32.767 2 byte float -3.4.E.38 đến 3.4.E38 4 byte 4. Khái niệm về hằng và biến nhớ 1 a, Hằng Hằng(const) là một đại lượng không thay đổi giá trị trong toàn chương trình. Hằng có thể là số nguyên, số thực, ký tự hoặc chuỗi ký tự. để biểu diễn các giá trị hằng ta viết như sau: Đối với số nguyên : viết bình thường như trong toán học Ví dụ: 100,150,350… Đối với số thực dùng dấu chấm để ngăn cách phần nguyên và phần thập phân, Ví dụ: 1.5, 2.3… Đối với kí tự: viết các ký tự vào trong hai nháy kép Ví dụ: “ngay 20 tháng 12 nam 2009” b, Biến nhớ Là một đại lượng có thể thay đổi trong chương trình, biến nhớ được sử dụng để lưu dữ liệu của chương trình, do vậy nó rất quan trọng trong lập trình, nếu không có biến nhớ thì chúng ta không thể lập trình được bởi vì không có chỗ chứa dữ liệu cho việc tính toán và sử lý. 5. Các phép toán Các phép toán trong C gọi là các toán tử (operator), bao gồm: a. Các phép toán số học - Ký hiệu: +, -,*, /,% - Ý nghĩa: cộng ,trừ, nhân, chia, chia dư - Dữ liệu tác động: kiểu số nguyên hoặc số thực - Kết quả: các phép toán số học cho kết quả là dữ liệu kiểu số Ví dụ: 2+5, 5*6, 3/2 Chú ý: đối với phép chia(/) nếu hai vế dữ liệu là số nguyên thì máy sẽ chia lấy phần nguyên, nếu một trong hai vế là số thực thì máy cho kết quả chính xác. Ví dụ: 7/4 sẽ cho kết quả là 1(là phần nguyên của 7 chia 4) 7.0/4 hoặc 7/4.0 sẽ cho kết quả là 1.75 7%4 sẽ cho kết quả là 3(là phân dư của 7 chia 4) b. Các phép toán quan hệ - Ký hiệu: >, <, >=, <=, ==, != 2 - Ý nghĩa : lớn hơn, nhỏ hơn, lớn hơn hoặc bằng, nhơ hơn hoặc bằng, so sánh bằng, và khác - Dữ liệu tác động: là các dữ liệu kiểu số và chữ, nếu là chữ thì máy sẽ so sánh mã ASCII của các chữ đo. - Kết quả: phép toán cho kết quả là loogic(đúng hoặc sai) c. Các phép kết nối logic - Ký hiệu: &&, ||, ! - Ý nghĩa và, hoặc, phủ định - Kiểu dữ liệu tác động: là các dữ liệu có giá trị đúng hoặc sai(kiểu logic) - Kết quả: cho kết quả logic(đúng hoặc sai) Bảng kết quả: E1 E2 E1&&E2 E1|| E2 !E1 Đúng Đúng Đúng Đúng Sai Đúng Sai Sai Đúng Sai Sai Đúng Sai Đúng Đúng Sai Sai Sai Sai Đúng d. Phép gán Phép gán thực hiện tính toán và chuyển dữ liệu vào biến nhớ trong chương trình, cách thức như sau: Vế_trái = vế_phải; Máy sẽ thực hiện tính toán vế phải và đưa kết quả vào vế trái do đó vế trái luôn luôn là một biến nhớ. Ví dụ : a =1; b =1+6; 6 Dòng chú thích (Comment) Những chú thích thường được viết để mô tả công việc của một lệnh đặc biệt, một hàm hay toàn bộ chương trình. Trình biên dịch sẽ không dịch chúng. Trong C, chú thích bắt đầu bằng ký hiệu /* và kết thúc bằng */. Trong trường hợp chú thích chỉ trên một dòng ta có thể dùng //. II. Biểu thức, câu lệnh, khối lệnh và chương trình 3 Biểu thức là sự kết hợp giữa các toán tử(phép toán ) và các dữ liệu để thực hiện tính toán, khi máy thực hiện tính biểu thức sẽ tuân theo thứ tự ưu tiên của phép toán cũng giống như toán học. Ví dụ: (8+3*(2-4))/2 máy sẽ thực hiện phép trù trước, rồi đến phép nhân,cộng, chia và kết quả là 1. Để yêu cầu máy thực hiện các thao tác chúng ta phải viết ra các lệnh tương ứng, bằng cách sử dụng các tên chuẩn và từ khóa kết hợp với viết biểu thức. Kết thúc mỗi câu lệnh phải có dấu chấm phẩy(;) Một câu lệnh được viết trên một dòng, và trên một dòng có thể viết được nhiều câu lệnh. Thồng thường một câu lệnh chưa đủ để thực hiện một chức năng hay một thao tác nào đó được yêu cầu, do vậy chúng ta phải viết thành nhiều câu lệnh và tạo thành một khối lệnh. Khối lệnh phải được viết vào trong cặp dấu ngoặc nhọn { } Ví dụ: { a = 5*4-2; b=2/3+5; printf (“%d”,a+b); } III. Cấu trúc các thành phần một trương trình C a. Nạp thư viện b. Định nghĩa các hằng c. Khai báo các kiểu dữ liệu mới d. Khai báo các chương trình con e. Khai bào các biến nhớ toàn cục f. Viết chương trình chính g. Viết các chương trình con Trong đó - Phần a dùng để lạp các thư viện cần sử dụng cho chương trình được viết như sau: #include<tên thư viện> Ví dụ: include<conio.h> - Phần b dùng để định nghĩa các giá trị hằng cách viết như sau #define tên hằng giá_trị_cần đặt_cho_hằng Ví dụ: #define myname “abc” - Phần c khai báo biến nhớ trong chương trình thường được thực hiện ở phần đầu trong chương trình(hàm main), tuy nhiên trong môi trường TC3.0 có thể thực hiện bất cứ chỗ nào nhưng phải trước khi sử dụng chúng. 4 Cú pháp: tên_kiểu_dữ_liệu tên_biến_nhớ; Ví dụ: int a; float b; int a,b,c; float a=2.5,b=3; - Phần f viết trương trình chính, mỗi một chương trình có duy nhất một chương trình chính và nó sẽ điều khiển toàn bộ các hoạt động của chương trình. Chương trình chính được viết như sau: Void main() { Các câu lệnh } Cấu trúc một chương trình C đơn giản #include<stdio.h> #include<conio.h> Void main() { Khai báo biến nhớ Các câu lệnh } IV. Cách thực hiện một chương trình trên máy Khi thực hiện chương trình thì máy tình sẽ thực hiện các câu lệnh trong chương trình chính. Quá trình thực hiện sẽ tuần tự từ trên xuống dưới và từ trái sang phải. Ví dụ ta có chương trình sau #include<stdio.h> #include<conio.h> void main() { A1; A2; B1; B2; C1; A3; } Thì máy sẽ thực hiện các câu lệnh theo tuần tự sau: A1,A2,B1,B2,C1,A3 V. Môi trường lập trình TurboC 1 . Giới thiệu TurboC và khởi động 5 Sau khi cài đặt song ta có thư mục TC hoặc TC30 trong thư mục này có các thư mục con sau. Để khởi động chương trình này chúng ta chạy tệp tin TC.EXE trong thư mục Bin của TurboC Màn hình giao diện của TurboC có dạng sau: 2, Các thao tác lập trình trên TurboC TC BIN INCLUDE LIB Chứa các tệp tin chính của chýõng trình trong đó có tệp TC.EXE Chứa các tệp tin khai báo thý viện ( *.h) Chứa các tệp tin mã lệnh của các thý viện (*.LIB) 6 Tên phím Ý nghĩa Alt + F Tạo một tệp chương trình mới F2 Ghi lại chương trình lên tệp trên đĩa F3 Mở một tệp chương trình đã lưu trên đĩa Alt + X Thoát khỏi chương trình TC Shift + các phím mũi tên Đánh dấu khối lệnh Ctrl + insert Chép khối đang đánh dấu vào máy Shift + insert Dán khối đã chép ở trong máy vào cị trí con trỏ trên màn hình Shift + Delete Cắt khối đang đánh dấu và đưa vào máy F9 Dịch và kiểm tra lỗi chương trình Ctrl + F9 Thực hiện chương trình Alt + Backspace Hủy thao tác vừa thực hiện F5 Phóng to hoặc thu nhỏ cửa sổ đang mở F6 Chuyển đổi giữa các cửa sổ đang mở Alt + F5 Hiển thị màn hình kết quả chương trình vừa chạy lần cuối cùng Alt + 0 Hiển thị tất cả các cửa sổ đang mở lên màn hình Một số thông báo lỗi hay gặp khi lập trình bằng TC Thông báo tiếng Anh Ý nghĩa tiếng Việt Undefined symbol ‘…’ Chưa khai báo tên trong nháy Unable to open include file ’…’ Không mở được tệp thư viện(có thể viết sai tên thư viện hoặc đường dẫn đến thư viện chưa đúng) Undefined symbol_main in modul c0.asm Chưa viết chương trình chính hoặc viết tên chương trình chính bị sai Compound statement missing } Thiếu dấu đóng ngoặc của khối lệnh Unexpected Thừa dấu đóng ngoặc của khối lệnh Unterminated string or character constant Chưa có dấu nháy kép kết thúc viết hằng chuỗi kí tự Statement missing ; Thiếu dấu chấm phẩy kết thúc câu lệnh Function call missing ) Thiếu đóng ngoặc khi viết lệnh If statement mising ( Lệnh if thiếu dấu mở ngoặc 7 Bài 2: CẤU TRÚC LỆNH ĐIỀU KHIỂN I. Các lệnh đơn giản 1. Lệnh hiện dữ liệu lên màn hình - Cú pháp: printf(“điều khiển”,các dữ liệu cần hiện); Trong đó: 8 - Điều khiển : Là các cặp kí tự điều khiển để hiện dữ liệu lên màn hình và phải được viết trong cặp dấu nháy kép, mỗi cặp kí tự điều khiển bao gồm dấu “%” và sau đó là một ký tự định kiểu. Cách viết Ý nghĩa %d Hiện số nguyên %c Hiện ký tự trong bảng mã ASCII %f Hiện số thực %s Hiện chuỗi ký tự - Dữ liệu cần hiện: Là các biểu thức dữ liệu cần hiện ra màn hình,các biểu thức này cách nhau bởi dấu phẩy. Để sử dụng được lệnh hiện dữ liệu lên màn hình ta phải nạp thư viện <stdio.h> Ví dụ: printf(“%d”,65); thì kết quả hiện ra màn hình sẽ là: 65 printf (“%c”,65); thì máy sẽ hiện ra ký tự có mã là 65 và đó là: chữ A Chú ý: - Để hiện dữ liệu có xuống dòng trên màn hình ta sử dụng \n trong điều khiển của lệnh printf Ví dụ printf(“yen bai \n ngày %d”,12); màn hình sẽ hiện ra như sau: yen bai ngay 12 - Để cách một khoảng trên màn hình như bấm phím Tab ta sử dụng \t trong điều khiển của lệnh printf. Vidu: printf(“yen bai \n\t ngay %d”,12); Màn hình sẽ hiện ra như sau: Yen bai ngay 12 2. Lệnh nhập dữ liệu từ bàn phím Cú pháp : scanf(“điều khiển”,& tên biến nhớ); 9 Trong đó - điều khiển : Để quy định dữ liệu nhập vào dưới dạng nào, cách viết như điều khiển trong lệnh printf . - Tên biến nhớ: Dùng để lưu trữ dữ liệu nhập vào từ bàn phím, phải có dấu & ở trước. Để sử dụng được lệnh nhập dữ liệu từ bàn phím ta phải nạp thư viện <stdio.h>. Ví dụ: scanf(“%d”,&a); Nhập một số nguyên từ bàn phím vào cho biến nhớ a. Chú ý: - Có thể nhập nhiều dữ liệu vào nhiều biến trong một lệnh scanf.Ta phải điền vào các điều khiển nhập cùng với các biến nhớ tương ứng cách nhau bởi dấu phẩy. Ví dụ: scanf(“%d%f”,&a,&b); Sẽ nhập số nguyên vào biến nhớ a, số thực vào biến nhớ b - Có thể quy định độ rộng dữ liệu khi nhập, phải viết độ rộng đó vào giữa dấu % và kí tự định kiểu tương ứng. Nếu gõ thừa máy sẽ tự động cắt bỏ. Ví dụ: scanf(“%2d%5f”,&a,&b); nhập một số nguyên vào biến nhớ a tối đa là 2 chữ số, nhập số thực vào biến nhớ b, với độ rộng tối đa là 5 chữ số. Bài tậpvận dụng: Bài 2.1 Viết chương trình nhập vào từ bàn phím 2 số nguyên. Tính tổng hai số đó, hiện kết quả ra màn hình. #include<stdio.h> #include<conio.h> Void main() { int a,b; clrscr(); printf(“nhap so a =”); scanf(“%d”,&a); printf(“nhap so b =”); scanf(“%d”,&b); printf(“tong hai so %d va %d la: %d”,a,b,a+b); 10 [...]... printf("\n co tiep tuc truong trinh ko (c/ k)?"); ch=getche(); if(ch = = 'c' )goto L; getch() ; } Bài 4 CHƯƠNG TRÌNH CON 28 I Khái niệm Chương trình con là mô-đun chương trình đ c lập, hoạt động dưới sự điều khiển c a một mô-đun chương trình kh c Chương trình con đư c dùng để tôí ưu hóa vi c tổ ch c chương trình, chia một chương trình lớn thành nhiều c ng vi c đ c lập nhỏ Dùng chương trình con th c hiện c c công... vi c nhỏ, tạo thành mô-đun Khi đó nhiệm vụ chương trình chính chỉ là cung c p dữ liệu đầu vào cho c c mô-đun để hoàn thành c ng vi c của mình Một chương trình viết theo c ch này gọi là chương trình c u tr c Có thể minh họa chương trình con như hình sau : Chương trình con th c hiện c ng vi c A Dữ liệu đưa vào để th c hiện c ng vi c A Dữ liệu kết quả c a c ng vi c A Để nhận c c dữ liệu đưa vào cho chương... lẫn nhau 4 - C c vấn đề ở tham số Biến toàn c c và biến c c bộ Biến toàn c c là biến nhớ đư c khai báo ở ngoài mọi hàm(thường đư c khai báo ở trên c ng sau khai báo thư viện), c t c dụng đến toàn bộ chương trình c chương trình chính và chương trình con Biến c c bộ là biến nhớ đư c khai báo bên trong một chương trình con, chỉ c t c dụng ở trong chương trình con đó Bên ngoài chương trình con đó thì... } Chú ý: Thông thường với những chương trình đơn giản c ít chương trình con thì người ta viết lệnh cho hàm ngay tại nơi khai báo 3 Lời gọi hàm Khi th c hiện chương trình máy sẽ th c hiện c c lệnh trong chương trình chính(hàm main), do đó để yêu c u máy th c hiện c ng vi c của chương trình con ta phải viết lệnh gọi chương trình con với c pháp sau Tên-hàm (c c- tham-số-th c- chuyền-vào); Lời gọi này c ... chương trình con và nếu c thể chứa dữ liệu kết quả ra chúng ta phải sử dụng tham số (parameters) c a chương trình con Tham số tồn tại dưới hai hình th c đó là tham số th c và tham số hình th c Tham số hình th c là tham số để khai báo và xây dựng trương trình con, c n tham số th c để x c định dữ liệu đưa vào khi gọi chương trình con Trong một số ngôn ngữ lập trình cung c p hai loại chương trình con riêng... diem A:\n xa= ");scanf("%d",&xa); printf("\n ya= ");scanf("%d",&ya); printf("nhap toa do diem B:\n xb= ");scanf("%d",&xb); printf("\n yb= ");scanf("%d",&yb); printf("nhap toa do diem C: \n xc= ");scanf("%d",&xc); printf("\n yc= ");scanf("%d",&yc); xab=xa-xb;yab=ya-yb; xbc=xb-xc;ybc=yb-yc; 12 xac=xa-xc;yac=ya-yc; ab=sqrt(xab*xab+yab*yab); bc=sqrt(xbc*xbc+ybc*ybc); ac=sqrt(xac*xac+yac*yac); printf("\ndo... main() { int x; clrscr(); printf(“nhap so x =”); scanf(“%d”,&x); printf(“gia tri bieu thuc f(x) = %f ”,pow((x+3),1.0/3)+sin(x)/cos(x)); getch(); } Bài tập Lập chương trình đ c vào từ bàn phím tọa độ 3 điểm A,B ,C Tính độ dài c c đoạn thẳng AB, BC, CA #include #include #include void main() { int xa,ya,xb,yb,xc,yc,xab,yab,xbc,ybc,xac,yac; float ab,bc,ac; clrscr(); printf("nhap... nhiều chiều ta chỉ c n thêm kích thư c( số phần tử) ở chiều tiếp theo C ch khai báo mảng hai chiều: Tên_kiểu_dữ_liệu [kích_thư c_ cột]; int a[10] [15]; float b[100] [100]; tên_mảng[kích_thư c_ hàng] 3, C ch tổ ch c dữ liệu mảng tên máy và truy nhập c c phần tử Đối với mảng một chiều c c phần tử chứa dữ liệu đư c sắp xếp liên t c trong bộ nhớ máy, và mỗi phần tử sẽ c một chỉ số (là số thứ tự) c a phần tử... dùng c tiếp t c chương trình không Nếu c thì lập lại hành động trư c đó Nếu không thì kết th c chương trình #include #include void main() { int x; char ch; L: clrscr(); printf("nhap mot so bat ki: "); scanf("%d",&x); if(x%2 = =0)printf(“\nso do la so chan”); else printf(“\nso do la so le”); printf("\n co tiep tuc truong trinh ko (c/ k)?"); ch=getche(); if(ch = = 'c' )goto L; getch()... thể là một c u lệnh đ c lập ho c đặt trong biểu th c, nếu đặt trong biểu th c thì hàm đó phải c giá trị trả về để th c hiện tính toán biểu th c đó Ví dụ: printf(“Tong hai so 5 va 6 la: %d”,tong(5,6)); ho c : float x ; x = max(a,b) ; ho c : hien(); 31 Chú ý: Thông thường lời gọi hàm đư c viết trong chương trình chính, tuy nhiên c thể viết trong chương trình con kh c C c chương trình con c thể gọi . tin TC.EXE trong thư m c Bin c a TurboC Màn hình giao diện c a TurboC c dạng sau: 2, C c thao t c lập trình trên TurboC TC BIN INCLUDE LIB Chứa c c tệp tin chính c a chýõng trình trong đó c . Bài 1: Ngôn ngữ lập trình C I. C c khái niệm c bản 1. Bảng ký tự sử dụng trong C Bảng ký tự đư c sử dụng trong ngôn ngữ lập trình C bao gồm - Nhóm c c chữ c i: chữ in hoa A,B ,C ,Z và chữ in. trường lập trình TurboC 1 . Giới thiệu TurboC và khởi động 5 Sau khi c i đặt song ta c thư m c TC ho c TC30 trong thư m c này c c c thư m c con sau. Để khởi động chương trình này chúng ta chạy

Ngày đăng: 04/12/2014, 17:21

Xem thêm: Ngôn ngữ lập trình c

TỪ KHÓA LIÊN QUAN

w