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

Tổng hợp ví dụ và bài tập ngôn ngữ lập trình C

Chia sẻ: Autotruonganh Autotruonganh | Ngày: | Loại File: PDF | Số trang:22

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

Tổng hợp ví dụ và bài tập ngôn ngữ lập trình C trình bày nội dung về: Lập trình sử dụng ngôn ngữ C (Toán hạng, thực thi điều kiện sử dụng lệnh if-else, switch và break); Mảng và con trỏ,... Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Tổng hợp ví dụ và bài tập ngôn ngữ lập trình C

Tổng hợp ví dụ và bài tập ngôn ngữ lập trình C – Vũ Phát K58TDHB - VNUA<br /> <br /> Bảng nội dung<br /> 1, LẬP TRÌNH SỬ DỤNG NGÔN NGỮ C ............................................................. 2<br /> 1.1, Toán hạng ....................................................................................................... 2<br /> 1.2, Thực thi điều kiện sử dụng lệnh If-Else......................................................... 2<br /> 1.3, Switch và Break ............................................................................................. 3<br /> 1.4, Vòng lặp While, vòng lặp Do-While, vòng lặp For, vòng lặp lồng nhau, câu<br /> lệnh Break và câu lệnh Continue .......................................................................... 4<br /> 1.4.1, Vòng lặp While ....................................................................................... 4<br /> 1.4.2, Vòng lặp Do-While ............................................................................... 10<br /> 1.4.3, Vòng lặp For ......................................................................................... 11<br /> 1.4.4, Câu lệnh Break ...................................................................................... 21<br /> 1.4.5, Câu lệnh Continue................................................................................. 21<br /> 1.5, Bài tập .......................................................................................................... 21<br /> 2. MẢNG VÀ CON TRỎ ....................................................................................... 22<br /> <br /> 1<br /> <br /> Tổng hợp ví dụ và bài tập ngôn ngữ lập trình C – Vũ Phát K58TDHB - VNUA<br /> <br /> 1, LẬP TRÌNH SỬ DỤNG NGÔN NGỮ C<br /> 1.1, Toán hạng<br /> Ví dụ 1: Viết một chương trình C so sánh hai cách sử dụng toán tử ++<br /> (hoặc --)?<br /> Chú ý:<br /> Để hiểu hơn về toán hạng ++ (hoặc --) ta xét hai câu lệnh sau:<br /> cnt = count++;<br /> cnt = ++count;<br /> Ở câu lệnh đầu tiên, giá trị của biến count sẽ được gán vào cnt trước sau đó count<br /> sẽ bị tăng lên 1. Còn câu lệnh thứ hai, giá trị của biến count sẽ được tăng lên 1, sau<br /> đó giá trị này sẽ được gán vào cnt.<br /> Giải:<br /> #include<br /> void main() {<br /> int counter, precount, postcount;<br /> counter = 24;<br /> precount = ++counter;<br /> postcount = counter++;<br /> printf("\n%d %d", precount, postcount);<br /> counter = 50;<br /> postcount = counter--;<br /> precount = --counter;<br /> printf("\n%d %d", postcount, precount);<br /> }<br /> <br /> Kết quả:<br /> 25 25<br /> 50 48<br /> <br /> 1.2, Thực thi điều kiện sử dụng lệnh If-Else<br /> Ví dụ 1: Viết một chương trình C đọc một số từ bàn phím và kiểm tra xem<br /> nó có phải là số dương hay không?<br /> Giải:<br /> #include <br /> void main() {<br /> int numb;<br /> <br /> 2<br /> <br /> Tổng hợp ví dụ và bài tập ngôn ngữ lập trình C – Vũ Phát K58TDHB - VNUA<br /> <br /> printf("Nhap vao so can kiem tra: ");<br /> scanf("%d", &numb);<br /> if (numb >= 0) {<br /> printf("So vua nhap la so duong.");<br /> }<br /> }<br /> <br /> Kết quả:<br /> Nhap vao so can kiem tra:2912<br /> 2912<br /> So vua nhap la so duong.<br /> <br /> Ví dụ 2: Viết một chương trình C kiểm tra năm bất kỳ xem có phải năm<br /> nhuận hay không?<br /> Thuật giải:<br /> Năm nhuận là năm chia hết cho 4 nhưng không chia hết cho 100 hoặc chia hết cho<br /> 400.<br /> Giải:<br /> #include <br /> void main() {<br /> int y;<br /> printf("Nhap vao nam can kiem tra: ");<br /> scanf("%d", &y);<br /> if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0)) {<br /> printf("Nam vua nhap la nam nhuan.");<br /> } else {<br /> printf("Nam vua nhap khong phai nam nhuan.");<br /> }<br /> }<br /> <br /> Kết quả:<br /> Nhap vao nam can kiem tra:2000<br /> 2000<br /> Nam vua nhap la nam nhuan.<br /> <br /> 1.3, Switch và Break<br /> <br /> 3<br /> <br /> Tổng hợp ví dụ và bài tập ngôn ngữ lập trình C – Vũ Phát K58TDHB - VNUA<br /> 1.4, Vòng lặp While, vòng lặp Do-While, vòng lặp For, vòng lặp lồng nhau,<br /> câu lệnh Break và câu lệnh Continue<br /> 1.4.1, Vòng lặp While<br /> Ví dụ 1: Viết một chương trình C in ra đảo ngược của một số.<br /> Giải:<br /> #include <br /> void main() {<br /> int n, k;<br /> printf("Nhap vao mot so: ");<br /> scanf("%d", &n);<br /> printf("Dao nguoc cua so la: ");<br /> while (k != 0) {<br /> int m = n % 10;<br /> k = n / 10;<br /> n = k;<br /> printf("%d", m);<br /> }<br /> }<br /> <br /> Kết quả:<br /> Nhap vao mot so:9123<br /> 9123<br /> Dao nguoc cua so la: 3219<br /> <br /> Ví dụ 2: Viết một chương trình tìm ước số chung lớn nhất của hai số<br /> dương?<br /> Thuật giải 1:<br /> Ước số chung lớn nhất của hai số được định nghĩa là số bị chia lớn nhất mà cả hai<br /> số cùng chia hết, ví dụ USCLN của 24 và 36 có thể hiểu:<br /> Các số chia hết của 24 là: 1, 2, 3, 4, 6, 8, 12, 24<br /> Các số chia hết của 36 là: 1, 2, 3, 4, 6, 9, 12, 18, 36<br /> Như vậy, số bị chia lớn nhất mà cả hai số 24 và 36 chia hết là 12. Vậy USCLN của<br /> 24 và 36 là 12.<br /> Thuật giải 2:<br /> Chúng ta sử dụng thuật toán Euclid như sau để tìm USCLN của hai số:<br /> WHILE m lớn hơn 0<br /> DO<br /> IF n lớn hơn m THEN hoán vị m và n.<br /> 4<br /> <br /> Tổng hợp ví dụ và bài tập ngôn ngữ lập trình C – Vũ Phát K58TDHB - VNUA<br /> trừ đi n từ m.<br /> END<br /> Cuối cùng n là USCLN.<br /> Thuật giải 3:<br /> Một thuật toán khác để tìm USCLN của hai số như sau:<br /> 1, Đọc 2 số a và b.<br /> 2, Lặp lại bước 5 trong khi a khác 0.<br /> 3, Đặt USCLN = a<br /> 4, a = b % a<br /> 5, b = USCLN<br /> 6, In USCLN<br /> 8, Thoát<br /> Giải 1:<br /> #include <br /> void main() {<br /> int n1, n2;<br /> printf("Nhap vao hai so: ");<br /> scanf("%d %d", &n1, &n2);<br /> int greaterNumber = n2;<br /> int gcd = 1;<br /> if (n1 > n2) greaterNumber = n1;<br /> int index = 2;<br /> while (index 2) {<br /> if ((n1 % index == 0) && (n2 % index == 0)) {<br /> gcd = index;<br /> }<br /> index++;<br /> }<br /> printf("Uoc so chung lon nhat cua hai so la: %d", gcd);<br /> }<br /> <br /> Giải 2:<br /> #include <br /> int gcd(int m1, int n1) {<br /> int m = m1;<br /> int n = n1;<br /> int temp;<br /> while (m > 0) {<br /> if (n > m) {<br /> temp = n;<br /> <br /> 5<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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