Posted on January 2nd, 2021. Trong các bài viết trước, bạn đã được học về: Flowchart - sơ đồ thuật toán, biến và kiểu dữ liệu, toán tử và biểu thức, nhập xuất dữ liệu, điều kiện rẽ nhánh, vòng lặp - loop. Để giúp bạn ôn tập và hiểu rõ hơn về những kiến thức đó Bộ câu hỏi trắc nghiệm và đáp án Nghị định 115/2020/NĐ-CP. Câu 1. Nghị định 115/2020/NĐ-CP về tuyển dụng, sử dụng và quản lý đối với viên chức không áp dụng với đối tượng nào dưới đây? a) đơn vị sự nghiệp công lập do cơ quan có thẩm quyền của Nhà nước Trắc nghiệm lập trình C. Các câu hỏi trắc nghiệm được sưu tập và biên soạn dựa trên quá trình học tập và kinh nghiệm thực tế. Chủ định biên soạn các câu hỏi trắc nghiệm bằng tiếng anh, vì đa số các đề thi trắc nghiệm lập trình vào các công ty phần mềm bằng 160 câu hỏi trắc nghiệm môn kỹ thuật mạng máy tính kèm đáp án Bài tập lập trình windows form c# có hướng dẫn Bài Tập SQL Server quản lý bán hàng đề thi trắc nghiệm lập trình C có đáp án Câu hỏi trắc nghiệm môn lập trình hướng đối tượng c5xLwP. Câu 1. Trong cấu trúc chương trình C++, lệnh include dùng để làm gì?A. Thông báo trong chương trình sử dụng các lệnh tính toán, thông báo các biến sử dụng trong thân chương trình. B. Khai báo các câu lệnh được sử dụng trong chương trình. Phải tạo các câu lệnh trước thì mới sử dụng được trong chương trình C++. C. Thông báo cho bộ tiền biên dịch thêm các thư viện chuẩn trong C++. Các lệnh được sử dụng trong thân chương trình phải có prototype nằm trong các thư viện chuẩn này. D. Không có đáp án đúng. đáp án Câu hỏi trắc nghiệm lập trình C/C++ có đáp án - Phần 1 Câu Đáp án Câu Đáp án Câu 1 C Câu 26 B Câu 2 A Câu 27 B Câu 3 A Câu 28 C Câu 4 D Câu 29 B Câu 5 D Câu 30 B Câu 6 D Câu 31 C Câu 7 C Câu 32 D Câu 8 C Câu 33 D Câu 9 B Câu 34 C Câu 10 A Câu 35 A Câu 11 A Câu 36 C Câu 12 C Câu 37 B Câu 13 A Câu 38 B Câu 14 B Câu 39 B Câu 15 C Câu 40 A Câu 16 B Câu 41 D Câu 17 D Câu 42 B Câu 18 D Câu 43 A Câu 19 B Câu 44 B Câu 20 A Câu 45 B Câu 21 C Câu 46 A Câu 22 A Câu 47 B Câu 23 A Câu 48 B Câu 24 D Câu 49 C Câu 25 C Câu 50 B 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 = 1define TRUE 1;define TRUE 1Q4 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à GST GST = GST = float GST = 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 = total10;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”,∑printf“%d”,sum;printf“%d”,∑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”;printfWelcome,”\n”;printfWelcome\n;printfWelcome’,’\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?printletter;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;printdiscount’;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“% 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;scanfi;Q15 Hãy cho biết kết quả của phép tính 101B100B?110B101B010BCả ba câu trên đều saiQ16 Hãy cho biết kết quả của phép tính 101B&100B?110B101B100BCả ba câu trên đều saiQ17 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";strcpystuff, "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";strcpystuff, "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 = 10count = 20, *temp = 20, sum = 20count = 10, *temp = 2, sum = 10count = 200, *temp = sum = 1Q30 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? phải 3 kết qủa trênQ32 Cho biết kết quả của đoạn chương trình sau x=0; switchx { case 1 printf "One" ; case 0 printf "Zero" ; case 2 printf "Hello World" ; }OnZeroHello WorldZeroHello WorldQ33 x có kết quả là bao nhiêu sau khi chạy đoạn chương trình dưới đây? int x; forx=0; x include main { int i,j,k,x=0; fori=0; i include main { int a, b = 0; int c[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 0}; for a=0; a main { int i; char ch; fori=0, ch=65; i include main { int i, j, k, x=0; fori=1;i include main { int i, j, k, x=0; fori=1;i include main { int i=0, x=0; do { ifi%5==0 x++; ++i; } whilei=’a’ && c11 or b>1 or c>1 then write1; if a>1 and b>1 and c>1 then write1; if a>1 and b>1 and c>1 then write1; if a, b, c > 1 then write1;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 functint x {return x=x+1;} void functint {printf"Hello"} void functx { printf"Hello"}Q55Chỉ 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"; strcpystuff, "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 = ∑ *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 = sum = 1Q67 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; addressp;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ácQ71 Xác định giá trị của biểu thức sau 15+80/2*10–12*2/3-10 298 553 397 -553Q72 Xác định giá trị của biểu thức sau 10-8-2*10/5-5*2 -10 10 50 Divide by zeroQ73 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 đổiQ74 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ĩaQ75 Chương trình sau cho kết qủa là gì? void main { int i, x=0; fori=1; i 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 đúngQ77 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 2E9Q78 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ácQ79 Đâu là những hàm nhập xuất không định dạng? Chọn 2 scanf printf getchar putcharQ80 Hàm nào sau đây được dùng để nối 2 chuỗi? strlen strcpy strcmp strcatQ81 Hàm nào sau đây sẽ trả về độ dài của 1 chuỗi? strlen strcpy strcmp strcatQ82 Hàm nào sau đây sẽ sao chép 1 chuỗi? strlen strcpy strcmp strcatQ83 Hàm nào sau đây được dùng để so sánh hai nội dung chuỗi? strlen strcpy strcmp strcatQ84 Nếu strcmpS1,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 S1Q85 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 byteQ87 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ênQ88 Cho khai báo int* p= 100; p+=5;Đâu là trị của biến p? 105 110 115 120Q89 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ácQ90 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ácQ91 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ácQ92 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,cQ93 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; fori=1; i toán tử mũi tên a, b sai a, b đúngQ99 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]; fori=0;i0 && i%2==0 a[i]=a[i]+1; } 40 60 20 80Q100 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,6Q101 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; 6,6,7 5,6,7 Nhóm trị khác Code gây lỗiQ102 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}; Trị khác Code gây lỗiQ103 Đề 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\ hoặc "C\tm1\ Dạng mô tả tên tập tin trong C "c\\tm1\\ hoặc "C\\tm1\\ Chọn câu trả lời đúng khi thực hiện đoạn code sau? FILE *f=fopen" int n=7; fprintff,"%d",n; Code gây lỗi Code này sẽ ghi trị 7 lên file Code này sẽ đọc 1 trị từ file vào biến nQ108 Đâ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 Sumint a[]; long Suminta[]; void Sumint a[], int n; long Sumint 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 Maxlong *a; long Maxlong *a[]; void Maxlong a[], int n; long Maxlong *a, int n; long Maxlong *a[], int n;Q110 Khai báo hàm đọc 1 text file vào 1 mảng các số int void Readchar* fName, int a[]; void Readchar* fName, int a; void Readchar* fName, int *a; void Readchar* fName, int *&a, int &n; void Readchar* fName, int *&a[], int &n;Q111 Một vòng tròn được mô tả bằng 3 biến int, trong đó 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 DrawCircle; void Drawint x, int y, int r; int Drawint r; int Drawint , 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 Palindromeint a[], int n; int Palindromeint a[], int n; double Palindromeint a[], int n; boolean Palindromeint *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 PalindromeString S; void Palindromechar S[]; double Palindromechar* S; boolean Palindromechar* 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 CheckAscint a[], int n; int CheckAscint *a, int n; long CheckAscint* S; double CheckAscint* 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,6Q116 Đ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; fori=1; ia[i] t2=a[i]; } printf"%d", t1+t2; 2 21 13 Một trị khácQ118 Cho biết kết qủa của đoạn code dưới đây? int i, j; fori=1; iSalary; 12000 24000 Màn hình không hiển thị kết quả Đoạn mã có lỗiQ162 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", Đoạn mã định nghĩa đúng về một item Đoạn mã có lỗiQ163 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ênQ164 Có bao nhiêu kiểu stream? 1 2 3 4

câu hỏi trắc nghiệm lập trình c