Bài giảng Tin học đại cương Chương 1+2

1. Câu lệnh , khối lệnh trong C 2. Cấu trúc điều khiển là gì? 3. Cấu trúc điều kiện: IF. ELSE. 4. Cấu trúc rẽ nhánh: SWITCH.CASE. 5. Cấu trúc lặp: FOR, WHILE, DO.WHILE 6. Cấu trúc điều khiển GOTO

pdf33 trang | Chia sẻ: lylyngoc | Lượt xem: 1738 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Bài giảng Tin học đại cương Chương 1+2, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
• GVHD: Dương Khai Phong • Email: khaiphong@gmail.com • Website: 1. Tổng quan về C (chương 1,2) 2. Các cấu trúc điều khiển trong C (chương 3) 3. Hàm và cấu trúc chương trình (chương 4) 4. Mảng, chuỗi và con trỏ (chương 5) 5. Kiểu cấu trúc, đệ qui, tập tin (chương 6,7,8) PHẦN 1: 1. Lập trình là gì? 2. Cấu trúc cơ bản của một chương trình C 3. Các kiểu dữ liệu cơ sở 4. Hằng, biến 5. Nhập / xuất dữ liệu 6. Biểu thức và các toán tử 7. Tìm hiểu một số chương trình mẫu 1. Câu lệnh , khối lệnh trong C 2. Cấu trúc điều khiển là gì? 3. Cấu trúc điều kiện: IF.. ELSE.. 4. Cấu trúc rẽ nhánh: SWITCH..CASE.. 5. Cấu trúc lặp: FOR, WHILE, DO..WHILE 6. Cấu trúc điều khiển GOTO 1. Chương trình và hàm trong C. 2. Cách viết một hàm. 3. Phân loại hàm trong C. a) Hàm với đối số là tham trị. b) Hàm với đối số là tham biến. 1. Khái niệm về mảng. 2. Các bài toán liên quan đến mảng. 3. Chuỗi ký tự. 4. Con trỏ và bộ nhớ. 5. Mối liên hệ giữa mảng, chuỗi, con trỏ và hàm. ĐH CÔNG NGHỆ THÔNG TIN 8 PHẦN 2: Câu 1: Cho b = 5 và c = 8. Hãy cho biết giá trị của a sau khi thi hành dòng lệnh sau a=++b + ++c; A. 12 B. 13 C. 14 D. 15 Câu 2: Cho biết đoạn chương trình sau đây xuất ra màn hình những gì? 1. int tam=1; 2. int x,y=1; 3. x=0; 4. while(x<=y) 5. { x+=tam; 6. tam++; 7. } 8. printf("%d %d",y,x); A. 2 1 B. 1 3 C. 2 3 D. 1 4 Câu 3: Cho biết giá trị của 8/-5 và 8%-5 A. 2 và 3 B. -2 và 3 C. -1 và 3 D. -1 và -3 Câu 4: Cho biết giá trị của j sau đoạn chương trình: 1. int j; 2. j='2'+3; 3. printf("%c", j); A. Ký tự '5' B. Ký tự '23' C. Số 5 D. Chương trình báo lỗi Câu 5: Cho biết kết quả đoạn chương trình sau? 1. int temp,a=7,b=3; 2. int *pa,*pb; 3. pa=&a; 4. pb=&b; 5. printf(" %d %d ",*pa,*pb); 6. temp=*pa; 7. *pa=*pb; 8. *pb=temp; 9. printf(" %d %d ",*pa,*pb); A. 7 3 Rác Rác B. 7 3 7 3 C. 7 3 3 7 D. Chương trình báo lỗi Câu 6: Cho biết kết quả đoạn chương trình sau? 1. int i; 2. int m[5],s; 3. for(i=0;i<5;i++) 4. m[i]=i; 5. s=0; 6. for(i=0;i<5;i++) 7. s= s+ *(m+i); 8. printf("%d",s); A. 0 B. 10 C. 15 D. Chương trình báo lỗi Câu 7: Chọn khai báo prototype của hàm "tinhtong" sao cho ta có thể gọi hàm "tinhtong" như sau 1. main(){ 2. static int a[2][3] = { {10,20,30}, {11,21,31} }; 3. int hang,cot,tong; 4. tong = tinhtong(a); 5. printf("%d", tong); 6. return 0; 7. } A. int tinhtong(int pa[2][]) B. void tinhtong(int pa[2][3]) C. void tinhtong(int pa[][]) D. int tinhtong(int pa[][3]) Câu 8: Cho biết kết quả đoạn chương trình sau? 1. int a=2,b; 2. switch (a) 3. { 4. case 2:b=1;break; 5. case 5:b=2;break; 6. default:b=3; 7. } 8. printf("%d",b); A. 1 B. 2 C. 3 D. Không xác định Câu 9: Cho biết kết quả đoạn chương trình sau nếu ta nhập vào chuỗi "abc def“: 1. void ham(char ten_chuoi[]) 2. { 3. printf("Chuoi da nhap %s",ten_chuoi); 4. } 5. void main() 6. { 7. char chuoi[20]; 8. printf("Nhap chuoi "); 9. scanf("%s",chuoi); 10. ham(chuoi); 11. } A. Chuoi da nhap abc def B. Chuoi da nhap abc C. Chuoi da nhap def D. Chương trình báo lỗi Câu 10: Cho biết kết quả đoạn chương trình sau? 1. int a=2,b; 2. switch (a=6) 3. { 4. case 2:b=1; 5. case 5:b=2; 6. default:b=3; 7. } 8. printf("%d",b); A. 1 B. 2 C. 3 D. Không xác định Câu 10: Cho biết kết quả đoạn chương trình sau? 1. int a=2,b; 2. switch (a=6) 3. { 4. case 2:b=1; 5. case 5:b=2; 6. default:b=3; 7. } 8. printf("%d",b); A. 1 B. 2 C. 3 D. Không xác định Câu 11: Cho biết kết quả đoạn chương trình sau? 1. int main() 2. { 3. int a,b; 4. void setvalue(){ 5. int a=4; 6. printf("%d %d ",a,b); 7. } 8. int b=7; 9. setvalue(); 10. printf("%d %d ",a,b); 11. return 0; 12. } A. 4 0 0 7 B. 4 Rác Rác 7 C. Chương trình báo lỗi D. Rác Rác Rác Rác Câu 12: Cho biết kết quả đoạn chương trình sau? 1. int a=3,b=4,*pa,*pb; 2. pa=&a; 3. pb=&b; 4. pa++; 5. b++; 6. printf("%d %d",*pa,a); A. Chương trình báo lỗi B. 5 3 C. 4 3 D. Rác 3 Câu 13: Cho biết kết quả đoạn chương trình sau? 1. void main() 2. { 3. int a,b; 4. a=(b == 2)?1:2; 5. } A. 0 B. 1 C. 2 D. Tất cả đều sai Câu 14: Cho biết kết quả đoạn chương trình sau? 1. void main() 2. { 3. float a=65; 4. printf("%f",a); 5. } A. 65 B. 65.00000 C. A D. Tất cả đều sai Câu 15: Cho biết kết quả đoạn chương trình sau? 1. void main() 2. { 3. int a,b=4; 4. switch((a=2)?5:2) 5. { 6. case 5:b+=2; 7. default:a-b--; 8. case 2:a--; 9. } 10. } A. 1 4 B. 4 3 C. 4 4 D. 1 5 Câu 16: Cho biết kết quả đoạn chương trình sau? 1. void main() 2. { 3. int time = 1; 4. do{ 5. printf("%d ", time); 6. time++; 7. }while(time <= 5); 8. } A. 1 2 3 4 B. 1 2 3 4 5 C. 1 2 3 4 5 6 D. Chương trình không in gì ra màn hình Câu 17: Cho biết kết quả đoạn chương trình sau? 1. void main() 2. { 1. int i; 2. int m[5],s; 3. for(i=0;i<5;i++) 4. m[i]=i; 5. s=0; 6. for(i=0;i<5;i++) 7. s= s+ *(m); 8. printf("%d",s); 9. } A. 0 B. 1 C. 15 D. Chương trình báo lỗi Câu 18: Cho biết kết quả đoạn chương trình sau? 1. void main() 2. { 3. int i=0 ; 4. int a=2; 5. for(;i<a;i++) 6. printf("%d ",i*a); 7. } A. 4 B. 0 2 C. 0 2 4 D. Tất cả đều sai Câu 19: Cho biết kết quả đoạn chương trình sau? 1. void main() 2. { 3. int T=0 ; 4. int a=3; 5. for(int i=0;i<a;i+=2); 6. T=T+i; 7. printf("%d ",T); 8. } A. 0 B. 2 C. 4 D. Tất cả đều sai Câu 20: Cho biết kết quả đoạn chương trình sau? 1. int tinhtong(int pa[][3]) 2. { 3. int hang; 4. int tong_cot; 5. tong_cot = 0; 6. for(hang = 0; hang < 2; hang++) 7. tong_cot += pa[hang][0]; 8. return(tong_cot); 9. } 10. void main() 11. { 12. static int a[2][3] = { {10,20,30}, {11,21,31} }; 13. int hang,cot,tong; 14. tong = tinhtong(a); 15. printf("%d", tong); 16. } A. 21 B. 60 C. 61 D. 63 PHẦN 3:  Bài tập mảng: xây dựng các hàm sau 1. Nhập / xuất mảng số nguyên. 2. Tìm phần tử max, min trong mảng. 3. Tìm phần tử là số nguyên tố max trong mảng. 4. Sắp xếp mảng tăng dần, giảm dần. 5. Xóa phần tử tại vị trí i (i được nhập vào). 6. Xóa các phần tử có giá trị bằng x (x được nhập vào). 7. Cập nhật giá trị của phần tử có giá trị bằng x  Bài tập cấu trúc: xây dựng các hàm sau 1. Nhập / xuất danh sách học viên gồm có thông tin là họ tên và điểm trung bình. 2. Tìm ĐTB có giá trị max, min. 3. Tìm học viên có họ tên bằng x (x được nhập vào). 4. Tìm những học viên có ĐTB max. 5. Sắp xếp danh sách học viên theo ĐTB giảm dẩn. 6. Xóa học viên có họ tên bằng x (x được nhập vào). 7. Cập nhật ĐTB cho các học viên có họ tên bằng x (x được nhập vào).