Bài tập lập trình c trên đoạn a b năm 2024

Bài tập trắc nghiệm lập trình từ cơ bản đến nâng cao do ZendVN biên soạn.

Các bài tập trắc nghiệm lập trình được sắp xếp theo nhiều chuyên mục khác nhau, với nhiều cấp độ từ dễ đến khó, đây là nơi giúp các bạn lập trình viên thực hành và luyện code.

Danh sách câu hỏi

Câu 12 Trong C, sau khi thực hiện đoạn mã kết quả hiển thị sẽ là gì?

int num;
  
for[num = 1; num  0; y--] puts["X"]; 6. Cho biết điểm sai trong đoạn mã sau: record = 0; while [record < 100] { printf[ "nRecord %d ", record ]; printf[ "nGetting next number..." ]; } 7. Cho biết điểm sai trong đoạn mã sau: for [counter = 1; counter < 10; counter++]; printf["nCounter = %d", counter ]; 8. Sự khác nhau giữa lệnh break và lệnh continue là gì? 9. Vòng lặp vô hạn là gì? làm thế nào để tạo nó? 10. Hai sự kiện gì làm kết thúc việc chạy chương trình?
  • 2. exit[] dùng để làm gì? 12. Câu lệnh làm cho điều khiển chương trình chuyển đến bước lặp kế tiếp trong một lệnh lặp. 13. Câu lệnh chuyển điều khiển chương trình đến cuối vòng lặp. 14. Có điểm gì sai trong đoạn mã sau? switch[ answer ] { case 'Y': printf["You answered yes"]; break; case 'N': printf[ "You answered no"]; } 15. Có điểm gì sai trong đoạn mã sau? switch[ choice ] { default: printf["You did not choose 1 or 2"]; case 1: printf["You answered 1"]; break; case 2: printf[ "You answered 2"]; break; } 16. Viết lại câu trên bằng cách dùng lệnh if. 17. Viết một vòng lặp vô hạn do...while. TRẢ LỜI: 1. Số vòng lặp nhỏ nhất của lệnh while có thể thực hiện là 0 và số vòng lặp nhỏ nhất của lệnh do...while có thể thực hiện là 1. 2. Không có sự khác nhau giữa hai đoạn mã trừ khi s chứa câu lệnh continue. Ví dụ câu lệnh for sau đây sẽ lặp 4 lần và kết thúc nhưng câu lệnh while sẽ lặp vô hạn: for [i = 0; ib ] || [ b++ != 3]; printf["A : a = %d b = %d c = %dn",a,b,c]; a = 5; b = 2 ; /* Truong hop 2 */ printf[" B : a = %d b = %d c = %dn",a,b,c]; a = 5; b = 2 ; /* Truong hop 3 */ c = [++a == 3]&&[ ++b == 3]; printf[" C : a = %d b = %d c = %dn",a,b,c]; a = 5; b = 2; /* Truong hop 4 */ c = [++a == 6]&& [ ++b == 3]; printf[" D : a = %d b = %d c = %dn",a,b,c]; getch[]; } Bài 6. Viết chương trình khai báo một biến kiểu int, một hằng hệ 8 có giá trị 345 và một hằng hệ 16 có giá trị A9, sau đó nhập dữ liệu cho biến và hiển thị ra màn hình giá trị của biến ở hệ 8, 16 và giá trị của các hằng ở hệ 16.

    include

    include void main[] { long int i;

  • 7. = 0345, k = 0XA9; clrscr[]; printf["nNhap so nguyen he 10 : "]; scanf["%d",&i]; printf["n Chuyen sang he 8 la : %o",i]; printf["n Chuyen sang he 16 la : %X",i]; printf["n Hang nguyen he 8 : %7d",j]; printf["n Hang nguyen he 16 : %7d",k]; getch[]; } Bài 7. Viết chương trình tìm số lớn nhất và nhỏ nhất trong 3 số thực.

    include

    include void main[] { float x,y,z,max,min; clrscr[]; printf["nNhap vao 3 so "]; scanf["%f%f%f",&x,&y,&z]; max=[x>y]?x:y; max=[max>z]?max:z; min=[x>y]?y:x; min=[min>z]?z:min; printf["nSo lon nhat la %f",max]; printf["nSo nho nhat la %f",min]; printf["nDay la 5 tieng chuong !aaaaa"]; getch[]; } Bài 8. Viết chương trình tìm xy

    include

    include

    include void main[] { double x,y,z; /* khai bao 3 bien kieu double*/ clrscr[]; printf["- Cho biet gia tri cua X= "];

  • 8. Cho biet gia tri cua Y= "]; scanf["%lf",&y]; z=pow[x,y]; /* Tinh x luy thua y va gan cho z */ /* In ket qua */ clrscr[]; printf["KET QUA X LUY THUA Y n"]; printf["X= %8.2f n",x]; printf["Y= %8.2f n",y]; printf["X luy thua y = %8.2f",z]; getch[]; } Bài 9. Viết chương trình tính c = a /b, với a và b là hai số nguyên, c số thực. Nếu ta ép kiểu a sang thực thì kết quả thế nào?

    include

    include

    include void main[] { int a,b; float c; clrscr[]; couta>>b; c=a/b; cout 0.00001] { ps=ps*x*x/[[i+1]*[i+2]]; tong=tong+dau*ps; dau=-dau; i=i+2; } return tong; } void main[] { double x; printf["n Nhap goc can tinh sin [radian] "]; scanf["%lf",&x]; printf["n Sin cua %f la %f ",x,sin[x]]; getch[]; } Bài 10. Viết chương trình có dùng hàm để tính ex theo công thức sau: ex ≈... ! ... !3!2132++++ nxxxxn Quá trình lặp sẽ dừng khi ε< !nxn với ε là số đủ bé cho trước.

    include 26

  • 27. double ex[double x] { float tong,ps; long i=0; ps=tong=1; while [fabs[ps] > 1E-6] { ps=ps*x/[i+1]; tong=tong+ps; i=i+1; } return tong; } void main[] { double x; printf["n Nhap x = "]; scanf["%lf",&x]; printf["n E mu %lf la %lf ",x,ex[x]]; getch[]; } Bài 11. Viết chương trình có dùng hàm để tính số π theo công thức sau: 4 π ... 121]1[... 51311+ + −+−+−≈ nn Quá trình lặp sẽ dừng khi ε< + − 121]1[ nn với ε là số đủ bé cho trước.

    include

    include

    include float pi[] { float tong=4.0,ps=1.0; long i=1,dau =-1; do { ps=4.0/[2*i+1]; tong=tong+dau*ps; 27

  • 28. i+=1; } while [ps > 1E-6]; return tong; } void main[] { clrscr[]; printf["n pi = %f ",pi[]]; getch[]; } Bài 12. Viết chương trình có dùng hàm để tính căn bậc hai của một số không âm.

    include

    include

    include double canhai[double a] { double c,xn; if[a==0] return 0.0; xn=a; do { c=xn; xn=[xn*xn+a]/[2*xn]; } while [fabs[[xn-c]/c] > 1e-5]; return xn; } void main[] { double a; int i; tt:printf["nNhap vao mot so a= "]; scanf["%lf",&a]; if[a0] { if [nghiem[a,b,c,&x,&y] ==2] printf["n Bpt vo so nghiem"]; else if [nghiem[a,b,c,&x,&y]== 0] printf["n Bpt vo so nghiem tru x = %0.3f",x ]; else printf["n Bpt co nghiem : x > %0.3f va x < %0.3f", x,y]; } else { if [[nghiem[a,b,c,&x,&y]==2]||[nghiem[a,b,c,&x,&y]== 0]] printf["n Bpt vo nghiem"]; else printf["n Bpt co nghiem : %0.3f< x < %0.3f", x,y]; } } int nghiem[float a, float b, float c, float *x, float *y] { float d = b*b - 4*a*c; if [db] return[a-b,b]; return[a,b-a]; }

  • 40. m¶ng vμ con trá 3.1. CÂU HỎI 3.1. Câu hỏi về mảng 1. Các kiểu dữ liệu nào của C có thể được dùng trong mảng? 2. Điều gì xãy ra nếu chương trình truy cập đến một phần tử có chỉ số nằm ngoài phạm vi mảng? 3. Mảng được khai báo sau đây có bao nhiêu phần tử? int array[2][3][5][8]; Tên của phần tử thứ 10 là gì? 4. Viết câu lệnh khai báo một mảng nguyên có 10 phần tử và khởi tạo tất cả các phần tử là 1. 5. Cho mảng sau, viết mã để khởi tạo tất cả các phần tử là 88: int eightyeight[88]; 6. Cho mảng sau, viết mã để khởi tạo tất cả các phần tử là 0: int stuff[12][10]; 7. Tìm điểm sai trong đoạn mã sau: int x, y; int array[10][3]; main[] { for [ x = 0; x < 3; x++ ] for [ y = 0; y < 10; y++ ] array[x][y] = 0; return 0; } 8. Tìm điểm sai trong đoạn mã sau: int array[10]; int x = 1; main[] { for [ x = 1; x

  • Chủ Đề