iáo trình môn học “Lập trình cơ bản” được biên soạn theo các nguyên tắc: Tính
định hướng thị trường lao động, tính hệ thống và khoa học, tính ổn định và linh hoạt,
hướng tới liên thông, chuẩn đào tạo nghề trong nước và thế giới, tính hiện đại và sát
thực với sản xuất.
Nội dung giáo trình này gồm 7 chương: Cung cấp cho sinh viên những khái niệm
cơ bản về ngôn ngữ lập trình C: câu lệnh, từ khóa, cú pháp, cách khai báo và sử
dụng biến, hàm và các cấu trúc lệnh trong ngôn ngữ C;Hiểu được ý nghĩa, cách khai
báo, cách truy xuất với một số cấu trúc dữ liệu;Biết được một số thuật toán để xử lý
một số yêu cầu đơn giản; Cài đặt được một số chương trình ứng dụng đơn giản
bằng ngôn ngữ lập trình C;Đọc hiểu và chỉnh sửa các chương trình C có sẵn;
              
                                            
                                
            
 
            
                 51 trang
51 trang | 
Chia sẻ: phuongt97 | Lượt xem: 657 | Lượt tải: 0 
              
            Bạn đang xem trước 20 trang nội dung tài liệu Giáo trình Lập trình cơ bản (Phần 1), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
của biểu thức gán 
 chính là giá trị của biến. 
 VD: int x,y; 
 y = x = 3; /*y luc nay cung bang 3*/ 
  Ta có thể gán giá trị cho biến được khai báo theo cách thức sau: 
 = ; 
 VD: int x=10, y = x; 
6.3 Nhập xuất dữ liệu 
  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 đó: 
 - Đ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 
 Ví dụ: 
 printf(“%d”,65); 
 thì kết quả hiện ra màn hình sẽ là: 65 
 printf (“%c”,65); 
 29 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 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 
  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ớ); 
 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 . 
 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ú ý: 
 30 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 - 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ố. 
6.4. Các lệnh toán học 
 Các lệnh toán học cung cấp bởi thư viện do vậy phải khai báo nạp 
 thư viện ở đầu chương trình. 
 Tên lệnh Ý nghĩa 
 sin(E); Tính sin của E 
 cos(E); Tính cos của E 
 pow(E1,E2); Tính lũy thừa E2 của E1 
 sqrt(E); Tính căn bậc hai của E 
 abs(E); Tính trị tuyệt đối của E nguyên 
 fabs(E); Tính trị tuyệt đối của E thực 
 E là một biểu thức hay giá trị. 
 Ví dụ 1: 
 printf(“hay nhap vao mot so nguyen”); 
 scanf(“%d”,&a); 
 printf(“can bac hai cua %d la:%f”,a,sqrt(a)); 
6.5. Một số lệnh làm việc với màn hình và bàn phím 
 Để sử dụng được lệnh làm việc với màn hình và bàn phím ta phải lạp thư viện 
 ở đầu chương trình. 
 Tên lệnh Ý nghĩa 
 clrscr(); Xóa màn hình 
 textcolor(m); Đặt mầu chữ 
 textbackground(m) ; Đặt mầu nền cho chữ 
 31 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 getch(); Chờ bấm một phím không hiện nên màn hình 
 getche(); Chờ bấm một phím có hiện lên màn hình 
 wherex(); Cho biết tọa độ cột hiện thời của con trỏ nháy 
 wherey(); Cho biết tọa độ dòng hiện thời của con trỏ 
 nháy 
 textmode(m); Đặt chế độ văn bản hiển thị lên mà hình 
 Ví dụ: 
 textcolor(red); 
 cprintf (“Yen Bai ”); 
 textcolor(blue); 
 printf(“Ngay 12 thang 09 nam 2009”); 
 Hiện lên màn hình dòng chữ “Yen Bai” mầu đỏ, dòng chữ “Ngay 12 thang 09 
 nam 2009” mầu xanh. 
7. Thực thi chương trình 
 - 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 
 #include 
 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 
 Trước khi chạy chương trình ta nhấn F9 để kiểm tra lỗi nếu phát hiện lỗi các bạn 
nên đọc thông báo lỗi, kiểm tra xem có bao nhiêu lỗi và tại vị trí nào và khắc phục lỗi, 
hộp thoại thông báo hiện ra như sau: 
 32 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 Hình 2.7: Hộp thoại thông báo lỗi khi chạy chương trình 
 Để thực hiện chương trình hãy dùng Ctrl + F9 (Nhấn đồng thời phím Ctrl và 
phím F9). 
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 Chưa viết chương trình chính hoặc viết tên 
c0.asm 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 Chưa có dấu nháy kép kết thúc viết hằng 
constant 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 
BÀI TẬP THỰC HÀNH 
Bài tập 1: 
 33 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 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 
 #include 
 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); 
 getch(); 
 } 
 Bài tập 2 
 Viết chương trình nhập vào từ bàn phím 5 số nguyên. Hiện 5 số vừa hập ra màn 
 hình và trung bình cộng 5 số đó. 
 #include 
 #include 
 void main() 
 { 
 int a1,a2,a3,a4,a5; 
 clrscr(); 
 printf("nhap so thu nhat a1= ");scanf("%d",&a1); 
 printf("\nnhap so thu hai a2= ");scanf("%d",&a2); 
 printf("\nnhap so thu 3 a3= ");scanf("%d",&a3); 
 printf("\nnhap so thu 4 a4= ");scanf("%d",&a4); 
 printf("\nnhap so thu 5 a5= ");scanf("%d",&a5); 
 printf("5sovuanhapla:%d %d %d %d %d ",a1,a2,a3,a4,a5); 
 printf("\ntrungbinhcong5sovuanhapla:%f",(a1+a
 2+a3+a4+a5)/5.0); 
 getch() ; 
 34 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 } 
 Bài tập 3 
 Nhập x từ bàn phím, tính f(x), đưa kết quả ra màn hình. 
 f (x)  3 x 3 tg(x) 
 Nội dung chương trình 
 #include 
 #include 
 #include 
 Void 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 4: 
 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 toa do diem A:\n xa= ");scanf("%d",&xa); 
 printf("\n ya= ");scanf("%d",&ya); 
 35 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 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; 
 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 dai doan thang AB la: %f",ab); 
 printf("\ndo dai doan thang BC la: %f",bc); 
 printf("\ndo dai doan thang AC la: %f",ac); 
 getch() ; 
} 
 36 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 CHƯƠNG 3: CÁC LỆNH CẤU TRÚC 
1. Cấu trúc rẽ nhánh 
 Lệnh rẽ nhánh cho phép chương trình thực hiện các khối lệnh tùy theo từng 
trường hợp cụ thể. 
 1.1. Dạng đầy đủ 
 Lệnh rẽ nhánh này cho phép rẽ hai nhánh ứng với trường hợp đúng hoặc sai của 
biểu thức trọn, cách viết như sau: 
 Cú pháp: 
 if(điều_kiện_lựa_trọn) 
 Hành_động_1; 
 else 
 hành_động_2; 
Trong đó: 
 - Điều kiện lựa trọn: Là biểu thức logic có giá trị đúng hoặc sai 
 - Hành động 1 và 2: Là các khối lệnh để thực hiện cho trường hợp 1 và 2 tương 
 ứng. 
 Sơ đồ khối: 
 đúng Biểu_thức sai 
 Hành động 1 Hành động 2 
 Chức năng: 
 Máy sẽ thực hiện hành động 1 nếu điều kiện lựa chọn có giá trị dúng, ngược 
 lại máy sẽ thực hiện hành động 2. 
 Ví dụ: 
 if(x%2 ==0) 
 printf(“ so x là so chan”); 
 else 
 37 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 printf(“so x la so le”); 
 1.2. Dạng không đầy đủ 
 Cú pháp câu lệnh 
 if(điều_kiện_lựa_trọn) 
 Hành_động; 
 Trong đó: 
 Điều_kiện_lựa_chọn và Hành_động tương tự như trong câu lênh if ở dạng đầy 
 đủ. 
 Sơ đồ khối 
 Biểu thức Sai 
 Đúng 
 Hành động 
Nguyên tắc hoạt động: 
 Đầu tiên máy tính toán giá trị của biểu thức. Nếu biểu thức trả về giá trị đúng 
thì máy tiến hành thực hiện công _việc sau đó tiến hành thực hiện các câu lệnh tiếp 
theo sau câu lệnh if. Nếu biểu thức trả về giá trị sai thì máy bỏ qua việc thực hiện 
công_việc trong câu lệnh if mà tiến hành thực hiện ngay các công việc sau câu lệnh 
if. 
Chú ý: 
 - Mỗi hành động có thể có một hoặc nhiều lệnh, nếu nhiều lệnh phải có cặp dấu 
 đóng mở ngoặc nhọn { } 
ví dụ: 
 int a,b; 
 printf("Nhap vao gia tri cua 2 so a, b!"); 
 scanf("%d%d",&a,&b); 
 if (a>b) 
 { 
 printf("\n Gia tri cua a lon hon gia tri cua b"); 
 38 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 printf("\n a=%d, b=%d",a,b);} 
2.Cấu trúc lựa chọn 
 Lệnh switch cho phép rẽ nhiều nhánh với các trường hợp bằng xảy ra khi so 
 sánh biểu thức chọn với các giá trị trong từng trường hợp đó. 
 Cú pháp: 
 switch(biểu_thức_chọn) 
 { 
 case giá_trị_1: hành động 1;[break;] 
 case giá_trị_2: hành động 2;[break;] 
 . 
 case giá_trị_k: hành động k;[break;] 
 default: hành động x; 
 } 
 Trong đó: 
 - Biểu thức trọn: là biểu thức dạng đếm được có thể là số nguyên hoặc ký tự, 
 dùng để so sánh lựa trọn. 
 - Các giá trị 1,2,,k là các giá trị số nguyên hoặc ký tự để so sánh. 
 - Các hành động 1,2,,k là các khối lệnh để thực hiện ứng với từng trường hợp 
 trên. 
 - Từ khóa break sau mỗi hành động để kết thúc lệnh sau mỗi trường hợp sẩy ra. 
 Có thể có hoặc không có các từ khóa break này. 
Chức năng: 
 Máy sẽ so sánh biểu thức trọn lần lượt với các giá trị 1, giá trị 2, giá trị 3, giá trị 
 k. Nếu gặp một giá trị i(i=1,2,..,k) nào đó bằng giá trị biểu thức chọn thì máy sẽ thực 
 hiện các hành động đứng sau giá trị i đó đến khi gặp từ khóa break hoăc hết mọi 
 hành động có trong lệnh switch. Nếu tất cả các trường hợp từ 1 đến k không sẩy ra 
 điều kiện bằng thì mặc định máy sẽ thực hiện hành động X sau từ khóa default. 
 39 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 Sơ đồ khối: 
Chú ý: 
 - Lệnh switch có thể không có phần từ khóa default và khối lệnh x, khi đó máy 
 sẽ không làm gì trong trường hợp không xẩy ra điều kiện bằng giữa biểu thức 
 trọn và giá trị tương ứng của case. 
Ví dụ: 
 switch(t) 
 { case 1: printf(“chu nhat”);break; 
 case 2: printf(“thu 2”);break; 
 40 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 case 3: printf(“thu 3”);break; 
 case 4: printf(“thu 4”);break; 
 case 5: printf(“thu 5”);break; 
 case 6: printf(“thu 6”);break; 
 case 7: printf(“thu 7”);break; 
 default: printf(“khongla mot ngay trong tuan”); } 
3. Cấu trúc lặp 
 Lệnh lặp cho phép máy thực hiện một hành động nào đó lặp lại nhiều lần, mặc 
dù chúng ta chỉ viết một lần, ngôn ngữ C có các lệnh lặp sau đây. 
3.1 Cấu trúc lặp for 
 Cú pháp: 
 for (nhóm lệnh 1;biểu thức 2; nhóm lệnh3) 
 Hành động lặp; 
Trong đó : 
 - Các nhóm lệnh 1,2,3 là các lệnh điều khiển trong quá trình lặp của for 
 - Hành động lặp là khối lệnh để máy tính thực hiện lặp lại nhiều lần. 
Sơ đồ khối: 
Chức năng: 
 41 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 Máy thực hiện nhóm lệnh 1 duy nhất một lần đầu tiên, sau đó thực hiện tính biểu 
thức 2 và nếu kêt quả tương ứng với giá trị đúng thì máy thực hiện hành đông lặp, 
tiếp theo máy thực hiện nhóm lênh 3, và lặp lại kiểm tra biểu thức 2 cho đến khi kết 
quả tương ứng với giá trị sai. 
Ví dụ: 
 for(i=1;i<5;i++) 
 printf(“\n i= %d”,i); 
Sẽ hiện ra các số nguyên từ 1 đến 4 ra màn hình. 
 for (i = 4;i>=1;i--) 
 printf(“\n i = %d”,i); 
Sẽ hiện các số nguyên từ 4 xuống 1 ra màn hình. 
Chú ý: 
 - Trong hành động lặp có thể có một lệnh hoặc nhiều lệnh, nếu có nhiều lệnh thì 
 phải có cặp dấu mở đóng ngoặc nhọn {} để tạo khối 
 - Trong lệnh này chỉ có nhóm lệnh 1 được thực hiện một lần đầu tiên, còn lại các 
 biểu thức 2 và nhóm lệnh 3 và hành động lặp, sẽ thực hiện nhiều lần trong quá 
 trình lặp. 
 - Các nhóm lệnh 1, 3 và biểu thức 2 có thể không xuất hiện trong lênh for nhưng 
 phải có dấu chấm phẩy (;) khi đó nếu không có biểu thức 2 thì máy sẽ xem như 
 điều kiện lặp luôn luôn đúng và sẽ lặp vô tận. 
 - Trong mỗi nhóm lệnh 1 và 3 có thể có nhiều lệnh cách nhau bởi dấu phẩy đối 
 với biểu thức 2 có thể thay đổi bằng một nhóm lệnh và khi đó máy sẽ lấy kết 
 quả của lệnh cuối cùng làm điều kiện lặp hoặc dừng. 
3.2 Cấu trúc lặp while, do while 
  Lệnh While 
Cú pháp 
 while (điều kiện lặp) 
 Hành động lặp; 
Trong đó: 
 - Điều kiện lặp : là biểu thức so sánh hoặc biểu thức nguyên 
 42 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 - Hành động lặp: là các lệnh sẽ được thực hiện hiều lần trong quá trình lặp, nếu 
 có nhiều lệnh phải có dấu { } để đóng khối. 
 Sơ đồ khối 
 đúng 
 Điều kiện Hành động lặp 
 lặp 
 sai 
Chức năng: 
 Trong khi điều kiện lặp vẫn có giá trị đúng thì máy sẽ lặp thực hiện khối lệnh, và 
 sẽ dừng lại nếu điều kiện sai 
Ví dụ: 
 x=1; y=10; 
 while(x<y) 
 { 
 printf(“\n x = %d va y = %d”,x,y); 
 x +=2;y--; 
 } 
Chú ý: 
 Nếu hành động sai ngay từ đầu thì máy sẽ không thực hiện hành động lặp dù 
chỉ một lần. 
  Lệnh do while 
Cú pháp: 
 do{ 
 hành động lặp; 
 }while(điều kiện lặp); 
Trong đó: 
 hành động lặp và điều kiện lặp giống như lệnh while ở trên 
 43 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
Sơ đồ khối 
 Hành động lặp 
 đúng 
 Điều kiện 
 sai 
Chức năng: 
 Máy sẽ thực hiện hành động lặp nhiều lần cho đến khi điều kiện lặp có giá trị 
sai. 
Ví dụ: 
 x=1; y=10; 
 do{ 
 printf(“\n x=%d và y=%d”,x,y); 
 x+=2;y--; 
 } while(x<y); 
Chú ý: 
 - Hành động lặp ít nhất được thưc hiện một lần dù cho điều kiện lặp luôn có giá 
 trị sai vì máy kiểm tra điều kiện lặp sau khi thực hiện hành động lặp, điều này 
 khác với lệnh while. 
4. Các lệnh đặc biệt 
4.1. Lệnh Break 
 Lệnh break có tác dụng dừng vòng lặp (for ,while, do-while) trong mọi trường 
hợp. 
 44 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
4.2. Lệnh continue 
 Lệnh continue làm cho chương trình bỏ qua phần còn lại của vòng lặp và nhảy 
sang lần lặp tiếp theo. Những câu lệnh viết sau lệnh continue sẽ không được thực 
hiện. 
4.3. Lệnh goto 
 Lệnh goto: Lệnh này cho phép nhảy vô điều kiện tới bất kỳ điểm nào trong 
chương trình. 
Ví dụ: 
 Nhập vào từ bàn phím 1 số bất kì. Kiểm tra số đó là chẵn hay lẻ, hiện kết quả 
lên màn hình. Sau khi hiện song hỏi người 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("\ncotieptuc truong trinh ko(c/k)?"); 
 ch=getche(); 
 if(ch =='c') goto L; 
 getch() 
 } 
 45 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 BÀI TẬP THỰC HÀNH 
Bài tập 1 
Viết chương trình giải bất phương trình bậc nhất: ax + b > 0 
#include 
#include 
void main() 
 { 
 int a,b; 
 clrscr(); 
 printf("nhap he so a = ");scanf("%d",&a); 
 printf("nhap he so b = ");scanf("%d",&b); 
 if(a = =0) 
 { 
 if(b > 0) printf("\n BPT luon dung voi moi x"); 
 else printf("\n BPT vo nghiem"); 
 } 
 if(a > 0) printf("\nNghiemcuaBPTla:x>%f",-b*1.0/a); 
 if(a < 0) printf("\nNghiemcuaBPTla:x<%f",-b*1.0/a); 
 getch() ; 
} 
Bài tập 2 
Viết chương trình giải phương trình bậc hai 
#include 
#include 
#include 
void main() 
{ 
 int a,b,c; 
 float d,x1,x2; 
 46 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 clrscr(); 
 printf("nhap he so a= ");scanf("%d",&a); 
 printf("nhap he so b= ");scanf("%d",&b); 
 printf("nhap he so c= ");scanf("%d",&c); 
 if(a == 0) 
 printf("\nkhong phai la phuong trinh bac hai "); 
 else 
 { 
 d=b*b-4*a*c; 
 if(d < 0) 
 printf("\nphuong trinh vo nghiem"); 
 else 
 if(d = = 0) 
 printf("\nphuongtrinhconghiemkepx1,2=%f",b/2.0*a); 
 else 
 { 
 printf("\n Nghiem cua phuong trinh la:"); 
 printf("\n x1= %f",(-b+sqrt(d))/2.0*a); 
 printf("\n x2= %f",(-b-sqrt(d))/2.0*a); 
 } 
 } 
 getch() ; 
} 
Bài tập 3 
 Viết chương trình đọc vào từ bàn phím một số nguyên n(1  n  10) rồi đưa ra 
tiếng anh của số đó. Chẳng hạn, nếu gõ vào n = 2 thì đưa ra: 2 -> TWO 
#include 
#include 
void main() 
{ 
 int so; 
 47 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 clrscr(); 
 printf("hay nhap vao mot so:(tu 1->10): "); 
 scanf("%d",&so); 
 switch(so) 
 { 
 case 1:printf("\n so 1 tieng anh la ONE");break; 
 case 2:printf("\n so 2 tieng anh la TWO");break; 
 case 3:printf("\nso 3 tieng anh la THREE");break; 
 case 4:printf("\n so 4 tieng anh la FOUR");break; 
 case 5:printf("\n so 5 tieng anh la FIVE");break; 
 case 6:printf("\n so 6 tieng anh la SIX");break; 
 case 7:printf("\nso 7 tieng anh la SEVEN");break; 
 case 8:printf("\nso 8 tieng anh la EIGHT");break; 
 case 9:printf("\n so 9 tieng anh la NINE");break; 
 case 10:printf("\nso 10 tieng anh la TEN");break; 
 default: printf("\n nhap du lieu sai"); 
 } 
 getch() ; 
} 
Bài tập 4 
 Nhập vào một số n từ bàn phím, hiện lên màn hình các số chẵn và lẻ từ 1 đến 
n (hiện hết số chẵn rồi mới hiện số lẻ). 
#include 
#include 
void main() 
{ 
 int n,i; 
 clrscr(); 
 printf("Nhap vao so n= ");scanf("%d",&n); 
 printf("\n Cac so chan tu 1 den %d la: ",n); 
 for(i=1; i<=n;i++) 
 48 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 if(i%2 = =0)printf(" %d",i); 
 printf("\n Cac so le tu 1 den %d la:",n); 
 for(i=1;i<=n;i++) 
 if(i%2!=0)printf(" %d",i); 
 getch() ; 
 } 
Bài tập 5 
 1 1 1 1
Nhập n, tính tổng S=1+    ...  (n số hạng) 
 2 3 4 n
#include 
#include 
void main() 
 { 
 int i, n; 
 float s = 0; 
 clrscr(); 
 printf(“\n nhap n= ”); scanf(“%d”,&n); 
 for(i=1;i<=n;i++) 
 s = s + 1.0/i; 
 printf(“\n Tong la: %f”,s); 
 printf(“\n nhan mot phim bat ki de thoat ”); 
 getch(); 
 } 
Bài tập 6 
 Lập chương trình nhập một dãy các số nguyên vào từ bàn phím cho đến khi 
gặp số 0, tính tổng các số dương và trung bình cộng các số âm. 
#include 
#include 
void main() 
{ 
 int i=1,so,dem = 0; 
 49 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 float tong_duong = 0,tong_am = 0; 
 clrscr(); 
 printf("\nnhap vao mot day cac so nguyen:"); 
 do 
 { 
 printf("\nnhap so thu %d: ",i); 
 scanf("%d",&so); 
 if(so>0)tong_duong = tong_duong+so; 
 else 
 { 
 tong_am = tong_am + so; 
 if(so!=0)dem++; 
 } 
 i++; 
 }while(so!=0); 
 printf("\ntong cac so duong la: %f",tong_duong); 
 if(dem!=0) 
 printf("\nTBC cac so am la: %f",tong_am/dem); 
 getch() ; 
} 
Bài tập 7 
 Lập chương trình tìm các số có 3 chữ số sao cho số đó bằng tổng lập phương các 
chữ số của nó 
#include 
#include 
#include 
void main() 
{ 
 int i =100, tram,chuc,donvi; 
 clrscr(); 
 50 
Giáo trình: Lập trình cơ bản Trường Cao đẳng nghề Yên Bái 
 printf("cac so tim duoc la:\n"); 
 do{ 
 tram=i/100; 
 chuc=(i%100)/10; 
 donvi=(i%100)%10; 
 if(i==(pow(tram,3)+pow(chuc,3)+pow(donvi,3))) 
 printf(" %d",i); 
 i++; 
 }while(i<1000); 
 getch(); 
 } 
 51 
            Các file đính kèm theo tài liệu này:
 giao_trinh_lap_trinh_co_ban_phan_1.pdf giao_trinh_lap_trinh_co_ban_phan_1.pdf