1 Góc học tập ➢
2 Tin học đại cương
Câu 250: Cho biết kết quả hiển thị trên màn hình?
a. 1 4 7b. 1 3 5 7 9c. 1 4 7 10d. 1 4 8
int a; for(a=1 ; a<=10 ; a++) {
printf("%i",a); if(a%3) a=a+2; }
|
|
Nếu điều kiện của lệnh if không phải là một biểu thưc điều kiện mà chỉ là một biểu thức phép toán thì: _Kết quả phép toán khác 0 : lệnh if được thực hiện _Kết quả phép toán bằng 0 : lệnh if không được thực hiện + in ra "a " (in ra "1 ") + a%3=1%3=1 : thực hiện lệnh if a=a+2=3 _Tiếp lệnh for a++ ⇒ a=4 (≤10) : thực hiện lệnh trong for: + in ra "a " (in ra "4 ") + a%3=4%3=1 : thực hiện lệnh if a=a+2=6 _Tiếp lệnh for a++ ⇒ a=7 (≤10) : thực hiện lệnh trong for: + in ra "a " (in ra "7 ") + a%3=7%3=1 : thực hiện lệnh if a=a+2=9 _Tiếp lệnh for a++ ⇒ a=10 (≤10) : thực hiện lệnh trong for: + in ra "a " (in ra "10 ") + a%3=10%3=1 : thực hiện lệnh if a=a+2=12 _Tiếp lệnh for a++ ⇒ a=13 (>10) : kết thúc vòng lặp for. |
|
Câu 251: Đoạn chương trình sau sẽ in những gì ra màn hình?
a. c e ib. c e i oc. e i od. Tất cả đáp án đều sai
int i=0; char c='c';
for(i=0;i<6;i=i+2){
c=c+i; printf("%c",c);
}
_Khi một biến được gán bằng 1 kí tự, biến đó sẽ có giá trị tương ứng ở giá trị nguyên được quy ước trong bảng mã ASCII c=c+i='c'+0='c' in ra "c " _Tiệp tục lệnh for i=i+2=2 (<6), thực hiện lệnh trong for: c=c+i='c'+2='e' in ra "e " _Tiệp tục lệnh for i=i+2=4 (<6), thực hiện lệnh trong for: c=c+i='e'+4='i' in ra "i " _Tiệp tục lệnh for i=i+2=6 (=6), kết thúc vòng lặp for: |
|
|
|
Câu 252: Khi thực hiện chương trình
Kết quả nhận được trên màn hình là
a. 5 3 1b. 5 4 3 2 1c. 4 3 2 1 0d. 5 4 3 2 1 0
#include <stdio.h>
void main(){
int x;
for(x=5;x>0;x--)
printf("%2d ",x--);
}
Kết quả nhận được trên màn hình là
in ra x (in ra 5) x-- ⇒ x=4 _Tiếp tục lệnh for x-- ⇒ x=3 (>0), thực hiện lệnh trong for: in ra x (in ra 3) x-- ⇒ x=2 _Tiếp tục lệnh for x-- ⇒ x=1 (>0), thực hiện lệnh trong for: in ra x (in ra 1) x-- ⇒ x=0 _Tiếp tục lệnh for x-- ⇒ x=-1 (<0), thoát lệnh for. |
|
|
|
Câu 253: Cho đoạn chương trình sau, sau khi thực hiện xong kết quả hiển thị ra màn hình là như thế nào?
a. 0b. 0 1 2 3c. 5d. 0 1 2 3 4
int i;
for(i=0;i<5;i++);
printf("%d ",i);
|
|
Vậy ở đây chỉ có i tăng lên sau mỗi vòng lặp cho đến khi điều kiện i<5 sai Suy ra Kết thúc vòng lặp i=5 Sau vòng lặp có lệnh in ra i tức là in ra 5 |
|
Câu 254: Cho biết kết quả thực hiện đoạn chương trình sau?
a. 0 1 2 3 4 5b. 5c. 0 1 2 3 4d. Lỗi cú pháp vòng lặp for
#include <stdio.h>
void main() {
int i=0;
for(i<=5;i++)
printf("%d ",i);
}
|
|
|
Trong đó: _lệnh 1 : là lệnh khởi đầu, chỉ thực hiện 1 lần duy nhất khi bắt đầu vòng lặp for. Lệnh này có thể bao gồm 1 tập lệnh ngăn cách nhau bởi dấu phẩy "," hoặc có thể để trống _điều kiện : là điều kiện được kiểm tra trước mỗi lần vào thực lệnh 3.Điều kiện này có thể bao gồm 1 tập điều kiện ngăn cách nhau bởi dấu phẩy "," hoặc có thể để trống _lệnh 2 : là lệnh thay cho lệnh 1 sau vòng lặp đầu tiên. Lệnh này có thể bao gồm 1 tập lệnh ngăn cách nhau bởi dấu phẩy "," hoặc có thể để trống _lệnh 3 : là lệnh được thực hiện nếu điều kiện kiểm tra đúng. Lệnh này có thể bao gồm 1 tập lệnh ngăn cách nhau bởi dấu chấm phẩy ";" và được đặt trong cặp ngoặc nhọn {}, hoặc có thể để trống |
Câu 255: Phát biểu nào sau đây là sai đối với vòng lặp for?
a. Vòng lặp for thực hiện nhanh hơn vòng lặp whileb. Mọi đoạn lệnh sử dụng vòng lặp for có thể thay thế bằng vòng lặp while và ngược lạic. for(;;); là một vòng lặp vô tậnd. Các câu lệnh trong vòng lặp for có hể không được thực hiện lần nào
|
Tương ứng với L1; while(ĐK) {L3;L2;} L1;while(ĐK) {L0;} Tương ứng với for (;ĐK;) {L0;} |
|
|
Câu 256: Mệnh đề nào dưới đây là đúng?
a. Lệnh do...while kiểm tra điều kiện vòng lặp trước rồi mới thực hiện lệnhb. Lệnh while thực hiện lệnh trước rồi mới kiểm tra điều kiện vòng lặpc. Cấu trúc while và do...while được dùng để thực hiện lặp đi lặp lại một công việc với số lần lặp xác địnhd. Lệnh while kiểm tra điều kiện vòng lặp trước rồi mới thực hiện lệnh
|
|
|
|
Câu 257: Trong ngôn ngữ lập trình C, khi đoạn chương trình sau được thực hiện, kết quả hiển thị ra màn hình là gì?
a. 5,4,3,2,1,0,b. 5,4,3,2,1,0,-1,c. 4,3,2,1,0,d. 4,3,2,1,0,-1,
int i=5;
while(i-->=0) printf("%d,",i);
|
|
|
Ban đầu i=5 _Vòng lặp 1: i=5>=0 (đúng) i=5--=4 thực hiện in ra "4," _Vòng lặp 2: i=4>=0 (đúng) i=4--=3 thực hiện in ra "3," _Vòng lặp 3: i=3>=0 (đúng) i=3--=2 thực hiện in ra "2," _Vòng lặp 4: i=2>=0 (đúng) i=2--=1 thực hiện in ra "1," _Vòng lặp 5: i=1>=0 (đúng) i=1--=0 thực hiện in ra "0," _Vòng lặp 6: i=0>=0 (đúng) i=0--=-1 thực hiện in ra "-1," _Vòng lặp 7: i=-1<0 không thực hiện vòng lặp này. i=(-1)--=-2 |
Câu 258: Trong 2 đoạn chương trình sau đoạn nào cho kết quả i=12?
(A) int i=6;do i++; while(i<12);
(B) int i=6;while(i<12)i++;
a. Bb. Ac. Cả A và Bd. Không có đoạn nào
(A) int i=6;do i++; while(i<12);
(B) int i=6;while(i<12)i++;
|
|
Vậy i cứ tăng dần cho đến khi i=12 thì vòng lặp ngừng. i không tăng thêm nữa |
|
Câu 259: Trong ngôn ngữ lập trình C, cho biết kết quả hiển thị trên màn hình sau khi đoạn chương trình sau được thực hiện?
a. %d %d %d %d %db. i i i i ic. 0 2 4 6 8d. 0 2 4 6 8 10
int i=0;
while(i<10) {
printf("%d ",i);
i=i+2;
}
|
|
_Vòng lặp 1: i=0<10 (đúng) thực hiện in ra "0 " ,i=0+2=2 _Vòng lặp 2: i=2<10 (đúng) thực hiện in ra "2 " ,i=2+2=4 _Vòng lặp 3: i=4<10 (đúng) thực hiện in ra "4 " ,i=4+2=6 _Vòng lặp 4: i=6<10 (đúng) thực hiện in ra "6 " ,i=6+2=8 _Vòng lặp 5: i=8<10 (đúng) thực hiện in ra "8 " ,i=8+2=10 _Vòng lặp 6: i=10=10 không thực hiện vòng lặp này. |
|
Câu 260: Trong ngôn ngữ lập trình C, cho biết kết quả hiển thị trên màn hình sau khi đoạn chương trình sau được thực hiện?
a. 2 4 6 8b. 0 2 4 6 8c. 2 4 6 8 10d. 0 2 4 6 8 10
int i=0;
while (i<10) {
i=i+2;
printf("%d ",i);
}
|
|
_Vòng lặp 1: i=0<10 (đúng) thực hiện lệnh i=0+2=2, in ra "2 " _Vòng lặp 2: i=2<10 (đúng) thực hiện lệnh i=2+2=4, in ra "4 " _Vòng lặp 3: i=4<10 (đúng) thực hiện lệnh i=4+2=6, in ra "6 " _Vòng lặp 4: i=6<10 (đúng) thực hiện lệnh i=6+2=8, in ra "8 " _Vòng lặp 5: i=8<10 (đúng) thực hiện lệnh i=8+2=10, in ra "10 " _Vòng lặp 6: i=10=10 ngừng thực hiện vòng lặp |
|
Câu 261: Hãy cho biết đoạn chương trình sau kết quả in ra màn hình như thế nào?
a. a=1b. Chương trình lặp vô hạn và không dừngc. a=10d. a=a
void main() {
int a=1, n=0;
while (n<10) {a++;}
printf("a=%d",a);
}
|
|
|
|
Câu 262: Trong C, đoạn mã sau hiển thị gì trên màn hình?
a. 12345b. 01234c. 123456d. 1234
int i=0;
while(++i+1<=5) printf("%d",i);
|
|
|
Ban đầu i=0 _Vòng lặp 1: i=++0=1 ⇒ 1+1=2<=5 (đúng) in ra "1" _Vòng lặp 2: i=++1=2 ⇒ 2+1=3<=5 (đúng) in ra "2" _Vòng lặp 3: i=++2=3 ⇒ 3+1=2<=5 (đúng) in ra "3" _Vòng lặp 4: i=++3=4 ⇒ 4+1=2<=5 (đúng) in ra "4" _Vòng lặp 5: i=++4=5 ⇒ 5+1=6>5 ngừng vòng lặp |
Câu 263: Trong ngôn ngữ lập trình C, khi đoạn chương trình sau được thực hiện, kết quả hiển thị trên màn hình là gì?
a. 0, 1, 2, 3, 4, 5, b. 1, 2, 3, 4, 5, c. 1, 2, 3, 4, 5d. 1, 2, 3, 4, 5, 6,
int i=0;
while (++i <=5)
printf("%d, "i);
|
Ban đầu i=0 _Vòng lặp 1: i=++0=1 ⇒ 1<=5 (đúng) in ra "1, " _Vòng lặp 2: i=++1=2 ⇒ 2<=5 (đúng) in ra "2, " _Vòng lặp 3: i=++2=3 ⇒ 3<=5 (đúng) in ra "3, " _Vòng lặp 4: i=++3=4 ⇒ 4<=5 (đúng) in ra "4, " _Vòng lặp 5: i=++4=5 ⇒ 5<=5 (đúng) in ra "5, " _Vòng lặp 6: i=++5=6 ⇒ 6>5 ngừng vòng lặp |
|
|
Câu 264: Cho biết kết quả thực hiện đoạn chương trình sau?
Hãy chỉ ra lỗi cú pháp của đoạn chương trình trên (nếu có)?
a. 0b. 10c. 20d. 45
int S=0, d=0;
while (d<10) {
S+=d;
d+=2;
}
printf("%d",S);
Hãy chỉ ra lỗi cú pháp của đoạn chương trình trên (nếu có)?
|
|
_Vòng lặp 1: d=0<10 (đúng) S=S+d=0+0=0 , d=d+2=0+2=2 _Vòng lặp 2: d=2<10 (đúng) S=S+d=0+2=2 , d=d+2=2+2=4 _Vòng lặp 3: d=4<10 (đúng) S=S+d=2+4=6 , d=d+2=4+2=6 _Vòng lặp 4: d=6<10 (đúng) S=S+d=6+6=12 , d=d+2=6+2=8 _Vòng lặp 5: d=8<10 (đúng) S=S+d=12+8=20 , d=8+2=6+2=10 _Vòng lặp 6: d=10=10 ngừng vòng lặp. Thực hiện lệnh in ra S (in ra 20) |
|
Câu 265: Viết chương trình yêu cầu người dùng nhập vào một số n (0≤n≤100). Nếu người dùng nhập sai thì đưa ra thông báo và yêu cầu nhập lại cho đến khi nào đúng.
Cần điền đáp án nào vào dấu (..........) để chương trình thực hiện như yêu cầu?
a. if((n>0)&&(n<100))b. while((n>0)&&(n<100))c. while (n<0||n>100)d. if (n<0||n>100)
int n;
printf("Nhập gia tri n thoa man 0<=m<=100: ");
scanf("%d",&n);
..........
{
printf("Gia tri ban nhap vao khong dung, yeu cau nhap lai");
scanf("%d",&n);
}
Cần điền đáp án nào vào dấu (..........) để chương trình thực hiện như yêu cầu?
|
|
|
|
Câu 266: Viết chương trình yêu cầu người dùng nhập vào một số n (0≤n≤100). Nếu người dùng nhập sai thì đưa ra thông báo và yêu cầu nhập lại cho đến khi nào đúng.
Cần điền đáp án nào vào dấu (..........) để chương trình thực hiện như yêu cầu?
a. while (n>=0||n<=100);b. while (n>=0||n<=100)c. while (n<0||n>100)d. while (n<0||n>100);
int n;
do{
printf("Nhap gia tri n thoa man 0<=m<=100: ");
scanf("%d",&n);
}..........
Cần điền đáp án nào vào dấu (..........) để chương trình thực hiện như yêu cầu?
|
|
|
|
Câu 267: Cho đoạn chương trình nhập vào từ bàn phím một số nguyên lớn hơn hoặc bằng 0, nếu nhập sai yêu cầu nhập lại. Chọn câu trả lời đúng cho biểu thức A và B
a. A: n<0 ; B: n<0b. A: n>=0 ; B: n>=0c. A: n<0 ; B: n>=0d. A: n>=0 ; B: n<0
int n;
do { scanf("%d",&n);
if (A) printf("Nhap sai, nhap lai\n");
} while (B);
|
|
|
|
Câu 268: Trong ngôn ngữ lập trình C, khi đoạn chương trình sau được thực hiện, biến A có giá trị bao nhiêu?
a. 0b. 76c. 77d. 1000
int i, A=0;
for (i=1; i<100; i+=13) {
continue;
A = A + 1;
}
Trong bài trên ta thấy lệnh A=A+1; nằm sau 1 lệnh continue; nên nó sẽ không bao giờ được thực hiện ⇒ A không bị thay đổi giá trị sau khi for chạy xong |
|
|
|
Câu 269: Trong ngôn ngữ lập trình C, khi đoạn chương trình sau được thực hiện, biến A có giá trị bao nhiêu?
a. 0b. 100c. 760d. 10000
int i, A=0;
for (i=1; i<100; i+=13) {
A = A + 100;
break;
}
|
Ban đầu A=0 _Vòng lặp 1: i=0<100 (đúng) thực hiện các lệnh trong for: A=A+100=0+100=100 break; ⇒ thoát vòng for (Vậy vòng for này chỉ thực hiện lặp 1 lần) |
|
|
MỤC LỤC
Có thể bạn quan tâm