intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

ĐỀ CƯƠNG NGÔN NGỮ LẬP TRÌNH C

Chia sẻ: Nguyen Van Nam | Ngày: | Loại File: DOC | Số trang:22

147
lượt xem
10
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Trỡnh bày một số quy tắc cần thiết khi viết chương trỡnh băng ngôn ngữ C? Cho VD minh họa? Trả lời: *Các Quy tắc cần thiết khi viết chương trình bàng ngôn ngữ lập trình C: Quy tắc 1: Mỗi câu lệnh có thể viết trên một hay nhiều dòng nhưng phải được kết thúc bằng dấu chấm phẩy ; Quy tắc 2: Khi viết lời giải thích cần phải đặt lời giải thích giữa dấu /* và dấu */ và có thể được viết...

Chủ đề:
Lưu

Nội dung Text: ĐỀ CƯƠNG NGÔN NGỮ LẬP TRÌNH C

  1. ĐỀ CƯƠNG NGÔN NGỮ LẬP TRèNH C ( Cao Đẳng ) By: Huy05dt2@gmail.com Cõu 1: Trỡnh bày một số quy tắc cần thiết khi viết chương trỡnh băng ngôn ngữ C? Cho VD minh họa? Trả lời: *Các Quy tắc cần thiết khi viết chương trình bàng ngôn ngữ lập trình C: Quy tắc 1: Mỗi câu lệnh có thể viết trên một hay nhiều dòng nhưng phải được kết thúc bằng dấu chấm phẩy ; Quy tắc 2: Khi viết lời giải thích cần phải đặt lời giải thích giữa dấu /* và dấu */ và có thể được viết - Trên một dòng: sử dụng dấu // ( nội dung chú thích ). VD: int x ; // biến chứa số đếm - Trên nhiều dòng: /* nội dung …………… */ VD: int x ; /*biến chứa số đếm ………………….. ………………*/ Quy tắc 3: Trước khi sử dụng một hàm cần biết nó nằm trong thư viện nào và phải dùng toán tử #include nạp thư viện đó vào chương trình. VD: để dùng hàm printf() ta phải nạp thư viện stdio.h như sau: #include “stdio.h” Quy tắc 4: Một chương trình có thể có nhiều hàm nhưng chỉ có duy nhất một hàm chính (hàm main) Cõu 2: trỡnh bày cỏc kiểu dữ liệu trong ngụn ngữ C, cho vớ dụ.? Trả lời: -Kiểu char ( kiểu ký tự ) VD: unsigned 0 ữ 255. -Kiểu nguyờn . VD: unsigned short 0 – 65535. -Kiểu dấu phẩy động VD: float 3.4E – 38 đến 3.4E+38. Cõu 3 : Trỡnh bày khỏi niệm kiểu hằng, cấu trỳc khai bỏo hằng trong ngụn ngữ C. cho vớ dụ minh họa?. Trả lời: -Hằng là các đại lượng cố định không thay đổi trong khi tính toán. -Cấu trỳc: # define -VD: #define max 100 #define sodem //kiểu nguyờn #define KT ‘A’ // kiểu giỏ trị Cõu 4: trỡnh bày khỏi niệm kiểu biến, cấu trỳc khai bỏo biến?. cho vớ dụ minh họa?. Trả lời: - Biến là giá trị có thể thay đổi được trong khi tính toán, và được khai báo trước khi sử dụng. -Cấu trỳc: < kiểu biến > -VD: int a,b,c; // khai bỏo biến kiểu nguyờn long y; // khai bỏo biến kiểu long. unsigned char z; // khai bỏo kiểu kớ tự By: Huy05dt2@gmail.com
  2. Cõu 5: Trỡnh bày khỏi niệm mảng dữ liệu?. cấu trỳc khi khai bỏo kiểu mảng. ?cho vớ dụ minh họa.? Trả lời: - Mảng là tập hợp cỏc phần tử cú cựng 1 dữ liệu và cựng 1 tờn. - Cấu trỳc: kiểu mảng < tờn mảng> [ số phần tử ] - VD: int A[ 10 ]; //khai bỏo mảng kiểu nguyờn 10 phần tử Cõu 6: Trỡnh bày phương pháp lấy địa chỉ của biến và địa chỉ của mảng , phần tử mảng. Cho vớ dụ minh họa? Trả lời: - Mỗi biến được cấp phát một vùng nhớ gồm một số byte liên tiếp. Số hiệu của byte đầu chính là địa chỉ của biến. Địa chỉ của biến sẽ được sử dụng trong một số hàm ta sẽ nghiên cứu sau này (Ví dụ như hàm scanf ). Để lấy địa chỉ của một biến ta sử dụng phép toán : & tên biến -Địa chỉ đầu của một mảng Tên mảng biểu thị địa chỉ đầu của mảng. Như vậy ta có thể dùng a thay cho &a[0]. - Lấy địa chỉ một phần tử của mảng Có một vài hạn chế trên các mảng hai chiều. Chẳng hạn có thể lấy địa chỉ của các phần tử của mảng một chiều, nhưng nói chung không cho phép lấy địa chỉ của phần tử của mảng hai chiều. Như vậy máy sẽ chấp nhận &a[i] nhưng không chấp nhận phép tính &y[i][j]. Câu7: Trình bày khái niệm về cấu trúc hàm, cấu trúc hàm tả lại giá trị và hàm không trả lại giá trị. Cho ví dụ minh họa? Trả lời: - Khái niệm: Hàm có thể xem là một đơn vị độc lập của chương trình. Các hàm có vai trò ngang nhau, vì vậy không có phép xây dựng một hàm bên trong các hàm khác.. Xây dựng một hàm bao gồm :-Khai báo kiểu , đặt tên hàm , khai báo các đối và đưa ra câu lệnh cần thiết để thực hiện yêu cầu đề ra. - Hàm trả lại giá trị: → Cấu trúc: ( ) { // Khai báo các biến cục bộ // Các câu lệnh // [return[biểu thức];] } -VD: Tìm giá trị lớn nhất của 2 số int Max(int x , int y ) { int z=0; if(x>y) z=x; else z=y; return z; } - Hàm không trả lại giá trị By: Huy05dt2@gmail.com
  3. → Cấu trúc: void ( ) { // Khai báo các biến cục bộ // Các câu lệnh } -VD: Tìm giá trị của 2 số int 2; // biến khai báo toàn cục void Max(int x , int y ) { if(x>y) z=x; else z=y; } Câu 8: Trình bày biểu thức và các phép toán số học. Cho ví dụ minh họa.? Trả lời: - Biểu thức : kết hợp giữa các phép toán và các toán hạng để diễn tả một công thức toán học nào đó , Mỗi biểu thức có sẽ có một giá trị - Các phép toán hai ngôi số học là Phép toán ý nghĩa Ví dụ + Phép cộng a+b - Phép trừ a-b * Phép nhân a*b / Phép chia a/b ( Chia số nguyên sẽ chặt phần thập phân ) % Phép lấy phần dư a%b ( Cho phần dư của phép chia a cho b ) Có phép toán một ngôi - ví dụ -(a+b) sẽ đảo giá trị của phép cộng (a+b). Ví dụ1 : 11/3=3 11%3=2 -(2+6)=-8 Các phép toán + và - có cùng thứ tự ưu tiên, có thứ tự ưu tiên nhỏ hơn các phép * , / , % và cả ba phép này lại có thứ tự ưu tiên nhỏ hơn phép trừ một ngôi. Ví dụ2 : x =0; // lệnh gán giá trị 0 cho biến x i++; // lệnh tăng đơn vị cho biến i( i=i+1) y=11; x=y%10; //x=1 y/=10 ; //y=1 Câu 9: Trình bày các phép toán quan hệ, Cho ví dụ minh họa? Trả lời : By: Huy05dt2@gmail.com
  4. - Các phép toán quan hệ và ví dụ: Phép ý nghĩa Ví dụ toán a>b > So sánh lớn hơn 4>5 có giá trị 0 a>=b >= So sánh lớn hơn hoặc bằng 6>=2 có giá trị 1 a
  5. Trong đó v là một biến ( hay phần tử mảng ), e là một biểu thức. Giá trị của biểu thức gán là giá trị của e, kiểu của nó là kiểu của v. Nếu đặt dấu ; vào sau biểu thức gán ta sẽ thu được phép toán gán có dạng : v=e; Biểu thức gán có thể sử dụng trong các phép toán và các câu lệnh như các biểu thức khác. Ví dụ như khi ta viết a=b=5; thì điều đó có nghĩa là gán giá trị của biểu thức b=5 cho biến a. Kết qủa là b=5 và a=5. Hoàn toàn tương tự như : a=b=c=d=6; gán 6 cho cả a, b, c và d Ví dụ : z=(y=2)*(x=6); { ở đây * là phép toán nhân } gán 2 cho y, 6 cho x và nhân hai biểu thức lại cho ta z =12. Câu 11: Trình bày thứ tự ưu tiên của các phép toán. Cho ví dụ minh họa? Trả lời: - Thứ tự ưu tiên các phép toán -Các phép toán có độ ưu tiên khác nhau, điều này có ý nghĩa trong cùng một biểu thức sẽ có một số phép toán này được thực hiện trước một số phép toán khác. -Thứ tự ưu tiên của các phép toán được trình bày trong bảng sau: TT Phép toán Trình tự kết hợp 1 () [] -> Trái qua phải 2 ! ~ & * - ++ -- (type ) sizeof Phải qua trái 3 * ( phép nhân ) / % Trái qua phải 4 +- Trái qua phải 5 > Trái qua phải 6 < >= Trái qua phải 7 == != Trái qua phải 8 & Trái qua phải 9 ^ Trái qua phải 10 | Trái qua phải 11 && Trái qua phải 12 || Trái qua phải 13 ?: Phải qua trái 14 = += -= *= /= %= = &= ^= |= Phải qua trái 15 , Trái qua phải By: Huy05dt2@gmail.com
  6. Chú thích: Các phép toán tên một dòng có cùng thứ tự ưu tiên, các phép toán ở hàng trên có số ưu tiên cao hơn các số ở hàng dưới. Đối với các phép toán cùng mức ưu tiên thì trình tự tính toán có thể từ trái qua phải hay ngược lại được chỉ ra trong cột trình tự kết hợp. Ví dụ : *--px=*(--px) (Phải qua trái) 8/4*6=(8/4)*6 (Trái qua phải) Nên dùng các dấu ngoặc tròn để viết biểu thức một cách chính xác. Câu 12 : Trình bày cấu trúc giải thuật của cấu trúc điều khiển IF . IF... ELSE. Cho ví dụ minh họa.? Trả lời : * Cấu trúc lệnh if - Khái niệm: Lệnh if cho phép thực hiện lệnh khi biểu thức điều kiện của toán tử đi ều ki ện if đ ược thoả mãn. - Cấu trúc: if () { // Nội dung thoả mãn điều kiện } - Thuật toán - Ví dụ: Lập trình tìm giá trị cực đại của hai số a, b. #include unsigned char a,b,Max; T tử void main() { Max=0; a = 4; b = 9; Nội dung while(1) { if(a>b) Max=a; if(a
  7. - Khái niệm: Lệnh if … else cho phép thực hiện “ Nội dung tho ả mãn đi ều ki ện” khi bi ểu th ức đi ều kiện của toán tử if được thoả mãn. Ngược lại, nếu bi ểu th ức đi ều ki ện không tho ả mãn thì th ực hi ện “ Nội dung không thoả mãn điều kiện”. - Cấu trúc: if() { // Nội dung thoả mãn điều kiện } else { // Nội dung không thoả mãn điều kiện } - Thuật toán : VD: Biểu One: if (a>0) b=1; else b=0; thức Tow: if (a>0) a=10; else { a=5; b=6; } Nội dung 1 Nội dung 2 Câu 13: Trình bày cấu trúc và giải thuật của cấc trúc điều khiển SWITCH và FOR cho ví dụ minh họa? Trả lời : - Cấu trúc toán tử SWITCH - Khái niệm: Là cấu trúc tạo nhiều nhánh đặc biệt. Nó căn cứ vào giá tr ị một bi ểu th ức nguyên đ ể chọn một trong nhiều cách nhảy. - Cấu trúc: switch ( ) { case kq1: { By: Huy05dt2@gmail.com
  8. //khối lệnh 1 break; } case kq2: { // khối lệnh 2 break; } ....... case kqk: { // khối lệnh k break; } default: { //khối lệnh k+1 break; } } - Thuật toán: BT BT BT 1 2 n Nội dung 1 Nội dung 2 Nội dung n GT mặc định -VD: cho biến a nhận giá trị từ 0 đến 3 Switch (a) { case 0: { p=a By: Huy05dt2@gmail.com
  9. c=5 break; } case 1: { p=b c=2 break; } default : { p=c b=5 break; } } - Cấu trúc FOR - Khái niệm: Toán tử for dùng để xây dựng cấu trúc lặp. - Cấu trúc: for ( ; ; ) { // Lệnh hoặc khối lệnh ; }; - Thuật toán: By: Huy05dt2@gmail.com
  10. Ví dụ: For (i=0; i0); *Câu lệnh do...while - Khái niệm: do...while dùng đẻ xây dựng chu chương trình lặp. By: Huy05dt2@gmail.com
  11. - Cấu trúc: do { //Lệnh hoặc khối lệnh; } while ( ); - Thuật toán : Nội dung Ví dụ : do { B[i] = A[i]; i++; } while(x>=9); B Thức End Câu 15: Trình bày khái niệm con trỏ , cấu trúc khai báo con trỏ , gán địa chỉ và truy xuất con trỏ. Cho ví dụ minh họa. Trải lời : *Khái niệm con trỏ: con trỏ là biến chứa địa chỉ của một biến khác. *Cấu trúc khai báo biến con trỏ: * VD: int*p; //khai báo tên con trỏ p char * st; //khai báo biến con trỏ kiểu ký tự * Địa chỉ con trỏ - Con trỏ chứa địa chỉ của đối tượng nên nó có thể xâm nhập vào đối tượng gián tiếp qua con trỏ. Giả sử x là một biến kiểu int, và giả sử px là con trỏ được tạo ra theo một cách nào đó. * Các ví dụ : - Ví dụ 1: Xây dựng một hàm dùng để hoán vị giá trị của hai biến kiểu nguyên không dụng con trỏ. #include int x,y; void hoanvi(float x,float y); void main() { x=3; y=7; while(1) hoanvi(x,y); } void hoanvi(int x,int y) By: Huy05dt2@gmail.com
  12. { int z; z=x; x=y; y=z; } Câu 16 : Trình bày con trỏ và mảng 1 chiều . cho ví dụ minh họa ? Trả lời : * Phép toán lấy địa chỉ : * Tên mảng là một hằng địa chỉ * Mảng, con trỏ và xâu ký tự : Như ta đã biết trước đây, xâu ký tự là một dãy ký tự đặt trong hai dấu nháy kép VD: int a[10]; a tương ứng với &a[0] a+i tương ứng với &a[i] *(a+i) tương ứng với a[i] Câu 17 : Trình bày con trỏ và mảng nhiều chiều . cho ví dụ minh họa ? Trả lời : *Phép lấy địa chỉ : chỉ có thể áp dụng khi các phần tử mảng hai chiều có kiểu nguyên,. * Con trỏ và mảng hai chiều : để nhập và xuất giá trị của ác phần tử hai chiều. VD : int*p,a [2][2] p=a ; p tương ứng với a[0][0] Câu 18 : Trình bày kiểu con trỏ và kiểu địa chỉ, các phép toán trên con trỏ . Cho ví dụ minh họa ? Trả lời : *. Kiểu con trỏ và kiểu địa chỉ Con trỏ dùng để lưu địa chỉ. Mỗi kiểu địa chỉ cần có ki ểu con tr ỏ tương ứng. Phép gán đ ịa ch ỉ cho con trỏ chỉ có thể thực hiện được khi kiểu địa chỉ phù hợp với kiểu con trỏ. Ví dụ theo khai báo : float a[20][30],*pa,(*pm)[30]; thì : pa là con trỏ float pm là con trỏ kiểu float [30] a là địa chỉ kiểu float [30] * Các phép toán trên con trỏ Có 4 phép toán liên quan đến con trỏ và địa chỉ là :  Phép gán: chỉ thực hiện với các con trỏ cùng kiểu.  Phép tăng giảm địa chỉ :  Phép truy cập bộ nhớ.  Phép so sánh. Câu 19 : Trình cách khai báo con trỏ hàm và mảng con trỏ hàm, tác dụng của con trỏ hàm và đối của con trỏ hàm . Cho ví dụ minh họa ? Trả lời : * Cách khai báo con trỏ hàm và mảng con trỏ hàm: float (*f)(float),(*mf[50])(int); Để khai báo : f là con trỏ hàm kiểu float có đối là float By: Huy05dt2@gmail.com
  13. mf là mảng con trỏ hàm kiểu float có đối kiểu int ( có 50 phần tử * Tác dụng của con trỏ hàm : dùng để chứa địa chỉ của hàm. Muốn vậy ta thực hiện phép gán tên hàm cho con trỏ hàm. Để phép gán có ý nghĩa thì kiểu hàm và ki ểu con tr ỏ ph ải t ương thích. Sau phép gán, ta có thể dùng tên con trỏ hàm thay cho tên hàm. VD: double (*g)(int, double), (*mg[30])(double, float); * Đối của con trỏ hàm : cho phép thiết kế các hàm mà tham số thực trong lời gọi t ới nó l ại là tên c ủa một hàm khác. Khi đó tham số hình thức tương ứng phải là một con trỏ hàm. Câu 20 : Trình khái niệm về đệ quy, phương pháp dùng đệ quy và các bài toán dùng đệ quy. Cho ví dụ minh họa ? Trả lời : * Khái niệm chung về đệ quy là : nó cho phép từ hàm này gọi tới hàm khác, mà nó còn cho phép từ m ột điểm trong thân của một hàm gọi tới chính hàm đó. * phương pháp xây dựng hàm đệ quy Hàm đệ quy thường được xây dựng theo thuật toán sau : if ( trường hợp suy biến) { Trình bày cách giải bài toán khi suy biến } else /* Trường hợp tổng quát */ { Gọi đệ qui tới hàm ( đang viết ) với các giá trị khác của tham số } * Các bài toán có thể dùng đệ quy - Được áp dụng cho các bài toán phụ thuộc tham số có hai đặc điểm sau : Bài toán dễ dàng giải quyết trong một số trường hợp riêng ứng với các giá trị đặc biệt của tham số. Người ta thường gọi là trường hợp suy biến. Trong trường hợp tổng quát, bài toán có thể quyvề một bài toán cùng dạng nhưng giá tr ị tham số thì bị thay đổi. Sau một số hữu hạn bước biến đổi đệ quy nó sẽ dẫn tới trường hợp suy biến. VD: Bài toán dùng đệ qui tìm USCLN của hai số nguyên dương a và b. #include int uscln(int a,int b ); /* Nguyên mẫu hàm*/ void main() { int m,n; printf("\n Nhap cac gia tri cua a va b :"); scanf("%d%d",&m,&n); printf("\n USCLN cua a=%d va b=%d la :%d", m, m, uscln(m, n)) } int uscln(int a,int b) { By: Huy05dt2@gmail.com
  14. if (a==b) return a; else if (a>b)return uscln(a-b,b); else return uscln(a,b-a); } Câu 21 : Trình khái niệm về cấu trúc dữ liệu, cấu trúc của cấu trúc dữ liệu, phương pháp truy cập đến các thành phần của cấu trúc dữ liệu. Cho ví dụ minh họa ? Trả lời : * K /N kiểu cấu trúc : việc định nghĩa một kiểu cấu trúc bao gồm việc nêu ra tên c ủa ki ểu c ấu trúc và các thành phần của nó theo mẫu sau: struct tên_kiểu _cấu_trúc { //Khai báo các thành phần của cấu trúc }; * Cấu trúc của cấu trúc dữ liệu: struct ( ten cấu trúc đã định nghĩa) ; Ví dụ : struct date ngayden, ngaydi; *Để truy cập đến một thành phần cơ bản của một cấu trúc ta sử dụng một trong các cách viết sau : tên_cấu_trúc.tên_thành_phần tên_cấu_trúc.tên_cấu_trúc.tên_thành_phần tên_cấu_trúc. tên_cấu_trúc.tên_cấu_trúc.tên_thành_phần VD : Ta xét phép toán trên các thành phần của cấu trúc nhom1, nhom2: Câu lệnh : printf("%s",nhom1.ten); sẽ đưa lên màn hình tên của nhom1. Câu 22 : Trình bày chỉ thị tiền xử lý define và define có tham số. Cho ví dụ minh họa ? Trả lời : *chỉ thị tiền xử lý define : #deffine Tenbien= VD : deffine Max40 • chỉ thị tiền xử lý define có tham số : #define Max(a,b) (a>b ?a :b) Câu 23 : Trình bày chỉ thị tiền xử lý #if, #if..#else. Cho ví dụ minh họa ? Trả lời : *Chỉ thị tiền xử lý #if : #if() // nội dung thỏa mãn điều kiện #endif VD : #if(a>0) b=5 ; c=-10 ; #endif * Chỉ thị tiền xử lý #if...#else...#endif : : #if() // nội dung được chỉnh lý #else // nội dung được chỉnh lý #endif VD: #if(a>0) By: Huy05dt2@gmail.com
  15. b=5 ; c=-10 ; #else b=-3 ; c=1 ; #endif Câu 24 : Trình bày chỉ thị tiền xử lý #include, #error. Cho ví dụ minh họa ? Trả lời : • chỉ thị tiền xử lý #include : #include>[đường_dẫn ]tên_tệp • chỉ thị tiền xử lý #error : sẽ dừng biên dịch chương trình và đưa ra thông báo lỗi. VD : #if(name_table>max_table) (id_table>max_table) #error max_table... Câu 25 :Viêt chương trình giải phương trình ax+b=0, giá trị a và b cho biết trước? Bài làm : By: Huy05dt2@gmail.com
  16. Câu 26 :Viêt chương trình tìm UCLN của 2 số x và y tả lại giá trị cho biến z ? Bài làm : #include int UCLN(int x,int y); void main() { int USC; USC=UCLN(2,6); } int UCLN(int x,int y) { if(x==y) return x; else { if(x>y) return UCLN(x-y,y); else return UCLN(x,y-x); } } Câu 27 :Viêt chương trình tìm MAX của 2 số x và y tả lại giá trị cho biến z ? Bài làm : #include int a[10]; b[10];i;c; void main() { i=0; while(1) { for(i=0;i
  17. sbit led = 0x90; void delay (unsigned short); void main() { led = 0; while(1) { led=1; delay(40000); led=0; delay(40000); } } void delay (unsigned short d) { while (d>0) d--;} Câu 29 :Viêt chương trình điều khiển 4 LED đơn sáng luân phiên tại địa chỉ bit tương ứng la : 0x90, 0x91, 0x92, 0x93 .với thời gian thay đổi trạng thái ≈ 1s Bài làm : #include sbit led1=0x90; sbit led2=0x91; sbit led3=0x92; sbit led4=0x93; void delay(unsigned short d); void main() { led1=led2=led3=led4 = 0; while(1) { led1=led3=1,led2=led4=0; delay(40000); led1=led3=0, led2=led4=1; delay(40000); } } void delay (unsigned short d) { while (d>0) d--;} Câu 30 :Viêt chương trình điều khiển một LED đơn tại địa chỉ la ( 0x90) , sử dụng hai phím Start và Stop có địa chỉ tương ứng là 0x91 và 0x92 ? Bài làm : #include sbit LED=0X90; sbit start=0x91; sbit stop=0x92; bit F_start=0; By: Huy05dt2@gmail.com
  18. bit F_stop=0; unsigned char i=0; void proON(void); void proOFF(void); void main() { LED=0;start=1;stop=1; while(1) { if(start==0&F_start==1) proON(); F_start=start; if(stop==0&F_stop==1) proOFF(); F_stop=stop; } } void proON(void) { LED=1; } void proOFF(void) { LED=0; } Câu 31 :Viêt chương trình xóa vùng nhớ gồm 10 bytes từ địa chỉ 0x30 đến 0x41 ? Bài làm : #include unsigned char *p; int i=0; void main() { p=0x30; while(i
  19. p++; i++; } } Câu 32 :Viêt chương trình điều khiển LED đơn dịch chuyển từ trái qua phải trên cổng P2 có địa chỉ 0xA0 .với thời gian thay đổi trạng thái ≈ 1s Bài làm #include /**khai bao thu vien**/ sfr led = 0xA0; /**khai bao dia chi byte**/ void delay (unsigned short); void traisangphai (void); void main() { led = 0; while(1) traisangphai(); } void traisangphai (void) /** tu trai sang phai** tu D7 ve D0****/ { unsigned char i=0; while (i
  20. void delay (unsigned short d) { while (d>0) d--;} Câu 33 :Viêt chương trình điều khiển LED đơn dịch chuyển từ phải qua trái trên cổng P2 có địa chỉ 0xA0 .với thời gian thay đổi trạng thái ≈ 1s Bài làm void phaisangtrai (void); void main() { led = 0; while(1) phaisangtrai(); } void phaisangtrai (void) /*** kieu tu phai sang trai** tu D0 ve D7*****/ { unsigned char i=0; while (i0) d--;} Câu 34 : Viêt chương trình xóa vùng nhớ từ địa chỉ 0x40 đến0x7F và lưu giá trị 5vaf 6 vào các ô nhớ liên tiếp Bài làm : By: Huy05dt2@gmail.com
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2