Hướng Dẫn Viết Chương Trình C cơ Bản: Tính Toán và Kiểm Tra Hình Học

Tài liệu thực hành nhập môn lập trình cung cấp kiến thức cơ bản và bài tập thực tế giúp người học nắm vững kỹ năng lập trình hiệu quả.

Trường đại học

Trường Đại Học

Chuyên ngành

Lập Trình C

Người đăng

Ẩn danh

Thể loại

hướng dẫn

2023

60
5
0

Phí lưu trữ

30 Point

Tóm tắt

I. Hướng Dẫn Viết Chương Trình C Cơ Bản Tính Toán Hình Học

Chương trình C là một trong những ngôn ngữ lập trình phổ biến nhất. Việc viết chương trình C cơ bản giúp người học nắm vững các khái niệm lập trình và áp dụng vào các bài toán thực tiễn. Trong bài viết này, sẽ hướng dẫn cách viết chương trình C để thực hiện các phép toán hình học cơ bản.

1.1. Tổng Quan Về Lập Trình C

Lập trình C là ngôn ngữ lập trình bậc thấp, cho phép lập trình viên kiểm soát tốt hơn tài nguyên hệ thống. Ngôn ngữ này được sử dụng rộng rãi trong phát triển phần mềm và hệ điều hành.

1.2. Các Khái Niệm Cơ Bản Trong Lập Trình C

Các khái niệm như biến, kiểu dữ liệu, hàm và cấu trúc dữ liệu là nền tảng quan trọng trong lập trình C. Hiểu rõ các khái niệm này giúp lập trình viên viết mã hiệu quả hơn.

II. Vấn Đề Thường Gặp Khi Viết Chương Trình C

Khi viết chương trình C, lập trình viên thường gặp phải một số vấn đề như lỗi cú pháp, lỗi logic và quản lý bộ nhớ. Những vấn đề này có thể gây khó khăn trong quá trình phát triển phần mềm.

2.1. Lỗi Cú Pháp Trong Lập Trình C

Lỗi cú pháp xảy ra khi mã nguồn không tuân thủ quy tắc ngữ pháp của ngôn ngữ C. Điều này có thể dẫn đến việc chương trình không biên dịch được.

2.2. Lỗi Logic và Cách Khắc Phục

Lỗi logic là khi chương trình biên dịch thành công nhưng không cho ra kết quả mong muốn. Việc kiểm tra từng bước và sử dụng các công cụ gỡ lỗi là cần thiết để khắc phục lỗi này.

III. Phương Pháp Tính Toán Hình Học Trong C

Tính toán hình học là một trong những ứng dụng phổ biến của lập trình C. Các phép toán như tính diện tích, chu vi và thể tích có thể được thực hiện dễ dàng thông qua các hàm trong ngôn ngữ này.

3.1. Tính Diện Tích Hình Chữ Nhật

Để tính diện tích hình chữ nhật, sử dụng công thức S = chiều dài * chiều rộng. Chương trình C có thể nhận đầu vào từ người dùng và tính toán diện tích theo định dạng yêu cầu.

3.2. Tính Thể Tích Hình Nón

Thể tích hình nón được tính bằng công thức V = (1/3) * π * r^2 * h. Việc sử dụng hằng số π trong C có thể được thực hiện thông qua thư viện math.h.

IV. Kiểm Tra Hình Học Trong Chương Trình C

Kiểm tra hình học là một phần quan trọng trong lập trình C, giúp xác định các thuộc tính của hình học như tam giác, hình vuông, và các hình khác. Việc kiểm tra này có thể được thực hiện thông qua các điều kiện và vòng lặp.

4.1. Kiểm Tra Tam Giác Vuông

Để kiểm tra xem ba cạnh có tạo thành tam giác vuông hay không, sử dụng định lý Pythagore. Chương trình C có thể nhận ba cạnh và kiểm tra điều kiện này.

4.2. Kiểm Tra Hình Chữ Nhật

Hình chữ nhật được xác định bởi hai cạnh. Chương trình có thể kiểm tra xem hai cạnh có bằng nhau hay không để xác định hình chữ nhật.

V. Ứng Dụng Thực Tiễn Của Lập Trình C Trong Tính Toán Hình Học

Lập trình C không chỉ giúp học sinh, sinh viên nắm vững kiến thức lập trình mà còn ứng dụng vào các bài toán thực tiễn trong cuộc sống. Các chương trình tính toán hình học có thể được sử dụng trong thiết kế, xây dựng và nhiều lĩnh vực khác.

5.1. Ứng Dụng Trong Thiết Kế Kiến Trúc

Các kiến trúc sư có thể sử dụng chương trình C để tính toán diện tích và thể tích của các công trình, giúp tối ưu hóa thiết kế.

5.2. Ứng Dụng Trong Giáo Dục

Chương trình C có thể được sử dụng trong giáo dục để giúp học sinh hiểu rõ hơn về các khái niệm hình học thông qua các bài tập thực hành.

VI. Kết Luận Về Việc Viết Chương Trình C Cơ Bản

Việc viết chương trình C cơ bản không chỉ giúp người học nắm vững ngôn ngữ lập trình mà còn phát triển tư duy logic và khả năng giải quyết vấn đề. Các ứng dụng trong tính toán hình học là một phần quan trọng trong việc áp dụng kiến thức vào thực tiễn.

6.1. Tương Lai Của Lập Trình C

Lập trình C vẫn giữ vai trò quan trọng trong ngành công nghệ thông tin. Việc nắm vững ngôn ngữ này sẽ mở ra nhiều cơ hội nghề nghiệp cho lập trình viên.

6.2. Khuyến Khích Học Tập Liên Tục

Ngành công nghệ thông tin luôn thay đổi. Việc học tập và cập nhật kiến thức mới là cần thiết để theo kịp xu hướng phát triển.

10/07/2025

Trích đoạn nội dung tài liệu

h> int main(){ int a,b,c; scanf("%d%d%d", &a, &b, &c); int tong; tong=a+b+c; printf("Tong cua 3 gia tri %d, %d va %d la: %d", a,b,c,tong); } Câu hỏi Viết chương trình nhập vào chiều dài và chiều rộng của một hình chữ nhật. Biết kiểu dữ liệu của 2 giá trị trên là số thực. Hãy tính diện tích của hình chữ nhật đó và kết quả chỉ lấy 2 số thập phân theo định dạng sau: “Dien tich hình chu nhat la: <kết quả>” For example: Input Result 11 Dien tich hinh chu nhat la: 1.00 Answer:(penalty regime: 0 %) Trả lời: #include<stdio.h> int main(){ float a,b; scanf("%f%f", &a,&b); float S; S=a*b; printf("Dien tich hinh chu nhat la: %.2f", S); } Câu hỏi 3: Viết chương trình xuất ra các dòng cho biết kích thước (đơn vị Byte) của lần lượt các kiểu dữ liệu sau: char, int, float, double, short, long. Trả lời: 0 0 #include<stdio.h> int main(void){ printf("%lu \n", sizeof(char)); printf("%lu \n", sizeof(int)); printf("%lu \n", sizeof(float)); printf("%lu \n", sizeof(double)); printf("%lu \n", sizeof(short)); printf("%lu \n", sizeof(long)); return 0; } Câu hỏi 4 Nội dung câu hỏi Ứng với mỗi dòng của câu 3 xuất ra, tuân thủ định dạng sau: “Size of <type> is <value> bytes” Trong đó, <value> là kích thước của biến mang kiểu dữ liệu <type>.

Lưu ý không xuống dòng ở dòng cuối cùng. Trả lời: #include<stdio.h> int main(void){ printf("Size of char is %lu bytes\n", sizeof(char)); printf("Size of int is %lu bytes\n", sizeof(int)); printf("Size of float is %lu bytes\n", sizeof(float)); printf("Size of double is %lu bytes\n", sizeof(double)); printf("Size of short is %lu bytes\n", sizeof(short)); printf("Size of long is %lu bytes\n", sizeof(long)); return 0; } 0 0 Câu 5: Viết chương trình nhận số nguyên dương V (đơn vị km/h); hãy đổi đơn vị của V từ km/h sang m/s và in ra màn hình. Làm tròn kết quả còn 2 số thập phân. For example: Input Result 10 2.78 Trả lời: #include<stdio.h> int main(){ int V; scanf("%d", &V); float kq= V/3.2f", kq); } Câu hỏi 6 Nội dung câu hỏi 0 0 Viết chương trình nhận vào 1 ký tự, xuất ra màn hình mã ASCII (hệ thập phân) của ký tự đó.

For example: Input Result c 99 Trả lời: #include <stdio.h> int main(){ char c; scanf("%c", &c); printf("%d", c); return 0; } Câu hỏi 7 Nội dung câu hỏi Viết chương trình nhận vào 2 số d và h. Xuất ra màn hình thể tích khối nón có bán kính đáy = r, chiều cao = h. Làm tròn kết quả tới 2 số thập phân. For example: Input Result 34 9.42 Trả lời: #include<stdio.h> int main(){ float d, h; 0 0 scanf("%f%f", &d, &h); float V=(1.2f", V); } Câu hỏi 8 Nội dung câu hỏi Nhập vào 3 số nguyên a, b, c kiểm tra 3 số này liệu có thể tạo thành tam giác vuông, cân, đều hay không thể tạo thành tam giác.

Kết quả xuất ra màn hình có độ ưu tiên giảm dần sau: ● Nếu tạo thành tam giác vuông, in ra câu “right triangle” và kết thúc chương trình; ● Nếu tạo thành tam giác cân nhưng không đều, in ra “isosceles triangle”; ● Nếu tạo thành tam giác đều, in ra “equilateral triangle”; ● Nếu tạo thành tam giác nhưng không thuộc 1 trong 3 loại trên, in ra “triangle”; ● Nếu không tạo thành tam giác, in ra “invalid”. Lưu ý không xuống dòng sau khi in, chỉ xuất 1 câu có độ ưu tiên cao nhất (vd: nếu là tam giác vuông cân thì chỉ in ra 1 câu duy nhất “right triangle”). For example: Test Input Result 1 345 right triangle Trả lời: 0 0 #include<stdio.h> int main(){ int a, b, c; scanf("%d%d%d", &a, &b, &c); if(a+b<=c || a+c<=b || b+c<=a){ printf("invalid"); }else if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a){ printf("right triangle"); }else if(a==b&&a==c){ printf("equilateral triangle"); }else if(a==b || a==c || b==c){ printf("isosceles triangle"); }else{ printf("triangle"); } } Câu hỏi 9 Nội dung câu hỏi Viết chương trình nhập vào tọa độ 2 điểm A(xA, yA), B(xB, yB) trên hệ tọa độ Descartes 2 chiều. Cho biết 3 điểm gồm gốc tọa độ O(0, 0), A, B có thẳng hàng không và in ra BÌNH PHƯƠNG độ dài của cạnh dài nhất trong số các cạnh AB, OB, OA.

Cho biết 3 điểm O, A, B thẳng hàng nếu thỏa mãn điều kiện sau: xA/yA= xB/yB Input: dòng thứ 1, 2, 3, 4 lần lượt chứa các giá trị xA, yA, xB, yB Output gồm 2 dòng: Dòng đầu in ra “0” nếu 3 điểm không thẳng hàng. Ngược lại in ra “1” Dòng 2 in ra BÌNH PHƯƠNG độ dài của cạnh lớn nhất (làm tròn kết quả còn 2 chữ số thập phân).  For example: 0 0 Test Input Result 1 3 0 4 68.00 2 8 Trả lời: #include<stdio.h> int main(){ float xA, yA, xB, yB; scanf("%f%f%f%f", &xA, &yA, &xB, &yB); float ABbinh= (xA-xB)*(xA-xB)+(yA-yB)*(yA-yB); float OAbinh= (xA-0.0); float OBbinh= (xB-0.2f", ABbinh); }else if(OBbinh >= ABbinh && OBbinh >=OAbinh){ printf("\n%.2f", OBbinh); }else if(OAbinh >= ABbinh && OAbinh >= OBbinh){ printf("\n%.2f", OAbinh); }else{ printf("\n%.2f", OAbinh); } }else{ printf("0"); if(ABbinh >= OBbinh && ABbinh >= OAbinh){ printf("\n%.2f", ABbinh); }else if(OBbinh >= ABbinh && OBbinh >=OAbinh){ printf("\n%.2f", OBbinh); }else if(OAbinh >= ABbinh && OAbinh >= OBbinh){ printf("\n%.2f", OAbinh); }else{ printf("\n%.2f", OAbinh); } } } 0 0 Câu hỏi 10 Nhập vào 2 số nguyên a, b (b khác 0) và một kí tự c. Xuất ra màn hình kết quả của phép tổng, hiệu, tích, thương, chia lấy phần dư của a và b theo các trường hợp sau của c: Kí tự “+”, in ra tổng a + b Kí tự “-”, in ra hiệu a - b Kí tự “*”, in ra tích a*b Kí tự “/”, in ra thương a / b, chỉ lấy phần nguyên Kí tự “%”, in ra số dư của phép chia a / b For example: Test Input Result 1 10 3 + 13 Trả lời: #include<stdio.h> int main(){ int a,b; char c; scanf("%d%d %c", &a , &b, &c); if(c=='+'){ int tong=a+b; printf("%d", tong); }else if(c=='-'){ int hieu=a-b; printf("%d", hieu); }else if(c=='*'){ int tich=a*b; printf("%d", tich); }else if(c=='/'){ int thuong=a/b; printf("%d", thuong); }else if(c=='%'){ int chia=a%b; printf("%d", chia); } } 0 0 Câu hỏi Viết chương trình tính giá cước taxi theo quy tắc sau: Giá tối thiểu 20000đ / 2km đầu Giá mỗi km tiếp theo (< 30 km) 9000đ / km Giá mỗi km tiếp theo kể từ mốc 30 km 7000đ / km Input: 1 số thực cho biết quãng đường cần tính giá cước Output: Giá cước đã tính (lấy phần nguyên) For example: Test Input Result 1 1.5 20000 Trả lời: #include<stdio.h> int main(){ float a; scanf("%f", &a); if(a<=0){ return 0; }else if(a<2.0){ printf("20000"); }else if(a<30.0f", gia); }else{ float gia2=20000.0f", gia2); } } Câu hỏi Dựa vào điểm trung bình học kỳ (TBHK - thang điểm 10), sinh viên có thể được xếp loại thành các loại xuất sắc, giỏi, khá, trung bình, yếu.

Cho rằng tại kỳ đang xét, sinh viên chỉ học 3 môn và số tín chỉ mỗi môn như nhau. Viết chương trình 0 0 nhận vào điểm tổng kết của 3 môn, in ra màn hình dòng thứ nhất là điểm TBHK (làm tròn còn 2 chữ số thập phân), dòng thứ 2 là kết quả xếp loại theo định dạng sau: Loại xuất sắc (TBHK >= 9): “xuat sac” Loại giỏi (8<= TBHK < 9): “gioi” Loại khá (7<= TBHK < 8): “kha” Loại trung bình (5 <= TBHK < 7): “trung binh” Loại yếu (TBHK < 5): “yeu” For example: Test Input Result 1 2 4.33 4 yeu 7 Trả lời: #include<stdio.h> int main(){ double b,c,d,a; scanf("%lf%lf%lf",&b,&c,&d); a=(b+c+d)/3; if (a>=9){ printf("%.2lf\n",a); printf("xuat sac"); } else if(a>=8&&a<9){ printf("%.2lf\n",a); printf("gioi"); } else if(a<8&&a>=7){ printf("%.2lf\n",a); printf("kha"); } else if(a<7&&a>=5){ printf("%.2lf\n",a); printf("trung binh"); } else { printf("%.2lf\n",a); printf("yeu"); } return 0; } 0 0 Câu hỏi Viết chương trình nhập vào 3 số thực a,b,c và xuất ra số lớn nhất với 2 chữ số thập phân. For example: Input Result 123 3.00 Trả lời: #include<stdio.h> int main(){ float a,b,c; scanf("%f%f%f", &a, &b, &c); if(a>b && a>c){ printf("%.2f", a); }else if(b>a && b>c){ printf("%.2f", c); } } Câu hỏi: Viết chương trình nhập vào số nguyên và kiểm tra số đó có phải số chính phương Nếu đúng in ra "<giá trị> la so chinh phuong" 0 0 ngược lại, in ra "<giá trị> khong la so chinh phuong" For example: Input Result 2 2 khong la so chinh phuong Trả lời: #include<stdio.h> int main(){ int x; scanf("%d", &x); int kc = (int)sqrt(x); if(pow(kc, 2)==x){ printf("%d la so chinh phuong", x); }else{ printf("%d khong la so chinh phuong", x); } } Câu hỏi: Tính tiền điện của tháng dựa vào bảng tiền điện sau: Bảng tiền điện Bậc 1: Cho kWh từ 0 – 50 1.678 Bậc 2: Cho kWh từ 51 – 100 1.734 Bậc 3: Cho kWh từ 101 – 200 2.014 Bậc 6: Cho kWh từ 201 trở lên 2.536 Viết chương trình nhập vào số kWh là 1 số nguyên dương. Tính và xuất ra tiền điện với 3 chữ số thập phân.

For example: Input Result 20 33.634 Trả lời: #include<stdio.h> int main(){ int a; 0 0 scanf("%d", &a); if(a>0 && a<=50){ float S=a*1.3f", S); }else if(a>50 && a<=100){ float S=50*1.3f", S); }else if(a>100 && a<=200){ float S=50*1.3f", S); } } CẤU TRÚC LẶP Câu hỏi: Viết chương trình tìm số tự nhiên n lớn nhất, sao cho tổng các số tự nhiên từ 1 đến n nhỏ hơn hoặc bằng số nguyên S, với S được nhập từ bàn phím. Xuất n ra màn hình. Trong trường hợp không có n nào phù hợp, xuất ra màn hình "Not found!". For example: Test Input Result Test case 1 10 4 Trả lời: #include<stdio.h> int main(){ int S; scanf("%d", &S); if(S<=0) printf("Not found!"); else{ int n=1; int s=0; while(s<=S){ s+=n; if(s>S){ 0 0 n--; break; } n++; } printf("%d", n); } return 0; } Câu hỏi: Viết chương trình vẽ tam giác cân với chiều cao h được nhập từ bàn phím.

Lưu ý: không có khoảng trắng sau dấu '*' cuối cùng của mỗi dòng, không có dấu xuống hàng ở dòng cuối cùng. For example: Test Input Result Test case 1 4 * *** ***** ******* Trả lời: #include <stdio.h> int main() { int n; int q = 0; scanf("%d",&n); while (n > 0) { for (int i = 1; i<n; i++) printf("%c", ' '); 0 0 for (int k = 0; k <= q; k ++) printf("%c", '*'); n -- ; q += 2 ; printf("\n"); } return 0; } Câu hỏi: Viết chương trình kiểm tra một số tự nhiên n được nhập từ bàn phím có phải là số nguyên tố hay không. Biết rằng, số nguyên tố là số tự nhiên lớn hơn 1, chỉ chia hết cho 1 và chính nó. Nếu n là số nguyên tố, in ra theo định dạng: <n> la so nguyen to! Nếu không, in ra: <n> khong phai la so nguyen to! For example: Test Input Result Test case 1 3 3 la so nguyen to! Trả lời: 0 0 #include <stdio.h> int main(){ int n; scanf("%d", &n); if(n < 2){ printf("%d khong phai la so nguyen to!", n); return 0; } int count = 0; for(int i = 2; i*i <= n; i++){ if(n % i == 0){ count++; } } if(count == 0){ printf("%d la so nguyen to!", n); }else{ printf("%d khong phai la so nguyen to!

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ