Lập trình C: Quiz

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

(nhấn nút 'Result' để 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);
printf("%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=&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

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<conio.h>
      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
 %O

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ó màu Green thể hiện đáp án đúng)

(Ghi chú: Phần câu hỏi Qi có màu Green thể hiện đáp án đúng)
» Tiếp: Hàm toán học (Math)
« Trước: Bài tập phần tập tin (File)
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!