Lập trình C: TEST lý thuyết Lập trình C


Đăng ký nhận thông báo về những video mới nhất

(nhấn nút 'Result' phía cuối bài test để biết kết quả)

Q1: Chỉ thị nào sau đây là đúng khi dùng để khai báo một biến nguyên có tên là sum?
sum: integer;
integer sum;
int sum;
sum int;

Q2: Chỉ thị nào sau đây là đúng khi dùng để khai báo một biến ký tự có tên là letter?
letter := char;
char letter;
letter char;
character letter;

Q3: Chỉ thị nào sau đây là đúng khi khai báo một hằng số có tên là TRUE và giá trị là 1?
int TRUE = 1;
#define TRUE = 1
#define TRUE 1;
#define TRUE 1

Q4: Chỉ thị nào sau đây là đúng khi khai báo một biến thực có tên money?
money: real;
real money;
float money;
money float;

Q5: Chỉ thị nào sau đây là đúng khi khai báo một hằng số có tên là GST và giá trị là 1.125?
#define GST 1.125
#define GST = 1.125
float GST = 1.125
const float GST = 1.125

Q6: Câu lệnh nào sau đây là đúng để thực hiện việc gán giá trị của biến number1 cho biến total?
total := number1;
number1 = total;
total = number1;
number1 := total;

Q7: Câu lệnh nào sau đây là đúng để thực hiện việc gán giá trị của phép chia biến total cho 10 cho biến discount?
discount = total/10;
discount = total:10;
total = discount*0.1;
total/discount = 10;

Q8: Câu lệnh nào sau đây là đúng để thực hiện việc gán ký tự W cho biến ký tự letter?
letter = “W”;
letter = W;
char letter = “W”;
letter = ‘W’;

Q9: Câu lệnh nào sau đây là đúng để thực hiện việc in ra giá trị của biến nguyên có tên sum?
printf(“%s”,sum);
print(“%d”,&sum);
printf(“%d”,sum);
printf(“%d”,&sum);

Q10: Câu lệnh nào sau đây là đúng để thực hiện việc in ra dòng chữ Welcome rồi xuống dòng?
printf(“Welcome\n”);
printf(Welcome,”\n”);
printf(Welcome\n);
printf(‘Welcome’,’\n’);

Q11: Câu lệnh nào sau đây là đúng để thực hiện việc in ra giá trị của biến ký tự có tên letter?
print(letter);
print(“%c”,letter);
printf(“%d”,letter);
printf(“%c”,&letter);

Q12: Câu lệnh nào sau đây là đúng để thực hiện việc in ra giá trị của biến thực discount?
printf(“%s”,discount);
print(‘discount’);
printf(“%f”,discount);
printf(“%f”,&discount);

Q13: Câu lệnh nào sau đây là đúng để thực hiện việc in ra giá trị của biến thực dump sử dụng hai chỗ cho phần thập phân?
printf(“%2.0f”, dump);
printf(“%2f”,&dump);
printf(“%*.5f”,2,dump);
printf(“%.2f”,dump);

Q14: Câu lệnh nào sau đây là đúng để thực hiện việc đọc giá trị cho biến nguyên i từ bàn phím?
scanf(“%d”,&i);
scanf(“%s”,&i);
scanf(“%d”,*i);
scanf(i);

Q15: Hãy cho biết kết quả của phép tính (101B)|(100B)?
110B
101B
010B
Cả ba câu trên đều sai

Q16: Hãy cho biết kết quả của phép tính (101B)&(100B)?
110B
101B
100B
Cả ba câu trên đều sai

Q17: Chỉ thị nào sau đây là đúng khi sử dụng để khai báo một mảng 10 ký tự có tên letters?
letters: char[10];
char[10] letters;
char letters[10];
char array letters[10];

Q18: Câu lệnh nào sau đây là đúng khi gán ký tự ‘Z’ cho phần tử thứ tư của mảng letters?
letters[4]:= “Z”;
letters[3] = 'Z';
letters[4] = "Z";
letters[3] = 'z';

Q19: Chỉ thị nào sau đây là đúng khi khai báo mảng hai chiều balances có 3 hàng và 5 cột?
float balances[3][5];
balances[3][5] of float;
float balances[5][3];
array of float balances[0..2][0..5];

Q20: Câu lệnh nào sau đây là đúng để gán xâu “Hello” cho mảng ký tự words tại thời điểm khai báo?
char words[10] = 'Hello';
static char words[] = "Hello";
static char words["hello"];
static char words[] = { Hello };

Q21: Câu lệnh nào sau đây là đúng để gán xâu “Welcome” cho xâu ký tự stuff?
strcpy( stuff, 'Welcome' );
stuff = "Welcome";
stuff[0] = "Welcome";
strcpy(stuff, "Welcome" );

Q22: Câu lệnh nào sau đây là đúng để in ra màn hình giá trị của phần tử thứ 3 của mảng số nguyên có tên totals?
printf("%d\n", &totals[3] );
printf("%d\n", totals[3] );
printf("%c\n", totals[2] );
printf("%d\n", totals[2] );

Q23: Câu lệnh nào sau đây là đúng để in ra màn hình xâu ký tự có tên words?
printf("%s\n", words);
printf("%c\n", words);
printf("%d\n", words);
printf("%s\n", words[2]);

Q24: Câu lệnh nào là đúng để gán xâu “Welcome” cho xâu ký tự stuff?
strcpy( stuff, 'Welcome' );
stuff = "Welcome";
stuff[0] = "Welcome";
strcpy(stuff, "Welcome" );

Q25: Câu lệnh nào sau đây là đúng để nhập vào giá trị cho xâu ký có tên words từ bàn phím?
scanf("%s\n", words);
scanf(" %c", words);
scanf("%c", words);
scanf("%s", words);

Q26: Chỉ thị nào sao đây là đúng để khai báo một biến con trỏ nguyên có tên address?
int address;
address *int;
int *address;
*int address;

Q27: Câu lệnh nào sau đây là đúng khi gán địa chỉ của biến thực balance cho con trỏ thực temp?
temp = &balance;
balance = float temp;
float temp *balance;
&temp = balance;

Q28: Câu lệnh nào sau đây là đúng khi sử dụng để gán ký tự ‘W’ cho biến ký tự được trỏ bởi biến con trỏ ký tự letter?
'W' = *letter;
letter = "W";
letter = *W;
*letter = 'W';

Q29: Cho biết kết quả trên màn hình sau khi chạy đoạn chương trình sau?
      int count=10, *temp, sum=0;
      temp=&count;
      *temp=20;
      temp=∑
      *temp=count;
      printf("count = %d, *temp = %d, sum = %d\n", count, *temp, sum);
count = 2, *temp = 10, sum = 10
count = 20, *temp = 20, sum = 20
count = 10, *temp = 2, sum = 10
count = 200, *temp = 0.2, sum = 1

Q30: Chỉ thị nào sau đây là đúng khi khai báo một con trỏ trỏ vào xâu “Hello” có tên message?
char message = "Hello";
*message = "Hello";
char *message = "Hello";
char message = 'Hello';

Q31: Trong C để thực hiện ép kiểu (type casting), bạn cần sử dụng thư viện nào sau đây?
iostream.h
ctype.h
math.h
Không phải 3 kết qủa trên

Q32: Cho biết kết quả của đoạn chương trình sau:
      x=0;
      switch(x)
      {
            case 1: printf( "One" );
            case 0: printf( "Zero" );
            case 2: printf( "Hello World" );
      }
On
Zero
Hello World
ZeroHello World

Q33: x có kết quả là bao nhiêu sau khi chạy đoạn chương trình dưới đây?
      int x;
      for(x=0; x<10; x++)
      {
      }
10
9
0
Chương trình bị lỗi

Q34: Cho biết kết quả của biểu thức sau: !(1 && !(0 || 1))
Đúng
Sai
Không thể xác định kết quả

Q35: Cho biết kết quả của đoạn chương trình sau:
      #include<stdio.h>
      #include<conio.h>
      main()
      {
            int i,j,k,x=0;
            for(i=0; i<5;++i)
                  for(j=0;j<i;++j)
                  {
                        switch(i+j)
                        {
                              case –1:
                              case 0: x=x+1; break;
                              case 1:
                              case 2:
                              case 3: x=x+2; break;
                              default: x=x+3;
                        }
                  }
            printf(“%d”,x);
      }
20
21
22
Không kết qủa nào đúng

Q36: Cho biết kết quả của đoạn chương trình sau:
      main()
      {
            int x, y=1, z;
            if(z=y<0)
                  x=3;
            else
                  if(y==0)
                        x=5;
                  else
                        x=7;
            printf("\n%d, %d", x, y);
      }
7,0
7, 1
3,3
Không kết qủa nào đúng

Q37: Cho biết kết quả của đoạn chương trình sau:
      #include<stdio.h>
      #include<conio.h>
      main()
      {
            int a, b = 0;
            int c[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
            for (a=0; a<10; ++a)
                  if ((a%2)==0)
                        b=b+c[a];
            printf(“%d”, b);
      }
10
15
25
Không kết qủa nào đúng

Q38: Cho biết kết quả của i:
      double i=15+80/2*10-12*2/3–10;

298.00
553.00
397.00
553.00

Q39: Cho biết kết quả của đoạn chương trình dưới đây
      #include<stdio.h>
      main()
      {
            int i;
            char ch;
            for(i=0, ch=65; i<4; i++, ch+=2*i)
                  putchar(ch);
      }
65 66 67 68
ACGM
65 67 71 77
ABCD

Q40: Cho biết kết quả của đoạn chương trình dưới đây
      #include<stdio.h>
      #include<conio.h>
      main()
      {
            int i, j, k, x=0;
            for(i=1;i<5;i++)
            for(j=0;j<i;++j)
            {
                  switch(i+j)
                  {
                        case -1:
                        case 0: x=x+1; break;
                        case 1:
                        case 2:
                        case 3: x=x+2; break;
                  }
            }
            printf("%d",x);
            getch();
      }
8
10
13
Không có câu nào đúng

Q41: Cho biết kết quả của đoạn chương trình dưới đây
      #include<stdio.h>
      #include<conio.h>
      main()
      {
            int i, j, k, x=0;
            for(i=1;i<5;i++)
                  for(j=0;j<i;++j)
                  {
                        switch(i+j)
                        {
                              case -1:
                              case 0: x=x+1; break;
                              case 1:
                              case 2:
                              case 3: x=x+2; break;
                        }
                  }
            printf("%d",x);
            getch();
      }
8
10
13
Không câu nào đúng

Q42: Cho biết kết quả của đoạn chương trình dưới đây
      main()
      {
            char name[10]="APTECH";
            int i;
            for(i=0;name[i]!='\0';i++);
            {
                  printf("%d",i);
            }
      }
6
APTECH
0123456
Không câu nào đúng

Q43: Cho biết kết quả của đoạn chương trình dưới đây
      main()
      {
            int i=1;
            while(i<=5);
            {
                  printf("%d",i);
                  i++;
            }
      }
Runtime Error.
Syntax Error.
Logical Error

Q44: Cho biết kết quả của đoạn chương trình dưới đây
      #include<stdio.h>
      #include
      main()
      {
            int a, count;
            int funct(int count);
            for(count=1; count<=5; ++count)
            {
                  a= funct(count);
                  printf("\t%d",a);
            }
      }
      int funct(int x)
      {
            int y;
            y=x*x;
            return(y);
      }
1 1 1 1 1
1 4 9 16 25
2 4 8 16 32
Không câu nào đúng

Q45: Cho biết kết quả của đoạn chương trình dưới đây
      #include<stdio.h>
      #include<conio.h>
      main()
      {
            int i=0, x=0;
            do
            {
                  if(i%5==0)
                        x++;
                        ++i;
            } while(i<20);
            printf("%d",x);
      }
4
10
0
Không đáp án nào đúng

Q46: Chọn kết quả của đoạn chương trình C sau đây
      int j;
      for(j=1; j<10; j+=2)
            printf(“%d ”,j);
1 2 3 4 5 6 7 8 9
2 4 6 8
1 3 5 7 9
1 2 4 6 8

Q47: Trong ngôn ngữ C hàm scanf() được dùng để ....................
In một tập tin
Hiển thị các giá trị ra màn hình
Truyền dữ liệu ra máy in
Nhận giá trị cho biến

Q48: Vòng lặp sau chạy bao nhiêu lần?
      c1=’a’;
      while(c1>=’a’ && c1<=‘z’)
      {
            c1++;
      }
25
26
0
1

Q49: Hãy lựa chọn đáp án đúng khi chạy đoạn chương trình dưới đây
      main()
      {
            int a,b,c;
            b=2;
            a=2*(b++);
            c= 2*(++b);
      }
a=4,c=6
a=3,c=8
b=3,c=6
a=4,c=8

Q50: Mảng khi là tham số truyền cho hàm, được truyền theo .........
Tham trị
Tham biến
Cả tham trị và tham biến
Ba cách trả lời trên đều không đúng

Q51: Trong C, hàm nào sau đây được dùng để giải phóng bộ nhớ đã được cấp phát?
free()
delete()
clear()
remove()

Q52: Cho đoạn chương trình C sau đây, a[1] bằng bao nhiêu?
      int a[10], i, *p;
      a[0]=1;
      a[1]=2;
      p = a;
      (*p)++;
2
3
4
Không đưa ra kết quả

Q53: Thực hiện: Kiểm tra nếu a, b, c đều lớn hơn 1 thì in số 1, chọn câu nào?
if (a>1) or (b>1) or (c>1) then write(1);
if a>1 and b>1 and c>1 then write(1);
if (a>1) and (b>1) and (c>1) then write(1);
if a, b, c > 1 then write(1);

Q54: Đáp án nào dưới đây là khai báo hoàn chỉnh của một hàm trong C?
int funct();
int funct(int x) {return x=x+1;}
void funct(int) {printf("Hello")}
void funct(x) { printf("Hello")}


Q55:Chỉ thị nào sau đây là đúng khi sử dụng để khai báo một mảng 10 ký tự có tên letters?
letters: char[10];
char[10] letters;
char letters[10];
char array letters[10];

Q56: Câu lệnh nào sau đây là đúng khi gán ký tự ‘Z’ cho phần tử thứ tư của mảng letters?
letters[4]:= “Z”;
letters[3] = 'Z';
letters[4] = "Z";
letters[3] = 'z';

Q57: Chỉ thị nào sau đây là đúng khi khai báo mảng hai chiều balances có 3 hàng và 5 cột?
float balances[3][5];
balances[3][5] of float;
float balances[5][3];
array of float balances[0..2][0..5];

Q58: Câu lệnh nào sau đây là đúng để gán xâu “Hello” cho mảng ký tự words tại thời điểm khai báo?
char words[10] = 'Hello';
static char words[] = "Hello";
static char words["hello"];
static char words[] = { Hello };

Q59: Câu lệnh nào sau đây là đúng để gán xâu “Welcome” cho xâu ký tự stuff?
strcpy( stuff, 'Welcome' );
stuff = "Welcome";
stuff[0] = "Welcome";
strcpy(stuff, "Welcome" );

Q60: Câu lệnh nào sau đây là đúng để in ra màn hình giá trị của phần tử thứ 3 của mảng số nguyên có tên totals?
printf("%d\n", &totals[3]);
printf("%d\n", totals[3]);
printf("%c\n", totals[2]);
printf("%d\n", totals[2]);

Q61: Câu lệnh nào sau đây là đúng để in ra màn hình xâu ký tự có tên words?
printf("%s\n", words);
printf("%c\n", words);
printf("%d\n", words);
printf("%s\n", words[2]);

Q62: Câu lệnh nào sau đây là đúng để nhập vào giá trị cho xâu ký có tên words từ bàn phím?
scanf("%s\n", words);
scanf(" %c", words);
scanf("%c", words);
scanf("%s", words);

Q63: Chỉ thị nào sao đây là đúng để khai báo một biến con trỏ nguyên có tên address?
int address;
address *int;
int *address;
*int address;

Q64: Câu lệnh nào sau đây là đúng khi gán địa chỉ của biến thực balance cho con trỏ thực temp?
temp = &balance;
balance = float temp;
float temp *balance;
&temp = balance;

Q65: Câu lệnh nào sau đây là đúng khi sử dụng để gán ký tự ‘W’ cho biến ký tự được trỏ bởi biến con trỏ ký tự letter?
'W' = *letter;
letter = "W";
letter = *W;
*letter = 'W';

Q66: Cho biết kết quả trên màn hình sau khi chạy đoạn chương trình sau?
      int count = 10, *temp;
      sum=0;
      temp = &count;
      *temp = 20;
      temp = &sum;
      *temp = count;
      printf("count = %d, *temp = %d, sum = %d\n", count, *temp, sum );
count = 2, *temp = 10, sum = 10
count = 20, *temp = 20, sum = 20
count = 10, *temp = 2, sum = 10
count = 200, *temp = 0.2, sum = 1


Q67: Chỉ thị nào sau đây là đúng khi khai báo một con trỏ trỏ vào xâu “Hello” có tên message?
char message = "Hello";
*message = "Hello";
char *message = "Hello";
char message = 'Hello';

Q68: Trong ngôn ngữ C, câu lệnh nào sau đây trả về địa chỉ ô nhớ của con trỏ p?
p;
*p;
&p;
address(p);

Q69: Giải thuật là: (chọn 2)
Phương pháp giải bài toán
Cách tiếp cận để giải bài toán
Tập các câu lệnh
Các dòng lệnh
Chương trình trong 1 ngôn ngữ

Q70: Khi nói đến lưu đồ, 4 phát biểu nào sau đây là các phát biểu đúng?
Chúng dễ hiểu hơn ngay khi nhìn qua so với việc diễn đạt bằng ngôn ngữ tự nhiên
Chúng cung cấp một cách lập tài liệu cho chương trình
Chúng ta có thể xem lại và kiểm lỗi chương trình dễ dàng hơn với sự giúp đã của lưu đồ
Lưu đồ giúp giải thích chương trình và bàn luận về giải pháp dễ dàng hơn
Lưu đồ giúp tính trị của các biến trong 1 chương trình khác

Q71: Xác định giá trị của biểu thức sau:
      15+80/2*10–12*2/3-10

298
553
397
-553

Q72: Xác định giá trị của biểu thức sau:
      (10-(8-2)*10)/(5-5*2)

-10
10
50
Divide by zero

Q73: Khi xem xét vòng lặp xác định, 2 phát biểu nào sau đây là các phát biểu đúng?
Các trị được tính toán hay được quản lý trong thân vòng lặp không có ảnh hưởng gì đến số lần thực thi vòng lặp
Các tác vụ được lặp lại với số lần đã ấn định (đặc tả) trước
Các trị được tính toán hay được quản lý trong thân vòng lặp có thể ảnh hưởng đến số lần thực thi vòng lặp
Các tác vụ được lặp lại với số lần thay đổi

Q74: Bốn điểm nào sau đây là các điểm cần chú ý khi vẽ lưu đồ?
Lúc đầu, nên tập trung vào tính hợp lệ (logic) của bài toán và vẽ ra đường đi chính của lưu đồ
Sau khi đã có đường đi chính, thêm các nhánh và vòng lặp cho hợp lý với yêu cầu bài toán
Một lưu đồ có thể có một điểm khởi đầu và hai điểm dừng
Hãy giữ lưu đồ có tính độc lập bằng cách không dùng các thuật ngữ liên quan đến máy tính
Hãy dùng các bước giải có ý nghĩa

Q75: Chương trình sau cho kết qủa là gì?
      void main()
      {
            int i, x=0;
            for(i=1; i<10; i++)
            {
                  if(i%2==1)
                        x=x+i;
                  else
                        x++;
                  break;
            }
            printf ("%d ", x);
      }
10
1
0
Không kết quả nào đúng

Q76: Chương trình sau cho kết qủa là gì?
      #include<stdio.h>
      void main()
      {
            int *px, *py;
            int a[]={1,2,3,4,5,6};
            px=&a[0];
            py=&a[5];
            printf("%d", ++px-py);
      }
4
2
5
Không kết quả nào đúng

Q77: Cho phát biểu sau: int num;
Với phát biểu trên, 4 trị nào trong các trị sau KHÔNG hợp lệ cho biến num?

Alan
abc
459
A2
2E9

Q78: Tại sao hai hàm scanf() và printf() được gọi là các hàm nhập xuất có định dạng?
Vì chúng có chuỗi định dạng trong tham số
Vì chúng thường được dùng để nhập xuất các trị trong chỉ 1 kiểu đã định trước
Vì một lý do khác
Q79: Đâu là những hàm nhập xuất không định dạng? (Chọn 2)
scanf()
printf()
getchar()
putchar()

Q80: Hàm nào sau đây được dùng để nối 2 chuỗi?
strlen()
strcpy()
strcmp()
strcat()

Q81: Hàm nào sau đây sẽ trả về độ dài của 1 chuỗi?
strlen()
strcpy()
strcmp()
strcat()

Q82: Hàm nào sau đây sẽ sao chép 1 chuỗi?
strlen()
strcpy()
strcmp()
strcat()

Q83: Hàm nào sau đây được dùng để so sánh hai nội dung chuỗi?
strlen()
strcpy()
strcmp()
strcat()

Q84: Nếu strcmp(S1,S2) trả về 1 số nguyên âm thì:
Nội dung chuỗi S1 lớn hơn nội dung chuỗi S2
Nội dung chuỗi S1 nhỏ hơn nội dung chuỗi S2
Nội dung chuỗi S2 bằng nội dung chuỗi S1

Q85: Mảng trong ngôn ngữ C là:
Một nhóm phần tử cùng kiểu và có chung tên gọi
Một nhóm phần tử có thể có kiểu riêng và có chung tên gọi
Một nhóm phần tử có thể có kiểu riêng và có tên gọi riêng cho mỗi phần tử


Q86: Chọn 1 phát biểu sai:
Chuỗi là 1 mảng các ký tự
Chuỗi là mảng các ký tự và ký tự cuối cùng có mã 0
Chuỗi là mảng các ký tự và ký tự cuối cùng là null
Chuỗi là mảng các trị 2 byte

Q87: Kích thước của mảng là:
Số phần tử tối đa của mảng
Kích thước bộ nhớ sẽ cấp phát cho mảng
Cả hai câu trên

Q88: Cho khai báo: int* p= 100; p+=5;
Đâu là trị của biến p?

105
110
115
120
Q89: Với các khai báo dưới đây, đâu là trị của biến c?
      char S[]="Helen";
      char* p=S;
      char c=*(p+3);
‘H'
‘e'
‘l'
‘n'
Một trị khác

Q90: Với đoạn code dưới đây, đâu là trị của biến n?
      int n=7, m=8;
      int *p1=&n, *p2=&m;
      *p1+=(*p2)-m+n;
10
12
15
20
Một trị khác

Q91: Với đoạn mã dưới đây, đâu là tập trị mảng a?
      int a[5]={1,2,3,4,5};
      int *p=a;
      *(p+2)+=5;
{1,2,3,4,5}
{6,7,8,9,10}
{1,2,8,4,5}
Một tập trị khác

Q92: Số chiều của 1 mảng là:
Số chỉ số được dùng để nhận diện 1 phần tử của mảng
Số phần tử của mảng
Số vùng nhớ sẽ được cấp phát cho mảng
Cả a,b,c

Q93: Có bao nhiêu chuỗi "Hello" được xuất ra màn hình khi thực hiện code dưới?
      int i, j;
      for(i=1; i<=10; i++)
            for(j=1; j<=10; j++)
                  if((i+j)%3==0)
                        printf("Hello\n");
10
12
15
24

Q94: Các định dạng nào sau đây có thể được áp dụng cho số nguyên?
%i
%d
%f
%lf
%s

Q95: Các định dạng nào sau đây có thể được áp dụng để xuất số nguyên hệ 16?
%h
%hex
%x
%X
%H

Q96: Các định dạng nào sau đây có thể được áp dụng để xuất số nguyên hệ 8?
%o
%oct
%x
%X
%H

Q97: Các định dạng nào sau đây có thể được áp dụng để xuất số nguyên không dấu?
%d
%unsigned
%i
%u
Định dạng khác

Q98: Toán tử nào sau đây sẽ truy xuất 1 thành phần của pointer chỉ đến cấu trúc?
. (toán tử chấm)
-> (toán tử mũi tên)
a, b sai
a, b đúng

Q99: Trị của biến S là bao nhiêu khi thực hiện đoạn code dưới?:
      int i, S=0, a[5];
      for(i=0;i<5;++i)
      {
            a[i]=2*i;
            S+=a[i];
            if(i>0 && i%2==0)
                  a[i]=a[i]+1;
      }
40
60
20
80

Q100: Sau khi đoạn code dưới được thực thi, tập trị của a là gì?
      int a[5]={2,3,4,5,5};
      int *p1=&a[0], *p2=&a[4];
      (*p1)++;
      *(p2)--;
2,3,4,5,5
3,3,4,5,5
3,3,4,4,5
3,3,4,6,6

Q101: Trị của biến v là gì sau khi thực hiện đoạn code dưới?
      typedef struct ST{int d1, d2, d3;};
      struct ST v={5,6,7};
      struct ST* p=&v;
      p.d1++;
(6,6,7)
(5,6,7)
Nhóm trị khác
Code gây lỗi

Q102: Trị trung bình của các trị trong biến v là gì khi thực hiện đoạn code dưới?
      typedef struct STUDENT{int d1, d2, d3;};
      struct STUDENT v={ 2,3,4};
      v.d1+=3;
3.0
4.0
Trị khác
Code gây lỗi

Q103: Đề nghị các biến nên dùng để mô tả 1 vòng tròn
int x,y,r;
int r;
int x,y,r,t;
int vt;

Q104: Đề nghị các biến cần thiết giúp mô tả một hình chữ nhật
int x1,y1,x2,y2;
int rec;
double area;

Q105: Hãy khai báo 1 cấu trúc mô tả cho sinh viên, thông tin về mỗi sinh viên bao gồm: tên, điểm 3 môn học
structure STUDENT{char Name[25]; int s1,s2,s3;}
struct STUDENT{char Name[25]; int s1,s2,s3;}
struct STUDENT{char Name[25]; int s1,s2,s3;};
typedef STUDENT{char Name[25]; int s1,s2,s3;}

Q106: Phát biểu nào sau đây là sai khi nói đến tập tin (file)?
Tập tin là dữ liệu đã hoàn tất được lưu trong bộ nhớ ngoài bởi người dùng hay một chương trình
Hệ điều hành nhận diện 1 tập tin nhờ vào tên đầy đủ của nó gồm đường dẫn, tên tập tin và đuôi mở rộng
Dạng mô tả tên tập tin trong C: "c:\tm1\f1.txt" hoặc "C:\tm1\f1.txt"
Dạng mô tả tên tập tin trong C: "c:\\tm1\\f1.txt" hoặc "C:\\tm1\\f1.txt"

Q107: Chọn câu trả lời đúng khi thực hiện đoạn code sau?
      FILE *f=fopen("f1.txt","w");
      int n=7;
      fprintf(f,"%d",n);
Code gây lỗi
Code này sẽ ghi trị 7 lên file f1.txt
Code này sẽ đọc 1 trị từ file vào biến n

Q108: Đâu là cách thức đúng khi khai báo hàm tính và trả về tổng các phần tử của 1 mảng int
void Sum(int a[]);
long Sum(inta[]);
void Sum(int a[], int n);
long Sum(int a[], int n);

Q109: Hãy khai báo hàm tìm trị lớn nhất trong 1 mảng các số long
void Max(long *a);
long Max(long *a[]);
void Max(long a[], int n);
long Max(long *a, int n);
long Max(long *a[], int n);

Q110: Khai báo hàm đọc 1 text file vào 1 mảng các số int
void Read(char* fName, int a[]);
void Read(char* fName, int a);
void Read(char* fName, int *a);
void Read(char* fName, int *&a, int &n);
void Read(char* fName, int *&a[], int &n);

Q111: Một vòng tròn được mô tả bằng 3 biến int, trong đó <x,y> mô tả vị trí của tâm và r mô tả cho bán kính vòng tròn. Hãy khai báo hàm vẽ vòng tròn
void Draw(Circle);
void Draw(int x, int y, int r);
int Draw(int r);
int Draw(int <x,y>, int r);

Q112: Hãy khai báo 1 hàm sẽ kiểm tra 1 mảng int có đối xứng hay không
void Palindrome(int a[], int n);
int Palindrome(int a[], int n);
double Palindrome(int a[], int n);
boolean Palindrome(int *a, int n);

Q113: Hãy khai báo 1 hàm sẽ kiểm tra 1 chuỗi có đối xứng hay không
void Palindrome(String S);
void Palindrome(char S[]);
double Palindrome(char* S);
boolean Palindrome(char* S,int n);

Q114: Hãy khai báo 1 hàm sẽ kiểm tra 1 mảng int có là mảng tăng hay không
void CheckAsc(int a[], int n);
int CheckAsc(int *a, int n);
long CheckAsc(int* S);
double CheckAsc(int* S[], int n);

Q115: Một số các tác vụ sau sẽ được áp dụng để kiểm tra một số nguyên là lẻ hay chẵn. Theo ý bạn, thứ tự các bước nào sau đây là đúng?
      1 - bắt đầu
      2 - Nhập số nguyên n
      3 - Nếu số dư là 0 thì hiển thị chuỗi "Đây là số chẵn"
      4 - ngược lại hiển thị "Đây là số lẻ"
      5 - chia n cho 2
      6 - Kết thúc
1,2,3,4,5,6
1,5,4,3,2,6
1,2,5,3,4,6
1,5,3,4,2,6

Q116: Đoạn code nào sẽ hoán vị 2 số a,b?
t=a; a=b; b=t;
t=a; a=b; t=b
a=t ; b=a; t=b;

Q117: Cho biết kết qủa của đoạn code dưới đây?
      int a []={1,5,3,7,9,5,7,3,4,12}, t1=a[0], t2=t1, i;
      for(i=1; i<10; ++i)
      {
            if(t1<a[i])
                  t1=a[i];
            if(t2>a[i])
                  t2=a[i];
      }
      printf("%d", t1+t2);
2
21
13
Một trị khác

Q118: Cho biết kết qủa của đoạn code dưới đây?
      int i, j;
      for(i=1; i<10; i++)
            for(j=1; j<10; j++)
                  if(j%i==0)
                        printf("Hello\n");
6 chuỗi Hello
23 chuỗi Hello
Không có kết xuất
22 chuỗi Hello

Q119: Sau khi đoạn code sau được thực thi, trị của S là bao nhiêu?
      int S=0, i=1, j;
      while(i<10)
      {
            j=1;
            while(j<i)
            {
                  S++; j+=2;
            }
            i+=3;
      }
5
10
15
20

Q120: Biến là gì?
Tên của một vùng nhớ
Dữ liệu
Không phải các ý trên

Q121: Chọn những câu sai
Giá trị của biến có thể thay đổi được
Giá trị của biến không thể thay đổi được
Trong một hàm có thể khai báo 2 biến cùng tên
Có thể khai báo 2 biến cùng tên trong 2 hàm khác nhau
Trong C, tên biến chỉ bao gồm các ký tự trong bảng chữ cái

Q122: Mỗi tên biến nên được bắt đầu bằng (chọn những câu trả lời sai)
Một ký tự chữ trong bảng chữ cái
Một dấu gạch dưới
Một ký số
Một ký tự toán tử như +, -, ...

Q123: Một số nguyên trong đoạn từ 12000 đến 120000, kiểu dữ liệu tương ứng của nó phải là:
int
long
float
double

Q124: Mỗi biến nguyên được cấp phát ...... bytes
1
2
3
4

Q125: Mỗi biến float được cấp phát ...... bits
16
32
28
64

Q126: Mỗi biến double được cấp phát .... bytes
2
4
8
16

Q127: Có bao nhiêu lỗi khi bạn muốn nhập liệu cho biến n bằng code sau:
      long n;
      scanf("%d", n);
0
1
2
3

Q128: Chương trình sau sẽ phát sinh bao nhiêu cảnh báo?
      void main()
      {
            printf("Hello");
            getch();
      }
1
2
3
4

Q129: Giá trị của biến t sau khi code dưới được thực thi là bao nhiêu?
      int x=5, y=7;
      int t=12+(y<2*x);
12
0
1
Một giá trị khác

Q130: Đâu là thứ tự ưu tiên giảm dần của các nhóm toán tử?
Số học, Quan hệ, Logic
Logic, Số học, Quan hệ
Số học, Logic, Quan hệ
Quan hệ, Logic, Số học
Logic, Quan hệ, Số học
Quan hệ, Số học, Logic

Q131: Đâu là kết quả của câu lệnh dưới đây:
      printf("The rate of some banks is %d%%/year",20);
The rate of some banks is 20%/year
The rate of some banks is 20%%/year
Một kết quả khác

Q132: Đâu là kết quả của câu lệnh:
      printf("The result is %.3lf",345.5678908);

The result is 345.567891
The result is 345.5678908
The result is 345.567
The result is 345.568
Câu lệnh có lỗi

Q133: Giá trị của biến n bằng bao nhiêu nếu người dùng nhập vào ký tự 'A'?
      int n=getchar();
65
97
'A'
Câu lệnh có lỗi

Q134: Giá trị của biến a bằng bao nhiêu sau khi thực hiện code sau:
      int d=7, t, a;
      switch(d)
      {
            case 7: t=a=1;
            case 10: t=a=17;
            case 5: t=a=2; break;
            default: t=a=0;
      }
17
2
Đoạn code có lỗi

Q135: Đoạn mã dưới sẽ in ra ký tự gì nếu nhập vào ký tự ‘B'?
      char c=getchar();
      switch(c)
      {
            case ‘A' : putchar(c++); break;
            case ‘a' : putchar(++c); break;
            default : putchar(c+2);
      }
B
C
D
Một ký tự khác

Q136: Đoạn mã sau có lỗi hay không?
      int i=10; S=0;
      for(; i<2; i++) S+=i;

Không

Q137: Đoạn mã sau sẽ in ra bao nhiêu lần chuỗi "Hello"?
      int x=10, y=20;
      while(x<y)
      {
            printf("Hello");
            x+=3;
      }
4
5
10
Một giá trị khác

Q138: Biến S chứa giá trị nào khi đoạn mã sau được thực thi?
      int S=0, i;
      for(i=0; i<10;i+=4) S+=i;
            printf("%d",S);
16
14
12
Một giá trị khác

Q139: Biến S chứa giá trị nào khi đoạn mã sau được thực thi?
      int i=5, S=10;
      do
      {
            if(i%2==0) S+=i;
                  i+=2;
      } while (i<15);
      printf("%d",S);
10
50
80
Một giá trị khác

Q140: Biến S chứa giá trị nào khi đoạn mã sau được thực thi?
      int S=10, i, j;
      for(i=0; i<5; i++)
            for(j=0; j<5; j++)
                  if((i+j)%2==1) S+=2;
                  else S--;
      printf("%d",S);
31
21
9
Một giá trị khác

Q141: Biến S chứa giá trị nào khi đoạn mã sau được thực thi?
      int S=10, i, j;
      for(i=0; i<5; i++)
            for(j=0;j<5;j++)
            {
                  if((i+j)%2==1) S++;
                  else S--;
                  if (i==j) break;
            }
      printf("%d",S);
9
10
11
Một giá trị khác

Q142: Mảng là:
Một nhóm các phần tử có cùng kiểu dữ liệu
Một nhóm các phần tử có kiểu dữ liệu khác nhau
Một nhóm các biến khác tên


Q143: Mỗi phần tử của mảng phân biệt nhau qua ..........
Chỉ số
Tên phần tử
Giá trị trong các phần tử
Tất cả các yếu tố trên

Q144: Chỉ số của mảng là .........
Một số nguyên
Một số nguyên dương
Một số nguyên âm

Q145: Một mảng có 25 phần tử thì các chỉ số của các phần tử sẽ là từ .........
1 đến 25
0 đến 24
-12 đến 12

Q146: Cho biết kết quả của đoạn code dưới?
      int a[]={ 1,2,3,4,5,6,7,8,9,10};
      int S=0, i;
      for(i=0; i<10; ++i)
      {
            S+=a[i];
            if(i%2==0)
                  break;
      }
      printf("%d",S);
55
3
6
1

Q147: Cho biết kết quả của đoạn code dưới?
      int a[5]={1,2,3,4,5}, i;
      int S=0;
      for(i=0; i<5; ++i)
            if(a[i]%2==0)
                  S+=a[i];
      printf("%d",S);
15
12
9
6

Q148: Con trỏ là:
Biến chứa địa chỉ của biến khác
Biến chứa giá trị của biến khác

Q149: Cho biết kết quả của biến n trong đoạn code dưới?
      int n=7;
      int *p=&n;
      *p*=5;
7
12
35
Giá trị khác

Q150: Cho biết kết quả của biến n trong đoạn code dưới?
      int n=7, m=8; int *p1=&n, *p2=&m;
      *p1+=(*p2)-m+n;
10
12
14
16
Giá trị khác

Q151: Mảng a gồm những giá trị nào sau khi thực thi đoạn code dưới?
      int a[5]={1,2,3,4,5};
      int* p=a;
      *(p+2)+=5;
{1,2,3,4,5}
{6,7,8,9,10}
{1,2,3,9,5}
{1,2,8,4,5}

Q152: Chọn các câu sai dưới đây
Tham số hình thức là tham số được khai báo trong định nghĩa hàm
Tham số hình thức là tham số được truyền đi trong lời gọi hàm
Tham số thực sự là tham số được khai bao trong định nghĩa hàm
Tham số thực sự là tham số được truyền đi trong định nghĩa hàm

Q153: Khi gọi một hàm, tham số thực sự phải tương thích với tham số hình thức về số lượng các tham số, thứ tự của kiểu dữ liệu của các tham số
Đúng
Sai

Q154: Chọn câu đúng khi định nghĩa dữ liệu
String S1="Hello";
char S2[]=‘Hello';
char S3[]="Hi All!";
char* S4="Bravo";

Q155: Đâu là đoạn mã đúng khi muốn nhập chuỗi "Destroy China" cho biến chuỗi S?
scanf("%s",S);
getString(S);
gets(S);
scanf("%c",S);

Q156: Câu lệnh nào đúng khi nhập liệu cho biến ký tự S?
S[0]=getchar();
S=getchar();
gets(S);
scanf("%s",S);

Q157: Hai câu lệnh nào sau đây sẽ in ra màn hình nội dung giống nhau của biến chuỗi S với khai báo: char S[]="Hello";
puts(S);
putchar(S);
strput(S);
printf("%s\n",S);

Q158: Nếu địa chỉ của S là 1000 thì giá trị của p là gì sau khi thực hiện đoạn code dưới?
      char S[]="abcdefghijklmn";
      char* p=strstr(S,"ef");
1004
1005
1003
Code có lỗi

Q159: Chọn các câu sai:
Cấu trúc bao gồm các mục dữ liệu có kiểu khác nhau
Cấu trúc phải bảo gồm các mục dữ liệu có kiểu giống nhau
Cấu trúc dùng để mô ta dữ liệu thực

Q160: Cho đoạn mã dưới đây, hãy chọn đáp án đúng
      struct Student
      {
            char Name[25];
            float score;
      }
Đoạn mã có lỗi
Đoạn mã không có lỗi

Q161: Cho đoạn mã dưới đây, hãy chọn đáp án đúng khi hiển thị ra màn hình
      struct Employee
      {
            char Code[4], Name[25];
            long Salary;
      };
      struct Employee e1={"E089","Hoang So",12000} , *e2=&e1;
      printf("%ld", e1.Salary+e2->Salary);
12000
24000
Màn hình không hiển thị kết quả
Đoạn mã có lỗi

Q162: Cho đoạn code dưới đây, hãy lựa chọn đáp án đúng
      struct ITEM
      {
            char ItemCode[ ];
            char ItemName [ ];
            int Weight ;
            double Price;
      };
      ITEM it1 = {"IT001","Fish sauce",12.5,100};
Đoạn mã định nghĩa đúng về một item
Đoạn mã có lỗi

Q163: Stream là gì?
Một chuỗi các byte
Một khái niệm mô tả các terminal
Một bộ tạo các thiết bị
Tất cả các ý trên

Q164: Có bao nhiêu kiểu stream?
1
2
3
4




(Ghi chú: Phần câu hỏi Qi có nền màu Green thể hiện đáp án đúng)
Bản quyền thuộc về V1Study.com. Cấm sao chép dưới mọi hình thức!

Bài viết này được đóng góp bởi LongDT. Nếu bạn thích V1Study và muốn đóng góp, bạn gửi bài viết về địa chỉ [email protected] hoặc gửi vào Zalo 0986.589.410. Bài viết của bạn sẽ xuất hiện sau khi được duyệt và bạn có thể trợ giúp những người học khác.
« Prev
Next »
Copied !!!