C語言程式設計 - 線上測驗



以下測驗提供與C語言程式設計框架相關的多項選擇題 (MCQ)。您需要閱讀所有給出的答案,然後點選正確的答案。如果您不確定答案,可以使用顯示答案按鈕檢查答案。您可以使用下一題按鈕檢視測驗中的新一組問題。

Questions and Answers
cprogramming_questions_answers.htm

題1 - 下面的程式碼片段的輸出是什麼?

#include<stdio.h>

main() 
{
   int x = 5;
   
   if(x=5)
   {	
       if(x=5) break;
       printf("Hello");
   } 
   printf("Hi");
}

A - 編譯錯誤

B - Hi

C - HelloHi

D - 編譯警告

答案:A

解釋

編譯錯誤,關鍵字break只能出現在迴圈/switch語句中。

題2 - 下面程式的輸出是什麼?

#include<stdio.h>

void swap(int m, int n)
{
   int x = m;
   
   m = n;
   n = x;
}
main()
{
   int x=5, y=3;

   swap(x,y);
   printf("%d %d", x, y);
}

A - 3 5

B - 5 3

C - 5 5

D - 編譯錯誤

答案:B

解釋

5 3,按值呼叫機制無法更改實際引數。

#include <stdio.h>
void swap(int m, int n)
{
   int x = m;
   
   m = n;
   n = x;
}
main()
{
   int x=5, y=3;

   swap(x,y);
   printf("%d %d", x, y);
}

題3 - 從下面選擇無效的識別符號

A - Int

B - volatile

C - DOUBLE

D - __0__

答案:B

解釋

volatile是保留關鍵字,不能用作識別符號名稱。

題4 - 下面程式的輸出是什麼?

#include<stdio.h>

main()
{	
   fprintf(stdout,"Hello, World!");
}

A - Hello, World!

B - 無輸出

C - 編譯錯誤

D - 執行時錯誤

答案:C

解釋

stdout是在stdio.h標頭檔案中宣告的識別符號,需要包含它。

題5 - 區域性變數儲存在___

A - 程式碼段

B - 棧段

C - 堆段

D - 以上都不是

答案:B

解釋

所有區域性變數都儲存在一個稱為棧的記憶體中。

題6 - C語言中的變數名包含哪些特殊符號?

A - * (星號)

B - # (井號)

C - + (加號)

D - _ (下劃線)

答案:D

解釋

變數名中允許和不允許的字元:

  • 允許使用下劃線(_)
  • 允許使用大寫字母 (A-Z)
  • 允許使用小寫字母 (a-z)
  • 允許使用數字 (0-9)
  • 第一個字元必須是字母或下劃線
  • 不允許使用空格和逗號
  • 不允許使用特殊符號,但允許使用下劃線(_)
  • 不允許使用保留字

題7 - 可以使用什麼函式釋放calloc()分配的記憶體?

A - dealloc();

B - strcat();

C - free();

D - memcpy();

答案:C

解釋

calloc(): 為陣列元素分配空間,初始化為零,然後返回指向記憶體的指標。

free(): 釋放calloc()分配的空間

題8 - return關鍵字用於將控制權從函式轉移回呼叫函式。

A - 是

B - switch

C - 返回

D - goto

答案:A

解釋

在C語言中,return函式停止函式的執行,並將值和控制權返回給呼叫函式。執行在呼叫函式中立即跟隨呼叫的地方開始。

題9 - 在下面的程式碼中,函式get()將返回什麼?

#include<stdio.h>

int get();

int main()

{
   const int x = get();
   
   printf("%d", x);
   return 0;
}
   int get()
   {
    return 40;
}

A - 40

B - 20

C - 0

D - 錯誤

答案:A

解釋

首先,“int get()”是一個get()函式原型,它在沒有任何引數的情況下返回一個整數值。

其次,const int x = get();宣告常量變數x為整型資料型別,並用get()的值初始化。因此,get()的值是40,printf("%d", x);將列印x的值,即40。所以程式輸出將是40。

#include<stdio.h>

int get();

int main()

{
   const int x = get();
   
   printf("%d", x);
   return 0;
}
   int get()
   {
    return 40;
}

題10 - 庫函式strrchr()查詢另一個字串中子字串的第一次出現。

A - 是

B - strstr()

C - strchr()

D - strnset()

答案:B

解釋

strstr()查詢另一個字串中子字串的第一次出現。

廣告
© . All rights reserved.