Bấm Crl+O+U để chuyển đổi chế độ căn lẻ trỏi khi sử dụng phớm xoỏ BackSpace

Một phần của tài liệu Tổng quan về ngôn ngữ lập trình C (Trang 33 - 37)

Chương trỡnh sau khi viết xong cú thể biờn dịch, liờn kết và chạy tự động bằng cỏch bấm cựng lỳc Ci+Ƒ9. Nếu chương trỡnh viết đỳng nú sẽ được biờn dịch, liờn

kết và chạy ngay trong mụi trường kết hợp của Turbo C. Để cú thể dừng màn hỡnh để xem kết quả nhận được thỡ ở cuối hàm ;nz¿:, trước cõu lệnh rzwzrn ta cho thờm. để xem kết quả nhận được thỡ ở cuối hàm ;nz¿:, trước cõu lệnh rzwzrn ta cho thờm. cõu lệnh ge/cb(). Hoặc ta cú thể dựng chức năng i7ser screen bằng cỏch bấm Ai/-Ƒ'5 để xem kết quả khi chương trỡnh thực hiện xong.

1.4.4. Sửa lỗi cỳ phỏp và gỡ rối chương trỡnh

Cỏc chức năng sửa lỗi cỳ phỏp và gỡ rối chương trỡnh là một phần trong mụi trường kết hợp của Turbo C. Khi biờn dịch một chương trỡnh, nếu gặp lỗi, trỡnh biờn dịch sẽ thụng bỏo cỏc lỗi mắc phải trong cửa số Àessage ở cuối màn hỡnh (muốn cho cửa sổ này hiện toàn bộ màn hỡnh ia bấm F5). Khi chuyển con trỏ tới một lỗi nào đú trong đanh sỏch lỗi nhận được thỡ dũng lệnh tại nơi phỏt sinh ra lỗi đú cũng được đỏnh đấu, ta cú thể bấm E/er hoặc Ai-E để chuyển con trỏ tới chỗ cú lỗi và sửa theo thụng bỏo gợi ý của trỡnh biờn dịch. Cỏc lỗi này đều là lỗi về mặt cỳ phỏp. Cú những trường hợp, khi biờn dịch khụng cú lỗi nhưng chương trỡnh bị lặp vụ hạn hoặc cho kết quả sai. Cỏc lỗi loại này gọi là cỏc lỗi về mặt ứgic. Để cú thể sửa chữa cỏc lỗi logic trong Turbo C ta cần sử dụng chức năng gỡ rối chương trỡnh của mụi trường kết hợp đú là chức năng chạy chương trỡnh từng bước (#7 hoặc F8) và chức năng kiểm tra cỏc giỏ trị của biến (cửa sổ Waich). Muốn làm xuất hiện cửa số Watch bờn dưới màn hỡnh ta vào Ä#eứw con Windows rồi sau đú vào Watch. Để chuyển đổi giữa cỏc cửa số ta dựng #6. Trong quỏ trỡnh gỡ rối, để quan sỏt sự biến

đổi giỏ trị của một biến nào đú ta phải đưa tờn của biến đú vào trong cửa số Watch bằng cỏch chọn “Ađđ Wzrch” trong Menu ệreakjsaớch hoặc bấm Cữi-F7 sau đú nhập tờn biến và bấm Ezer. Mỗi lần nhập như vậy chỉ cú thể cho một biến mà thụi, muốn nhập cho nhiều biến ta phải lặp lại quỏ trỡnh trờn.

Để cú thể tỡm được nguyờn nhõn của cỏc lỗi /ogic, thụng thường ta cho chương

trỡnh chạy từng bước bằng F7 hoặc F8 sau đú quan sỏt sự thay đổi giỏ trị của cỏc biến

tương ứng trong cửa số Wứch, từ đú cú thể tỡm được nguyờn nhõn sai hụng.

Trong quỏ trỡnh gỡ rối ta cũng cú khả năng thay đổi giỏ trị của một biến nào

đú để quan sỏt những thay đối trờn cỏc biến khỏc bằng cỏch đựng cửa số

EVALUATION trong Menu Debug hoặc bấm Cir-F4 khi đú trờn màn hỡnh sẽ hiện ra cửa sổ như hỡnh 1.3. —— Eualuate L- [ Result - Neu ualựe

Hỡnh 1.3. Cửa số Evaluation dựng để thiết lập lại giỏ trị cho cỏc biến.

Nhập tờn biến cần thay đổi giỏ trị trong hộp Evaluate, khi đú giỏ trị hiện thời của biến sẽ hiện trong hộp Resuir. Nhập giỏ trị mới của biến vào hộp New value sau đú trở về cửa số Watch để quan sỏt sự thay đổi giỏ trị của cỏc biến khỏc bằng bấm ESC, hoặc cú thể xem trực tiếp trong cửa sổ Evaluation bằng cỏch gừ tờn cỏc biến mới vào hộp Evyaiuzre rồi quan sỏt giỏ trị trong hộp Resuit.

Để kết thỳc quỏ trỡnh gỡ rối, bấm C¿ri-Ƒ2 hoặc vào Menu Run chọn Program reset. Khi đú bộ nhớ dựng cho việc gỡ rối sẽ được giải toọ.

Chỳ ý:

Chương trỡnh biờn dịch cú thể sinh ra những thụng bỏo lỗi khụng chớnh xỏc từ một lỗi trước đú. Do đú sau khi sửa xong một số lỗi nào đú ta nờn biờn dịch lại (bấm F9) để bỏ đi những dũng thụng bỏo thừa trong cửa sổ Message.

1.5. MỘT SỐ VÍ ĐỤ MINH HOẠ VÀO RA

Vớ đụ 1-20. Lập trỡnh để mỏy núi chuyện với người sử dụng. Mỏy “núi” bằng cỏc cõu lệnh trờn màn hỡnh, cũn người sử dụng “núi” bằng cỏch gừ vào từ bàn phớm. Nội dung cuộc núi chuyện tuỳ thớch.

[l0 00000000)00000000000000000000000000000000000000000000000077 #inelude "stdio.h”

#include “conio.h"

2 138019491 Xer HT KKERTEEXEEkKEAEEEOHEELEEEEeek x//

int main(Q)

char traloi[20], ten[2S];

prinf(^AnHom nay troi đep qua. Ban tu đau đen vay ?\”); qets(traloi);

brintf(”Toi cung co anh ban o_%s', traloi);

brintf(“nBan ten la gi 2W"); gets(ten);

printf(“Chao ban %s", ten), printf( “Ban khoe chu ?\n”); gets(traloi);

brintf(“Toi dang ban di hoc, hen ban %s lan sau nhe.”, , ten);

printf(AnTam bietl"); getchQ;

teturn 0; 38

2. X1 krkkkkkxk XS EEKEOEEETSEEXELEEKEkVkRknfnhketnerttksf 1/ Kết quả chạy chương trỡnh:

Hom nay troi dep qua. Ban tu dau den vay? Hai Phong

ơi cung co anh ban ứ Hai Phong

'Ten ban la gớ?

Nguyen Van A

Chao ban Nguyen Van A.

Ban khoe chu ? '

Toi dang ban di học, hen ban Nguyen Van A lan sau nhe. Tam bietl

2 #2 t998411115115721XKKL.AY+RRESEKEE10047149111 KTS AERBRRkUfnEik 1// Vớ dụ 1-21. /*Chương trỡnh mỡnh hoạ nếu khụng dựng đỳng kớ tự chuyển dạng trong prinf{) thỡ kết quả in ra sẽ sai*/

j8 trnttterrkrtkktkkie1T41117TTT141111..1411120T100110T4.11111TKETKEELE Aƒ #include “stdio.h” #include “conio.h” ƒR t9thterrrrxrrtkekxkkkktx1142111111711111142111.0/104 1101.1911 XƑ int mainQ { int x=10; long y=3478925, printf(Anx=%10ldỡny=%10đ”, x, v); getch0; return 0; J4 *13111x111111T1TC1147141181211127T711-1-011110070T814110811% T/

Kết quả chạy chương trừnh: x=361562122

y= s3

n 9998011101110 01111 T1111-14071011140000014491001107 1.29000111109199 S/ Vớ dụ 1-22. “Chương trỡnh dựng sơi đặc rổ trong cõu lệnh scz/[), mặc đầu khụng bị bỏo lỗi nhưng khi chạy cho kết quả sai*/

D cmnannnnnniininnnnn00000000000000000000000000/) #include “stdio.h”

#include “conio.h” th R11 xr tk KCTE KH T.1.11490911K2217444191< Mƒ int main int a; long b; Tioaf X; đouble y; printf(AnNhap a, b, x, y\n”);

scanf(“%Id%d%lf%f”, &a, &b, &x, &y);

printf(ia=% 10d\nb=% 10ld\nx=%10.2fAny=%10.2f, a, b, x, y); getch0;

return 0; }

[là hNNNgGininnn0innn0nnnnnn00000nn0000000000n000nn006nE) Kết quả chạy chương trỡnh:

Nhap a, b, x, y 2346 447895 347 246 a= 2346 b= 119592343 x= 0.00 y= 5.549683991018940230000000000000000000000e+191 /Ê xttfteeeekkseeerrrerrkeeeetreekkeeererrrrrxk.41..0700144010002150581998 47

16. CÂU HỎI VÀ BÀI TẬP

1.

mđhbm

"mm

8. 9.

Điểm khỏc biệt giữa tờn trong ngụn ngữ lập trỡnh C và trong Pascal là gỡ? cho vớ đụ.

Đặt 10 tờn hợp lệ trong ngụn ngữ lập trỡnh C. Hóy viết 15 tờn khỏc nhau từ cỏc chữ cỏi A và a. Ngụn ngữ lập trỡnh C cú những đặc trưng gỡ?

Trong ngụn ngữ lập trỡnh C cú những kiểu dữ liệu chuẩn nào? cỏch sử đựng của từng loại đú?

Khối lệnh dựng để làm gỡ, vai trũ của nú trong chương trỡnh 2

Trỡnh bày về phạm vị sử dụng và thời gian tồn tại của một biến. Vai trũ của chỳng trong chương trỡnh.

Cú những loại hằng nào? cỏch định nghĩa và sử dụng của tờn hằng và biến hằng.

Đặc trưng của một cõu lệnh trong ngụn ngữ lập trỡnh C là gỡ ? 10. Hóy thực hiện cỏc vớ đự mẫu bằng mỏy tớnh.

11. Tỡm chỗ sai trong đoạn chương trỡnh sau đõy: #include “stdio.h”

maain0

printf(Ana=%10.0f, b=%10d, c=%10ld, d=%10d”, -3456, 25e3, 4635, 456398461);

}

Sửa lại cho đỳng rồi thực hiện trờn mỏy tớnh. 12. Viết chương trỡnh in một đồng với nội dung sau:

N=265

Bằng cỏch sử dụng cỏc loại hằng khỏc nhau: hằng dấu phẩy động, hằng nguyờn, hằng long, hằng nguyờn hệ 8, hằng nguyờn hệ 16, hằng kớ tự và hằng xõu kớ tự.

13. Tỡm cỏc chỗ sai trong đoạn chương trỡnh sau: Float a, b=2; Float a, b=2;

int a=10;

fioat c=a*b, d=a+b;

}

printf(^na=%10.2d, b=%10.2f, c=%f, d=%10.2f”, a, b, œ, d);

} .

Sửa chữa và bổ sung để được một chương trỡnh hoàn thiện, sau đú thực

hiện trờn mỏy tớnh. \

14. Cho 3 số A=555; B=-4.3; C=2100000000. Hóy viết chương trỡnh đưả cỏc dữ liệu này vào mỏy bằng hằng sau đú đưa ra màn hỡnh theo quy cỏch dựng 14 vị trớ trong đú cú 3 số lẻ nếu là số thực.

15. Viết chương trỡnh nhập họ tờn, ngày thỏng năm sinh của một học sinh vào mỏy rồi đưa ra màn hỡnh, mỗi đữ liệu trờn một đồng.

16. Viết chương trỡnh nhập một kớ tự chữ thường từ bàn phớm, sau đú đưa ra màn hỡnh ở đạng chữ hoa.

17. Viết lại chương trỡnh vớ dụ 1-20 với nội dung phong phỳ hơn.

18. Thực hành sử dụng cỏc tiện ớch gỡ rối của Turbo C để tỡm ra chỗ sai của

chương trỡnh dựng để hoỏn vị nội dung của hai biến sau đõy:

#include "stdio.h" #include “conio.h" void HoanVi(int, Iné; int main(void)

{

inta, b;

printf(^nHay nhap hai so nguyen a va b \n”); scanf(°%d%d",&a, &b),

printf“nGia trỡ cua a truoc khi hoan vi laAna= %10d”, a), printff+nGia trỡ cua b truoc khi hoan vớ laÀnb= %10d”, b);

HoanVi(a,b),

primf(nGia trớ cua a sau khi hoan vỡ la:\na= %10đ", a); printf(^AnGia trỡ cua b sau khi hoan vớ la\nb= %10d”, b); getch0;,

return 0; }

void HoanVi(int a, int b)

Một phần của tài liệu Tổng quan về ngôn ngữ lập trình C (Trang 33 - 37)